목록감상문 (9)
규도자 개발 블로그
"객체지향은 현실세계의 모방, 추상화하는 것은 아니다. 소프트웨어 안에 구현된 상품 객체는 실제 세계의 상품과는 전혀 다른 양상을 띤다. 오히려 현실세계를 기반으로 새로운 세계를 창조하는 것과 같다." 이 말이 이 책의 모든 내용을 함축하고 있다. 현실세계의 객체들은 수동적인 자세를 취하고 "인간"이라는 능동적인 객체가 직접적인 영향을 미치지만 소프트웨어세계에는 인간이 없다. 그래서 객체는 스스로 움직여야 한다. 현실세계에서는 사람이 음료수를 마시지만 소프트웨어세계에서는 사람이 음료수를 직접 마실 수 없다. 사람은 음료수에게 음료수를 이만큼 먹겠다는 메시지를 보내고 음료수는 그 메세지를 수신해서 스스로 그만큼의 양을 줄인다. 이것이 소프트웨어세계에서 객체들이 동작하는 방식이다. 소프트웨어세계에서는 모든 ..
군더더기 없는 책이란 이런 책을 두고 하는 말일 것이다. 정말 군더더기 없다. 더할 것도 없고 뺄 것도 없다. 간단명료하다. 확실하다. 간단하다. 저자가 말했듯이 모든 학문 분야에 걸쳐서 쌓인 지식 또한 사람들의 경험에 의해 쌓이고 정리된 것이므로 User Experience라고 했는데 이것 또한 아주 훌륭한 UX를 포함한 책이다. 물론 이것은 이래야한다, 저것은 저래야한다는 식의 단호한 어투지만 어떠한 말이든 모든 경우에 통용되지 않는다는 사실은 조금만 공부를 해보고 직접 디자인을 해본 사람은 알 것이다. 그런 요소들은 스스로 감안해서 적용하는 것이고 그것이 바로 지혜라는 것이다. 그런 면에 있어서 이 책은 정말 간단명료하게 아주 잘 명확하게 UX Design이란 무엇이고 어떻게 해야하는 건지 잘 보여..
학원에서 실습위주로 코딩을 배웠던 나에게는 학과나 이론 공부가 부족하여서 항상 그런 쪽으로 학구열이 샘솟는데 그런 욕구를 충족시켜준 좋은 책이다. ~의 정석 시리즈들 이름을 채택했지만 그만큼의 깊이는 없다. 하지만 넓다. 저자 소개에도 나왔듯이 기술서적만 만 권 이상을 독파하신 분이 모아둔 주제들이니 하나하나가 주옥같다. 사실 정보처리기사나 다른 기술서적, 혹은 소프트웨어 공학 서적에서 봤던 내용들이지만 한번에 넓은 스펙트럼을 경험해보고 싶은 사람들에게는 좋은 책이 될 것 같다. 여기에서 넓은 스펙트럼이라는 것은 무엇을 의미하냐. 깊이가 없음을 의미한다. 블로그에서 시시때때로 인용하는 CODE COMPLETE은 장장 그 내용만 1000p에 해당하는 거의 무기나 운동기구에 가까운 책일 뿐더러 다른 책들도 ..
제목은 소프트웨어 아키텍트를 위한 책인 것 같지만 실제로는 소프트웨어 산업에 종사하는 모든 사람이 읽었으면 하는 책이다. 실제로도 소프트웨어 산업 종사자들에게 많은 도움이 될만한 얘기들이 써있다. 예를 들어서 아키텍트의 고객은 솔루션을 요하는 클라이언트가 아닌 실제로 그 솔루션을 사용하는 고객, 그러니까 고객의 고객이 진짜 고객이라는, 그런 조언들 말이다. 사실 나도 소프트웨어를 만들면서 우리의 고객은 누구인가에 대한 생각이 많았었다. 만나서 사양에 대해 담을 나누는 사람인가 혹은 그 사람이 서비스를 제공하면서 실제로 그 시스템을 이용하게 될 사용자들이 우리의 고객인가에 대해서 말이다. 책에서 말하는 바를 보고서 고객의 고객이 진짜 고객이라는 확신을 얻었다. 예를 한 가지만 들었지만 부단 이것 말고도 수..
내가 좋아하는 천문학자 브라이언그린의 책이다. 브라이언 그린이 쓴 책 엘러건트 유니버스와 우주의 구조를 차레대로 읽으려 했는데 일단 우리 집 옆의 도서관에 구비돼있는 책은 이것 뿐이라 이것부터 읽었지만 책 중간중간에 저 두 책에 대한 언급, 예를 들어 "나의 저서 우주의 구조에 잘 설명돼있다"등의 각주가 꽤나 있어서 아쉬움이 들었다. 아직 이 책을 읽을까 고민 중인 사람들 중 브라이언 그린의 팬이거나 우주에 대한 호기심이 대단한 사람들이면 엘레건트 유니버스 -> 우주의 구조 -> 멀티유니버스 순으로 읽으면 좋을 것이다. 사설은 그만하고, 이 책에 대해서 말하자면 많은 문학작품과 미디어에서 다뤄지고 있는 '다중우주'라는 개념을 지극히 과학적인 방법으로 풀어낸다. 그리고 또 신비한 사실은 이 세상은 다중우주..
소프트웨어 개발 분야의 슈퍼스타, 스티브 맥코넬이 쓴 다른 책이다. 프로그래머의 교과서라고 불리우는 코드 컴플릿2 (CODE COMPLETE 2)는 소프트웨어 개발 중 수많은 과정에 있어서 구현에 중점을 뒀다면 이 책은 말 그대로 소프트웨어 개발 전반에 대하여 본인의 주장을 말한 책이다. 코드 컴플릿은 개발 포지션이 아니라면 별 의미 없겠지만 이 책은 소프트웨어 분야에 종사하고 있는 사람이라면 누구라도 봤으면 하는 책이다. 나는 이 책에서 말하는 부분 중 특히나 감명깊게 읽었던 부분이 바로 '업계의 프로정신'이라는 부분이었다. 최대한 간단하게 설명해볼테니 당신이 개발자라면 내가 간단하게 쓰는 이 글이나마 꼭 읽어줬으면 하는 바람이다. 직업에는 '자격증'이 강제적으로 요구되는 것들이 있다. 판사나 변호사 ..
상당히 공감가는 얘기도 많았을 뿐더러 대한민국에서 프로그래머로 살아가고 있는 나에게 실질적이 도움이 된 책이었다. 노력은 당연히 중요하지만 제일 배신을 잘 하는 것이 노력일 뿐더러 다른 요소들이(운, 인재 등) 노력과 맞물려야만 큰 성과를 거둘 수 있다는, 다소 냉소적인 태도도 내가 갖고 있는 생각과 같아서 뭔가 위안이 됐달까. 하지만 책에서 유난히도 와닿았던 점은 바로 '언어'에 대한 부분이었다. 언어는 수단에 불과하다. 단순 언어를 배우는 건 며칠만에 끝낼 수 있듯이 말이다. 그리고 그 책을 썼던 당시(2014년)에 핫하다고 했던 언어들을 열댓개 나열해뒀는데 지금 간간히 들리는 언어는 몇 개에 불과하다. 굳이 트렌드에 민감할 필요가 없다는 의미이다. 언어나 라이브러리나 도구는 결국 도구일 뿐이다. 이..
개인프로젝트를 진행 중에 있는데 마치 걸레쪼가리를 덕지덕지 붙여놓은 듯한 나의 시안에 실망하여 읽게 되었다. 나는 진짜 디자인 감각이 없는 사람이었다. 책의 도입부에 딱 써있다. 나처럼 디자인 감각 없는 웹 프로그래머가 읽으면 좋다고 말이다. 그 말마따마 아주 많은 도움이 되었다. 내가 만든 디자인은 왜 구려보이는지, 어떻게 해야 사이트에 들어온 사람들의 시선을 잡아둘 수 있는지, 사람들은 어떤 사이트에서 아름다움을 느끼는지 등등 말이다. 책을 읽고 시안을 수정하여 지인들에게 보여줬고 전처럼 쓰레기같다는 얘기는 피하게 됐다. 아주 기분이 좋다. 부단 내용 뿐만 아니라 무료 글꼴이나 이미지, 색 조합을 알려주는 사이트 등 유용한 도구들도 많이 알려줘서 큰 도움이 된다.
"코딩호러"라는 개발자들 사이에선 아주 유명한 블로그를 운영 중인 제프 앳우드의 저서이다. 그리고 전 세계 프로그래머들의 생산성 향상에 영향을 끼친 사이트인 "스택오버플로우"의 개발자이자 창립자이기도 하다. 코딩호러와 스택오버플로우, 이 두 개의 양대산맥을 끼고 있는 사람의 후광효과 때문인지 모르겠지만 책의 내용도 상당히 구성지고 흥미로운 내용들로 채워져 있다. 사실 목차를 보면 조금 혼란스러울 수 있다. 프로그래머의 권리장전이라느니, 개발환경, 의자얘기, 모니터얘기에서부터 단위 테스트 VS 사용성 테스트 등에 대한 내용까지 책에서 다루는 범주가 굉장히 넓기 때문이다. 하지만 이건 책의 제목으로 이해하면 쉽다. "이펙티브 프로그래밍(Effective programming)", 효과적인 프로그래밍을 위한 ..