Skip to content

cloud-club/computer-deep-dive-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

computer-deep-dive-study

1. 💁‍♀️ Who need this study

☁️ 아무리 공부해도 컴퓨터과학 내용이 실감나지 않는 클.둥.이 ☁️
☁️ 이론으로만 외운 컴퓨터 지식이랑 친해지고 싶은 클.둥.이 ☁️
☁️ 코드가 실행될 때 컴퓨터의 저수준 계층에서는 어떤 일이 일어나는지 궁금한 클.둥.이 ☁️

운영체제, 컴퓨터구조 및 시스템에 대한 사전 지식을 바탕으로,
컴파일러 / 스레드 / 동기&비동기 / 레지스터 등에 대한 이해도를 높일 수 있을 것 같습니다.
무조건 외우는 지식이 아니라 생각하고 이해하며 콤퓨타 세상을 탐험해보아요~

2. 🕑 Schedule

매주 수요일 10시 온라인 미팅 (클클 Discord)

3. 👽 Our Squad

권시경 김민우 박지혜(스터디장) 이승연 임예준 임수현(스터디장) 장지원
권시경 김민우 박지혜(스터디장) 이승연 임예준 임수현(스터디장) 장지원

4. 📏 GitHub Collaboration Guidelines

  1. computer-deep-dive-study 레포를 fork한다.
  2. fork한 레포에서 week1 브랜치를 생성한다.
  3. ./week1/{영어이름} 폴더를 생성한 후 해당 주차에 공부한 내용을 커밋한다.
  4. PR 템플릿에 따라 PR을 작성한다.

5. ⛳ Curriculum

주차 주제 세부 내용
Week 1 OT ⭐ 아이스브레이킹
⭐ 그라운드룰 결정
Week 2 1장 프로그래밍 언어 (50p) 1.1 여러분이 프로그래밍 언어를 발명한다면?
1.2 컴파일러는 어떻게 동작하는 것일까?
1.3 링커의 말할 수 없는 비밀
1.4 컴퓨터 과학에서 추상화가 중요한 이유
Week 3 2장 프로세스 1/2 (60p) 2.1 운영 체제, 프로세스, 스레드의 근본 이해하기
2.2 스레드 간 공유되는 프로세스 리소스
2.3 스레드 안전 코드는 도대체 어떻게 작성해야 할까?
2.4 프로그래머는 코루틴을 어떻게 이해해야 할까?
Week 4 2장 프로세스 2/2 (60p) 2.5 콜백 함수를 철저하게 이해한다
2.6 동기와 비동기를 철저하게 이해한다
2.7 아 맞다! 블로킹과 논블로킹도 있다
2.8 높은 동시성과 고성능을 갖춘 서버 구현
2.9 컴퓨터 시스템 여행: 데이터, 코드, 콜백, 클로저에서 컨테이너, 가상 머신까지
Week 5 3장 메모리 (90p) 3.1 메모리의 본질, 포인터와 참조
3.2 프로세스는 메모리 안에서 어떤 모습을 하고 있을까?
3.3 스택 영역: 함수 호출은 어떻게 구현될까?
3.4 힙 영역: 메모리의 동적 할당은 어떻게 구현될까?
3.5 메모리를 할당할 때 저수준 계층에서 일어나는 일
3.6 고성능 서버의 메모리 풀은 어떻게 구현될까?
3.7 대표적인 메모리 관련 버그
3.8 왜 SSD는 메모리로 사용할 수 없을까?
Week 6 4장 CPU (80p) 4.1 이 작은 장난감을 CPU라고 부른다
4.2 CPU는 유휴 상태일 때 무엇을 할까?
4.3 CPU는 숫자를 어떻게 인식할까?
4.4 CPU가 if문을 만났을 때
4.5 CPU 코어 수와 스레드 수 사이의 관계는 무엇일까?
4.6 CPU 진화론(상): 복잡 명령어 집합의 탄생
4.7 CPU 진화론(중): 축소 명령어 집합의 탄생
4.8 CPU 진화론(하): 절체절명의 위기에서 반격
4.9 CPU, 스택과 함수 호출, 시스템 호출, 스레드 전환, 인터럽트 처리 통달하기
Week 7 5장 캐시 (60p) 5.1 캐시, 어디에나 존재하는 것
5.2 어떻게 캐시 친화적인 프로그램을 작성할까?
5.3 다중 스레드 성능 방해자
5.4 봉화희제후와 메모리 장벽
Week 8 6장 입출력 (50p) + 회고 ⭐ 블로그 글 등의 결과물 남겨보기
6.1 CPU는 어떻게 입출력 작업을 처리할까?
6.2 디스크가 입출력을 처리할 때 CPU가 하는 일은 무엇일까?
6.3 파일을 읽을 때 프로그램에는 어떤 일이 발생할까?
6.4 높은 동시성의 비율: 입출력 다중화
6.5 mmap: 메모리 읽기와 쓰기 방식으로 파일 처리하기
6.6 컴퓨터 시스템의 각 부분에서 얼마큼 지연이 일어날까?

6. 📑 References

Cloud Club 6기 시즌2 - Observability 기초 스터디

About

⛵ 클클 7기 컴퓨터 탐험대

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published