6월, 2016의 게시물 표시

최근 근황

오랜만에 글을 쓰는 거 같다..
최근 근황은 뭐 계속 회사 생활의 반복이다.. 눈깜짝하니 입사한지도 1년이 어느새 훌쩍넘었다. 뭔가 해보고 싶은게 많은데, 회사 다니면서 출퇴근 시간도 길고, 내가 체력도 안좋고 부지런한 편도 아니라서 진짜 회사만 다니기 벅찼던 것 같다.
그래도 나름 뭔가 해보려고 최근에 2가지 활동을 했었다.     그중에 하나는 컨트리뷰톤이다. 작년이나 올해 초까지만해도 오픈소스 활동을 했었는데, 회사다니면서 자연스레 멈추게 되었다. 다시 한번 오픈소스 활동을 시작하기 위한 계기를 삼으려고 컨트리뷰톤이라는 프로그램에 참여하여 uftrace 라는 C/C++ function tracing 툴 프로젝트에서 활동을 했다. 현재는 컨트리뷰톤 활동은 끝났고, 이번 달 말에 폐회식?시상식? 이 있을 예정이다.     또 하나는 블록체인 스터디이다. 반년전쯤부터인가 블록체인쪽에 관심이 생겨서 한번 공부를 해보려고 스터디를 하게 되었다. 스터디는 현재 진행형이다.
회사를 다니면서 이렇게 2가지 활동을 동시에 했다. 이 활동들에 내가 투자하려고 했던 시간/에너지 양이 대략 있었는데, 막상 해보니 실제로 투자한 시간은 내 예상의 20% 도 안되는 것 같다. 신규 기능개발로 인해 회사 일이 최근에 바쁘기도 했고, 생각보다 내가 시간과 자기관리를 제대로 못했다. 시간투자를 많이 못한게 아쉽긴 한데, 일단 뭐라도 해본 것에 의의를...
아 그리고, 최근에 우리 팀 우리 파트 채용공고를 새로 냈다. 기존의 채용 공고가 너무 모호하고 매력이 떨어진다고 생각해서 내가 건의를 해서 채용공고의 내용을 바꿔봤다.

채용공고 보기/숨기기
모집부분 - C++ 기반 공용 모듈 개선 및 개발 - C++ 기반 엔진 모듈 개선 및 개발 담당업무 - 사내 C++ 공용 라이브러리 개선 및 개발 - C++ 기반 악성코드 탐지/치료 엔진 개선 및 개발 - 코드 품질 및 개발 프로세스 개선 자격요건 - C++ 활용에 자신 있는 분 - 능동적이고 적극적으로 업무를 수행하시는 분 우대요건 …

[Effective C++ 3판] Chapter 9. 그 밖의 이야기들 (항목 53 ~ 55)

Chapter 9. 그 밖의 이야기들 (항목 53 ~ 55) 드디어 마지막 Chapter입니다!! 씬난다~ 씬나@@

항목 53. 컴파일러 경고를 지나치지 말자.[이것만은 잊지 말자]
- 컴파일러 경고를 쉽게 지나치지 맙시다. 여러분의 컴파일러에서 지원하는 최고 경고 수준에도 경고 메시지를 내지 않고 컴파일되는 코드를 만드는 쪽에 전력을 다 하십시오.
- 컴파일러 경고에 너무 기대는 인생을 지양하십시오. 컴파일러마다 트집을 잡고 경고를 내는 부분들이 천차만별이기 때문입니다. 지금 코드를 다른 컴파일러로 이식하면서 여러분이 익숙해져 있는 경고 메시지가 온 데 간 데 없이 사라질 수도 있습니다.

항목 54. TR1을 포함한 표준 라이브러리 구성요소와 편안한 친구가 되자. TR1을 얘기하기에는 요즘 시대가 너무 흘렀죠? ㅎㅎ 그래서 제가 한번 항목을 수정해보겠습니다.
Modern C++은 선택이 아니라 필수다!

항목 55. 갓 부스트! 부스트를 늘 여러분 가까이에! 갓 부-스트! 부스트 차냥해!


포스팅 거저먹는 마지막 췝터! 씬난다 씬나
지금까지 포스팅에서 사용했던 코드들은 Github에 올려놨습니다!! (https://github.com/taeguk/Effective-Cpp-Series)

[Effective C++ 3판] Chapter 8. new와 delete를 내 맘대로 (항목 49 ~ 52)

Chapter 8. new와 delete를 내 맘대로 (항목 49 ~ 52) 항목 49. new 처리자의 동작 원리를 제대로 이해하자.[new와 delete 키워드]
new/new[] 키워드 : (알맞는 operator new 호출 -> 생성자 호출) + 알파 (operator new와 생성자를 적절하게 호출하고 메타데이터등을 저장하고 관리하는 코드. 여기서 메타데이터는 new[]할때 객체의 갯수등을 의미.)
delete/delete[] 키워드 : 위와 비슷한 맥락.

[new 처리자 - new handler]
operator new의 역할 : 필요한 메모리를 적절하게 할당해서 반환해주는 역할.
new 처리자 : operator new가 메모리를 할당하는데 실패했을 때 호출되는 함수.

[new 처리자가 해야하는 동작 (아래중 하나를 해야한다.)]
- 사용할 수 있는 메모리를 더 많이 확보한다.
- 다른 new 처리자를 설치한다.
- new 처리자의 설치를 제거한다.
- 예외를 던진다.
- 복귀하지 않는다. (abort나 exit을 호출)
#include <new> // RAII방식으로 new handler을 관리하는 클래스 class NewHandlerRAII { public: explicit NewHandlerRAII(std::new_handler nh) noexcept { old = std::set_new_handler(nh); } ~NewHandlerRAII() noexcept { std::set_new_handler(old); } NewHandlerRAII(const NewHandlerRAII&) = delete; NewHandlerRAII& operator=(const NewHandlerRAII&) = delete; private: std::new_handler old; }; // class별로 new handler를 지정할 수 있는 기…

이 블로그의 인기 게시물

[Effective C++ 3판] Chapter 1. C++에 왔으면 C++의 법을 따릅시다. (항목 1~4)

개발다운 개발에 대해...

최근 근황