728x90
반응형

Part 6 소프트웨어 이해하기

  1. 컴퓨터란 무엇인가?

    1. 인간이 설정한 목표를 달성하기 위해 일련의 기호 명령을 수행하고 데이터를 비교할 수 있는 모든 물질

  2. 소프트웨어 구성 요소: 구조, 동작, 결과

  3. 소프트웨어 개정판:(I)SAR 구별하기

    1. 구조: 프로그램의 구성 요소

    2. 동작: 일종의 동사

    3. 결과: 프로그램이 생산한 것

  4. 지식으로서의 소프트웨어

  5. 기술의 목적

  6. 간략하게 살펴보는 프라이버시 문제

  7. 단순성과 보안

    1. 보안을 지키는 최고의 방법은 단순성을 유지하는 것이다

  8. 테스트 주도 개발과 관찰 주기

  9. 테스트 철학

    1. 테스트의 전반적인 목표는 시스템에 관해 유효한 지식을 얻는 것이다.

6장에서는 소프트웨어가 무엇인가에 대해 설명한다.

 

단순히 소프트웨어가 어떤 구성으로 돼있는지부터 어떤 방향으로 나아가는 것이 옳은 것인지를 이야기한다.

 

또한, 테스트를 통해 소프트웨어 작동 방식을 이해하고 유지 보수할 수 있어

 

테스트 방법을 정확히 이해하고 제대로 활용해야 한다고 말하고 있다.

Part 7 나아지기

  1. 성공의 비밀: 나아지기

    1. 소프트웨어가 성공하려면 새 버전을 출시할 때마다 꾸준히 나아지면 된다

  2. 개떡 같은 부분을 찾는 방법

    1. 나아지고 싶다면 우선 가장 명백한 큰 문제를 찾아라 그리고 아무리 큰 수고가 들어도 꼭 해결하라

  3. '아니요'의 힘

  4. 프로그래머가 개떡 같은 이유

  5. 빠른 프로그래밍의 비결: 생각하지 않기

  6. 개발자의 자만심

    1. 진정한 겸양의 미덕을 갖춘 개발자라면 사용자의 세계에 자신의 정체성을 드러내지 않는다

  7. '일관성'과 '획일성'은 다르다

  8. 사용자는 문제를 알려주고 개발자는 해결책을 만든다

  9. 즉각적인 만족감 = 즉각적인 실페

    1. 소프트웨어는 언제나 장기적인 관점으로 보라

  10. 성공은 혁신이 아니라 실행에서 온다

  11. 훌륭한 소프트웨어

    1. 사용자의 명령을 정확하게 따른다

    2. 사용자가 예상한 대로 작동한다

    3. 사용자의 의도 전달을 막지 않는다

7장에서는 소프트웨어가 나아지기 위한 방법을 알려준다.

 

그리고 무엇이 소프트웨어를 나쁘게 만드는지를 이야기하면서 개발자가 알아야 할 것들을 말하고 있다.

 

총평

이 책을 읽기 전에도 다른 많은 책들을 읽어서 소프트웨어 설계를 할 때 무엇을 고려해야 하는지 대강은 알고 있다고 생각했다.

 

하지만 여전히 배움이 부족하다는 것을 한 장씩 읽어가면서 느꼈다.

 

책 초반에 뛰어난 프로그래머가 되고 싶다면 자신이 하는 일을 제대로 이해하라라고 한다.

 

이것과 같은 의미에서 나아지기프로그래머가 개떡 같은 이유에서 무엇을 배워야하는지 말하는데

 

돌이켜 생각해보면 시간을 투자해서 뭔가를 익히는데 노력을 쏟은 적이 잘 없었던 것 같다.

 

이제부터라도 책에 나온 대로 실행에 옮겨 더 나은 프로그래머가 될 수 있을 것 같다.

 

반응형

+ Recent posts