전체 글 89

[OS] 자료구조(연결 리스트, 스택), include문과 포인터 변수

작년, 그러니까 3학년 2학기에 운영체제 강의를 들으며 주어졌던 C code 분석 과제를 다시 한번 정리해보려고 한다. C 언어로 작성 된 코드를 주고 이를 분석하는 과제였는데, C 언어를 한 번도 사용해 본 적 없을 때라 (사실 현재까지도) 어려웠지만 흥미로웠던 기억이 있었다. C 언어를 배우기 전이기도 하고, 구조에 대해 이해하고 코드를 분석해보는 데에 의의를 둔 것이기에, 분석하고 정리한 내용이 정확하지 않을 수도 있는 점,,🙏🏻 전체적인 코드를 분석하기 전, 기본적인 자료구조 등을 정확하게 알고 진행하는 것이 좋을 것 같아 이에 대해 먼저 공부했었다. 이 부분을 이번 게시글에 정리해보려 한다. 운영체제 C 코드 분석 과제 재정리 1탄! 1. C 언어 자료 구조에 대한 간단한 설명 1.1 inclu..

OS 2023.12.08

압축(ZIP) 폴더 오류 / 해결방법

포트폴리오를 제출하기 위해 노션에 작성해 둔 포트폴리오를 pdf로 다운 받아보았다. 이때 zip 폴더로 압축되어 다운 받아지게 되는데 열어보려고 하니,,, 또잉..?? 다른 압축 파일들은 잘만 열리던데 너는 왜 갑자기 안 열리니ㅠㅠ utf-8을 지원하지 않는 프로그램을 사용해 압축을 해제하려고 할 경우 이 프로그램이 처리하지 못하는 문자가 이름에 포함되어 있으면 오류가 발생할 수 있다는 글을 읽게 되었다. 일반적으로 윈도우 10 이상 탐색기에서는 발생하지 않는다던데 (윈도우 11인데 대체 왜..!) 근데 찾아보니 이런 오류가 심심치 않게 발생하는 것 같긴 하다. 아무튼 utf-8을 지원하는 반디집 프로그램을 설치해서 열어보니 잘 열린다. https://kr.bandisoft.com/bandizip/dl/..

Server 2023.12.04

[Git] git push 에러 (nothing to commit, working tree clean)

에러 발생 경위 다른 레파지토리에서 가져와서 새로운 레파지토리에 코드를 올리려고 하는데 오류가 발생했다. 이전에 가져오려는 레포지토리에 있는 브랜치 이름이 front이고 새로 올리려는 레포지토리는 텅 빈 상태인데,, front 브랜치에 있다는 걸 보니 연결이 안 되었나 싶어 git remote -v 로 확인해보았다. 연결이 되긴 했는데 뭔가 잘못된 것이 분명하다. 해결 방법 https://stackoverflow.com/questions/37269222/git-status-nothing-to-commit-working-directory-clean-however-with-changes-co git status (nothing to commit, working directory clean), however ..

GIT 2023.12.03

[JS] 프로그래머스 코딩테스트 - 옹알이(1)

프로그래머스 > 코딩테스트 연습 > 코딩테스트 입문 > 옹알이(1) 난이도 0단계 중 정답률이 가장 낮게 측정이 되고 있다. 문제설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return 하도록 solution 함수를 완성해 주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의..

JavaScript 2023.12.02

표준 프레임워크 개요

기말고사 준비 정리 겸.. 공부를 위해 화이띵..! 표준 프레임워크 이해 12 1. SW 프레임워크 개념 13 프레임워크란? 클래스 및 패턴의 집합으로, 소프트웨어 개발의 효율성과 품질을 높이기 위한 반제품 성격의 소프트웨어 SW 프레임워크의 정의 일련의 문제 해결을 위한 추상화된 디자인을 구현한 클래스들의 집합 구체적이고 확장 가능한 기반 코드와 설계자가 의도하는 아키텍처와 디자인 패턴의 집합 실전에서 얻은 회적화 개발 경험을 반영한 재사용 가능한 API의 집합 반제품 성격의 소프트웨어 라이브러리와 달리, 애플리케이션 틀과 구조를 결정하고 그 위에 개발된 개발자의 코드를 제어 애플리케이션 개발을 도와주는 재사용 가능한 디자인 패턴 및 기반 소스코드의 집합 프레임워크와 컴포넌트 차이 15 프레임워크 컴포..

OS 2023.12.01

[새싹X코딩온] 2차 프로젝트 회고록 : Motimates

🖥️ 프로젝트 소개 [ Website ] ⭐️ 로그인 창의 테스트 계정으로 로그인하시면 회원 가입 없이 사이트를 둘러보실 수 있습니다. Motimates Motimates motimates.xyz [ GitHub ] https://github.com/SesacProjectTeamA-2 SesacProjectTeamA-2 새싹 프로젝트 팀프로젝트 TeamA-2. SesacProjectTeamA-2 has 3 repositories available. Follow their code on GitHub. github.com [ Notion ] Motimates Motimates 🌐 웹 사이트 주소 www.notion.so 🏃🏻‍♂️ 개요 Motivation + Mates 모임에 가입해 목표를 함께 달성하고 경..

Node 2023.11.29

[Node] JWT Postman, Swagger에서 사용법

1. JWT 검증 개발한 기능들 중 토큰 검증을 통해 접근할 수 있는 기능들에는 앞서 개발한 미들웨어를 넣어줄 수 있다. 예를 들어, 이런 식으로 게시글을 작성하기 위한 페이지에 접근하기 위해 토큰 검증을 하려고 하는 경우, middlewares/auth.js 폴더 안 토큰을 검증하는 로직인 checkToken을 불러와 authUtil이라는 이름으로 미들웨어로 넣어주었다. 로그인을 하면 토큰이 발급되게 해 두었고, 이 토큰을 포스트맨과 스웨거에서 사용하는 법을 정리해보려 한다. 2. Postman에서 토큰 활용 포스트맨을 열어 사용하려는 api를 작성한 뒤, 상단의 Auth 탭에 들어간다. 이런식으로 토큰의 타입을 선택할 수 있는데, 현재 토큰은 req.headers.authorization에 Beare..

Node 2023.11.06

[Node] JWT 토큰 구현

JWT란? Json Web Token Json 포맷을 이용하여 사용자에 대한 정보를 저장하는 웹 토큰 토큰 자체를 정보로 사용하는 방식 주로 회원 인증이나 정보 전달에 사용 [ 구조 ] 1) Header (헤더) typ : 토큰의 타입 (ex. JWT) alg : 해싱하기 위한 알고리즘 방식 (ex. SHA256, HS256 등) 2) PayLoad (페이로드) 토큰에서 사용할 정보들인 Claim (클레임)이 담겨있음 Registered Claim (등록된 클레임) 토큰 정보를 표현하기 위해 이미 정해져 있는 종류의 데이터 선택적 작성이 가능 issuer 토큰 발급자 subject 토큰 제목 audience 토큰 대상자 expiration 토큰 만료 시간 not before 토큰 활성 날짜 issued ..

Node 2023.11.03

[React] SPA와 SSR, CSR

1. SPA Single Page Application 단일 웹 페이지로 돌아가는 애플리케이션 (ex. index.html) 브라우저에서 자바스크립트를 이용하여 단일 웹 페이지의 상위 HTML 요소를 동적으로 생성 및 조작 검색 엔진 최적화 (SEO)에는 적합하지 않음 [ 특징 ] 대표적인 SPA라이브러리 : React.js, Vue.js, Augular2 등 컴포넌트들이 모여 하나의 페이지를 작성하고, 이후 특정 부분만 데이터를 바인딩하는 개념 [ 장점 ] 사용자 친화적 초기에 한 번의 렌더링 후, 데이터만 받아오기 때문에 상대적으로 서버 요청이 적음 FE와 BE의 분리로 개발 업무의 분업화 및 협업에 용이 효율적인 개발을 할 수 있도록 함 [ 단점 ] 처음 화면을 로딩할 때, 모든 화면이 미리 준비되..

React 2023.10.16

[React] 컴포넌트 스타일링 방식

1. 일반 CSS 일반적으로 우리가 알고 있는 바로 그 CSS 소규모 프로젝트에 적합 별도의 라이브러리 필요 X 1.1 주의사항 CSS 작성 시 컴포넌트 별 클래스가 중복되지 않도록 작성하는 것이 중요 1) 클래스 생성 규칙 클래스의 이름을 생성할 때 중복되지 않도록 특정한 규칙을 정해둘 수 있음 이름-태그의 형식과 같이 규칙을 정할 수 있음 ex) App 컴포넌트에 헤더를 생성 => App-header 2) CSS Selector DOM트리 구조를 통해 원하는 DOM을 참조하여 꾸밀 수 있음 ex) .App .logo { ... } 1.2 CSS 모듈 사용 CSS의 모듈 형식을 사용하면 자동으로 클래스명이 생성 CSS의 파일명을 컴포넌트명.module.css로 생성 -> 사용하려는 js 파일에서 imp..

React 2023.10.11