경력 관리, 자기 계발 필독서라고 되어있지만, 그런 느낌은 별로 받지 못했다.
마이크로소프트에 근무중인 필자의 관리자로서의 노하우랄까..?

나는 팀장도 아니지만, 이런 저런 이유로 팀이 잘 되기 위한 방법을 찾고 있었는데,
마침 까페에서 이 책을 읽어보신 황제펭귄님을 통해 이 책을 알게 되었다.

현실적인 벽을 탓하면서 아직까지 시행하지 못한 많은 내용들이
책에 고스란히 적혀 있었고..
특히 많은 소프트웨어 공학 책에서 강조하는 설계, 단위테스트 등
해보고 싶은 내용들에 대해 가득 차 있는 책이었다.

조만간 또 한번의 탐독을 통해서
팀에 적용할만한 방법을 얻을 자양분으로 삼아봐야겠다.

꽤 괜찮은 토양이 되어준 책.


책 표지 사진은 제가 갖고 있는 책과 다르네요.. 이유가 뭘까요..? ^^;;


- 책의 전반적인 내용

박지성 선수가 지금까지 살아오면서 보아 온 많은 선수 및 감독을 통해 그들로부터 느낀점
축구는 팀이 한다는 것. 그리고 그 안에서 자신의 역할은 어떤 것이라는 철학
즐기는 것을 통해 이룰 수 있는 것. 즐겨야 하는 이유.


- 저의 개인적인 느낌

많은 글이 적혀있었지만, 저에게 가장 와닿은 이야기는 팀과 팀워크에 대한 이야기 입니다.
그리고 그 안에서 박지성이라는 한 사람이 "자신의 역할" 에 대해 느끼는 것을 보면서 많은 생각을 할 수 있었습니다.

팀을 아는 것.. 팀을 위해 내가 해야 할 일과 하지 말아야 할 일에 대해 구분하는 것, 그것이 진정한 프로라는 생각을
갖게 해주었고 지금까지 내가 생각했던 "성장" 이라는 것이, 어떤 때에는 팀에 되려 안좋은 영향을 끼칠 수 있다는 것을
알게 해준, 너무나 고마운 책입니다.

나 자신이 팀을 위해 나의 역할에 최선을 다할 때, 팀은 최고의 팀이 되고
그 최고의 팀에 몸담은 나도 최고의 선수가 될 수 있다는 것.
비단 축구에만 해당되는 이야기는 아니라는 생각을 갖게 해줬습니다.

그리고! 가장 중요한 것!

이 모든 것을 즐기면서 해야 한다는 것!!!!!!!!! ㅋ


회사 독서 동호회를 통해서 구입했던 책입니다. 리뷰는 독서 동호회에 적었던 내용이구요. ㅋ
동호회 게시판에 적어놓았던 내용을 옮겨봅니다. ^^
(참고로 동호회에 프로그래머는 몇분 안됩니다..)

------------------------------------------------------------------------------------------------------------------

안녕하세요. 이 책의 리뷰를 기다리시는 분이 없을거라고 생각하고..;
프로그램 냄새를 조금 빼고 리뷰를 적어보겠습니다.

이 책은 병렬성에 대한 내용을 다루는 책입니다.
병렬성이라 하면.. 예를 들어 우리가 음식점에서 요리를 기다리는 상황을 가정하고,
요리사가 1명 있는 주방과 요리사가 5명 있는 주방에 똑같이 10가지의 요리를 시켰을 때,
5명이 있는 주방에서 더 빨리 요리를 준비할 수 있다는 내용입니다.

동시에 처리할 수 있는 일이 많아질수록, 더 빠른 결과를 얻어낼 수 있다는 것이죠..
이 책은 그렇게 동시에 처리할 수 있는 여러가지 방법과 그에 연관된 기본 개념들에 대해 이야기해주고 있습니다.

현 시대의 프로그램들은, 주방의 모든 요리사가 무조건 요리를 하게 해주지는 않습니다.
프로그래머가 작업한 방법에 따라, 5명의 요리사중 1명만 일을 할수도 있고, 5명이 모두 일을 할수도 있는 상황입니다.

이 책에서는 좀더 여러명의 요리사가 동시에 요리를 하도록,
그리고 그 요리사들이 더욱 빨리 요리를 할 수 있도록 하는 방법을 이야기해줍니다.

캐쉬, 파이프라인, 프리펫치.. 등의 용어가 나오는데
자주 사용되는 내용을 가까운 곳에 담아두고 더 빠르게 사용한다는 개념의 캐쉬,
각 구간을 나눠서 한단계씩 병렬로 수행한다는 개념의 파이프라인,
오래 걸리는 작업을 미리 해놓고 그 동안 다른 작업을 수행하는 개념의 프리펫치.. 등등

프로그램의 동시성을 높일 수 있는 내용들에 대해 많이 이야기해주고 있습니다.
너무 깊이 들어가는듯한 내용이 없지 않지만,
알아두면 다 뼈가되고 살이되는 내용들이었습니다.

앞으로 진행하는 프로젝트에서 좀더 나은 성능을 발휘하는 서버를 만드는데
많은 도움이 되는 책이었습니다.


책을 다 읽고 나서, 이 책이 어떤 책인지.. 딱히 설명 할 수가 없었습니다.
제 식견이 부족한 탓이겠지만, 한번 읽는걸로는.. 뭔가 많이 부족했습니다.

사실, 출퇴근하면서 지하철에서 읽었는데.. 어떤 날은 졸면서 읽고 어떤 날은 집중해서 읽었으나
졸면서 읽은 날의 부실함이 집중해서 읽은 날 전이되서......;;;

그래서 다시한번 읽어야겠다고 다짐을 했습니다. ㅋ
 

이 책은.. 게임 내 경제 시스템을 구현하는데 혹시나 도움이 될까 해서 읽어봤습니다.
읽으면서 게임 내 경제 시스템은 어디론가 사라지고,
새로운 개념들을 머리속에 정립하게 된 것 같습니다.

 

거시경제, 미시경제, 국제경제, 기업경제, 경제 사상의 역사 등을 다루고 있는데,
모태 공돌이인 저에게 아래의 개념들을 탑재해주었습니다.
책에 있는 내용을 발췌한 것도 아니고, 제가 느낀대로만 쓴 것입니다!


- 화폐도 가치가 있고, 그 가치는 오르기도 하고 내리기도 한다.

- 경제는 심리이고, 윤리이며, 또한 철학이다.

- 가격은 파는사람이 정하지만, 결국 사는 사람에 의해 정해진다.

- 수요와 공급으로 세상 만물의 흐름이 설명된다.

- 시장에서 물건을 사는 행위를 통해 보다 편한 생활을 영위할 수 있다.

- 연필을 시장에서 사지 않고 직접 만든다고 생각해보라. 흑연 캐려고 곡괭이질 한번 해볼텐가?

- 새로운 시장은, 수요 발생 -> 공급 -> 공급을 통한 이익 -> 이익에 의한 경쟁사 출현 -> 가격 안정 식으로 이뤄진다

요즘에 빌드서버를 통해서 CI 작업을 만들고 있는데,
외부에서 가져온 라이브러리를 가져다 사용하면서 생기는 warning 들을 제거하고 있었습니다.

하나하나, #pragma warning push / pop / disable 을 이용해서 제거하고 있는데,
유독 C4505 warning 은 제거가 안되더라구요..

희안한게 push / pop 으로 하면 제거가 안되고, 그냥 #pragma warning disable 구문만 적었을때에는 disable 이 되는 것이었습니다...;

라이브러리에서 발생하는 warning 잡으려다가 제가 작업하는 project 전체에 영향을 받을까봐
(참고로 4505 warning은 안쓰는 함수가 있다는 warning)
최대한 해보려고 이렇게 저렇게 막아보고 있는데 정말 push / pop 으로는 안막히더라구요 =_=;;

disable / default 로도 해보고.. 계속 해봤는데 안되서 구글링을 시도했습니다.

http://support.microsoft.com/kb/947783 


Result

When setting #pragma warning(default:4505) to reset the warning, it would enable C4505 warning for the entire CPP file even though it was disabled previsously.

Cause

This is by design.  The C4505 warning applies to a region of code not to a specific function.  The warning is actually tested for at the end of the compilation unit so selectively disabling ths warning will not work. 

Back to the top

Resolution

By design, this C4505 warning cannot be selectively disabled.

증상은 "#pragma warning(default:4505) 로 warning 을 리셋하려고 할때, 이게 모든 CPP 파일..
심지어는 전에 disable 된 것들까지 모두 enable 시키는 것 같다." 고 합니다. 저도 같은 증상~!!

원인은.. "디자인 때문"
함수 호출에 대한 워닝이라서 컴파일 끝에 테스트 되고, 그로 인해서 selectively disabling 이 동작하지 않는다는 것.

명확하네요.

어쩔 수 없이 해당 프로젝트에서는 C4505를 disable 하는 수밖에...;  다른 방법이 떠오르지 않네요..;;;

http://onoffmix.com/event/2520

공개강연 후기를 적어봅니다.

저도 이번에 우연한 기회에 발표를 하게 되었............................ (부끄럽네요 ㅋ)





이번 공개강연은 오시는 분들 다과 준비를 해보기 위해서 유료로 진행되었습니다.

여타 세미나에 뒤쳐지지 않을 정도의 다과를 준비해보려고 많은 분들이 노력을 해주셨습니다.



 
  
주말에.. 비가 올지도 모른다는 기상청 예보에도 불구하고

총 95분 중 78분.. 출석률 82% 가 달성되어 스태프의 일원으로서 너무나 뿌듯했습니다. 




흥배님 블로그에도 소개됐지만, 까페를 몇년째 운영해오고 계신 이지현 매니저님과,


ProudNet으로 유명한 넷텐션의 배현직 대표님께서 함께 한컷 찍으셨네요 ^^


 
제가 1번 발표하고, 2번으로 승욱님께서 발표를 해주셨습니다.


 
3번은 영기님, 4번은 흥배님께서 발표 해주셨습니다.

이때부터.. 아시는분들은 아시겠지만.. 내부온도가 많이 상승했습니다!!! ㅋ




마지막 우영님 발표와, 기념샷입니다.

지현님께서 기념샷을 함께하지 못하셔서 아쉽네요..

 

전반적으로, 너무나 뿌듯하고 즐거웠던 공개강연이었습니다.

개인적으로 한동안은 너무 바쁜 기간이 될 것 같지만, 다음번 공개강연도 하고싶네요. ^^

혹시 공개강연에 참석하셨던 분이 이 글을 보신다면.. 제가 말씀드리고 싶은 것이 한가지 있는데요..

"댓글로 피드백 남겨주세요~~ ㅋ"

그리고 당일 참석하신 모든 분들, 고생하신 모든 스탭분들께.. "감사합니다~~ 수고하셨습니다~~" 


이 문서 내용:
  • Agile 개발 방법론
  • 비쥬얼 스튜디오 팀 시스템과 팀 파운데이션 서버
  • 팀 프로젝트의 설정
  • 팀 파운데이션 서버 확장
이 문서에는 다음 기술이 사용됩니다:
Visual Studio 2005 Team System, Team Foundation Server


Code download available at:
TeamSystem.exe (173KB)



Ben Waldron (영문)

목차
Agile 방법론
Continuous Integration
비쥬얼 스튜디오 2005 팀 시스템
프로젝트 유닛 테스팅
팀 프로젝트 생성하기
유닛테스트 빌드 생성
새로운 빌드의 정의
팀 파운데이션 서버의 확장
Work Item의 설정
결론

많은 개발 팀들이 개발중의 변화와 소프트웨어 품질을 향상시키기 위해 Agile 방법론을 채택했습니다. 이 개발방법은 새로운 기능이 추가되었을 때, 버그가 고쳐졌을 때, 그리고 코드가 새로 고쳐졌을 때, 소프트웨어 프로젝트를 점차적으로 테스트하고 빌드하는 방법를 이용하여 Continuous Integration을 증진시킵니다. 그렇다면 어떻게 비쥬얼 스튜디오 2005 팀 시스템과 팀 파운데이션 서버가 Agile 방법론에 의한 개발과 Continuous Integration을 용이하게 할까요?

이 글은 비쥬얼 스튜디오 2005 팀 시스템을 이용해서 TDD (Test-Driven Development)와 같이 Agile 개념을 이용한 예제 프로젝트를 생성함으로써 위의 질문에 대답해 드릴 수 있습니다. 프로젝트가 끝이 났을 때, 어떻게 저는 팀 파운데이션 서버를 이용해서 팀 프로젝트를 생성하는지, 그리고 이 기술의 확장 기능을 이용하여 프로젝트의 소스들이 소스컨트롤에 체크인 됨과 동시에 어플리케이션을 빌드 하는 continuous integration 기능을 가능하게 하는 사용자 정의 웹서비스를 생성하는지를 보여드리겠습니다.


자세한 내용은 전문 링크를 따라가세요~

전문 : http://www.microsoft.com/korea/msdn/msdnmag/issues/06/03/TeamSystem/default.aspx

원문 출처 : http://msdn.microsoft.com/en-us/library/b0084kay.aspx

Predefined Macro 가 참 많은데, 몇가지 자주 쓰는 것만 정리해봅니다.



_MSC_VER

Evaluates to the major and minor number components of the compiler's version number. The major number is the first component of the period-delimited version number and the minor number is the second component.

For example, if the version number of the Visual C++ compiler is 15.00.20706.01, the _MSC_VER macro evaluates to 1500.

In Visual Studio 2010, _MSC_VER is defined as 1600.



_DEBUG

Defined when you compile with /LDd, /MDd, and /MTd. 



__FUNCTION__ / __FUNCTIONW__

Valid only in a function. Defines the undecorated name of the enclosing function as a string.

__FUNCTION__ is not expanded if you use the /EP or /P compiler option.

See __FUNCDNAME__ for an example. 

Steve Jobs에 의한 iPad 2 발표

Apple 은, 심히 대단하다고 느껴진다.

Apple 의 모든 상품들은 미려한 디자인을 통해 사람들을 유혹하고, 동일한 기능을 가진 다른 제품을 보기좋게 추월해버리곤 한다.

애초에 하드웨어 디자인 능력은 대단하다고 느껴왔지만,

오늘은 애플이 만든 소프트웨어들을 통해 또 한번 대단함을 느낀다.

정말이지.. 사고싶다!!!!!!!

+ Recent posts