'사색/독서'에 해당되는 글 116건

  1. 2008.12.26 문제를 해결하는 방법
  2. 2008.07.11 Ajax 관련 프레임워크들에 대해 잘 정리된 책
  3. 2008.05.30 방탄 Ajax - Ajax를 어떻게 적용할 것인가?
  4. 2008.05.20 애자일 회고(Retrospectives)에 대한 절차서
  5. 2008.04.24 링크를 기반으로 한 과학분야의 포괄적인 이야기들
  6. 2008.03.16 사랑하지 않으면 떠나라!
  7. 2007.12.09 [도서] 걱정하지 말고 살아라
  8. 2007.10.24 익스트림 프로그래밍 - 변화를 포용하라 (2)
  9. 2007.10.19 리펙토링 - 나쁜 디자인의 코드를 좋은 디자인으로 바꾸는 방법 (2)
  10. 2007.10.11 루씬 인 액션(Lucene In Action) - 오픈소스 자바 검색엔진

문제를 해결하는 방법

|



맥킨지 문제 해결의 기술 - 10점
오마에 겐이치.사이토 겐이치 지음, 김영철 옮김/일빛

어떤 분야를 막론하고 일을 한다는 것은 바로 문제를 해결한다는 것으로 볼 수 있을 겁니다.
이런 문제를 해결하기 위해서는 어떤 접근 방법이 필요한지 이 책에서 설명해 주고 있습니다.

2004년에 출판된 제법 시간이 지난 책이기는 하지만, 이제야 읽게 되었네요..
보통 컴퓨터 서적이 아니면 별로 관심을 갖지 않는데 우연히 접하게 되면서 많은 생각을 하게 된 듯 합니다. 

기억에 남는 부분들을 뽑아보면, 첫째 전체에서 세부로 파악하라는 겁니다. 저도 가장 많이 하는 실수 중의 하나인데요.. 너무 세부적인 것에 집착한 나머지 전체적인 조화나 배치를 놓치는 일을 종종 합니다.
항상 전체를 먼저 생각하고 세부를 보는 습관이 필요할 듯 합니다.

둘째, 핵심을 파악하라는 이야기가 떠오릅니다. 인터넷이나 각종 매체등을 통해 수많은 자료를 수집합니다.
그리고 나서는?? 왜 자료를 수집했는지, 수집한 자료들을 취합해서 결론은 어떻게 내려야 하는지.. 즉, 핵심을 알아야 한다는 겁니다. 차트를 그려놓고서도 여기서 이야기하려는 핵심이 무엇인지 설명하지 못한다면 아무 의미없는 차트일 뿐인 겁니다.

셋째, 원인과 현상을 구분하라. 문제가 발생했을 때 나타나는 현상에만 집착하다보면 정작 중요한 원인을 파악하지 못하는 경우가 있다고 합니다. 원인과 현상은 구분하기 애매모호한 면도 분명히 있지만 확실히 나누지 않으면 근본적인 문제 해결이 어려울 수도 있을 듯 합니다.

넷째, 프레임워크에 대한 이야기.. 요즘 프로그래밍 개발에서도 MVC, Spring, Struts, .NET 등 프레임워크에 대한 이야기가 화두인 듯 합니다. 문제해결에서도 항상 프레임워크에 대응시켜서 누락된 것은 없는지 더 고민해야 하는 것은 무엇인지 찾아내야 한다는 것이죠..

다섯째, 상대방의 기대치를 파악하라. 업무를 지시하는 사람들의 기대치라는 것이 있을 겁니다. 아마도 SI 프로젝트를 수행해도 마찬가지가 아닐까 하는데요.. 고객의 요구가 어떤 것인지 먼저 파악해야만 그 기대치에 맞추어 개발할 수 있을 겁니다. 시간이나 자원이 무한정 있는 것이 아니므로 그 기대치에 따라 우선순위를 정해서 만들어 갈 수 있겠죠.. ^^

이상으로 오마에 겐이치가 쓴 "맥킨지 문제해결의 기술에 대한 책"을 보고 떠오르는 것을 정리해 봤습니다.
이 책에 나오는 문제 해결의 기술에 대해서는 추후에 한번 더 정리하도록 하죠..



Trackback 0 And Comment 0

Ajax 관련 프레임워크들에 대해 잘 정리된 책

|



Ajax 인 프랙티스 - 8점
데이브 크레인 외 지음, 일래스틱웨어 외 옮김/위키북스

이제 기본적인 Ajax 호출 방식을 사용하는 개발자는 없을 겁니다.
Prototype, DWR, Scipt.aculo.us 등의 서드 파티 프레임워크를 주로 사용하죠..

이런 프레임워크에 대해 잘 정리되어 있는 책입니다.

문제를 제시하고 이를 풀기 위한 솔루션을 설명하는 형태로 구성되어 나중에 찾아서 활용하기도 쉽게 되어 있습니다.

다만, 너무 많은 내용을 다루려다 보니.. 내용이 좀 어렵게 느껴집니다.
JSON, prototye, event, class 등 다양한 자바스크립트의 기능들을 제대로 이해해야만 소스를 파익할 수 있습니다.
솔직히 소스 코드를 보는 데 정신이 없더군요..

하지만, 한번쯤 쭉 읽어보면 왠만한 자바스크립트 코드에 대한 두려움은 없어질 겁니다. ^^

1장 Ajax를 포용한 개발자들
여기에서는 prototype.js의 간단한 사용법에 대해서 이야기 합니다.

2장 Ajax와의 통신방법
먼저 자바스크립트에서 쉽게 사용할 수 있는 JSON에 대한 설명이 있습니다.
서버 프로그램에서 활용할 수 있는 JSON 라이브러리(http://www.json.org)에 대해서도 언급합니다.
그외에 XML이나 웹서비스와의 연동도 설명하고 있네요..

3장 객체지향 라이브러리와 Prototype
자바스크립트의 객체지향에 대한 설명입니다.
클로저, 프로토타입, 이벤트 핸들러 등 자바스크립트 클래스를 만들기 위해 필요한 기술들에 대해 설명하고 있습니다.
요즘 나오는 자바스크립트 소스를 읽으려면 반드시 이해해야 하는 부분이라고 생각합니다.

그리고 Prototype 라이브러리(http://prototype.conio.net)을 활용하는 방법에 대한 설명이 나옵니다.
이 책에서 가장 많이 사용하는 라이브러리 이므로 잘 이해해 둘 필요가 있습니다.

4장 오픈소스 Ajax 툴킷
먼저 Dojo 툴킷(http://dojotoolkit.org/download)에 대한 설명입니다. 초기에는 많이 사용했는데 요즘은 Prototype에 밀리는 듯한 모습입니다.
이어서 Prototype을 다시 언급하구요.. 요즘 뜨고 있는 JQuery(http://jquery.com)에 대한 기본 설명도 나옵니다. 어떤 라이브러리를 사용할 지는 개발자의 취향에 따라 다르겠죠.. ^^

마지막으로 클라이언트에서 서버측 자바 코드를 호출할 수 있는 DWR(http://getahead.ltd.uk/dwr)에 대한 설명입니다. 저도 프로젝트 하면서 써 봤는데, 아주 강력한 도구입니다.

이후부터는 Ajax 실전 사례입니다.
조금 어려운 감도 있지만, 쭉 살펴보면 바로 응용이 가능할 겁니다.
이벤트 다루기, 폼 검증과 전송, 컨텐트 네비게이션, 뒤로가기/새로고침/실행취소, 드래그 앤드랍 등 Ajax를 활용하기 위한 설명과 소스들이 많습니다.

7장에서는 탭, 툴바, 트리를 표현하기 위한 qooxdoo 라이브러리(http://qooxdoo.org/)를 소개하고 있구요.. 아코디언 컨트롤을 위한 OpenRico 위젯(http://www.openrico.org/)도 이야기 하고 있습니다.

8장에서는 Ajax 애플리케이션의 히스토리를 관리하는 RSH(Really Simple History) 프레임워크(http://codinginparadise.org)에 대해 이야기 하고 있습니다.

9장에서는 드래그 앤 드랍을 위한 오픈소스로 OpenRico와 Scipt.aculo.us(http://script.aculo.us)를 언급합니다. 특히 표준 JavaServer Faces(JSF)로 Ajax 애플리케이션을 개발할 수 있는 오픈소스 툴킷인 ICEfaces(http://www.icefaces.org)도 흥미롭습니다.

11장에서는 클라이언트의 쿠키에는 80KB이상의 데이터를 저장할 수 없는 문제를 해결한 AMASS(http://codinginparadise.org/projects/storage)에 대한 설명이 있습니다. 이걸로 큰 문자열을 클라이언트에 유지할 수 있다고 합니다.

마지막으로 야휴, 구글, 플리커등의 Open API에 대해 설명하고 있네요..

휴.. 이렇듯 다양한 환경에 맞추어 수많은 오픈소스들이 있습니다. 적재적소에 필요한 것을 가져다 쓸 수 있는 것도 개발자의 능력중의 하나가 아닐까 합니다.




Trackback 0 And Comment 0

방탄 Ajax - Ajax를 어떻게 적용할 것인가?

|



방탄 Ajax - 8점
제레미 키스 지음, 장정환 옮김/에이콘출판

요즘 Ajax가 Flex와 더불어 RIA(Rich Internet Application)의 하나로 인기몰이를 하고 있습니다.
이 책에서도 기본적으로 Ajax가 무엇이고, DOM과 JavaScript에서 적용하는 방법을 설명하고 있습니다.

그런데 다른 책과 조금 다른 무언가가 있습니다. ^^

최근 만들어지는 웹 사이트를 보면 효율적으로 ajax를 적용해서 사용자의 편의성을 높여준 곳도 많지만,
일부는 지나치가 ajax를 통한 화려한 기능만을 보여주고 있어 전통적인 웹 사용자들을 혼란스럽게 만들기도 합니다.

책에서 이런 점에 대해 매우 조심해야 한다고 이야기 하고 있습니다.
즉, ajax가 좋다고 하니까 무조건 적용하지 말고 우리 사이트에 왜 필요한지, 어떤 점을 향상시킬 수 있는지 충분히 고민해 본 다음에 적용하자는 것이죠..

이 책을 보면 소스가 나와 있기는 합니다만, 굳이 소스를 모두 이해하지 않아도 내용을 알 수 있습니다.
여기에서는 ajax라는 것이 어떻게 동작하는지만 파악해도 될 것 같습니다.
아마도 ajax에 대해서 깊이있게 보려는 분들보다는 ajax가 뭐고 어떻게 동작하는지 이해하고 싶은 분들에게 도움이 될 것 같습니다.

5장의 단계적인 기능향상과 Ajax 에 대한 부분과 6장의 ajax의 함정 부분은 앞으로 활용하고자 할 때 참고자료가 될 겁니다.

스크린 리더를 예로 설명한 접근성 부분은 이해는 가는데, 스크린리더라는 걸 써보지 않아서 확 와 닿지는 않더군요...

자바스크립트에 대해서 설명한 부분들을 보면 아~ 이런 것도 있었구나 하는 생각이 문득 들기도 합니다.
흥미로운 부분은 제 홈페이지에 자바 스크립트의 원격 서버 접근 및 onLoad 이벤트 처리 내용을 정리했습니다.

두께는 얇지만 내용은 알찬 책이라는 생각이 듭니다.
 



Trackback 0 And Comment 0

애자일 회고(Retrospectives)에 대한 절차서

|



애자일 회고 - 6점
에스더 더비.다이애나 라센 지음, 김경수 옮김/인사이트

Retrospective... 회고라고 번역하던데요..
항상 그렇듯이 과거를 돌아보거나 역사를 되뇌어 보는 것은 매우 중요한 작업인 듯합니다.

이 책에서도 프로젝트의 이터레이션, 릴리스, 완료 후에 이런 회고를 통해서
다음에 더 나은 작업환경이나 결과물을 만들어 낼 수 있도록 유도하고 있습니다.
그러기 위해 필요한 것이 애자일 회고이고 XP나 스크럼에서 사용하는 이터레이션마다 진행할 것을 권장하고 있네요..

솔직히 책 자체는 읽는 데 너무 오래 걸렸습니다. ^^
재미가 별로 없었거든요. -.-
회고란 내용도 생소하고 작업을 나열한 듯한 구성에도 지쳐가구..

그렇지만 되돌아 보면 앞으로 회의할 때 한번 적용해 보고 내부의 반응을 살펴볼 필요가 있겠다는 생각이 듭니다.

애자일.. XP.. 잘 안되는 이유는 뭘까요? 에서 애자일에 참여하는 사람들의 가치 공유가 중요하다고 이야기했었느데요.. 그 가치를 높여줄 수 있는 방법 중의 하나가 회고(retrospective)가 아닐까 생각해봅니다.

책 구성 중간중간 나오는 나부군이야기는 실제 우리나라의 경험에서 우러나는 내용이라 그런지 가장 도움이 되는 부분인 것 같습니다.

그렇다면 회고는 어떤 단계를 거쳐서 이루어져야 하는가?
책에서는 다음과 같은 단계를 이야기 합니다.

사전준비하기 -> 자료모으기 -> 통찰 이끌어내기 -> 무엇을 할지 결정하기 -> 회고끝내기

음.. 기본적인 회의의 흐름인 것 같죠.. ^^
하지만 각 단계마다 해야 할 것들에 대해 잘 정리되어 있습니다.

그중, 한번쯤 해보고 싶은 것들을 간단히 올려보려구 합니다.

1. 사전준비하기
- 체크인(check-in)
사람들이 간단하게 답변할 수 있는 질문을 한다고 합니다.
자신의 현재 느낌을 이야기 하고 이유를 간단히 설명함으로써 긴장을 풀어주는 역할을 한다고 합니다.

- 작업규칙
회고를 원활히 진행하기 위한 작업규칙을 만든다고 하는데요..
미리 만들고 공유하는 것이 회고의 시간을 단축하는데 도움이 되지 않을까 하네요

2. 자료모으기
- 시간축
회고마다 시간축을 모으면 좋은 자료가 될 것 같습니다.
감정에 따른 색 표시, 사건에 따른 색 표시, 역할에 따른 색 표시, 주제에 따른 색 표시를 통해 시간축을 좀 더 다양하게 활용할 수 있다고 합니다.

- 5.5.5 (Triple Nickels)
행동이나 개선에 대한 아이디어를 모으는 방법으로 사용하는데요.
5분동안 각자 종이에 브레인스토밍을 하고, 옆 사람에게 전달해 다시 5분 동안 다른 사람의 아이디어에 추가하는 방법으로 진행한다고 합니다. 이왕이면 아이디어도 최소 5개 적으라고 하구요..
허공에 흘러버리는 대화로만 하는 것보다 좀 더 명확하게 아이디어를 도출할 수 있는 방법이라는 생각이 드네요

3. 통찰 이끌어 내기
- 점 투표로 우선순위 매기기
브레인스토밍을 통해 나온 의견들 중 수행할 것을 가려내는데 사용한다.
다수결이 항상 정답은 아니므로 나온 의견들의 숫자를 줄이는데 활용해야 한다고 합니다.

그 외에 패턴과 변화를 논의하거나 fishbone diagram을 활용하는 방법도 있다고 하네요

4. 무엇을 할지 결정하기
- SMART 목표
구체적이고(Specific), 측정할 수 있고(Measurable), 달성 가능하며(Attainable), 적절하고(Relevant), 시기적절한(Timely) 목표를 세우도록 하는 거라고 합니다.
두리뭉실한 목표보다는 구체적이고 visibility가 있어야 한다는 것이겠죠..

5. 회고 끝내기
- 감사 표현하기
회고에 참석한 사람들이 서로에게 감사를 표현하게 하는 거랍니다.
긍정적인 마음가짐으로 회고를 마칠 수 있도록 한다고 하네요..

- +/델타
다음 회고에 적용할 만한 강점들과 시도할만한 변화들을 알아본다고 하네요..

이 책의 회고를 읽으면서 회고에 참여하는 사람들이 서로 비난하지 않는 것이 중요하다는 말이 가장 와닿네요..
프로젝트 하다 보면 항상 서로 떠넘기기에 급급한 경우가 많습니다.
이런 회의를 하고 나면 정말 업무에 대한 의욕이 급감하게 되죠..
그런 의미에서 긍정적이고 미래지향적인 retrospective.. 이번주에 한번 해보시죠^^



Trackback 1 And Comment 0

링크를 기반으로 한 과학분야의 포괄적인 이야기들

|



링크 - 10점
알버트 라즐로 바라바시 지음, 강병남 외 옮김/동아시아

책을 읽으면서 매우 흥미롭다는 느낌이 들었습니다.
네트워크와 링크에 대한 바라바시 교수님의 해박한 지식을 엿볼 수 있었고,
과학적 지식이 부족하더라도 내용을 이해하는데 전혀 어려움 없이 이야기들이 구성되어 있습니다.

또한 네트워크에 대한 개념을 인터넷 환경 뿐 아니라 사회과학이나 생명과학분야까지 포괄적으로 다루고 있어 굳이 공학도가 아니어도 관심을 갖기에 충분한 내용이라고 생각합니다.

얼마전 가산디지털역에 가서 미팅이 좀 일찍 끝났을 때, 이 근처에 근무하는 대학동기들이 있을텐데.. 하는 생각이 들었습니다.
그런데 누가 어디서 근무하는지 정보가 없었기에.. 한 친구에게 전화를 했죠..
영업을 하는 친구라 가끔 저에게도 전화도 하고 찾아오기도 하는 녀석이었습니다.
아니나 다를까, 거기에는 누구 누구가 어디에서 근무하고 있다고 일일이 설명을 해 주더군요~
대학 동기의 네트워크에서 보면 바로 이 친구가 링크에서 이야기하는 허브가 아닌가 하는 생각이 들었습니다.

이와 같은 네트워크는 우리 주변에 아주 광범위하게 퍼져있는 것 같습니다.
여섯 단계의 분리(six degrees of seperation)에서 이야기 했듯이 몇 단계만 거치면 모두 아는 사람이라는 것이 맞는 것 같습니다.
실제로 주변에 위 친구와 같은 허브가 되는 사람들을 많이 안다면, 인적 네트워크에 있어서 큰 도움이 될 것은 분명할 겁니다.

또한 무작위 네트워크가 성장함에 따라 선호도에 따라 대규모 허브가 만들어지는 개념을 보면서
실제 인터넷 환경에 있어서도 이런 허브가 되기 위해서는 어떻게 해야 하는지를 이해할 수 있을 겁니다.
계속 성장해가는 인터넷에서 새로운 허브가 되기 위해서는 소위 입소문 마케팅이라고 하는 선호도에 따라 호불호가 정해지고 이를 바탕으로 그 허브가 성장해 나가게 되겠죠...

그리고 오일러, 에르되스, 레니, 카린시, 밀그램, 파레토, 아인슈타인등.. 세계적인 석학들이 네트워크의 연구에 어떤 영향을 주었는지도 이해할 수 있는 계기가 될 겁니다.

전체적인 흐름은 다음과 같습니다.
먼저 마피아보이와 유대교의 전파에서 네트워크에 대한 문제제기를 합니다.
그리고 오일러의 그래프에 대한 통찰과 에르되스와 레니의 무작위적 네트워크에 대한 이런을 이야기 하구요.
카린시의 작품과 밀그램의 실험을 통해 나타난 좁은 세상의 개념일 이야기 합니다.
이어서 에르되스의 무작위 네트워크에 클러스터링 개념을 도입한 와츠-스트로차트 모델에 대한 설명이 나옵니다.
허브와 커넥터의 존재를 통해 웹이 무작위적인 네트워크가 아니라는 점이 이야기 하고,
80/20법칙이 적용되는 척도없는 네트워라는 것을 보여주고, 이런 네트워크는 성장과 선호적 연결을 통해 구성된다고 설명합니다.
이후에 이런 척도없는 네트워크의 견고성과 취약성을 다루고, 유행을 이끌 수 있는 소수의 리더들과, 방향성 있는 네트워크, 그리고 네트워크 경제에 대해 이야기 하고 있습니다.






Trackback 0 And Comment 0

사랑하지 않으면 떠나라!

|



사랑하지 않으면 떠나라! - 8점
차드 파울러 지음, 송우일 옮김/인사이트

"사랑하지 않으면 떠나라!"
처음에는 소설책인줄 알았습니다. 그런데 분류는 IT와 자기계발로 되어 있더군요.
내용은 그저 그런 좋은게 좋은거다라는 이야기가 아닐까 했지만, 강컴이나 다른 곳에서의 평가가 너무 좋더군요

보통 이런 류의 IT 관련 서적들은 프로젝트 관리자들이 이러이러해야 한다라는 이야기가 대부분입니다.
그런데 이 책을 읽으면서 보니 관리자 보다는 현재 개발자들이 읽고 이해하고 실행하면 좋겠다는 생각이 들었습니다.
주요 내용이 프로그래밍 코딩이라는 한 부분에만 너무 집착하지 않고, 비즈니스 적인 마인드를 갖출 때 비로소 한단계 더 발전할 수 있다는 것이니까요..

실용주의 프로그래머나 익스트림 프로그래밍과 같은 책에서도 나온 이야기들이 반복되는 듯한 느낌도 조금은 있습니다.
하지만, 이 책에서 제가 제일 관심있게 본 부분은 Stage 3 실행 부분의 "유지보수를 즐기라"와 "8시간 열중하기"였습니다.

유지보수!
개발자들은 일반적으로 유지보수를 하찮고 귀찮은 작업으로 생각합니다.
저 또한 마찬가지였지요.. 유지보수는 제일 실력이 떨어지는 친구에게 맡기는게 낫고..
새로운 개발은 가장 실력이 높은 사람에게 맡기는 경향이 있었죠...

하지만, 이런 개념을 바꾸어 생각해 봅니다.
신규 프로젝트는 기대치가 너무 높고 각종 자원에 대한 지원도 많습니다.
그래서 완료 하더라도 시간이 늦어지는 경우, 아니면 아예 완료를 못할 경우 부담이 큰 것이 사실입니다.
즉, 개발자 입장에서 보면 요구사항 이상의 새로운 시도를 해보기에는 어려움이 있다는 겁니다.

반면에 유지보수는 상대적으로 기대치가 낮습니다. 현재 운영중인 곳에 문제만 발생하지 않으면 아무도 내부의 문제에 대해 지적하지 않는다는 것이죠..
바로 이점이 유지보수의 매력이라고 저자는 이야기하고 있습니다.
다른 사람들이 만든 소스를 마음껏 주물러 보라는 것이죠..

즉, 유지보수가 자유와 창조를 위한 환경이 될 수 있다는 겁니다.

다음으로 8시간 열중하기... 이전에 애자일.. XP.. 잘 안되는 이유는 뭘까요? 에서 비슷한 내용을 언급한 적이 있습니다.
여기에서는 돈에 비유해서 설명을 하고 있습니다.
학창시절과 같이 돈이 부족하던 때에는 돈을 보다 효과적으로 사용한다는 겁니다.
시간도 이와 마찬가지라는 것이죠..
"야근 하면 되지 뭐.." 와 같은 마인드는 현재 시간을 낭비하게 만든다는 겁니다.

절대적으로 동감하는 내용입니다. 하루에 많은 일들을 처리하는 사람들이 있습니다.
그들은 시간이라는 자원을 적절히 분배해서 활용하기 때문입니다.

음.. 이 책의 또다른 측면은 바로 각 장의 뒷부분에 포함되어 있는 "실천하기"라는 겁니다.
해 볼 수 있는 것은 시도해보는 것도 좋을 것 같습니다.

추천사를 유명 블로거들이 작성한 것도 요즘 추세인 것 같구요.. ^^

마지막으로 책의 전체적인 흐름을 적어보려고 합니다.

Stage 1 : 당신의 시장을 선택하라.
- 자신의 시간, 삶을 프로그래밍에 투자하는데 있어 우연에 맡기지 말라는 내용입니다.
Stage 2 : 자신에게 투자하라
- 비즈니스에서 아이디어란 흔한 것이라고 이야기 합니다. 가치가 있으려면 피와 땀, 눈물, 돈을 투자해야 한다는 것이죠..
Stage 3 : 실행
- 실제로 해내야 한다는 점을 강조하고 있습니다.
Stage 4 : 마케팅은 높으신 분들만 하는게 아니다.
- 개인 PR 즉 자신이라는 상품을 팔려는 마인드를 가져야 한다는 것이죠
Stage 5 : 자신의 강점을 유지보수하라
- 계속적으로 변화하는 기술들. 이런 시대 흐름에 뒤쳐지지 않고 로드맵을 가지라는 겁니다.
Stage 6 : 그들을 이길 수 없다면
- 이 부분은 이책의 원제목에 맞추어진 내용입니다. My job went to India.. 이런 해외이전에 대한 대처라고나 할까요..




Trackback 0 And Comment 0

[도서] 걱정하지 말고 살아라

|



걱정하지 말고 살아라 - 6점
리처드 칼슨 지음, 채선영 옮김/한국경제신문


제가 봤던 책의 제목은 리처드칼슨의 "걱정하지 말고 돈을 벌어라"였는데요.
처음에는 그냥 그런 일반적인 책이라고 생각했었습니다.

솔직히 앞 부분의 내용을 읽어나가면서 역시 
좋은게 좋은거다.. 배고프니까 밥먹자 하는 내용일 뿐이라고 느껴졌습니다.

그런데.. 끝까지 읽고난 느낌은 뭐랄까?
산소방이나 푸른 숲에 다녀온 기분이라고 할까요?

아무래도 좋은 이야기를 읽다 보니 그런가 봅니다. ^^

정말 말이 안되는 부분도 많이 있습니다.
예를 들어 소액이지만 저축을 시작하려고 맘을 먹었는데 나중에 부자가 되었다느니..
집을 사려는데 돈이 부족하더라고 계속 버티면 집주인이 돈에 맞춰준다든지..
뭐 이런 부분들이 있는데..
걍 그런갑다 하고 넘어가면 될 것 같습니다.

즉, 자신이 생각하기에 맞지 않은 부분은 버리고 
공감이 가는 부분만 보셔야 할 것 같습니다.

대신 이 책의 가장 중요한 개념은 바로 "긍정적 사고와 적극적인 삶" 인 것 같습니다.
스스로에게 자신감을 가지고 모든 일을 해나가면 안되는 것이 없다는 이야기죠..
이런 부분이 저에게 산소같이 느껴졌나 봅니다.

사회생활을 하면서 조그마한 일에도 짜증을 내는 경우가 많습니다만..
한번쯤 더 생각하고 마인드 컨트롤 할 수만 있다면 
정말로 모든 일이 순조롭게 풀리지 않을까 생각합니다. ^^

한번쯤 읽어볼 만한 책이라는 생각은 드네요.. 

기억에 남는 구절은

"그냥 해보라"
- 인정하기는 어렵지만 어떤 일을 그냥 하는 것이 준비하고 계획하는 쪽보다 오히려 효과적일 때가 종종 있다.

"가볍게 생각하라"
- 성공을  위한 유일한 방법은 휴식도 
없이 열심히 일하고, 소매를 걷어붙이고 하루에 25시간씩 일하는 것이라고 믿기 시작한다. 결코 그렇지 않다.! 가장 쉽고 즐거운 성공의 길은 가볍게 생각하는 것이다.

"분주함을 막아라"
- 가장 멋진 아이디어의 대
부분은 내가 일 때문에 경황이  없을 때가 아니라, 잠깐 조용한 시간을 갖고 나의 지혜가 표면으로 떠오를  기회를 가질 때 온다. 오늘 당장 당신이 조금 덜 바빠질  수 있는지 보라. 생각지도  못한 참신한 아이디어가 마구 쏟아질 것이다.

"당신의 사전에서 "난 외판원이 아냐"란 말을 없애라"
- 파는 것에 대해 더 거만한 태도가 될 수록 당신은 스스로의 성공을 더욱 방해하게 된다. 당신의 에너지는 당신의 태도에서 나온다는 사실을 명심하라. 당신의 외판원이 아니라는 태도를 고집할 때 돌아오는 것은 파는 일에서의 무능함뿐이다. 그러므로 자신에게  어떤 것도 팔고 있지 않다고 납득시키려 한다면, 이는 일을 더 어렵게 만드는 전혀 지혜롭지 못한 짓이다.

 



Trackback 0 And Comment 0

익스트림 프로그래밍 - 변화를 포용하라

|



익스트림 프로그래밍 - 8점
켄트 벡.신시아 안드레스 지음, 정지호.김창준 옮김/인사이트

예전에 UML관련 책을 찾다가 "UML, 실전에서는 이것만 쓴다" 라는 책을 본적이 있었는데요..
여기에서 XP에 대한 언급이 한 chapter 정도 나옵니다.
그때, XP가 이런 것이구나 하고 관심을 가졌었는데요..
이번에 XP에 대한 책을 제대로 한번 읽어봤습니다. -.-

XP에 대해 읽어보면서 느끼는 점은 역시 실천하지 않고 알고 있는 지식은 아무 쓸모가 없다는 점입니다.
처음 XP를 접했을 때도 그랬지만, 여전히 XP의 실천방법을 실행하는 것이 쉽지는 않네요.
일단, 가능한 것부터 나 자신부터 테스트 해보려고 합니다.
XP에서 말하는 가치나 원칙은 어떤 소프트웨어 개발 방법론을 쓰더라도 필요한 것이라고 생각합니다.

다만, 그 실천방법을 여기에 나오는 내용을 토대로 자신만의 또는 우리 팀만의 방법으로 재구성하는 것이 필요하지 않을까 하네요~~
책 내용은 전반적으로 쉽지는 않지만, 개발자라면 혹은 프로젝트라는 것을 수행하는 조직에 포함되어 있다면 꼭 일독하시기를 권장합니다.
아마도 변화해야겠다는 마음이 조금씩 늘어나는 것을 느끼게 될 것입니다.

책 내용을 간단히 정리해 보도록 하겠습니다.
제가 리뷰를 쓰면서 이렇게 책 내용을 간략히 정리하는 것은 나중에 필요할 때
어디를 봐야 하는지 스스로 파악하기 위함입니다.

1장, 2장에서는 XP에 대한 정의를 내리고 있는데요.. 한마디로 요약하면
XP는 "사회적 변화에 대한 것"이라고 합니다. "변화"가 핵심이죠.. ^^

3장에서 XP의 핵심 요소에 대한 설명을 합니다.
바로 "가치, 원칙, 실천방법"입니다.
각각의 의미는 책을 참조하시고.. 기본적으로 가치와 실천방법을 잇는 다리를 원칙이라고 이야기 하고 있습니다.

4장은 가치에 대한 내용입니다.
프로젝트 팀에서 진정 가치있는 것은 무엇일까요?
여기에서는 의사소통, 단순성, 피드백, 용기, 존중을 이야기 합니다.
(물론 그외에도 많이 존재한다고 이야기 하지요..)

5장은 원칙입니다.
XP 프로젝트 팀에서는 이런 원칙은 지켜야 한다는 것인데요..
인간성, 경제성, 상호이익, 자기유사성, 개선, 다양성, 반성, 흐름, 기회, 잉여, 실패, 품질, 아기발걸음, 받아들인 책임등이 있네요..
음.. 한번씩 읽어보기에 좋은 이야기입니다.

6장 ~ 9장까지는 XP의 실천방법에 대한 이야기입니다.
기본 실천방법을 완전히 익힌 후에 보조 실천방법을 시도해 보라고 되어 있네요..
XP의 실천방법은 유명하죠.. 짝 프로그래밍, 스토리, 주기, 테스트 우선 프로그래밍, 매일 배치하기 등..

10장 전체 XP팀에서는 XP팀의 역할별 내용을 서술해 놓았구요..

11장 ~ 16장은 XP 확장이나 제약, 적용등에 대해서 이야기 하고 있습니다.

마지막으로 2부에서는 XP의 철학에 대해 이야기 하고 있는데요..
XP를 만들게 된 켄트백의 창조이야기(17장),  테일러주의의 문제점과 도요타 생산시스템의 품질관리, XP 적용하기 등 내용이 있습니다.

그럼. 오늘부터.. 당장 XP의 실천방법을 한번씩 적용해 보시기 바랍니다.



Trackback 0 And Comment 2

리펙토링 - 나쁜 디자인의 코드를 좋은 디자인으로 바꾸는 방법

|



Refactoring - 10점
Martin Fowler 지음, 윤성준.조재박 옮김/대청(대청미디어)

리펙토링이 무엇이고 어떻게 하는 것인지 관심이 있었기 때문에 정독하려고 잡은 책입니다.

책 내용은 제가 원하던 내용들이 잘 나와 있었습니다.
리펙토링의 정의나 왜 사용해야 하는지..
그리고 실제 예제와 함께 어떻게 리펙토링 하는지에 대한 체계적인 설명이 되어 있더군요..

다만, 솔직히 조금 어렵다는 느낌입니다.
나름대로 번역도 잘 되어 있기는 하지만, 원본의 의미전달이 잘 되었는지 의구심이 드는 부분도 조금 있었구..
예제와 내용을 보면서 한참 생각해 본 부분도 있었던 것 같습니다.

그래서인지 읽는데 꽤 오랜 시간이 걸렸구요~
나중에 찾아보기 위해 사용해야 하는데.. 나름 인덱스가 필요해서 따로 정리해 두기도 했습니다.

다음은 제가 정리해 놓은 인덱스 내용입니다.
리펙토링의 적용
코드 속의 나쁜 냄새
리펙토링 방법

어쨌든 리펙토링은 이제 프로젝트를 수행할 때, 반드시 고려해야 하는 부분이 아닐까 합니다.
여러분들도 1장에서 마지막까지 빠짐없이 한번 읽어보시고~
본인의 프로젝트에 적용할 수 있는 방법이 있는지 확인해 보시기 바랍니다.



Trackback 0 And Comment 2

루씬 인 액션(Lucene In Action) - 오픈소스 자바 검색엔진

|



루씬 인 액션 - 10점
에릭 해쳐.오티스 고스포드네티츠 지음, 이문호 외 옮김/에이콘출판

프로젝트를 수행할 때마다 항상 고민이 되는 것이 바로 검색엔진이었던 것 같습니다.
상업용 검색엔진을 이용하면 비용이 발생하고, 그렇다고 DB 검색으로만 붙여놓기에는 늘어나는 정보의 양이 부담이 되었죠.. 아마 그때 루씬이라는 오픈소스를 알고 있었다면 한번쯤 적용해 보자고 했었을 수도 있었을 것 같네요. ^^

물론 이 책에도 잘 나와 있지만 한글에 대한 분석기가 완벽한 것이 없어서 실제 적용에는 많은 한계가 있을 겁니다. 하지만 많은 개발자들이 관심을 가진다면 이것도 머지 않아 해결되지 않을까 하네요~

책 자체로 보면 번역서라고 믿기지 않을 정도로 매끄럽게 되어 있습니다.
검색엔진에 대한 "색인", "쿼리(질의어)", "분석"등에 대한 설명이 잘 되어 있어, 저처럼 검색엔진에 대해 어렴풋이 알고있던 초보들에게도 매우 도움이 될 거예요.

1장에서 6장까지는 루씬의 기본적인 내용을 다루고 있습니다.
기본적으로 검색을 하기 위한 원문의 색인과
검색을 위한 쿼리(질의어) 파싱..
색인과 쿼리 파싱에 적용할 분석기들..
고급기능으로서 검색결과 정렬이나 필터들에 대한 설명이 나와 있으니 참고하시기 바랍니다.

소스와 함께 설명이 되어 있으니 자바 언어에 대한 기본적인 지식만 있다면 충분히 이해할 수 있을 겁니다.

7장은 재미있는 내용입니다. 루씬은 기본적으로 텍스트 문서만 색인하고 검색할 수 있는데요.
실제 검색에서는 PDF, HTML, MS-Word등 다양한 문서를 다룰 수 있어야 합니다.
7장에서 이런 문서들을 색인할 수 있는 방법에 대해 설명하고 있습니다.

꼭 검색엔진이 아니더라도 이런 부분은 다른 데서 유용하게 활용할 수 있을 것 같네요~

이어서 루씬의 확장기능이나 다른 언어로 포팅한 것들을 설명하고,
루씬의 적용 사례에 대해 이야기 하고 있습니다.

이 번역서에는 부록으로 루씬 한글 분석기에 대한 예제가 들어있습니다.
물론 한글 형태소분석 방식이 아니어서 약간 부족한 면이 있지만
이걸 확장해서 사용하려는 개발자 분도 있을 것이구..
기존의 한글 형태소분석기를 루씬에 적용하려는 개발자도 있을 겁니다.
(혹, 좋은 거 알고 계시면 추천좀.. ^^)

어쨌든 인터넷에서 성공한 기업들은 모두 검색엔진을 가지고 있습니다.
초기의 야후가 그랬고.. 네이버, 다음, 구글이 그랬죠..
인터넷 솔루션을 생각한다면 이런 검색엔진과 친해져야 하지 않을까 하네요~
루씬 인 액션을 통해서 이런 검색엔진을 조금 더 이해할 수 있는 계기가 될 것이라고 생각하네요^^



Trackback 0 And Comment 0
prev | 1 | ··· | 8 | 9 | 10 | 11 | 12 | next