목록서평/IT-책 (51)
Scientia Conditorium
[책리뷰] 개발자를 넘어 기술 리더로 가는 길 A Guide for Individual COntrobutors Navigating Growth and Change The Staff Engineer's Path 흔히들 개발자들 커리어를 말해보라고 하면 처음 주니어(초급) 프로그래머부터 시작해서 시니어(중급)를 거쳐 고급 프로그래머 혹은 책임자(Director)가 되고 이어서 CTO가 되는걸 생각한다. 그러나 실제 개발자들 커리어는 그리 단순하지 않다. 불꽃남자25님의 블로그 글 'IT 개발자 커리어 패스에 대해서'를 보면 세분화된 개발자 진로를 볼 수 있다. 추가로 okky 개발자 지식공유 플랫폼에서 운체조교님이 작성하신 '평범한 개발자가 되는 것은 원래 어렵습니다' 에세이를 보면 개발자가 진로가 단순하지..
[책리뷰] Docs for Developers 기술 문서 작성 완벽 가이드 문서화는 굉장히 중요하다고 생각한다. 신입 개발자가 입사했을 때, 모든 정보를 습득할 수 있게 하며 개발 과정을 엿볼 수 있게한다. 대표적으로 마이크로소프트 문서를 보자. 비쥬얼 스튜디오에서 발생한 모든 오류에 대한 정보가 이미 문서화되어있다. 심지어 개발을 위한 기초 가이드 문서도 잘 작성되어있다. 물론 이 문서화하는 과정은 굉장히 번거롭고 귀찮은 작업이다. 가끔보면 이 문서화를 왜 해야되나 라는 생각이 들 정도이다. 그러나 개발자라고 칭한다면 문서화는 해야한다. 부제로는 테크니컬 라이터들을 위한 기술 문서 작성 가이드북이지만 대부분의 개발자들한테도 통용되는 얘기라고 생각한다. 개발자들은 단순히 알고리즘을 구현하고 코드만 작성하..
[책리뷰] 게임 전쟁 - 게임 패권 다툼 그리고 위대한 콘솔의 탄생 부제처럼 콘솔 게임 시장에 대한 역사를 다룬 책이다. 아직까지는 역사상 위대한 게임들은 대부분 콘솔 게임기에서 나왔기 때문에 콘솔 전쟁보다는 게임 전쟁이라는 타이틀도 어울려 보인다. 콘솔 게임기라고 하면 흔히들 플레이스테이션이나 XBOX, 닌텐도 게임기들을 떠올린다. 현재로서는 이 3개가 전부라고 볼 수 있다. 물론 스팀덱과 같은 콘솔기기가 등장하며 새로운 패권을 넘보고 있기는 한다. 이 책은 90년대 말부터 2000년대 전후의 콘솔 게임 시장에서 있었던 일들을 보여준다. 단순히 이러한 일이 있었다를 넘어서 왜 그런 콘솔 게임기가 나왔는지, 그 당시 제작사들은 어떤 생각을 가지고 있었는지 등등 관련 인물의 인터뷰 혹은 말들도 수록되어 있..
[책리뷰] 온디바이스 AI - AI and Machine Learning for On-Device Development 책 내용은 군더더기 없으며 모바일에 머신러닝을 접목시키고 싶은 개발자들을 위한 기초 책입니다. 다만 아쉬운 점이라고 하면 철저하게 구글 TF에 치중되었다고 생각하시면 되겠습니다. 2019년 10월에 PyTorch 1.3이 출시되며 모바일을 지원한다고는 했지만, 책의 저자 로런스 모로니는 구글 AI Advocacy를 리딩하고 있기 때문에 당연히 경쟁사 모델인 파이토치를 다룰 필요가 없기는 합니다. 그래서인지 추천사를 보면 전부 구글 관련 개발자들로만 구성되어있는 것을 볼 수 있습니다. 단순히 임베디드 기계에 접목시키기 위해서 어쩔 수 없이 TF Lite를 써야한다고 하기에 아쉬운 것은 2..
[책리뷰] 우리가 사랑한 한국 PC게임 - 사진으로 읽는 한국 게임의 역사 '당신이 읽고픈 책이 있는데 아무도 쓴 적이 없다면 그 책은 당신이 써야 한다.' 노벨문학상을 수상한 토니 모리슨의 말이다.이 문구는 조기현 저자 서문에 그대로 인용되어 있다. 이 책은 제목 그대로 약 1992년부터 2004년까지 한국에서 개발하고 발매된 PC 게임들을 정리하였다. 책 구성은 간단하다. 당시 나왔던 인기 게임 메인 사진과 함꼐 간단한 설명으로 구성되었다. 이 책이 단순히 '90년대에 이런 게임이 있었고 어떤 게임이다' 라고만 서술되어 있었다면 사전과 비슷한 느낌이 되었을 것이다. 내가 가장 마음에 들었던 것은 인터뷰 부분이다. 게임 4~10개 정도 소개를 해주고 이후 그 게임을 만들었던 대표 개발자 한 분의 인터뷰..
[기본 미션] p.400의 확인 문제 1번 풀고 인증하기 최초 적합(first fit) : 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식 최적 적합(best fit) : 운영체제가 빈 공간을 모두 검색해본 후, 프로세스가 적재될 수 있는 공간 중 가장 작은 공간에 프로세스를 배치하는 방식 최악 적합(worst fit) : 운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간 중 가장 큰 공간에 프로세스를 배치하는 방식 외부 단편화 : 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상 [선택 미션] Ch.14(14-3) 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조..
[기본 미션] p.363의 확인 문제 1번 풀고 인증하기 뮤텍스 (mutex) : 멀티스레드에 의해 공유 데이터가 동시에 접근되지 않도록 보호하는데 사용할 수 있는 동기화 프리미티브 세마포(semaphore) : 뮤텍스 락은 하나의 공유 자원에 접근하는 프로세스를 상정한 방식이라면 세마포는 공유 자원이 여러 개 있는 상황에서도 적용이 가능한 동기화 도구 [선택 미션] Ch.12(12-1) 임계 구역, 상호 배제 개념을 정리하기 공유 자원(shared resource) : 동시에 실행되는 프로세스들이 공동으로 이용하는 변수, 파일 장치 등의 자원 임계 구역(critical section) : 공유 자원에 접근하는 코드 중 동시에 실행하면 문제가 발생하는 코드 영역 상호 배제(mutual exclustion..
[기본 미션] p.304의 확인 문제 1번 풀고 인증하기 프로세스 상태 5단계 생성 상태 프로세스를 생성 중인 상태. 메모리에 적재되어 PCB를 할당받은 상태. 생성 상태를 거쳐 실행할 준비가 완료된 프로세스 는곧바로 실행되지 않고 준비 상태가 되어 CPU의 할당을 기다림 준비 상태 당장이라도 CPU를 할당받아 실행할 수 있지만, 아직 자신의 차례가 아니기에 기다리고 있는 상태 실행 상태 CPU를 할당받아 실행 중인 상태. 실행 상태인 프로세스는 할당된 일정 시간 동안만 CPU를 사용할 수 있음. 프로세스가 할당된 시간을 모두 사용하거나, 타이머 인터럽트가 발생하거나, 실행 도중 입출력장치를 사용하여 입출력 장치의 작업이 끝날 때까지 기다려야 한다면 다시 준비 상태가 됨. 대기 상태 입출력장치의 작업을 ..
[기본 미션] p.185의 확인 문제 3번, p.205의 확인 문제 1번 풀고 인증하기 [선택 미션] Ch.07(07-2) RAID의 정의와 종류를 간단히 정리해 보기 RAID : Redundant Array of Inexpensive/Independent Disk 복수 배열 저가/독립 디스크 데이터의 안전성 혹은 높은 성능을 위해 여러 하드 디스크나 SSD를 마치 하나의 장치처럼 사용하는 기술 RAID 0는 데이터를 단순히 병렬로 분산하여 저장하고, RAID 1은 완전히 복사본을 만듬 RAID 4는 패리티를 저장한 장치를 따로 두는 방식이고, RAID 5는 패리티를 분산하여 저장하는 방식 RAID 6는 서로 다른 두 개의 패리티를 두는 방식
[기본 미션] p.125의 확인 문제 2번, p.155의 확인 문제 4번 풀고 인증하기 프로그램 카운터(PC, program Counter) : 메모리에서가져올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저정. 프로그램 카운터를 명렁어 포인터(IP, Instruction Pointer)라고 부르는 CPU도 있음(인텔의 x86 계열의 CPU) 명령어 레지스터(IR, Instruction Register) : 해석할 명령어, 즉 방금 메모리에서 읽어 들인 명령어를 저장하는 레지스터. 제어장치는 명령어 레지스터 속 명령어를 받아들이고 이를 해석한 뒤 제어 신호를 내보냄 범용 레지스터(General purpose register) : 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터. 메모리 버..