월간 보관물: 2016 5월

단위 테스팅과 통합, 승인, 기능 테스팅

단위 테스팅이란 용어는 자주 사용되지만 유사한 모습을 가진 테스팅 기법들과 자주 혼동됩니다. 용어가 혼동되면 의사소통에 문제가 발생하고 각 용어의 대상이 가지는 특징을 이해할 수 없기 때문에 필요한 곳에 적절한 도구를 사용하지 못합니다. 이 게시물은 단위 테스팅, 그리고 단위 테스팅과 흔히 혼동되는 테스팅 기법 몇 가지를 설명합니다.

계속 읽기

Advertisements

스타트업에 취업하기

박재성님의 ‘최근 구직, 구인 글을 보면서 느끼는 단상’이란 글을 읽었는데 무척이나 공감을 했습니다. 특히 다음 구절에서 생각나는 일화가 있어서 적어봅니다.

다양한 스펙을 쌓는 것에 집중하기 보다 프로그래밍 자체를 즐기는 진정성을 보여주면 더 좋겠다. 경험도 너무 많은 경험보다는 한 가지 경험이라도 깊이 있는 경험을 하면 좋겠다. 프로그래밍 자체에 대한 열정은 자연스럽게 드러난다.

계속 읽기

Inversion of Control(제어 역전)

이전 게시물 의존성 역전 원리(Dependency Inversion Principle) 관련 용어에서 Inversion of Control(제어 역전, 이하 Ioc)에 대해 간단히 정리했습니다. 비록 짧지만 제가 알고있는 범위에서 가장 중요한 부분은 설명이 되었다고 생각합니다. 물론 IoC가 쉽게 이해될 수 있는 개념은 아니지만 제가 이해하는 것보다 훨씬 어렵게 생각하는 반응들을 목격하고 혹시 내가 IoC를 오해하고 있는 것은 아닌가 하는 의문과 함께 내 이해에 대한 좀 더 자세한 기록을 남겨야겠다는 생각이 들었습니다.

Reflectionprojection

계속 읽기

의존성 역전 원리(Dependency Inversion Principle) 관련 용어

의존성 역전 원리(Dependency Inversion Principle)는 모듈간 낮은 결합도(loose coupling)와 테스트 용이성(testability)을 확보하는데 유용한 디자인 방법입니다. 저는 확장 가능하고(scalable) 클라우드 환경에 적응력있는(adaptive) 응용프로그램 디자인을 위해 의존성 역전 원리가 아주 큰 역할을 한다고 생각합니다. 하지만 안타깝게도 의존성 역전 원리와 관련된 기법과 도구를 지칭하는 용어들은 자주 혼동됩니다. 용어가 혼동된다는 것은 그 대상의 의미도 혼동되고 있다는 뜻입니다. 의미를 혼동하면 필요한 곳에 적절히 사용할 수 없겠죠. 의존성 역전 원리에 대한 이해를 돕기 위해 관련된 주요 용어들을 간단히 정리했습니다. 설명 대상 용어에 대해서는 번역된 표현 대신 영어 원문을 그대로 사용했습니다.

Hollywood_Sign_(Zuschnitt)

계속 읽기

프로그래밍 언어 생산성

얼마 전 페이스북에서 대화하던 중 프로그래밍 생산성에 있어서 누가 개발하느냐가 중요하지 어떤 언어를 사용하느냐는 중요하지 않다는 의견을 들었는데 저는 강하게 반대하는 입장이지만 여건 상 길지 않게 의견을 전달했습니다. 아마 잘 설득하진 못했을 겁니다. 그런데 오늘 Java 언어에서 속성의 읽기 접근자(getter)와 쓰기 접근자(setter) 작성에 대한 괴로움이 주제인 논의를 발견했습니다. 이 문제에 대해 역시 페이스북에서 얘기를 하던 중 프로그래밍 언어가 가지는 생산성에 대한 영향력의 한 예가 떠올라 적어봅니다.

Stone and metal knives

Stone and metal knives

계속 읽기