- repository를
fork
후, clone
합니다. (초기 1회만) / 새로운 주차 폴더가 생겼을 경우 clone이 아닌 pull
또는 fetch
을 진행합니다.
fork
한 저장소의 각 주차에 해당되는 과제 폴더에 소스 코드를 add
, commit
후 push
합니다. 파일명은 이름
으로 합니다. ex) 조은서.md
(폴더명이 브라우저
의 브라우저의 렌더링
일 경우 경로는 브라우저/브라우저의 렌더링/조은서.md
)
origin:main
에서 upstream:main
으로 PR을 보내기 - PR 제목은 [이름] O주차 [주제]
로 합니다. ex) [조은서] 1주차 브라우저
- 브라우저의 렌더링⚡️⚡️⚡️⚡️
- CORS ⚡️⚡️⚡️
- SSR & CSR
- 자바스크립트 엔진
- 크로스 브라우징
- BOM과 DOM
- 웹 표준 및 웹 접근성⚡️
- DOCTYPE⚡️
- SVG⚡️
- 쿠키, 세션스토리지, 로컬스토리지
- UI
- 다국어 페이지
- 이미지 크기
- 프로그레시브 렌더링(Progressive Rendering)
- CSS 적용 우선순위⚡️⚡️
- 단위⚡️⚡️
- CSS 전처리기⚡️
- CSS-in-JS⚡️
- Flexbox & Grid⚡️
- display⚡️
- padding vs margin⚡️
- 반응형 웹 vs 적응형 웹⚡️
- 반응형 웹의 3요소⚡️
- position⚡️
- float⚡️
- 이미지 태그를 스타일로 대체하는 법⚡️
- CSS selector
- box model
- class vs id
- font
- 애니메이션
- 클리어링(Clearing)
- 자바스크립트⚡️
- strict mode⚡️
- 변수⚡️⚡️⚡️⚡️
- 리터럴
- 변수란
- 식별자
- 호이스팅
- const & let & var
- 데이터 타입⚡️
- 함수⚡️
- 화살표 함수⚡️
- null & undefined & undeclared
- 스코프⚡️⚡️⚡️
- 클로저⚡️⚡️⚡️
- 템플릿 리터럴⚡️
- 디버깅
- 원시 값 vs 객체⚡️
- 객체 리터럴⚡️
- 생성자 함수 객체 생성⚡️
- this⚡️
- 빌트인 객체⚡️
- 스프레드 문법⚡️
- 배열⚡️
- 구조 분해 할당⚡️
- 반복
- 고차함수⚡️
- .call vs .apply
- 타이머⚡️
- 함수와 일급객체⚡️⚡️
- Function.prototype.bind
- 프로토타입⚡️
- attribute vs property
- 클래스
- 클래스 vs 함수 생성자⚡️
- 에러⚡️
- Promise⚡️⚡️⚡️
- 비동기 프로그래밍⚡️⚡️⚡️
- Ajax⚡️
- 제너레이터 & async await⚡️
- 모듈⚡️
- 커링
- 실행 컨텍스트⚡️
- 이벤트⚡️
- 익명함수(anonymous functions)
- 타입변환 & 단축평가⚡️
- 컴파일러 VS 인터프리터⚡️
- DOM⚡️
- Rest API⚡️
- 배열(Array)⚡⚡
- 스택(Stack)⚡⚡
- 큐(Queue)⚡⚡
- 해시 테이블(Hash Table)⚡⚡
- 연결 리스트(Linked List)⚡⚡
- 이중 연결 리스트(Doubly Linked List)
- 힙(Heap)⚡⚡
- 우선순위 큐(Priority Queue)
- 트라이(Trie)⚡⚡
- 그래프(Graph)⚡⚡
- 행렬(Matrix)
- 이진탐색트리(Binary Search Tree)
- 운영체제의 역할과 구조
- 컴퓨터의 구성
- CPU의 작동 원리
- 고정 소수점 & 부동 소수점
- 패리티 비트 & 해밍 코드
- ARM 프로세서
- 메모리 계층 구조
- 메모리 관리
- 파일 시스템
- 가상 메모리(Virtual Memory)
- 스택 vs 힙
- 캐시 메모리(Cache Memory)
- 캐시 메모리와 지역성 (Locality)
- 메모리 할당 알고리즘
- 페이징과 세그먼테이션
- 메모리 단편화(Memory Fragmentation)
- 프로세스와 스레드⚡⚡⚡
- PCB(Process Control Block)
- 공유 자원과 임계구역
- 교착상태(DeadLock)
- 경쟁 상태(Race Condition)
- CPU 스케줄링 알고리즘
- 인터럽트(Interrupt)
- 시스템 콜(System Call)
- IPC (프로세스 간 통신, Inter-Process Communication)
- 스핀락(Spin lock), 뮤텍스(Mutex), 세마포어(Semaphore)
- 페이지 교체 알고리즘
- 컨텍스트 스위칭(Context Switching)
- 사용자 수준 스레드 vs 커널 수준 스레드
- fork()와 vfork()의 차이점은?
- 네트워크 기초
- 주소 창에 google.com을 검색하면 일어나는 일⚡️⚡️⚡️
- IP
- TCP/IP
- 대칭키 vs 공개키
- 로드 밸런싱(Load Balancing)
- blocking vs non-blocking, sync vs async
- HTTP & HTTPS
- OSI 7 계층
- GET & POST
- IOCP
- 웹 통신의 큰 흐름
- 라우터와 스위치
- ARP (주소 결정 프로토콜)
- Hop-by-hop transport
- 빅 오 표기법(Big-O notation)
- 선형 탐색(Linear Search)
-
- 해시 탐색(Hash Search)
- 버블 정렬(Bubble Sort)⚡
- 선택 정렬(Selection Sort)⚡
- 삽입 정렬(Insertion Sort)⚡
- 합병 정렬(Merge Sort)⚡⚡
- 퀵 정렬(Quick Sort)⚡⚡
- 힙 정렬(Heap Sort)⚡
- 셸 정렬(Shell Sort)
- 기수 정렬(Radix Sort)
- 계수 정렬(Counting Sort)
- 재귀(Recursion)⚡⚡
- 순열과 조합
- 동적 계획법(DP, Dynamic Programming)⚡⚡
- 분할 정복(Divide and Conquer)
- 퀵 셀렉트(Quick Select)
- 위상 정렬(Topological Sort)
- BFS(너비 우선 탐색)⚡⚡
- DFS(깊이 우선 탐색)⚡⚡
- 데이크스트라 알고리즘(Dijkstra algorithm)
- 탐욕 알고리즘(Greedy Algorithm)
- 유클리트 호제법(최대공약수 GCD, 최소공배수 LCM)
- 리액트⚡️⚡️
- SPA⚡️
- 함수 컴포넌트 vs 클래스 컴포넌트⚡️
- props & state⚡️
- setState⚡️
- 라이프 사이클 메서드⚡️⚡️
- 이벤트 핸들링⚡️
- 리덕스⚡️⚡️
- FLUX⚡️⚡️
- 불변성⚡️⚡️
- Hooks⚡️⚡️
- 성능개선
- virtual DOM⚡️⚡️
- SSR⚡️
- Next⚡️
- 하이드레이션⚡️
- SEO⚡️
- Suspense⚡️
- useLayoutEffect⚡️
- useMemo vs useCallback⚡️⚡️
- 사전 렌더링⚡️
GitHub - 3-talking-potatoes/CSstudy: 말하는 감자들의 CS 스터디