전체 글 312

Google Mock 사용을 위한 간단한 정리

앞서 포스팅했던 단위 테스트 관련 글들에 이어서 이번에는 C++ 에서 단위 테스트를 사용하기 위한 프레임웍으로 Google Test와 Google Mock을 간단히 소개하겠다. Google Test : https://github.com/google/googletestGoogle Mock : https://github.com/google/googletest/tree/master/googlemock 세부적인 Assertions 함수들은 아래 문서를 참조하자.https://github.com/google/googletest/blob/master/googletest/docs/Primer.md 여기서는 Mocking 을 어떻게 구성하는지 간단한 Sample Project 를 가지고 설명한다.https://gith..

Dev 2017.08.10

테스트 용이성(Testability) 향상을 위한 DI(Dependency Injection)

이전 포스팅 BDD(Behaviour-Driven Development)에 대한 간략한 정리에서 같이 다루려고 했던 내용이다. 테스트 용이성이랑 말 그대로 테스트 대상을 얼마나 테스트하기 쉬운가에 대한 척도이다.테스트 대상이 얼마나 복잡한가? 얼마나 결합도가 높은가? 등 몇 가지 내용이 있지만 여기서는 테스트 용이성에서 결합도와 Mocking 에 대한 내용만을 간단히 다룬다.최대한 코드를 배제하겠다. 이 글에서 Mocking 은 Mocking 객체를 의미하며 이를 간단히 말하면 실제 객체를 흉내내는 가짜 객체를 하나 만드는 것이다. 실제 클래스와 동일한 인터페이스를 가지고 있어서 외부에서 볼 때는 가짜인지 모르고 사용할 수 있도록 설계된 클래스를 인스턴스화 한 것을 말한다. 이야기 진행을 위해서 테스트 ..

Dev 2017.06.19

BDD (Behaviour-Driven Development)에 대한 간략한 정리

BDD와 테스트 용이성에 대해서 간단히 정리가 필요해서 하는 김에 포스팅으로 올린다.한 번에 하려고 했는데 생각보다 양이 많아서 우선 BDD에 대해서만 정리한다. BDD가 TDD만큼 유명세를 타지는 않은 거 같은데 현업에서 두 가지 모두 사용해본 경험상 BDD를 선호한다.여기서 BDD는 Behaviour-Driven Development의 약자고 TDD는 Test-Driven Development의 약자다.어차피 BDD가 TDD에 기반을 두고 있다고 하는 만큼 둘이 엄청난 차이를 보이지는 않는다.다른 xDD도 많이 있겠지만 내가 사용해본 게 이 두 가지밖에 없어서 언급할 수가 없다. 흔히 알려진 것처럼 TDD는 테스트를 먼저 작성하고 그 테스트를 통과시키는 코드를 작성하는 흐름을 기본으로 한다.게다가 테..

Dev 2017.04.16

non-blocking socket에 OpenSSL 적용하기

정말 오랜만에 포스팅한다. 이 문서에서 사용하는 OpenSSL 버전은 1.0.1u 이다.하트블리드 취약점을 피하려면 1.0.1g 이상을 사용해야 한다. 공식 OpenSSL 페이지 : https://www.openssl.org/공식 문서 : https://www.openssl.org/docs/man1.0.1/ssl/ 이 문서에서 OpenSSL의 빌드, 프로젝트에 설정하는 방법 그리고 자세한 에러 처리는 생략한다.이제 개발에 필요한 내용만 정리해보자. 아래 내용이면 바로 non-blocking socket에 SSL을 적용할 수 있을 것이다. 이 문서에서 필요한 헤더 파일은 아래와 같다. ssh.hbio.herr.hengine.hconf.h 사설 인증서 생성테스트를 위해서 인증서가 필요하므로 사설 인증서를 하..

Dev 2016.12.15

YES24의 디지털머니의 재발견

YES24의 디지털머니의 재발견 크레마머니랑 혼동해서 디지털머니를 충전했다. 크레마머니로 구해하면 할인율이 50%나 되기에...낚였다. 크레마 기기도 없는 주제에... 착각한 내가 바보니 그냥 충전한 금액으로 eBook을 구매하려고 했다. 하지만 구매할 수가 없었다. 디지털머니에 대한 안내 문구는 아래와 같다. 하지만, 정작 구매하려고 보면 다음과 같은 사실을 알 수 있다. 디지털머니는 사용할 수가 없다. 디지털머니를 사용하려면 다음에서 같이 원클릭 구매를 선택해야 한다. 그러면 다음과 같은 화면을 볼 수가 있다. 오직, 디지털머니와 크레마머니로만 구매할 수 있다. 이게 무슨 현금처럼 사용할 수 있다는건지 모르겠다. 환불 규정은 더 재밌다. 전자상거래법에 7일이내는 구매한 수단으로 환불이 가능한 것으로 ..

Book Shelf 2015.04.14

심플한 터치펜 Pencil by FiftyThree 의 지우개 문제

요즘 아마존 배송이 빠른 건가 구매한 지 일주일만에 물건을 받았다.물건은 바로 터치팬 펜슬. 하지만, 제대로 동작하지 않는 지우개!아래 포스팅을 보고 해결했다.최고의 터치펜 '53 Pencil' - 지우개문제 해결하기! 위 지우개 고무 캡을 열고, 고무 캡 안쪽이 위를 보도록 책상에 놓고 그 위에서 연필심을 칼로 살살 갈아서 가루를 뿌려 넣어주면 된다.

I'm prostars 2015.04.13

애플 서비스 정책은 왜 그럴까?

몇 달 전에 봤던 이슈였는데 아직도 진행상태네요... 애플 제품이 완성도 높고 좋은 건 아는데 서비스 정책은 깡패 느낌입니다.아이팟도 신품 가격만큼의 수리 비용을 요구하고 직접 부품 사다 고쳐서 사용했었습니다.이 글도 맥북에서 적고 있는데...이거 고장나면 수리를 별 탈 없이 받을 수는 있을지 깝깝하기도 하고 -_-;; A/S 맡긴 아이폰5 반환 거부한 애플, "정책상 돌려드릴 수 없습니다"

I'm prostars 2014.07.31

하스켈로 배우는 프로그래밍 도서 후기

스칼라를 공부하면서 언어는 스칼라를 사용하면서 구현을 fp가 아닌 oop로해서 fp를 더 공부해볼 요량으로 하스켈 책을 하나 보려고 찾아보니 스칼라 처럼 달랑 한권의 번역서만 나와있는데...이건 그나마 절판!2009년에 나온 책이 왜 벌써 절판인가 했는데...아무리 국내에서 하스켈이 인기가 없다지만, 이 책은 번역과 편집이 엉망이라 안팔린거 같다. 펼치자마자 나오는 어색한 용어들...'객체지향 언어'을 '물건 중심 언어'라고 하고 '다형성'을 '여러모양새'라고 하는...처음에는 무슨 소리인가 했다.이건 좀 너무하잖아....이상하게 번역한 용어가 한두개가 아니다.업계 보편적인 용어를 왜 억지로 한글화 하려는지 이해하기 어렵다.아마 서점에서 미리 펼쳐봤으면 구매하지 않았을 것이다. 책의 편집은 8~90년대 ..

Dev 2013.11.19
반응형