2009/05/18 12:25

2009년 캠페인: 전산 입문서 추천

전산학을 새로 공부하는 친구들에게 권하는 책입니다. ^^ 2009년 동안 상단에 위치합니다.


소프트웨어 작성

생각하는 프로그래밍(Programming Pearls)- 1984년도에 쓰여진 고전인데, 여전히 읽을만한 책입니다. 당시에 인기있던 C로 샘플 코드들이 작성되었지만, 복잡하지 않아 읽기에 편합니다. 최근 나온 번역판의 번역 수준도 좋아서 부드럽게 잘 읽힙니다. 전산에 관심이 있는 분들의 상상력을 자극하는데에 이만한 책이 없다고 생각합니다. 초보자 여러분들은 꼭 읽어봐야 합니다. 고수들도 고이고이 모셔두고 다시 읽어도 읽어도 좋습니다.

헤드퍼스트 디자인 패턴(Head-first Design Patterns) - 꽤 최근에 나온 책으로, 프로그램 설계를 어떻게 하는지를 재미있는 예제를 통해서 설명합니다. 많이 쓰이는 방식들을 위주로 설명하였고, 편집이 매끄로와 머리에 쏙쏙 들어옵니다. ^^ 여러 프로그램들을 작성해 보신 분들께 권합니다.

리팩토링(Refactoring) - 마틴 파울러라는 아저씨가 쓴 책입니다. 우리가 프로그램을 짜다보면, 설계를 바꾸어야 할 일들이 많습니다. 그런 경우에 안전하고 빠르게 바꿀 수 있는 방법들을 소개합니다. 주옥같은 예제와 더불어 좋은 내용으로, 개발 속도가 2배 이상 빨라집니다. 제 인생에 가장 도움이 된 책 중의 한 권입니다. 어느 정도 익숙해지신 분들께 권합니다. 별로 다시 읽을 일은 없지만, 그래도 감동은 이루 말할 수 없습니다.

자바 유창하게 말하기(Effective Java) - 자바의 컬렉션 프레임워크를 비롯한 다양한 부분을 만든, 조슈아 블로치의 자바 참고서입니다. 자바 라이브러리의 설계와 그 배경에 대해서 이야기합니다. 이렇게 짰다가 나중에 고칠 구석이 있어서 손댔더니 사람들이 갑자기 시스템이 오작동 한다고 욕하더라. 그래서 어쩔 수 없이 '하위 호환성'을 유지하는 구조를 작성하다보니 객체지향의 이런 면을 활용하게 됐고, 등의 인간적인 생생한 경험담으로 넘쳐납니다. 고수의 포스가 고스란히 흐르는 명서라고 할 수 있지만, 초심자가 곧바로 읽기에는 무리가 있습니다.

자바 퍼포먼스 튜닝(Java Performance Tuning) - 자바 프로그래밍 언어로 서버 등의 무거운 프로그램을 작성할 때에 빠지기 쉬운 문제들과 그 측정 및 해결 방법에 대해 자세하게 기술하고 있습니다. 과학적이고 공학적으로 접근하는 방법을 소개했고, 우리가 학교에서 배우지 못했던 대규모 시스템 설계에 대한 기본기들을 다질 수 있습니다.


소프트웨어 교양

조엘 온 소프트웨어(Joel on Software) - 조엘 스폴스키라는 아저씨가 쓴 소프트웨어 업계 교양서입니다. 소프트웨어 업체의 사장으로, 업계에 대한 다양한 이야기를 블로그에 써 놓았던 것을책으로 엮어낸 것입니다. 현대 소프트웨어의 흐름에 대한 감을 잡기에도 좋고, 배꼽을 잡는 유머 센스에 화장실에서도 솔솔 읽힙니다.

iCon 스티브 잡스(iCon: Steve Jobs, the great second act in the history of business) - IT 업계의 거장 중 한 명인 스티브 잡스에 대해 다른 기자가 정리한 자서전 형식의 이야기입니다. 제가 읽어본 IT 자서전류 중에서 제일 '재미'있습니다. 가정 파탄에 회사에서 쫓겨났다가 다시 돌아와서 회사를 크게 키우는, 그의 일생은 이미 소설을 뛰어 넘었지요. 저 개인적으로는 '아내의 유혹'보다도 재미있다고 생각합니다. ^^;


프로젝트 관리

데드라인(Deadline) - 소프트웨어 프로젝트에 대한 웃기는 소설입니다. 주인공이 어느 나라에 납치되어 소프트웨어 장관으로 역임했고 각종 음모와 계략을 헤치고 성공하여 어여쁜 스파이와 행복하게 살았다는 이야기입니다. 소프트웨어 프로젝트를 한 단계씩 따라가며 가상 체험을 할 수 있고, 그에 적절한 훌륭한 데이터와 조언들이 있어 주옥같은 책으로 꼽을 수 밖에 없습니다. 입문자 여러분이나 비전공자들도 부담없이 읽을 수 있을만큼 쉽고 좋은 책입니다.

피플웨어(Peopleware) - 역시 고전 중의 고전으로, 전산쟁이들의 기업에서는 소프트웨어, 하드웨어가 아닌 사람이 중요하다는 책입니다. 얼만큼 중요하고, 어떻게 다루어야 하는지 등을 잘 말하는데, 예를 들자면 여러 일을 동시에 시키지 말자거나 다른 잡일에서 분리해야한다, 그리고 팀 구성은 어찌해야 한다 등을 아주 풍부한 경험을 바탕으로 잘 그려내고 있습니다.

소프트웨어 프로젝트의 리스크 관리(Waltzing with Bears) - 원제가 참 재미있는 책이죠. '곰과 함께 왈츠를'. 소프트웨어 프로젝트란 그만큼 위험하면서도 신나는 일인가 봅니다. 우리가 부딪힐 수 있는 각종 위험 요소들과 그에 대처하는 방법들을 알기 쉽게 설명하고 있습니다. 특히, 한 프로젝트를 띄우고 위험이 없기를 기도하는 선장을 '사망에 대한 책임이 있다'고 비유하여 그리는 부분에서는 정말 머리칼이 쭈뼛 일어섭니다.

항상 여러분들의 제보를 받습니다! ^^ 행복한 개발하세요! 모든 노력하는 전산인들에게 축복을!

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://link.egloos.com/tb/4108596 [도움말]

덧글

  • 미친과학자 2009/04/07 01:17 # 답글

    "실용주의 프로그래머"와 "테스트 주도 개발"도 추천합니다만. :)
  • 최종욱 2009/04/07 10:44 #

    테스트 주도 개발은 넣을까 말까 고민했습니다. 아직도 논쟁중인 주제이고, 예제들도 주류 언어로 쓰이지 않아서 말이에요. 그래도 역시 좋은 책입니다. ^^
  • 머스타드 2009/04/07 08:22 # 답글

    앗... 실용주의 프로그래머 추천하려 했더니 이미 과학자님께서 추천을... ;)
  • 최종욱 2009/04/07 10:45 #

    제가 훑어본 바로는 딱히 감동이 오지 않는 책이라서 그만... 많이 괜찮은가봐요?
  • 머스타드 2009/04/07 12:51 #

    음 그렇군요. 하긴 언급하신 책들의 포스에 비하면 조금 후달리긴 하죠. ^^;
  • 제임스 2009/04/08 09:43 # 답글

    역시 성실한 학생답게 공부를 많이 하시네요.
    저는 읽어본 책인 몇권 안되네요 하하.

    근데, 제목이 약간 오해의 소지가 있어보입니다.
    제 경험상, 코딩을 거의 안해본 사람들이 이런 책들을 읽게 되면, 가끔씩 더 혼란에 빠지는 경우가 있는 것 같아요. 자전거를 못타는데 묘기를 배우는 느낌이랄까. 프로젝트를 한두개 한 후에, 한단계 위로 올라갈 때 도움이 되는 책이 아닐까 합니다. 그걸 뭐라고 하면 좋을건지는 잘 모르겠네요. 하하
    봄이 차암 좋습니다. 종욱님~
  • 최종욱 2009/04/08 09:58 #

    써놓고 보니, 그런 부분들이 좀 많네요. 'ㅡ' 뭔가 미묘해서 제목을 바꾸기도 애매합니다. 제임스님께도 좋은 책 추천 부탁드립니다. ^^
  • 제임스 2009/04/08 13:21 # 답글

    실용주의 프로그래머 (Pragmatic Programmer)
    앤드류 헌트, 데이비드 토머스

    Art of UNIX Programming
    에릭 S. 레이몬드 / 김희석 역
    -> 번역이 조금 더 잘 되었으면 하는 희망있지만, WIN과 UNIX의 양쪽 이야기를 듣는 의미에서...

    근데, 추가는 하지 않는 것도 좋을 것 같습니다.
    책을 통해서 배우는 것보다, 피부로 느끼면서 배우는 것이 더 많은 것 같아서요,
    '한줄이라도 더 짜세요~' 하고 싶은 마음이랄까. 하하
  • 최종욱 2009/04/08 15:16 #

    두 권 모두 제대로 읽어보지 않은 책입니다. 이번 학기가 끝나면 한 번 시간을 갖고 읽어봐야겠습니다. ^^ 감사합니다. 하하...
  • 써니 2009/04/08 14:34 # 답글

    프로그래밍 언어 하나쯤 확실히 마스터 하고 싶다면...
    책이 좀 크기는 하지만...
    Bruce Eckel의 'Thinking in Java'도 괜찮지 않나 생각합니다.
    4판 번역판이 국내에 번역되서 나와 있습니다.

    오래두고 볼만한 책이거든요.
  • 최종욱 2009/04/08 15:14 #

    Thinking in Java, 좋은 책이지요. ^^ 4판에서인가요? RuntimeException 에 대한 의견이 바뀌는 걸 보고 깜짝 놀랐습니다.
  • DAK-DAK 2009/04/08 18:20 # 답글

    자바를 길게 팔 사람이라면, Java Puzzler도 재미있겠지요.. 요즘에 번역서도 나왔으니까.. 주머니 앏아도 살 수 있을 듯 해요.. ^^;;
  • 최종욱 2009/04/11 00:12 #

    히히. 그렇죠. 살짝 난해하면서도 재미있는 문제들. ^^;
  • footix 2009/04/21 08:35 # 삭제 답글

    완전 관련없는(?) 얘기인지 모르지만...
    린소프트웨어개발도 재밌더군요 ㅋㅋㅋ (그냥 재밌습니다...)
  • 퓨리넬 2009/07/15 14:17 # 답글

    안녕하세요. 밸리에서 들어왔습니다. 좋은 글들이 많네요. 링크할게요~~자주 오겠습니다. ^^
  • 오린간 2009/07/20 00:34 # 답글

    이미 한 리플에 나오듯, 대부분 "입문"은 아닌듯 합니다.
    하지만 상당히 좋은 책들같군요.
  • chatmate 2009/07/27 11:14 # 답글

    입문 서적으로 추천할만 한 책들.... 음 저도 한 번 정리해보고 싶어지네요. 원론적인 부분 말고, 정말 말초적인 부분에서 볼만한 책들이 떠오르는지라...
  • weekend6 2009/08/04 13:16 # 삭제 답글

    자바 퍼포먼스 튜닝은 제 기억엔 나온지 좀 된 책이라 지금 봐서는 크게 영양가가 없을 겁니다...
    자바 퍼포먼스도 기본적으로 low-level 지식을 기반으로 하므로...결국 Computer architecture 쪽 책이나(입문서라고 보긴 힘들지만 Computer Architecture: A Quantitative Approach 같은거..) 외국 칼럼들 읽는게 더 좋아 보입니다 ^^

    교양서라면 "맨먼스 미신" 이나 "프로그래밍 심리학" 추천합니다. 둘 다 번역서 있습니다.
    최근에 로버트 L. 글래스의 책들이 번역되서 잘 나오던데 대부분 재밌습니다. - 소프트웨어 크리에이티비티, 소프트웨어 컨플릭트 2.0 등 -
  • 최종욱 2009/08/04 13:35 #

    프로그래밍 심리학, 저도 서점에서 보고 흥분했는데 마침 다른 필요한 책들을 사느라 남는 돈이 없어서 미뤘습니다. ㅠㅠ 흐흑... 참고하겠습니다!
덧글 입력 영역