Skip to content

kyr4601/CS-Study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS스터디

컴퓨터 네트워크/자료구조/데이터베이스/운영체제 등 프로그래밍 관련 지식을 학습하는 스터디입니다


📌자료구조

  • Array (배열) / Linked List (연결 리스트)
  • Stack (스택) / Queue (큐)
  • Tree (트리)
  • Binary Tree (이진 트리)
  • Binary Heap
  • Red Black Tree
  • Hash (해시)
  • Graph (그래프)

📌네트워크

  1. 네트워크 기초
    • 네트워크 기본 용어
    • 네트워크 구조
  2. 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
  3. WEB 통신 전체 흐름
  4. 로드밸런싱

📌운영체제

  1. 운영체제란?
    • 커널이란 무엇인가
    • 시스템 콜이란
    • 인터럽트란
  2. 프로세스 & 스레드
    • 프로세스란 무엇인가
    • PCB
    • 컨텍스트스위칭
    • 프로세스의 메모리 구조
    • 프로세스 상태 (다이어그램)
    • 프로세스 생성
    • 스레드란 무엇인가
    • 멀티프로세싱 / 멀티스레드
  3. CPU 스케줄링
    • 프로세스의 우선순위
    • 스케줄링 큐 관리
    • 선점형, 비선점형 스케줄링
    • 스케줄링 알고리즘
  4. 프로세스 동기화
    • 공유 자원과 critical section
    • IPC
    • 동기화 기법 (스핀락, 뮤텍스, 세마포어, 모니터)
  5. 교착 상태(deadlock)
    • race condition
    • 데드락 발생 조건
    • 관련 algorithms (예방, 회피, 회복)
  6. 가상 메모리
    • 스와핑 / 메모리 할당
    • 가상 메모리란
    • 페이징
    • 페이징에서의 주소 변환 (TLB 포함)
    • 페이징 교체 알고리즘
    • 세그멘테이션
    • 프레임 할당
  7. 파일 시스템
    • 파일과 디렉터리란
    • 절대 경로와 상대 경로
    • 파티셔닝과 포매팅
    • 파일 할당 방법
    • 저널링 파일 시스템
    • 마운트

📌데이터베이스

  • 데이터 베이스 기본
  • 키 종류 및 특징 , 예시
  • ERD & 정규화 과정
  • JOIN
  • SQL Injection
  • RDBMS & NoSQL
  • 저장 프로시저
  • 인덱스
  • B Tree & B+Tree
  • 캐시
  • Redis
  • 몽고 DB
  • 트랜잭션 (ACID / concurrency control / 격리수준)

About

CS를 학습하고 기록하는 스터디입니다

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5