-
Notifications
You must be signed in to change notification settings - Fork 1
학습 주제
Daeun Kim edited this page Oct 19, 2023
·
30 revisions
주차 | CS 과목 | 학습 주제 항목 |
---|---|---|
week1 (2023.06.20~07.04) |
데이터베이스 | - 인덱스(Index) - 제약 조건 & key - 이상 현상(Anomaly) & 정규화(Normalization) - SQL(RDB) vs NoSQL - SQL JOIN |
week2 (07.05~07.11) |
데이터베이스 | - SQL Injection - 교착상태(Deadlock)와 해결 방법 - 트랜잭션 & 트랜잭션 격리 수준 & ACID 원칙 - Redis |
네트워크 | - OSI 7 계층 & TCP/IP 4 계층 - TCP 3-way handshake & 4-way handshake - TCP/IP 흐름제어 & 혼잡제어 - TCP vs UDP |
|
week3 (07.12~07.18) |
네트워크 | - 대칭키 & 공개키 - HTTP vs HTTPS - 로드 밸런싱(Load Balancing) - Blocking vs Non-Blocking & Synchronous vs Asynchronous |
week4 (07.19~07.25) |
네트워크 | - HTTPS & SSL handshake |
웹 | - HTTP Method & HTTP status code - REST API & RESTFul API - Web Socket - CORS |
|
week5 (07.26~08.01) |
웹 | - CSR(Client Side Rendering) vs SSR(Server Side Rendering) - Cookie & Session - JWT(JSON Web Token) - Web Server vs WAS |
운영체제 | - 운영체제란? - 프로세스 vs 스레드 |
|
week6 (08.02~08.08) |
운영체제 | - 프로세스 주소 공간 - 인터럽트(Interrupt) - 시스템 콜(System Call) - PCB(Process Control Block) & Context Switching - CPU Scheduling |
week7 (08.09~08.15) |
운영체제 | - IPC(Inter Process Communication) - 프로세스 동기화 - 교착상태(DeadLock)와 기아상태(Starvation) - 가상 메모리 - 캐시 메모리 |
week8 (08.31~09.07) |
복습 | |
week9 (09.08~09.14) |
복습 | |
week10 (09.15~09.21) |
자료구조 | - Array & ArrayList & LinkedList - 스택(Stack) & 큐(Queue) - 해시(Hash) - 힙(Heap) - 그래프(Graph) - 트리(Tree) - 트라이(Trie) |
알고리즘 | - 선택 정렬 - 거품 정렬 - 삽입 정렬 - 병합 정렬 - 퀵 정렬 - 힙 정렬 |
|
week11 (09.22~10.05) |
알고리즘 (문제 풀이) | - 구현(Implementation) & 시뮬레이션(Simulation) - 깊이 우선 탐색(DFS) & 너비 우선 탐색(BFS) - 완전 탐색(Brute Force) - 동적 계획법(DP) - 이분 탐색(Binary Search) - 최단 경로(Shortest Path) |
week12 (10.06~10.12) |
자바 | - OOP의 4가지 특징 - OOP의 5대 원칙(SOLID) - 자바 가상 머신(JVM)과 Java 컴파일 과정 - Garbage Collection 동작 과정 - Java8의 큰 특징 - Overriding vs Overloading |
week13 (10.13~10.19) |
자바 | - Primitive type vs Reference type - Call By Value vs Call By Reference - Casting(업캐스팅 & 다운캐스팅) - 인터페이스(interface) vs 추상클래스(abstract class) - String vs StringBuilder vs StringBuffer - Interned String |
week14 (10.20~10.26) |
자바 | - Collection Framework - Stream API & Lambda - Mutable 객체 vs Immutable 객체 - Annotation - Checked Exception vs Unchecked Exception - 직렬화(Serialization) & 역직렬화(Deserialization) |
week15 (10.27~11.03) |
기술 스택 별 스터디 및 면접 준비 + 디자인 패턴 |
- OSI 7 계층 & TCP/IP 4 계층
- TCP 3-way handshake & 4-way handshake
- TCP/IP 흐름제어 & 혼잡제어
- TCP vs UDP
- 대칭키 & 공개키
- HTTP vs HTTPS
- HTTPS & SSL handshake
- 로드 밸런싱(Load Balancing)
- Blocking vs Non-Blocking & Synchronous vs Asynchronous
- HTTP Method & HTTP status code
- REST API & RESTFul API
- Web Socket
- CORS
- CSR(Client Side Rendering) vs SSR(Server Side Rendering)
- Cookie & Session
- JWT(JSON Web Token)
- Web Server vs WAS
- 운영체제란?
- 프로세스 vs 스레드
- 프로세스 주소 공간
- 인터럽트(Interrupt)
- 시스템 콜(System Call)
- PCB(Process Control Block) & Context Switching
- IPC(Inter Process Communication)
- 멀티프로세스 vs 멀티스레드
- CPU Scheduling
- 스케줄링 큐
- 선점/비선점형 스케줄링
- 스케줄링 알고리즘 종류
- 프로세스 동기화
- 공유 자원과 임계 영역, 경쟁 상태(Race Condition)
- 세마포어(Semaphore) & 뮤텍스(Mutex, 상호배제)
- 교착상태(DeadLock) vs 기아상태(Starvation)
- 가상 메모리
- 페이징 & 세그먼테이션
- 페이지 교체 알고리즘
- 캐시 메모리
- 인덱스(Index)
- 제약 조건 & key
- 이상 현상(Anomaly) & 정규화(Normalization)
- SQL(RDB) vs NoSQL
- SQL JOIN
- SQL Injection
- 트랜잭션 & 트랜잭션 격리 수준 & ACID 원칙
- 교착상태(Deadlock)와 해결 방법
- Redis
- 선형 자료구조
- Array & ArrayList & LinkedList
- 스택(Stack) & 큐(Queue)
- 해시(Hash)
- 비선형 자료구조
- 그래프(Graph)
- 트리(Tree)
- Binary Tree
- Full Binary Tree
- Complete Binary Tree
- Binary Search Tree
- AVL Tree
- Red-Black Tree
- B-Tree & B+Tree
- 힙(Heap)
- 트라이(Trie)
- 정렬
- 선택 정렬, 거품 정렬, 삽입 정렬
- 병합 정렬, 퀵 정렬, 힙 정렬
- 너비 우선 탐색(BFS) & 깊이 우선 탐색(DFS)
- 이분 탐색(Binary Search)
- 동적계획법(DP)
- 최단 경로
- 최소 비용(MST)
- MVC, MVP, MVVM 패턴
- Singleton 패턴
- Adapter 패턴
- Factory Method 패턴
- Template Method 패턴
- Observer 패턴
- Strategy 패턴
- Facade 패턴
- Proxy 패턴
- OOP의 4가지 특징
- OOP의 5대 원칙(SOLID)
- 자바 가상 머신(JVM)과 Java 컴파일 과정
- Garbage Collection 동작 과정
- Java8의 큰 특징
- Java 기초
- Overriding vs Overloading
- Primitive type vs Reference type
- Call By Value vs Call By Reference
- Casting(업캐스팅 & 다운캐스팅)
- 인터페이스(interface) vs 추상클래스(abstract class)
- String vs StringBuilder vs StringBuffer
- Interned String
- Collection Framework
- Stream API & Lambda
- Mutable 객체 vs Immutable 객체
- Annotation
- Checked Exception vs Unchecked Exception
- 직렬화(Serialization) & 역직렬화(Deserialization)
- Java에서 null을 안전하게 다루는 방법
- Intrinsic Lock(자바 고유 락)
- Thread 활용
- Servlet & Servlet Container
- Dispatcher Servlet
- IoC & DI & Container & Bean
- VO vs DTO vs DAO
- AOP - JDK Dynamic Proxy & CGLIB
- Interceptor vs Filter
- Spring 전체 동작 과정
- Jar vs War
- Maven vs Gradle
- JDBC vs Spring JDBC vs Spring Data JDBC
- SQL Mapper(MyBatis) vs ORM
- JPA & Hibernate & Spring Data JPA
- 영속성 컨텍스트 & 엔티티 생명주기
- 더티 체킹(Dirty Checking)
- 즉시, 지연 로딩 & 프록시
- 영속성 전이(cascade) & 고아객체
- 연관관계 매핑
- N + 1 문제