'IT서적서평'에 해당되는 글 41건

  1. 2008.01.20 유닉스 리눅스 명령어사전 1
  2. 2008.01.13 Ruby on Rails : 초고속 웹 개발의 시작
  3. 2008.01.11 펄떡이는 물고기처럼 1
  4. 2008.01.10 생각을 바꾸는 패턴 2
  5. 2008.01.05
  6. 2008.01.03 엔터프라이즈 자바 애플리케이션 구축 : 아키텍처
  7. 2007.12.30 엔터프라이즈 솔루션 아키텍처 디자인 패턴
  8. 2007.12.28 쓰디쓴 자바 : 자바 안티패턴 이야기들(BITTER JAVA)
  9. 2007.12.25 IT재해복구 전략과 구현
  10. 2007.12.24 소프트웨어공학의 사실과 오해 1



와우~ 이책 좋다 라는 느낌을 받은 책이 몇권이나 될까?
사실 나에게 몇번의 프로젝트와 몇번의 실무를 겪으면서 머리속에 잘 저장된것이
어느순간 사려져 있을때 가장 짜증났던것으로 기억된다.

정말 열심히 수행한 프로젝트에서 얻은 기술적 노하우와 팁들은 얼마나 많은가?
DB를 핸들링한 기술, 리눅스 쉘을 핸들링 했던 그런 작은 팁들과 노하우들..
물론 프로그래밍이야 꾸준하게 하니까 그리고 계속 하기때문에 그런다 치지만
방금 말한 프로그래머이면서 가지고 있는 소양이라 할 수 있는 각종 DB, 시스템등을
운용하는 팁들은 머리속에서 재발 사리지 않기를 부탁 드리는 소망이다.

"유닉스리눅스 명령어사전"은 아는 지인으로부터 선물을 받았다.
고내하고 있기에 그분은 나에게 검색으로 익숙한 녹색표지로 된 본 책을 건내 주었다.
와우~!

내가 이책을 보고 참 감동하고 즐거워 했던 부분은 몇가지 있다.

1. vi콘솔에 대한 명령어
   vi를 이야기 하지않는 인터넷 사이트 없고, vi를 빼놓은 유닉스 교재 본적은 없다.
   하지만 실전에서 유용하게 사용하는 vi명령어를 정리한 사이트들과 책은 못 보았다.
   개인적으로 vi에서 참 있었으면 하는것이 문자열 변경하는것이 참 번거로웠다.
   쉘 프로그램 잘 짜놓고서는 변수 하나 바꾸는것 때문에 얼마나 수고를 했다던가.
   바로 이런 부분에서 책은 편리하고 쉬운 변경 작업을 sample로 알려주고 있다.
   :%s/test/test001/gc
   별것 아닌것 일 수 있다. 이미 알고 있는 사람도 계실것이다.
   그러나 나에게는 정말 필요했다.

2. find 말고 which 명령어
   알고들 계시겠지만 find도 좋은명령어이지만 쉘에서 가동중인 command를 찾는것
   역시 까다로운 일이다.
   마찬가지로 shell 작업을 수행할때 java는 어디에 있고 ant는 어디에 있는지 찾는것도
   시간이 걸리는 일이다.  (이미 오래된 경험으로 머리속에 담겼다 날라간 명령어)
   늘 그렇지만 이런것은 왜 그리 잘 잊어 먹는지 가끔 나를 탓하기도 하지만 그래서 이런류의
   책이 꾸준하게 사랑받고 있는게 아닐 까 생각한다.

3. awk
   본 명령어의 경우에도 조금 깊이 shell로 들어간다 싶으면 보이기 힘든것이다.
   패턴언어 처리인데 java를 통해 외부명령어를 구동하려고 한다면 반드시 한번즈음
   해봤었던 명령어이다.  하지만 시간이 지나면 이것도 어찌그리 잘 잊어먹는지 휴~!

책은 명령어 사전이라는 부재를 달기 딱 맞을 정도로 잘 정리된 명령어들을 보여주고 있다.
고마울정도로 찾기 쉬운 구조와 sample이 잘 되어있기 때문에
아마 개발자나 SE나 유닉스나 리눅스로 shell 혹은 command를 다루는 사람의 책상
곁에는 있어준다면 언제나도 좋은 조언자가 되어주는 책인것 같다.

최근에 들어 점점더 높은 요구사항을 접하게 된다.
어렵다거나 넘지못할 산들이 아니다.
다만 쓸데없이 찾아다니는 내가 불편하고 안타깝기 때문이다.

개발자에게 운영자에게 가장 가치있는것은 시간을 줄이는것이 가장 가치있는게 아닐까 생각한다.
그렇게 본다면 "유닉스 리눅스 명령어 사전" 의 경우에는 개발자의 많은 시간을 절약해 주는
고마운 책임에 틀림없다.

추가...
 Oracle은 나와있고 mySQL정도는 나와줘도 훌륭할텐데..


진화라는것은 불필요한것을 줄이고 장점인 부분을 더욱 돋보이게 해주는것이라고 개인적으로 생각한다.
이러한 나의 생각으로 본다면 Ruby on Rails 은 WEB의 진화의 과정에서 탄생한
아름다운 작품으로 봐야할것 같다.

script/generate 라는 이 마법과도 같은 단순한 명령어가 만들어 내는 web프로그램의 세계는
생각보다 매력적으로 다가온다고 볼 수 있다.

과거 나는 Ruby on Rails의 Cookbook만을 가지고 5개의 step을 밟아 보았다.
당시 아무런 사전적 지식이 없었기 때문에 Ruby on Rails의 단순히 구동되는 모습을 보고 "해봤다!" 라는
개인적인 작은 목적에 다다른적이 있었다.
그 이후 쉽게 구할 수 있는 레퍼런서의 부족으로 Ruby on Rails의 진도를 잠시 중단했었다.
그리고 맞이한 바로 이책!!

솔찍히 이렇게 다양한 기능이 Ruby on Rails에 숨겨져 있다는 사실에 놀라웠다.
아니 진작 책을 봤더라면 Cookbook의 레벨에서 바로 한단계 진일보 했었을 꺼라는 생각이 불쑥 불쑥 들었다고
봐도 과언이 아니다.
혹시 이 서평을 읽는 분들중에 나와같이 Cookbook만을 연마한 사용자라면 개인적으로
이책을 추천해 보고 싶다.

책은 CookBook에 없는 다양한것들을 보여주고 있다.
 - 엑티브 레코드의 속성과 기본 구성
 - 스캐폴딩이라는 새로운 접근과 DB들간의 접근
 - 뷰 확장하기를 통해 pulic 폴더 그리고 이미지 ,css들이 놓이는 위치설정
 - ..

 그 이상 참 많은것들이 담겨져 있다.
CookBook이 맞보기 레시피라면 책은 레시피가 만들어진 상세 메뉴얼 수준이라고 볼 수 있다.
수준이 이렇다 보니 얇은책! 많은 정보를 담고 있는게 사실이다.
TDD나 리스크 관리처럼 술술술 보여지지 않을 수도 있으나 루비를 이용한 빠른 개발을 해보고 싶은 분이라면
역시나 또한번 추천드리고 싶다.

책을 이용해서 운영툴을 만들 었다.
가용 간은 1달여..
사용할 수 있는 리소스는 나 혼자 뿐이였으며 나또한 다른 업무까지 병행하는 상황에서 운영툴 개발은
매우 어려운 난재가 아닐 수 없었다.
하지만 모두가 공감할 수준의 output은 생산이 되었고 나는 그 성공요인을  Ruby였기 때문에 가능했다고 본다.

Ruby on Rails이 만능이 아닐 수 있다.
하지만 운영툴과 같이 훌륭한 디자인이 피요하지 않는 서비스에서는 충분한 빛을 발휘한다고 본다.
물론 멀티 DB나, nil 처리 등과 같은 까칠한 풀어야할 숙재가 있긴 하지만
이또한 찾아내는데 큰 매력이 있는것 같다.

끝으로 아쉬운 부분이 있다면 정가 2만원.. 아~! 정말 IT서적은 비싼게 흠이다.

CookBook URL :
http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html?page=1



매일같이 좁은 골방에서 7시간씩 혹은 9시간씩 일을 한다고 생각해보자.
그곳에서 일하는 사람들과는 사랑하는 사람보다 더 오랜동안 얼굴을 마주대하며
웃어도 웃는게 아니고 행복하게 표정지어도 행복이 아닌 그런곳이라고 사람들이 말을한다.
휴,..
얼마나 답답한가?

책은 이런 좁은공간 닫힌공간 나를 답답하게 만드는 공간 더불어 내 삶을 패닉의 길로 내몰고 있는
직장생활에 대해 어떻게 하면 알차게 보람차게 할 수 있는지를 개혁시켜주는 혁명서적
이라고 볼 수있다.

사실 이 책을 내가 언급하기 이전에 이미 많은 언론과 미디어에서 추천서적으로 꼽았다.
또한 기업과 단체에서  refresh 하기 위해 대량구입후 직원들에게 읽도록 하고 있다.
나역시 그런 대량살포의 빗속을 거닐다가 비를 맞은 격으로 책을 잡게 되었고 외 그토록 많은 사람들이
이책에 대해 떠들고 이책에서 이야기 하는데로 실행하려고 하는지 그 미스테리에 다가가게 되었다.

책은 유독성패기물더미로 지칭되는 3층 부서가 개조되어가는 과정을 그려내고 있다.
매우 현실적이면서 현재 내가 격고, 사회생활을 하는 모든 사람이 격고 있는 직장문화에 대해
매우 통찰력있게 변화의 과정을 그려내주고 있다.

남편과 사별한 한 여자(메리제인)가 아이 둘을 키우면서 사별전 발생한 병원비용에 값을 치뤄가살아간다.
대출도 있고, 책임질 아이도있고, 자신의 피곤한 직장에서 살아야 하는 모습은 실패를 열심히 맛보았다고 해도
과언이 아닌걸 같다. 이여자는 자신이 원한 실패를 하지는 않았다.
다만 외부로부터 다가오는 변화로 인해 자신이 안정을 취해야 하는곳 (가정)까지 위협받게 되는
외부적 실패자에 해당한다.

헌데 이 여자(메리제인) 한사람으로 인해 직장도 바뀌고 가정도 바뀌고 더불어 책의 말미에는
훌륭한 프로포즈도 다시 받게 된다.
한사람의 의식변화는 정말 대단한 효과를 몰고 왔기에 자식들은 엄마를 이해하는 훌률한 아이로 자라고
직장에서는 인정받는 엘리트로 다시 평가 받게 되고 그와 함께 일하는 동료들은 당신이라면 믿고 따를 수 있다라는
신용까지 얻어낸다.

삶의 실패자가 자신을 짖누르는 실패의 거적들을 하나 하나 씩 걷어내는것을 보고 있노라면
사실 펄떡이는 물고기처럼은 삶을 얼마나 적극적으로 살아가는 사람이 긍정의 변화를 이끌어 내는지를
엳볼 수 있다.

작은 분량이라고 우습게 보지 않았으면 좋겠다, 작은 분량이지만 책값이 9천원에 가깝다고 욕하지 마라.
책의 내용은 성경의 구절처럼 짧지만 그 임팩트는 강하고 9천원의 가치를 충분히 하고 있다.
   (아~ 물론 저의 경우는 책값이 비싸서 구매를 안하다 대량 살포의 비까지 맞게 된거랍니다.)

끝으로 책의 훌륭하고 맘에 드는것은 놀이 였다.
개인적으로 요즘 "재미이론" 이라는 이름을 붙인 삶을 살아보려고 하고 있기에 책에서 말하는 놀이를
추천해 본다.

 
2007년 한해를 마무리 하면서 무슨책을 볼까  하면서 손에 잡힌책이 "생각을 바꾸는 패턴"이다.
영어에서 문법을 알면 영어가 고급스러워지는것 처럼 패턴 역시 그러한 현격한 영향을 가져다 주기에
2007년을 패턴으로 마무리 지어보려 읽어보게 되었다.

책은 무척이나 가벼우면서도 깊이 파고들면 한없이 무거움이 느껴지는 책이다.
그도 그럴만한것이 책은 GoF의 에릭감마가 이야기한 23개의 패턴을 지지하는 내용이 샘플 소스코드와
함께 소개되어있기 때문일 것이다.
책을 찬찬히 보게 되면 알겠지만 매 단락마다 GoF의 인용을 뺴놓지 않고 하고 있다.

처음 책을 봤을때 생각을 바꾸는 패턴이라는책은 내 생각을 180도 다른 패턴에 임하는 그런 책은 아니다.
(역시 이번에도 제목만 보고 안티페턴처럼 선입견을 가지고 열여봐버렸답니다.)
책은 일반적인 현상이나 생활속에서 발생하는 우리의 생각을 Program적으로 어떻게 진화시킬 수
있는지를 GoF의 패턴을 이용하여 진화시켜주는 책이다.

개인적으로 책에서 가장 맘에 드는 한부분을 인용해보면 다음과 같다.
버거가게를 만드는 패턴!!
이해가 되는가? 햄버거를 만드는데 별다른 패턴이 필요하지 않을것 같은데 버거가게에서도 패턴이
도입이 되는게 바로 이책안에서 생각을 바꿔주는 일에 해당한다.

버거를 만드는데는 양파, 치즈, 살사소스, 토핑 등이 필요하고 이것들이 조합되어 맛있는 햄버거를 만들어진다.
자 그럼 어떻게 이런 조합들을 프로그램 적으로 어떻게 설명할 수 있을까? 그리고 어떻게 하면
가장 유지보수 하기 편하게 만들수 있을까? (아주 아주 깜찍한 발상이죠. ^^)

내용은 SandWich라는 라는 basic Class를 생성하고 SendWichDecorator 라는 Class가 SandWich를
상속받고 getPrice()가 내용물을 감싸는 샌드위치의 getPrice()를 호출하게 된다.
getPrice()는 ChooseDecorator 라는 Class에 선언되어있는데 ChooseDecorator 는 다양한 토핑정보를
가지고 있게 되는것이다.

나의 설명이 다소 어렵게 느껴질 수도 있다.
하지만 책에서는 UML로 이해하기 쉽게 잘 설명되어있으니 궁금하면 한번 찾아보는것도 좋을것 같다. (95Page)
이렇게 언급한 버거가게 패턴은 GoF의 "Decorator패턴"을 이해하기 쉽도록 설명해 놓고 있다.

그밖에도 책안에는 제품구성, 패턴시스템 개발 등과 같은 다양한 실습예제가 들어가 있고 또 책 초반에는
UML대해 짧은 소개도 들어가 있다(책이 UML로 소개되어있어 그런것 같습니다.)
얼마나 패턴이 쉽게 다가올지는 소비자의 이해도에 따라 다르겠지만
우리가 알고있는 에릭감마의 GoF의 딱딱한 하드커버가 쉽게 감동이 되지 않는다면 한번 이책을 보고
다시 GoF로 이동하는것도 좋은 방법이라 생각한다.

끝으로 이책을 총평하자면 생각을 바꾸는게 아니라 생각을 진화시켜 패턴에 도달케하는 책이라고 말하고 싶다.



최근 트렌트가 되어온 서적들은 CEO, 리더, 경영서적 위주의 편재가 중심이 되었다.
하지만 팽은 위에 언급한 서적류와는 다르게 아래에서 위를 향해 바라보는 서적이 중심 키 포인트라는데
팽이 가진 장점을 들 수가 있다.

성공하는 CEO는 언론에 많은 극찬과 많은 서적으로 우리는 오랜동안 봐 왔다.
그럼 세상은 꼭 성공하는 CEO만 조명되어야 하는가?
적어도 팽 에서는 CEO는 조연에 불과 하다. 팽에서의 주연은 직원이 주인공이다.

팽의 접근방법을 살펴보도록 하자.
우선 제 1장에서 사람에 대하여 분리하는 놀라운 기술을 가지고있다.
베이붐 세대, X 세대, 넥스트 세대 등과 같이 연령을 중심으로 각 세대가 가지고 있는 보편화된 가치관을 언급하고 있다.
사실 개인적인 사람을 분류하는데 있어 나이를 가지고 세대를 구분하는것은 정말 위험한 발상이라고 생각한다.
하지만 팽은 그 분류법이 바이블이나 되는것 처럼 책 가장 앞장에 위치시켜 놓고 있다.
일정 부분은 다소 공감이 가는영역도 있지만 또 어느 부분은 공감이 가지 않는부분도 있다.
예를 든다면 1980년대생들을 베이붐으로 편입시켜놓고 "과시적 소비의 시대"라고 부르고 있다.
과연그럴까?
과연 그들이 과시적 소비의 세대라면 한국이 2차대전 식민지 국가중 지금같은 경제국가가 되었을까?
과연 그들이 낙관주의적 사상의 세대라면 중동의 전란틈안에서도 포크레인을 운전했을까?
다소 격한부분이 있긴 하지만  팽은 저자가 살고있는 나라 미국에 대한 이야기가 아닐까 싶다.

여하튼 다시 팽으로 촛점을 모아보자.
팽에서 언급하고 주요촛점은 우선 자기발전이다.
우리나라의 토사구팽(兎死狗烹)에서는 버려지는 강아지 취급이지만 책은 결코 버려지는 팽의 이야기만
하지는 않고 있다.
서평자가 다시 책 제목을 만들어 낸다면 "회사가 필요한 인재가 되는법" 이라고 봐야 더 정확한 서적인것 같다.

자 그럼 팽의 내용을 보도록 해보자.
팽은 다양한 장르의 리더계층에서 요구하는 종업원의 모습을 이야기 나열하고 있다.
그 수많은 사례를 수집하는것도 일이였을 만큼 우리에게 익숙한 기업들이 책에 거론이 되며
이상적인 회사 구성원의 모습과, 자아성찰의 과정을 이야기 하고 있다.

사실 책의 가장 중요한 점은 목차에 다 나와있다고 볼 수 있다.

1. 왜 회사가 당신 없이 살 수 없게 해야 할까?
2. 상사의 특징을 파악해서 그가 당신에게 원하는 게 무엇인지 알아내라
3. 관리하기 까다롭지 않은 직원이 되도록 하라
4. 상사가 지시하기 전에 해야 할 일을 먼저 찾아 처리하라
5. 받고 있는 월급과 창출해 내고 있는 가치의 대차대조표를 그려보라
6. 꼭 필요한 직원이 되고 싶다면 회사의 주인처럼 행동하라
7. 잠시 머물 직장이라 하더라도 평생직장처럼 일하라
8. 회사에서 가장 믿을 만한 직원이 되도록 노력하라
9. 실수를 피하지 말고 제대로 실수하는 법을 배워라
10. 자신이 영향력을 미칠 수 있는 영역을 넓혀라
11. 현실에 안주하지 말고 자신의 한계에 도전하라
12. 어디에서 무엇을 하든 그 위치에서 전문가가 되어라
13. 자만심을 버리고 자신이 하는 일에 감사하는 마음을 가져라
14. 성공은 스스로 만드는 것, 자신의 운명을 책임지라
15. 학벌이 당신의 가치를 보장해 준다고 생각지 말라
16. 학습된 무력감의 포로가 되지 말고 기회가 오면 붙잡아라
17. 적극적으로 문제를 해결하는 직원이 되도록 하라
18. 가치 있는 직원이라면 절대 해서는 안 되는 행동

이상이다.
이상 18가지 행동에 사실 책의 모든 내용이 담겨져 있다.
여기에 추가로 사족을 하나 더 달게 된다면 가장 맘에드는 챕터는 16번이다.
"인생이란, 원래 공평치 못한것이다, 극복하라"  (231 page)



미국쪽 서적이나 세미나를 보면 독자들이 지루하지 않게 하기 위해 책의 배경이되는
무언가를 설정해 놓거나 세미나 진행을 베틀형식으로 진행하는것을 종종 목격하게 된다.

이번에 읽게된 "엔터프라이즈 자바 애플리케이션 구축" 역시 비슷한 전계구조를 가지고 있다.
이런 구조는 XP Installed 에서 C3 Project (임금관리 시스템) 을 대 전제로 설정해 놓고
이야기 하는 전계와 흡사한 모습을 보이고 있다.

아마 이러한 전계가 다소 딱딱한 전문서적을 부드럽고 유하게 만드는 섬유린스적인 역할을 하는게
아닌가 하는 생각이 든다.

책은 실제 업무상황에서 발생할 수 있는 가상의 상황을 만들어 놓고 발생되는 요건에 대해
어떤식으로 개발을 해야 하는지를 설명해 주고 있다.
읽다보면 느끼겠지만 책의 소재목이(아키텍처) 붙은 이유처럼 아무것도 구성되지 않는 상황에서 인프라 스트럭쳐를
구성하는 요령과 이에 대한 운영프레임웍으로 EJB 2.0에 기반한 개발 절차와 방법을 이야기 하고 있다.

EJB 2.0의 특징에 대해 이미 알고 있는 분들도 있지만 기존 EJB가 Remote 자원에 대해서만 지원하여 2.0부터는
Local자원 Access라는 부분을 가지고 있다.
책은 2개의 상이한 자원  Access Bean을 만들어 낼때에도 아주 적절한 Nameing Rule을 보여주고 있다.
(Remote는 그냥 OfficeHome, Local은  OfficeLocalHome) (개인적으로 이런것도 제시하는 책이 좋다 ^^)

책은 커다란 하나의 줄기를 가지고있다.
데이터 계층, 비지니스 계층, 프리젠 테이션 계층이라는 3계층을 가지고 이야기 전개를 하고 있는데 데이터 계층
이 책의 절반 이상을 차지할 정도로 가장 심도 있는 설명을 하고 있다.

각각의 내용을 이야기 하면 아래와 같다.

> 데이터 계층 : EJB2.0 환경에 맞는 각종 환경설정및 Bean 구성 (4장~5장)
> 데이터 저장장치 계층 : DB뿐만 아니라 디렉토리 서버의 자원을 Access 하기 위한 구성 (6장의 매니저) (7장)  
> 비지니스 계층 : 포어소트 온라인 서비스 개발을 위한 비지니스 계층 입력해 내는 과정 (8장 비지니스 로직)
> 프리젠 테이션 계층 : 특별한 언급 없음 (아마 View 영역은 알아서 하라는 것 이겠죠^^)

이상이 내용을 보면 지극히 아키텍쳐 적인 성향이 강하다는것을 볼 수 있는 구성이다.
이러한 내용은 지난번 서평자가 서평한 (엔터프라이즈솔루션아키텍쳐디자인패턴) 과 매우 유사하다는 구조를 볼 수 있다.
엔터프라이즈솔루션아키텍쳐디자인패턴 이 .NET 에 기반한 아키텍쳐라면
엔터프라이즈 자바 애플리케이션 구축 은 JAVA 에 기반한 아키텍쳐라 볼 수 있을것 같다.

책은 실습을 적극 권장하기 위해 구독자의 실습을 돕는 여러 포인트를 두고 있다.
was를 구성하는 방법, DB Query, 빈과 xml 파일에대한 설정 방법등을 부록과 주요 지면을 통해 소스코드를
보여주고 있다. (부록 참고)
구독 방법은 오케스트라의 지휘자처럼 한번은 쓰윽 살펴보고 다시한번 보면서 악기 하나 하나에 대해 가다듬어주는
코딩 작업을 해보는것을 권장해 본다.

끝으로 책이 추구하는 방향은 저자가 밝힌 아래 문구가 가장 정확할것 같아 발취해 본다.
실제 상황에서 경험하게 되는프로그래밍 작업을 최소한 비슷하게나마 맛보게 하려고 노력하고 있는것이다. (265 Page)



비지니스의 정점은 같다 (고/객/만/족을 향해 가는거죠..)
하지만 서로다른 언어를 사용하는 우리는 닮았 으면서도 다른 길을 걷고 있는 모습을 보게 된다.

이런 면모를 보여주는게 "엔터프라이즈 솔루션 아키텍처 디자인 패턴"가 .NET 환경에서 개발자가 개발에
임해야 하는 자세를 이야기 해주고 있다.

책은 2권합본형태로 되어있다.
제 1본은 아키텍쳐 디자인, 제 2권은 솔루션 패턴..으로 되어있는데 처음 볼때
책을 중간만큼 넘겼을 무렵 목차가 다시 나오는것을보고 깜짝 놀랬다.  (2권합본)
이점이 내가 맞이한 다른책과의 첫번째 이책의 차이점 이다.

● 아키텍처 디자인 (제 1블럭)
책에서는 아키텍쳐 디자인을 크게 3가지 영역으로 나누고 여기에 확장영역으로 3가지를 더 두고 있다.
물론 이런 분류가 모든 서비스에 공통으로 적용할 수 없지만 이런것이 컴포넌트 디자인을 위한
표준안으로써의 가치가 되는것 같다.
표준안은 (Presentation Layer, Business Components, Data Access Components) 등을
기반으로 다양한 외부 서비스 호출이나, 보안, 호출방법등을 이야기 하고 있다.
이미 익히 이런 분야에 관심을 가지고 있는 분들이라면 참 일반적이다.. 라고 말하겠지만
역시 Microsoft 공식 학습서 답게 이 책에서만 볼 수 있는 놀라운 한가지를 더 볼 수 있다.
바로 링크! 이다.

책을 넘기다 보면 MSDN의 특정 URL을 참조하면 더 자세한 정보를 알 수 있다고 LINK를 걸어놓은것을
볼 수 있는데 작은부분에서 부터 커다란 부분까지 참고 url을 설정해 놓은것을 보면
사묻 MS사가 얼마나 많은 지식을 축적해 놓고 있는지 느끼게 해준다.
안타까운건 대부분 영문사이트라는 점과 좀 과다할 정도로 참조 link를 걸어놓았다는게 안타깝다.

● 솔루션 패턴 (제 2블럭)
개인적으로 객체지향언어와 패턴에 관심을 보여온 터라 2블럭에 나와있는 항목이 그다지 감동까지 밀려오지는 않았다.
하지만 아키텍쳐나 패턴 부분에 있어 JAVA나 C++로 편향되이 나오고 있다는 점을 감안해 본다면
.NET을 중심으로 나온책이라 이점에 있어 신선하게 다가왔다.
   (실제로 .net을 가지고 리팩토링을 하는 과정은 매우 흥미로웠음^^)

JAVA리펙토링은 많이 봐왔고 구현도 했다. 헌데 .NET은 어떻게 하지?
aspx, cs, js 를 이용한 리펙토링 방법 후후..

언어만 달랐지 java든 .net이든 리펙토링을 하고 패턴을 만들어 내고 아키텍쳐를
디자인하는 행위는 같다. 하지만 언어가 다르기 때문에 가이드 라인역시 비슷하지만 약간 다르게 제시되는게 당연하다.

책은 .net의 개발자들에게는 도움이 될것으로 보인다.
설령 .net 개발자가 아니더라도 주변에 이책이 쓰러져 있거나 소외되어있다면 한번 펼쳐 책이 무슨 이야기를
하는지 .net의 노래도 들어봐도 좋을것 같다.
 
어차피 모든 언어는 정재화 작업을 거치고 리팩토링을 하는 진화의 과정을 거쳐 나가니까 말이다.



디자인 패턴에 익숙한 나에게 "패턴 = 디자인 패턴 " 이라는 선입견이 많이 그려저 있었나 보다.
부분이 전체인양 판단하고 있었다는게 바로 이런 문제에 오류였는데
이런 예는 "라면 = 신라면" 의 공식과도 같을 수 있는것 같다.

책을 읽기 전에 안티패턴의 내용을 담은 이책은  디자인 패턴을 실날하게 비판하고
디자인 패턴과 반대 진영에서 뭔가를 이야기 할것 만 같았다.
실제로 이름에서 풍기는 이미지가 그러하지 않는가? 안/티/ ...

하지만 책보고 나서 용어적 해설만 가지고 섵부른 판단을 금해야 겠다는 생각이 들었다.
과연 안티패턴에 대한 쉬운 이해가 무엇일까?

"디자인 패턴은  그들을 정상까지는 데려다 줄 수 있었지만 그들을 안전하게 아래로
돌아오게 할 수 는 없었다. 위험한 시기에 산 정상세엇 머무르지 않고 돌아온 다거나, 시간을 정확히
지켜야 한다는 등의 등반 관련 안티패턴을 적절히 응용했더라면 이런 참혹한 결과는 일어나지 않았을
것이다. (책 47 Page)"

디자인 패턴이 에베레스트를 손쉽게 오르게 하는 방법이라면
안티 패턴은 오르다 발생할 수 있는 문제점들에 대한 대응책과 대응 방법을 이야기 한것이라고 할 수 있다.

물론 알고 있는 분들도 있겠지만 책은 위와같은 대전제 아래에서 소스코드 하나 보여주고
리팩토링의 과정을 거쳐가며 하나 하나 풀어나가는 과정을 알려주고 있는  전개 방식을 가지고 있다.

개인적으로 안티패턴을 쉽게 보다 관심있게 본 목록이 하나 있다.
Round-tripping이 해당하는 항목인데  EJB로 개발했다가 속도가 느리고
서비스가 심하게 부하가 걸린 사례를 경험해서 그런지 Round-tripping에 부분에서는 저자의 친절한 설명이 고맙게 다가왔다.

책을 보는 방법
 > 부록A 먼저 보기 : 부록을 먼저는게 이 책을 빠르게 이해하는 방법이다.
     용어적 설명을 간단하게 해 놨기 때문에 부록을 먼저 보고
     10Chapter 를 보면 핵심을 크게 벗어 나지 않는 범위에서
     책의 액기스만을 맛 볼 수 있을것이라 생각되어 진다.

모든 책이 그렇지만 책장 한장 한장이 감동스럽게 다가오지는 않는것 같다.
그중에 IT서적의 경우 필요한것만 꺼내보는 성향이 좀 강한것 같다 (나^^)
하지만 이미 알고있더라도, 다른곳에서 알았더라도
한권즈음은 독파를 해보는것은 어떨까 생각해본다.

IT최대의 리스크는  과연 무엇일까?
블루 스크린, 서비스 다운, out of memory...으아... 상상만 해도 머리가 아파온다.
이렇게 IT최대의 적은 정상적인 서비스가 이뤄지지 않는것! 그 자체가 최대의 리스크라 할 수 있다.
그렇다면 이런 리스크를 회피하는 방법에 대해서는 무엇을 연구해야할까?

실제로 서평자가 몸담고 있는 회사에서는 이런 복구에 대한 관심이 매우높다.
서비스 장애는 곧바로 돈과 이어져 있고, 서비스가 장애가 생기면 시간별로 돈이 깍이게 된다.
물론 대부분의 금융권이 그러한터라 IT 재해 복구는 반드시 극복해야하는 부분이다.

IT재해복구 전략과 구현이라는 책을 한마디로 표현하자면 SM관련 PPT 400장 이라고 말할 수 있을것 같다.
여타의 기술서적보다도 가장 기술적인 내용만 언급해 놨고
시스템이라는 부분에 있어서는 두루 두루 서술하고 있으면서
상호관의 릴레이션과 용어정리조차도 놓치지 않고 설명하고 있어서다.
정말 딱딱했다.  하지만 S/W 개발자가 H/W의 구성을 알고 있다면
마치 자동차 드라이버가 차 내부도 알고 있다고 보는것 처럼 매우 강력할 것 이라 판단된다.

개인적으로 책에서 얻었던 몇가지 지식을 이야기 해보려 한다.
T1 과 E1  그리고 T3와 E3 누가 가장 빠를까? 그리고 그런 차이가 외 나오게 되었을까?
예전에는 정확히 알지 못하고 운운했던 용어들이 단지 북미표준인지 유럽표준인지에 따라 속도가
다른다는것을 이책은 알려준다. (190Page)

미러사이트, 핫 사이트, 웜 사이트, 콜드 사이트 는 대체 비슷한 말로 되어있는데 무슨 사이트들 인가?
미러 사이트 (주 전산과 동일한 사이트), 핫 사이트 (몇시간내 복구 가능한 사이트),
웜 사이트 (수일 수주내에 복구 가능 사이트), 콜드 사이트 (수주내 복구 가능 사이트)
알고나면 그다지 어려운것은 아닌데 역시 분야가 다르다 보니 생소해 지는듯 한것 같다.

이밖에도 책에서는 다양한 장비 설계의 기술에 대해서도 언급하고 있는데
특히 메트로폴리탄 클러스트 구성(186Page) 의 경우에는 과연 저렇게 구성해 놓은 인프라가 있을까 하는
정도의 내공도 보여주고있다.

서두에 말한것 처럼 이책은 SM관련 PPT 400장 짜리 기술문서 이다.
내용을 믹서기에 갈아마시듯 한다면 습득하신다면 정말 훌륭하신분(?)이 될것 같다.
하지만 서평자와 같은 S/W 개발자가 본다면 "IT재해복구" 분야 역시 깊이가 있는 영역이라는점과
시스템 구성에 있어 많이 배울 수 있는것 같다.

하지만 책이 이것으로 끝나는건 아니다.
마지막 단락으로 가면 업체들의 "IT재해복구"에 관련한 인프라 관련해서 하나씩 강평해 주고 있다.

혹? 신규 인프라를 구축할 의향이 있다면 이책을 추천해도록 한다.
코코넛처럼 딱딱해도 안에는 맛있는 코*팜(?)이 들어있음을 기대해 보는것도 좋을것 같다.



개발에 3대요소끼리의 눈높이 맞추기
프로젝트를 진행하다 개발에 3대요소 (고객, 관리, 개발)끼리의 시각차이때문에 많은 애로를 격게 된다.
분명 완벽한  S/W를 만들어 내야 하는 대 전제를 함께 맞춰가는데 각기 다른 안경을 끼고
각기 다른 말로 일을 하려고 한다.

프로그램 개발에 3대요소 (고객, 관리, 개발)이 죽이 맞지 않으면 죽쑤는 프로젝트가 되는데
과연 이러한 갭은 어디서 발생하고 어떻게 처리해야 할까?

"소프트웨어공학의사실과오해" 를 읽게 되는것은 프로젝트가 완료되고 이제 다소 잔잔한 SM업무로
복귀한 다음에야 읽게 된다.
찬찬히 읽으면서 55개의 오류항목들을 보며 느끼는 점은 내가 겪었던 프로젝트도 역시나
그물망같은 55개의 오해중에 몇개들 이였구나 하는 생각이 들었다.
그만큼 "소프트웨어공학의사실과오해"에서 언급하고 있는 사항들은 대부분의 S/W개발에서
격게되는 문제들을 촘촘히 다루었다고 서평자는 평하고 싶다.

책을 읽다보면 익숙한 많은것들이 등장한다.
피플웨어의 톰 디마르고가 등장하고, XP 개발방법론도 등장하고, 에자일, 은탄환(Silber Bullets),
캔트백 사마가 주창한 TDD도 내용만 다르지 비슷한 사상으로 등장한다. 
마치 여태내가 관심있게 봐 왔던 장르를 블럭에 맞게 IT경력 45년차가 정확한 수치의 인용과
전문가(?)들의 견해와 발언들을 사실과 오해에 맞춰 착실하게 배치시켜 놨다는 느낌이 강하게 든다.

프로그램 개발에 있어 생생한 라이브 음을 전달해주는 "소프트웨어공학의사실과오해"에서
개인적으로 공감이 가는 몇가지 항목을 손꼽아 본다.

● 실무 없는 연구자들과 영업이 만들어낸 허상
 실무없는 연구자들이 만들어낸 방법론은 허울좋은 이상향이 종종 되곤 한다.
 이것을 영업이 답습을 하고 이에 대한 내용은 고객과 관리자들에게 전파함으로써 소프트웨어개발의
 현실성을 떨어트리는 결과를 종종 낳고 있다. (개발자 리스크)
 이점에 있어 책은 이와같은것은 매우 위험하고 최고의 방법론은 존재하지 않는다는것을 알려주고 있다.

● 측정할 수 없는것에 대한 섣부른 측정으로 인한 문제점
 S/W는 soft 하기 때문에 함부로 측정을 하기에는 힘들다.
 위에서 말한것처럼 실무없는 연구자들과 영업이 만들어낸 허상이 측정할 수 없는것을
 억지로 끼워맞추기를 하고 있어 생각보다 많은 문제점을 가지고 있다.
 하지만 개인적인 소견이지만 S/W를 마냥 soft하게 볼 수는 없다. S/W 방법은 끈임없이 진화해야 한다.

● 프로그램 개발 공정에 있어 왜! 마지막은 관리되어지지 못하나?
 정말로 프로그램 개발 공정 마지막에 가서는 CBD도 CMM도 XP도 다 필요없다.
 그냥! 버그잡고 오류 수정하는 막고 품는일만 벌어진다.
 책은 이런 관리되어지지 못하는 공정을 "테스트"라는 공정으로 바라보고 이에 대한 적절한 이야기를
 전해주고 있다.
 
이 외에도 참 많은 내용이 있지만 나머지 사항들은 책을 통해 보는게 좋을 것 같다. (수치화된 데이터의 호소력이 강하게 다가옴)

끝으로 이책의 마지막 단락에 "저자에 대해"를 꼭 봤으면 좋겠다.
개발자로 시작한 삶이 어떻게 성장해 나갔는지 그리고 자기 케릭터를 어떻게 변화시켜 나갔는지를 옅 볼 수 있다.
된다면 나도 로버트 L, 글레스 처럼 성장한다면 더없이 좋을것 같다. (기다려지는 노후가 .... ^^)

1 2 3 4 5 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!