스터디는 Songwonseok/CS-Study 와 gyoogle/tech-interview-for-developer 를 참고하여 구성했습니다.
매일 오전 10시
온라인 스터디 주말, 공휴일 제외
스터디에서는 전 날 학습 내용 공유
및 오늘 주제 선정
Wiki History
에 주제 기록
선택한 주제를 학습한 후 주제.md
파일 생성, 다음 날 스터디 전까지 PR 생성
하기
🚨 5일 이상 실패 시 퇴출
PR | [카테고리] 주제
ex) [Algorithm] DFS&BFS
Commit | [카테고리] {커밋내용} 파일명.md
ex) [Algorithm] Create DFS&BFS.md
ex) [Algorithm] Add Diagram DFS&BFS.md
-
Computer Architecture
- 컴퓨터 구조 기초
- 컴퓨터의 구성
- 중앙처리장치(CPU) 작동 원리
- 캐시 메모리
- 실수 표현(고정소수점&부동 소수점)
- 패리티 비트 & 해밍 코드
- ARM 프로세서
-
Data Structure
- Array
- Linked List
- Array & ArrayList & LinkedList
- 스택(Stack) & 큐(Queue) & 덱(Deque)
- 힙(Heap)
- 트리(Tree)
- 이진탐색트리(Binary Search Tree)
- 레드-블랙트리(Red-Black Tree)
- 해시(Hash)
- 트라이(Trie)
- B-Tree & B+Tree
-
Database
- 키(Key) 정리
- JOIN
- SQL Injection
- SQL vs NoSQL
- 정규화(Nomalization)
- 이상(Anomaly)
- 인덱스(INDEX)
- 트랜잭션(Transaction)
- 트랜잭션 격리 수준(Transaction Isolation Level)
- 저장 프로시저(Stored PROCEDURE)
- 레디스(Redis)
-
Network
- OSI 7 계층
- TCP 3 way handshake & 4 way handshake
- TCP/IP 흐름제어 & 혼잡제어
- UDP
- 대칭키 & 공개키
- HTTP & HTTPS
- TLS/SSL handshake
- 로드 밸런싱(Load Balancing)
- Blocking,Non-blocking & Synchronous,Asynchronous
- Blocking & Non-Blocking I/O
-
Operating System
- 운영체제란
- 프로세스 vs 스레드
- 프로세스 주소 공간
- 인터럽트(Interrupt)
- 시스템 콜(System Call)
- PCB와 Context Switching
- IPC(Inter Process Communication)
- CPU 스케줄링
- 데드락(DeadLock)
- Race Condition
- 세마포어(Semaphore) & 뮤텍스(Mutex)
- 페이징 & 세그먼테이션 (PDF)
- 페이지 교체 알고리즘
- 메모리(Memory)
- 파일 시스템
-
Software Engineering
- 클린코드 & 리팩토링 / 클린코드 & 시큐어코딩
- TDD(Test Driven Development)
- 애자일(Agile) 정리1 / 애자일(Agile) 정리2
- 객체 지향 프로그래밍(Object-Oriented Programming)
- 함수형 프로그래밍(Fuctional Programming)
- 데브옵스(DevOps)
- 서드 파티(3rd party)란?
- 마이크로서비스 아키텍처(MSA)
- 시간복잡도와 공간복잡도
- 거품 정렬(Bubble Sort)
- 선택 정렬(Selection Sort)
- 삽입 정렬(Insertion Sort)
- 퀵 정렬(Quick Sort)
- 병합 정렬(Merge Sort)
- 힙 정렬(Heap Sort)
- 기수 정렬(Radix Sort)
- 계수 정렬(Count Sort)
- 이분 탐색(Binary Search)
- 해시 테이블 구현
- DFS & BFS
- 최장 증가 수열(LIS)
- 최소 공통 조상(LCA)
- 동적 계획법(Dynamic Programming)
- 다익스트라(Dijkstra) 알고리즘
- 비트마스크(BitMask)
- Design Pattern
- 어댑터 패턴
- 싱글톤 패턴
- 탬플릿 메소드 패턴
- 팩토리 메소드 패턴
- 옵저버 패턴
- 스트레티지 패턴
- 컴포지트 패턴
- SOLID
-
C
- [C] C언어 컴파일 과정
- [C] 구조체 메모리 크기 계산
- [C] 포인터(Pointer)
- [C] 동적할당
-
C++
- [C++] 얕은 복사 vs 깊은 복사
- [C++] 가상 함수(Virtual Function)
- [C++] 입출력 최적화하기
- [C++] Vector Container
-
Java
- [Java] Java 컴파일 과정
- [Java] Call by Value vs Call by Reference
- [Java] String & StringBuffer & StringBuilder
- [Java] 자바 가상 머신(Java Virtual Machine)
- [Java] Casting(업캐스팅 & 다운캐스팅)
- [Java] 오토 박싱 & 오토언박싱
- [Java] Thread 활용
- [Java] 고유 락(Intrinsic Lock)
- [Java] 문자열 클래스
- [Java] Garbage Collection
- [Java] Promotion & Casting
- [Java] Primitive type & Reference type
- [Java] 직렬화(Serialization)
- [Java] Error & Exception
- [Java] Stream API
- [Java] Record
- [Java] Interend String in Java
- [Java] Composition
-
Javascript
- [Javascript] ES2015+ 요약 정리
- [Javascript] Object Prototype
- [Javascript] Closure
-
Python
- [Python] 매크로 사용법
- 브라우저와 렌더링
- DOM
- Reflow&Repaint
- 쿠키(Cookie) & 세션(Session)
- HTTP Request Methods
- HTTP Status Code
- CORS
- REST API
- 웹서버와 WAS
- OAuth
- JWT(JSON Web Token)
- Authentication and Authorization
- 로그 레벨
- UI/UX
- CSR & SSR
- Cross Browsing
- Vue.js vs React
- 네이티브 앱 & 웹 앱 & 하이브리드 앱
- PWA(Progressive Web App)
- CSRF & XSS
- 웹 성능 최적화
- CSS Methodology
- CSS Selector 우선순위
- Normalize.css vs Reset.css
- 클라우드