용어정리 프로세스 프로그램을 구동해, 프로그램의 상태가 메모리상에서 실행되는 작업 단위 하나의 프로그램에는 하나의 프로세스 할당 스레드 하나의 프로그램에서 여러 개의 작업을 수행하기 위한 더 작은 실행 단위 하나의 프로세스에는 여러 개의 스레드 스레드끼리는 메모리 공유 코어 CPU의 부품 중 하나 동기(Synchronous) 요청과 결과가 동시에 일어남 먼저 요청한 일이 먼저 끝남 비동기(Asynchronous) 요청과 결과가 동시에 일어나지 않음 작업이 빠른 순으로 끝남 직렬(Serial) 순차적으로 진행하는 것 직렬 큐 : 단 하나의 스레드로만 작업을 보내는 대기열 동시(Concurrent) 동시에 진행하는 것 동시 큐 : 여러 개의 다른 스레드로 작업을 보내는 대기열 코어 VS 스레드 코어 ⏩️ C..
SELECT, WHERE, JOIN, GROUP BY, HAVING, ORDER BY 등의 기본문법은 제외했습니다. 문자열 조작 CONCAT(str1, str2, ...) 문자열 합치기, 하나라도 null 존재하면 null 반환 SUBSTRING(str, 시작, 끝) 부분문자열 추출 LOCATE(str, 찾는 문자열) 문자열 내에서 찾는 문자열이 처음으로 나타나는 위치를 찾아서 해당 위치를 반환, 존재 안하면 0 반환 (시작 인덱스 1) LEFT(str, 개수) RIGHT(str, 개수) 문자열의 왼쪽/오른쪽부터 지정한 개수만큼의 문자를 반환 LENGTH(str) 문자열 길이 LOWER(str) UPPER(str) 문자열의 문자를 모두 대/소문자로 변경 REPLACE(str, 바꾸고 싶은 문자, 바꿀 문..
김영한님의 을 수강하고 요약한 내용입니다. 표현 헤더 요청, 응답 헤더 이름 설명 예시 Content-Type 표현 데이터의 형식 - text/html; charset=utf-8 - application/json - image/png Content-Encoding 표현 데이터의 압축 방식 - gzip Content-Language 표현 데이터의 자연 언어 - ko - en Content-Length 표현 데이터의 길이 (바이트) 협상(컨텐츠 네고시에이션) 헤더 클라이언트가 선호하는 표현 요청 요청 헤더 이름 설명 예시 Accept 클라이언트가 선호하는 미디어 타입 - text/html; charset=utf-8 - application/json - image/png Accept-Charset 클라이언트가..
김영한님의 을 수강하고 요약한 내용입니다. 1XX (Informational) 요청이 수신되어 처리중 거의 사용하지 않음 2XX (Successful) 요청 정상 처리 상태코드 설명 200 OK 요청 성공 201 Created 요청 성공해서, 새로운 리소스가 생성됨 202 Accepted 요청이 접수되었으나, 처리가 완료되지 않았음 204 No Content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 ex) 문서 편집기 저장버튼 3XX (Redirection) 요청을 완료하려면 추가 행동이 필요 웹 브라우저는 3XX 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동 (리다이렉트) 상태코드 설명 종류 300 Multiple Choices -..
김영한님의 을 수강하고 요약한 내용입니다. API URI 설계 리소스와 행위를 분리 회원을 등록, 수정, 조회 → 행위 회원 그 자체 → 리소스 회원이라는 리소스만 식별하면 된다. 회원 리소스를 URI에 매핑 HTTP 메서드 메서드 기능 서버에 전달하고 싶은 데이터 안전 멱등 캐시 가능 GET - 리소스 조회 - query 를 통해 전달 - 메시지 body 로 데이터를 전달할 수 있지만, 권장 X ⭕️ ⭕️ ⭕️ POST - 요청 데이터 처리 (주로 리소스 등록) - 메시지 body 를 통해 전달 ❌ ❌ ⭕️ PUT - 리소스 완전히 대체, 없으면 생성 (덮어쓰기) - 클라이언트가 리소스 위치를 알고 URI 지정 - 메시지 body 를 통해 전달 ❌ ⭕️ ❌ PATCH - 리소스 부분 변경 - 메시지 b..
우선순위 큐 우선순위 큐란? 일반적인 큐(FIFO)와 달리 우선순위가 높은 데이터가 먼저 나가는 자료구조 구현방법 삽입 삭제 배열 O(1) O(N) 링크드리스트 O(1) O(N) 힙 O(logN) O(logN) ⏩️ 우선순위 큐의 삽입, 삭제가 필요할 때는 힙으로 구현하자. 최소 힙 이진트리 구조 모든 부모 노드는 자식 노드보다 값이 작다 최대 힙 이진트리 구조 모든 부모 노드는 자식 노드보다 값이 크다 비겁하지만... 힙이 JS에는 구현이 안되어 있어서 직접 구현해야 한다. 코딩테스트에서 파이썬 사용이 가능하다면 파이썬으로 푸는게 더 유리하다. 파이썬에서는요 import heapq # 힙 배열로 선언 heap = [] # 원소 push heapq.heappush(heap, 1) # 원소 pop cur ..
김영한님의 을 수강하고 요약한 내용입니다. 모든 것이 HTTP HyperText Transfer Protocol → 원래는 HTML을 전송하는 프로토콜이었으나… 이제는 모든 것을 담아서 전송한다. HTML, TEXT 이미지, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 HTTP 역사 HTTP/1.1 가장 많이 사용, 우리에게 가장 중요한 버전 RFC7230~ 버전 문서를 참고하자. HTTP/2 성능 개선 HTTP/3 TCP 대신 UDP 사용 성능 개선 HTTP의 특징들 클라이언트 서버 구조 클라이언트 → 서버 request 서버 → 클라이언트 response Stateful, Stateless 상태 유지(Sta..
를 듣다가 딴길로 새서… 스토리북 공식문서(7.6) 를 참고했습니다. 예시들은 모두 next.js + typescript + emotion 환경에서 작성했습니다. 스토리북이란? 공식문서 UI 컴포넌트를 독립적으로 개발하고 문서화할 수 있는 환경을 제공하는 도구 UI 컴포넌트에 story를 부여해서 렌더링을 테스트하는 것 여기서 story는 UI 컴포넌트의 상태 디자인시스템 스토리북은 디자인 시스템을 구축하고 유지보수 하는 데 있어 중요한 역할 → 디자인 토큰, 컴포넌트를 문서화 코드를 일일이 수정해보지 않아도 props를 테스트 할 수 있다. 스토리북 설치하기 # npm npx storybook@latest init # yarn yarn berry storybook@latest init Storybook..