라이브러리를 만들어 볼까 – 이벤트 객체용 클래스

C++ 11

이벤트 객체는 동기화에 사용하는 객체 중 하나이다. 윈도우 환경에서는 CreateEvent, SetEvent 등을 사용해 구현하는데 사용 예제는 이 문서를 참조한다. C++에서는 흔히 이러한 윈도우 API를 클래스로 잘 포장해 사용하지만, 마침 이벤트 객체가 필요한 터라 C++ 표준 라이브러리로 구현해 봤다.

라이브러리를 만들어 볼까? – 검색용 2차원 표 템플릿

C++ 11

프로그램을 만들다 보면 switch 문을 2중으로 쓸 일이 있습니다. 물론 switch 문에 사용할 정보를 문자열로 만들어 if 문으로 바꾸는 방법도 생각해 볼 수 있지만 조건문이 많아지는 것도 별로라 이럴 때는 검색용 표를 쓰는 게 좋을 듯합니다. 즉 검색용 2차원 표를 만들고 각 조건별로 호출할 함수 포인터를 표에 저정한 다음 switch 문에서 비교할 …

Continue reading

상태(state) 패턴 한번 써 볼까?

일이 일이다 보니 상태(state)를 다룰 일이 아주 많습니다. 상태로 시작해 상태로 끝난다고 해도 과언이 아닐 정도지만, 패턴에 익숙하지 않아 그다지 쓰지 않다 보니 보통 그렇듯 간편하게(?) 상태 값으로 처리합니다. 이미 책과 인터넷에서 많이 찾아 볼 수 있는 내용이긴 하겠지만 상태 패턴을 한번 써 보기로 맘 먹은지라 기억도 되살릴겸 간단히 정리해 …

Continue reading

분산형 버전 관리 시스템 작업 흐름 – 게으른 푸시 모델(lazy push model)

Git Branching model

‘지난번’으로 시작하려 했는데 찾아보니 이 글이 벌써 1년이 다 됐네요. 네, 이번에도 작업 흐름에 대한 글입니다만 지난번과 달리 게으른(지연) 푸시가 중심입니다. 1년 전 당시에는 분산형 버전 관리 시스템에 대한 사용법은 알고 있었지만 더 중요한, 운영을 어떻게 할지는 좀 애매한 상태였습니다. 팀 단위 공동 작업을 하는 건 당연한데, 무엇보다 업무 특성상 …

Continue reading