일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- React-Query
- JWT #토큰 #refreshToken #accessToken #Token #token #localStorage #sessionStorage
- react #useCallback #react Hook
- react fragment
- 빡킹독
- 다익스트라 #파티 #백준
- useState #Hooks
- #useRef #언제 쓰는데?
- React #effect hook #useEffect
- React #Hook rules #Hook 규칙
- 노마드 코더 #타입스크립트 #typescript #class
- React #리액트 이벤트 주기 #리액트 이벤트
- 버블링 #갭쳐링 #이벤트 #JS
- 플로이드 #c++
- raect typescript #react #typescript #styled-component
- 백준 #직각삼각형
- 코드스테이츠 #알고리즘 #그리디
- rate limit
- axios
- 얕은 복사 #깊은 복사 #shallow copy #deep copy
- 이친수
- RateLimit
- donwstream #upstream #origin
- html entities
- DP #c++
- interceptors
- npm #not being able to find a file #npm install Error
- 백준 #적록색약
- react
- React #controlled component #비제어 컴포넌트 #제어 컴포넌트
- Today
- Total
목록면접 준비 (11)
꿈꾸는 개발자
DB는 일정한 규칙/규약을 통해 구조화되어 저장되는 데이터의 모음이다. 데이터를 관리하는 통합 시스템을 DBMS라고 한다. DB에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해, 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. DB는 실시간 동시 공유도 가능하다. 위 구조를 기반으로 데이터를 주고 받는다. ex) MySQL이라는 DBMS가 있고, 그 위에 응용 프로그램에 속하는 Node.js나 php에서 해당 데이터 안에 있는 데이터를 끄집어내는 관련 로직을 구축할 수 있다. 4.1.1 엔터티 Entity: 사람, 장소, 물건 등 여러 개의 속성을 지닌 명사를 의미한다. 위 그림처럼 학생이라는 entity가 있으면 학생은 학번, 이름, 학점 등의 속성을 가지게 ..
위 사진처럼 여러 알고리즘이 있지만 이중 일부만 살펴보고자 한다. CPU 스케줄링 알고리즘이 어떤 프로그램에 CPU 소유권을 줄 것인지 결정을 한다. 이 알고리즘은 CPU 이용률은 높게, 주어진 시간에 많은 일을 하게, 준비 큐에 있는 프로세스는 적게, 응답 시간은 짧게 설정하는 것을 목표로 한다. 3.4.1 비선점형 방식(non-preemptive) 비선점형 방식은 프로세스가 스스로 CPU 소유권을 포기하는 방식이다. 강제로 프로세스를 종료하지 않기 때문에 context switching에 따른 부하 적다. FCFS(First Come, First Served) 가장 먼저 온 것을 가정 먼저 처리하는 알고리즘이다. 길게 수행되는 프로세스 때문에 준비 큐에서 오래 기다리는 현상(convoy effect)..
프로세스(process)는 컴퓨터에서 실행되고 있는 프로그램을 말한다. CPU 스케줄링의 대상이 되는 작업(task)과 비슷한 용어로 사용된다. 스레드는 프로세스 내 작업의 흐름을 지칭한다. 3.3.1 프로세스와 컴파일 과정 프로세스는 프로그램으로부터 인스턴스화된 것을 말한다. 프로그램: 구글 크롬 프로그램과 같은 실행 파일 프로세스: 구글 크롬을 클릭 후 프로세스가 실행 프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역한다. 아래의 컴파일 과정의 설명은 C를 기준으로 한다. 전처리 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환한다. 컴파일러 오류 처리, 코드 최적화 작업을 하며 어셈블리언어로 변환한다. 어셈블러 어셈블리어는 목적 코드(..
3.2.1 메모리 계층 메모리 계층은 register, cache, Main memory, Storage register: CPU 안에 있는 작은 메모리, 휘발성, 속도 가장 빠름, 기억 용량이 가장 적다. Cache: L1,L2 ,캐시를 지칭한다. 휘발성, 속도 빠름, 기억 용량이 적다. L3 캐시도 존재 Main Memory: RAM을 지칭, 휘발성, 속도 보통, 기억 용량이 보통 보조기억장치: HDD, SSD를 말한다. 비휘발성, 속도 낮음, 기억 용량이 많다. 일정량의 데이터를 하드디스크로부터 복사 => CPU에게 전달하는 역할을 담당한다. - 계층을 두어 메모리를 관리하는 이유는 경제성과 캐시 때문이다. - 로딩 중은 RAM이 전송 중이란 의미이다. 캐시 (Cache): 미리 저장해놓는 임시 저..
3.1.1 운영체제의 역할과 구조 운영체제의 역할 운영체제의 역할은 크게 네 가지가 있다. 1. cpu 스케줄링과 프로세스 관리: cpu 소유권 할당, 프로세스의 생성/삭제, 자원 할당 및 반환 2. 메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리합니다. 3. 디스크 파일 관리: 디스크 파일을 어떠한 방법으로 보과할지 관리한다. 4. I/O 디바이스 관리: I/O 디바이스들인 마우스 ,키보드와 컴퓨터 간에 데이터를 주고 받는 것을 관리한다. 운영체제의 구조 (참고: GUI가 없고, CUI만 있는 리눅스 서버도 존재한다) 용어 - GUI: 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태이다. 단순 명령어창이 아닌, 아이콘으로 마우스 클릭하는 단순한 동..
HTTP는 애플리케이션 계층에 속하며, 웹 서비스 통신에 사용된다. HTTP/1.0부터 발전해 HTTP/까지 이어져 왔다. 2.5.1 HTTP/1.0 HTTP/1.0은 한 연결 당 하나의 요청만 처리 가능하다. (RTT 증가 초래) 용어정리 RTT(Round Trip Time): 패킷망(인터넷)에서 패킷을 보내고자 할 때 패킷이 목적지에 도달한 후 패킷에 대한 응답이 다시 출발지로 돌아오기까지의 시간이다. (패킷 왕복 시간) 인코딩: 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해 다른 형태나 형식으로 변환하는 처리 방식 서버로부터 파일을 가져올 때마다 TCP의 3 way-handshake를 해야 하기 때문에 RTT가 증가한다. RTT의 증가를 해결하기 위한 방법 이미지..
2.4.1 ARP. (Address Resolution Protocol) 컴퓨터 간 통신은 IP주소 기반으로 한다고 말하지만, 엄밀히 말하면 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신을 하게 된다. IP 주소로부터 MAC주소를 구하는 IP와 MAC주소의 다리 역할을 하는 프로토콜이다. ARP (가상 주소인 IP => 실제 주소인 MAC) RARP (실제 주소인 MAC => 가상 주소인 IP) 위 그림에서 볼 수 있듯이 왼쪽에 있는 장치가 APR Request Boradcast를 보내서 IP 주소에 해당하는 MAC주소를 찾는다. 해당 주소에 맞는 오른쪽 최상단 장치가 ARP reply Unicast를 통해 MAC 주소를 반환하는 과정을 거쳐 IP주소에 맞는 MAC주소를 찾..
2.3.1 네트워크 기기의 처리 범위 네트워크 기기는 계층별로 처리 범위를 나눌 수 있다. 물리 계층 처리할 수 있는 기기 링크 계층을 처리할 수 있는 기기 * 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 반대는 불가능하다. ex) L7 스위치는 애플리케이션 계층을 처리하는 기기로서 하위 계층을 포괄적으로 처리할 수 있지만, AP의 경우 물리 계층 밖에 처리하지 못한다. 애플리케이션 계층: L7 스위치 인테넛 계층: 라우터, L3 스위치 데이터 링크 계층: L2 스위치, 브리지 물리 계층: NIC, 리피터, AP 2.3.2 애플리케이션 계층을 처리하는 기기 애플리케이션 계층을 처리하는 기기로는 L7 스위치가 있다. L7 여러 장비 연결 + 데이터 통신을 중재 + 목적지가 연결된 포트로만 전..