본문 바로가기

728x90

전체 글

[IT/리뷰] 아무도 알려주지 않은 C++ 코딩의 기술 아무도 알려주지 않은 C++ 코딩의 기술 : 네이버 도서 (naver.com) 아무도 알려주지 않은 C++ 코딩의 기술 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 멘토님이 책을 쓰셔서 구매 후 읽게 되었다. 처음에 생각보다 두껍다 느껴졌는데 내용이 어렵지 않고, 그림과 예제 코드가 중간에 많아 금방 읽게 되었다. 책은 C++의 기본이 되는 기술들로 윈도우에서의 환경 구축과 공통 헤더에서부터 CMake, 라이브러리, 메모리 영역, 포매터, 패키타이저까지 넓은 범위에 걸쳐 핵심 내용들을 포함하고 있다. 윈도우 개발자들은 환경과 관련된 부분에서 많은 도움을 받을 수 있을 것 같고, 메모리, 포매터, 패키타이저와 같은 내용들은 C++ 개발자 누구에게나 도움.. 더보기
[심리/리뷰] FBI 행동의 심리학 FBI 행동의 심리학 : 네이버 도서 (naver.com) FBI 행동의 심리학 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 요즘 너무 개발 관련 책들만 읽었는데 다른 책들을 읽고 싶었다. 사실 소설을 읽고 싶었는데 그나마 더 도움이 될만하면서 재미도 있을 것 같은 심리학 분야의 책을 골랐다. 심리학 책 중에서 유명한 책이었는지 이름은 이전에도 들어본 적이 있던 책이었다. 일을 하면서 사람을 대할 때 이런 책을 읽은 것이 큰 도움이 될 것이라 예상했다. 고객을 대하거나 사회생활을 하면서도 도움이 되지 않을까 기대가 있었다. 그런데 책을 읽은지 얼마 안 되긴 했지만 책의 내용은 그렇게 도움이 되지는 않은 것 같다. 물론 흥미가 있던 부분은 있었는데 반 .. 더보기
[IT/리뷰] 애자일 마스터 : 프로젝트 인셉션, 추정과 계획 그리고 실행 애자일 마스터 : 네이버 도서 (naver.com) 애자일 마스터 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 애자일 방식으로 프로젝트를 진행해보고 싶었던 와중에 눈에 띄어서 책을 읽어보게 되었다. 나와 같이 애자일 방식을 사용한 적이 없던 사람이 읽어도 괜찮은 책이지만, 이미 애자일 방식을 사용하고 있었으나 어려움을 겪고 있는 곳에서 읽었을 때 더욱 도움이 될만한 책이다. 애자일을 수행하는 방법과 더불어 왜 애자일 방식으로 실패를 했을지에 대해서 다루고 있다. 기존 조직과 회사에서의 문제점들과 이를 애자일 방식으로 접근했을 때의 방법과 장점을 설명한다. 애자일을 시작하는 방법, 사용자 스토리를 수집하는 방법, 일정에 대한 추정 방법, 애자일 수행 중.. 더보기
[IT/리뷰] 소프트웨어 장인 소프트웨어 장인 : 네이버 도서 (naver.com) 소프트웨어 장인 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 무슨 책을 읽을까 찾아보다가 '로버트 C. 마틴'을 보고 바로 집었다. 이 책은 다른 책에서도 나왔던 '소프트웨어 장인정신'에 대해서 다룬다. 책의 부제는 '프로페셔널리즘/실용주의/자부심'이다. 책의 내용과 정확히 부합하는 부제라 생각한다. 저자가 그동안 개발자로서 일을 하면서 경험한 장인 정신에 대해 다룬다. 일반적인 개발자가 아닌 장인으로서의 태도를 가질 것을 강조한다. 장인 정신이 무엇인지, 장인으로서의 태도는 어떤 것인지, 직장에서는 어떻게 해야 하는지, 프로젝트에서는 어떻게 해야 하는지, 직장에 문화를 어떻게 바꿔야 하는지 등에 .. 더보기
[IT/리뷰] 모던 C++ 디자인 패턴 모던 C++ 디자인 패턴 : 네이버 도서 (naver.com) 모던 C++ 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 디자인 패턴도 공부하면서 모던 C++도 공부할 수 있을 것 같다고 생각해서 책을 선택했었다. 하지만 둘 다 만족스럽지는 못했다. 먼저, 모던 C++은 설명을 해주는 게 아니라 사용만 하고 있기 때문에 직접 찾아서 확인해야 한다. 찾는 것은 좋았지만 회사에서는 예전 C++을 사용하기 때문에 익숙해질 수가 없었다. 찾아본 모던 C++ 기능들도 회사에 적용할 수 없는 것들이 많았다. 물론 내가 따로 모던 C++로 무언가를 하고 있었으면 도움이 될 수 있었을텐데 그러지 않았기 때문에 책만으로는 익숙해지지 않은 것이다. 그래도 기.. 더보기
[디자인패턴][행위패턴] 방문자 Visitor - C++ [모던 C++ 디자인 패턴] 책을 바탕으로 공부하는 내용을 정리한 내용이다. Visitor Pattern 계층을 이루는 클래스들을 사용해야 할 때, 소스 코드를 수정할 수 없다면 각 계층마다 멤버 함수를 추가하는 것이 불가능하다. 이 문제를 해결하기 위한 방문자 패턴은, 사용하기 위해서는 선제적으로 어떤 준비가 되어야 있어야만 한다. 침습적 방문자 가장 직접적인 접근 방법부터 시도해 보자. 이 방법은 OCP에 위배된다. 수학 수식을 파싱해야 할 때, Expression 인터페이스를 직접적으로 수정하는 방법이다. 상속 관계에 따라 모든 하위 클래스도 수정된다. struct Expression { virtual void print(ostringstream &oss) = 0; }; OCP 원칙을 위배하는 것과.. 더보기
[디자인패턴][행위패턴] 템플릿 메서드 - C++ [모던 C++ 디자인 패턴] 책을 바탕으로 공부하는 내용을 정리한 내용이다. Template Method 전략 패턴과 매우 유사하다. 차이점은 전략 패턴이 컴포지션을 이용하는 데 반해 템플릿 메서드 패턴은 상속을 이용한다는 것이다. 하지만 핵심 원리는 어떤 알고리즘의 골격을 한 곳에 정의해 두고 상세 구현을 다른 곳에 둔다는 점에서 동일하다. 이 부분은 시스템 확정 측면에서 OCP 원칙을 준수하는 것이다. 게임 시뮬레이션 보드 게임을 예로 들어 아래와 같이 알고리즘을 정의해보자. 게임 실행 시에는 run() 메서드는 다른 메서드를 호출할 뿐이다. 그 메서드들은 퓨어 버추얼이면서 protected이기 땜누에 다른 쪽에서 호출할 수는 없다. class Game { private: void run() { st.. 더보기
[디자인패턴][행위패턴] 전략 Strategy - C++ [모던 C++ 디자인 패턴] 책을 바탕으로 공부하는 내용을 정리한 내용이다. Strategy Pattern 배열에 문자열 여러 개를 목록 정리해서 출력하려고 한다고 해보자. HTML이나 LaTeX의 경우 목록을 표현하기 위해서는 그 렌더링 언어만의 열림/닫힘 태그가 필요하다. 목록을 출력하는 일은 여러 경우마다 비슷한 부분이 있기도 하고 다른 부분도 있기도 하다. 이때 각 경우들 하나하나를 별개의 "전략"으로 취급할 수 있다. 목록을 출력하는 작업은 다음과 같은 전략으로 공식화할 수 있다. 이때 서로 다른 포맷마다 서로 다른 전략을 공식화하고 각 전략은 일반화되어 불변하는 상위 수준 텍스트 출력 알고리즘에 입력돼 세부 동작에 가변성을 부여할 수 있다. 목록의 열림 태그와 항목을 출력한다. 목록의 각 항목.. 더보기

728x90