[개발100독] 1. 클린 코드 Clean Code - Robert C. Martin [애자일 소프트웨어 장인 정신]
·
◈ 공부모임/개발도서 100독👟
1. 클린 코드 Clean Code - Robert C. Martin 좋은 코드란 무엇인가? 개발자로서의 기틀을 잡아줄 수 있는 책 개발자로서 연차가 쌓일 때마다 다르게 읽힐 거 같은 책. 개발에 대한 기반이 없던 나에게 좋은 코드란 무엇인지 의문을 던지고 고민하게 하였다. 책의 초반부 이름짓기, 메서드의 함수화, 주석처리 등은 바로 적용해볼 수 있을 정도로 쉬웠으나, 중후반부의 리팩토링 코드와 함께 진행되는 부분부터는 많이 어려웠다. 1년 뒤에 읽으면 또 다른 인사이트를 얻을 거 같다. 개발자로서의 나를 꾸준히 돌아보게 할 책이라 생각된다. - 책 소개 로버트 마틴은 이 책에서 혁명적인 패러다임을 제시한다. 그는 오브젝트 멘토(Object Mentor)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만..
[혼공단10기] 가상 메모리, 연속 메모리 할당 정리 [혼공컴운 6주차 미션 인증]
·
◈ 공부모임/혼공학습단⏰
- 혼공컴운 6주차 미션 인증 1. 연속 메모리 할당 - 스와핑 메모리에서 사용되지 않는 일부 프로세스를 보조기억장치로 내보내고 실행할 프로세스를 메모리로 들여보내는 메모리 관리 기법 - 프로세스 배치 방식 최초 적합 방식 : 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치 최적 적합 방식 : 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치 최악 적합 방식 : 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치 외부 단편화 : 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 메모리가 낭비되는 현상 - p.400 확인 문제 1번 ① 최초 적합 ② 최악 적합 ③ 최적 적합 2. 페이징을 통한 가상 메모리 관리 - 페이징 물리 주소 공간을 프레임 단위로 자르고 프로세스의 논리 주..
[혼공단10기] 프로세스 동기화, 동기화 기법 정리 [혼공컴운 5주차 미션 인증]
·
◈ 공부모임/혼공학습단⏰
- 혼공컴운 5주차 미션 인증 1. 동기화란? (+ 선택 미션) 동기화 : 특정 자원에 한 개의 프로세스만 접근 또는 프로세스를 올바른 순서대로 실행하는 것 공유 자원 : 공동으로 사용하는 자원 (전역 변수, 파일, 입출력장치, 보조기억장치 등이 될 수 있음) 임계 구역 : 공유 자원에 접근하는 코드 중 동시에 실행하면 문제가 발생하는 코드 영역 상호 배제 : 한 프로세스가 임계 구역에서 작업 중이면 임계 구역에 들어갈 수 없도록 제어하는 것 2. 동기화 기법 뮤텍스 락 : 임계 구역을 잠금으로써 프로세스 간의 상호 배제를 이룸 세마포 : 공유 자원이 여러 개 있는 임계 구역 문제도 해결할 수 있는 동기화 도구 모니터 : 세마포에 비해 사용자가 사용하기 편리한 동기화 도구 (조건 변수 사용) - p.36..
[혼공단10기] 운영체제, 프로세스와 스레드, CPU 스케줄링 정리 [혼공컴운 4주차 미션 인증]
·
◈ 공부모임/혼공학습단⏰
- 혼공컴운 4주차 미션 인증 1. 운영체제 - 운영체제란? 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 커널 : 운영체제의 핵심 기능을 담당 이중 모드 : CPU가 명령어를 실행하는 모드를 커널 모드와 사용자 모드로 구분하는 방식 시스템 호출 : 운영체제의 서비스를 제공받기 위해 커널 모드로 전환하는 방법 대표적인 운영체제 서비스 : 프로세스 관리, 자원 접근 및 할당, 파일 시스템 관리 2. 프로세스와 스레드 - 프로세스란? 실행 중인 프로그램. 프로세스의 종류에는 포그라운드 프로세스와 백그라운드 프로세스가 있다. 운영체제는 프로세스 제어 블록을 통해 여러 프로세스를 관리한다. 프로세스 상태에는 생성, 준비, 실행, 대기, 종료가 있다. 많은 운영체제..
[혼공단10기] 메모리와 캐시 메모리, 보조기억장치, 입출력 방법 정리 [혼공컴운 3주차 미션 인증]
·
◈ 공부모임/혼공학습단⏰
- 혼공컴운 3주차 미션 인증 1. RAM의 특징과 종류 RAM : 휘발성 저장 장치 / 보조기억장치 : 비휘발성 저장 장치 DRAM(Dynamic RAM) : 시간이 지나면 저장된 데이터가 점차 사라지는 RAM SRAM(Static RAM) : 시간이 지나도 저장된 데이터가 사라지지 않는 RAM SDRAM(Synchroous Dynamic RAM) : 클럭과 동기화된 DRAM DDR SDRAM(Double Data Rate SDRAM) : SDRAM에 비해 대역폭이 두 배 넓음 - p.185의 확인 문제 3번 SRAM : ① 주로 캐시 메모리로 활용됩니다. / ④ 집적도가 상대적으로 낮습니다. DRAM : ② 주로 주기억장치로 활용됩니다. / ③ 대용량하기 유리합니다. 2. 메모리의 주소 공간과 캐시 ..