2018-04-14 독서 일지

들어가며

  • 습관을 들이기 위해 하루 하루 일지를 작성할 예정

Code, 하드웨어와 소프트웨어에 숨어 있는 언어 [찰스 펫졸드]

메모리를 만들어 봅시다.

  • 기본은 플립플롭이다. 클럭이 1일땐 출력이 클럭 입력과 같아지지만, 클럭이 0이면 출력은 이전에 출력값을 유지하는 특성을 이용한다.

  • 3비트 주소 입력을 가지는 8개의 1비트 래치 모음은 일반적으로 RAM; Random Access Memory라 부르며, 3비트 주소 입력이 어느 래치에 정보를 저장할 것인지를 선택한다.

  • 입력 주소 값만 바꾸면 어느 비트든 접근이 가능하기 때문에 임의 접근 메모리; Random Access Memory라 부른다.

램 배열에 저장되는 값의 수 = 2^주소 입력의 비트 수

  • 1024 = KiloByte, Kilo는 그리스어로 1000을 의미하는 Khillioi에서 유래되서 킬로 바이트가 1000이라 혼동 한다.

  • 하지만, 킬로 바이트는 1000바이트가 아닌 1024바이트를 의미한다.

  • 키햐,, 이런 단어의 유래까지 설명을 들어가며, 킬로바이트가 1000이 아니라 1024인 이유가 해결 됐다…

  • 10, 100, 1000, 10000단위의 10 거듭 제곱 수를 생각한다면, 킬로는 1000이 맞지만, 우리의 바이너리 기반 메모리는 2의 거듭제곱수 이므로, 2, 4, 8, 16 ~ 1024를 의미한다.

  • 1024KB = 1MegaByte

  • 1024MB = 1GigaByte

  • 1024GB = 1TeraByte

  • 1TB = 2^40 근사함

  • 정리 하자면, 1킬로바이트는 천 바이트에 근사하며, 메가바이트는 백만 바이트에 근사하고, 기가 바이트는 십억 바이트에 근사하며, 테라 바이트는 1조 바이트에 근사하다.

  • 메모리의 각 게이트는 적절한 전원이 공급되지 않으면 원래 천이 되지 않은 상태로 돌아가고, 안에 저장되는 자료는 사라진다고 한다. 이게 RAM이 휘발성 메모리라 불리는 이유다.

혼자서 움직이는 컴퓨터

  • 덧셈을 자동화 했는데, Assembly로 코드 언어가 나온다.. 학부 시절 잠깐 실습 해본것 같은 기억 이있다.. 읽은 것만으로도 용하다…허허

주판에서 반도체까지

  • 4비트 마이크로프로세서는 데이터 패스의 넓이가 4비트라, 수를 더하거나 뺄때 4비트씩 계산할 수 있다는 얘기이다.

  • 최대 클럭 주파수는 프로세서의 전반적인 속도에 영향을 미친다.

  • 프로세서의 데이터 폭 또한 속도에 영향을 준다.

  • 4비트 프로세서도 32비트 숫자를 더할 순 있지만, 32비트 프로세서 처럼 빠르게 더할 순 없다.

두 가지 고전적인 마이크로 프로세서들

테스트 주도 개발로 배우는 객체 지향 설계와 실천 [스티브 프리먼, 냇 프라이스]

스나이퍼가 경매에서 낙찰하다.

  • 음 점점 이책에 흥미가 떨어진다.. TDD보다 한단계 더 높은 시점에서 프로젝트 전체를 놓고 효율적인 개발론을 설명하고 있으니 당연하다. 아직 TDD도 익숙하지 않은 상태에서 읽으면 안될 책인 것만은 분명하지만… 나는 무엇을 모르는지도 모른 상태보다 무엇을 모르는지 아는 상태가 훨씬 났고 다르다고 생각하니 끝까지 읽어 봅시다!!!!

실제 사용자 인터페이스를 향해

  • 잠깐 중단. 여기서부터 4부 전 까지는 실제 개발 사례를 이용해, TDD를 적용해가며 개발하고 설계하는 부분을 설명하는데, 안되겠다. 이해가 안되니.. 핵심만 읽으러 가자

4부 지속 가능한 테스트 주도 개발

테스트에 귀 기울이기

테스트 가독성

실용주의 프로그래머 [앤드류 헌트, 데이비드 토머스]

실용주의 프로젝트

Reference

  • 찰스 펫졸드, 『 Code, 하드웨어와 소프트웨어에 숨어있는 언어 』, 인사이트(2010 10 11), 인용.
  • 스티브 프리먼, 냇 프라이스 지음, 이대엽 옮김, 『 테스트 주도 개발로 배우는 객체 지향 설계와 실천 』, 인사이트(2013 06 20), 인용.
  • 앤드류 헌트, 데이비드 토머스 지음, 김창준, 정지호 옮김, 『 실용주의 프로그래머 』, 인사이트(2005 08 02), 인용.