컴퓨터 네트워크/자료구조/데이터베이스/운영체제 등 프로그래밍 관련 지식을 학습하는 스터디입니다
- Array (배열) / Linked List (연결 리스트)
- Stack (스택) / Queue (큐)
- Tree (트리)
- Binary Tree (이진 트리)
- Binary Heap
- Red Black Tree
- Hash (해시)
- Graph (그래프)
- 네트워크 기초
- 네트워크 기본 용어
- 네트워크 구조
- OSI 7 layers
- application - HTTP & HTTPS / REST API & RESTful / CORS / 쿠키 & 캐시 & 프록시 서버 / DNS
- presentation
- session
- transport - TCP & UDP / TCP 연결, 해제 과정 (3,4 way handshaking) / TCP 흐름제어 & 혼잡제어
- network - IP / DHCP (App layer이지만 ip관련) / 라우팅
- link - MAC / ARP / 스위치 / 오류 체크
- physical
- WEB 통신 전체 흐름
- 로드밸런싱
- 운영체제란?
- 커널이란 무엇인가
- 시스템 콜이란
- 인터럽트란
- 프로세스 & 스레드
- 프로세스란 무엇인가
- PCB
- 컨텍스트스위칭
- 프로세스의 메모리 구조
- 프로세스 상태 (다이어그램)
- 프로세스 생성
- 스레드란 무엇인가
- 멀티프로세싱 / 멀티스레드
- CPU 스케줄링
- 프로세스의 우선순위
- 스케줄링 큐 관리
- 선점형, 비선점형 스케줄링
- 스케줄링 알고리즘
- 프로세스 동기화
- 공유 자원과 critical section
- IPC
- 동기화 기법 (스핀락, 뮤텍스, 세마포어, 모니터)
- 교착 상태(deadlock)
- race condition
- 데드락 발생 조건
- 관련 algorithms (예방, 회피, 회복)
- 가상 메모리
- 스와핑 / 메모리 할당
- 가상 메모리란
- 페이징
- 페이징에서의 주소 변환 (TLB 포함)
- 페이징 교체 알고리즘
- 세그멘테이션
- 프레임 할당
- 파일 시스템
- 파일과 디렉터리란
- 절대 경로와 상대 경로
- 파티셔닝과 포매팅
- 파일 할당 방법
- 저널링 파일 시스템
- 마운트
- 데이터 베이스 기본
- 키 종류 및 특징 , 예시
- ERD & 정규화 과정
- JOIN
- SQL Injection
- RDBMS & NoSQL
- 저장 프로시저
- 인덱스
- B Tree & B+Tree
- 캐시
- Redis
- 몽고 DB
- 트랜잭션 (ACID / concurrency control / 격리수준)