Latest

JAVA 8 에서 케이크 패턴(Cake Pattern)을 사용해보자

JAVA 8 에서 케이크 패턴(Cake Pattern)을 사용해보자

지난 글에서 의존성 주입(Dependency Injection)에 대한 이야기를 했었다. 이번 글에서는 다른 방식의 의존성 주입인 케이크 패턴을 소개한다. 스칼라의 케이크 패턴에 대한 자세한 내용은 여기를 참고 바란다. 케이크 패턴 스칼라의 케이크 패턴을 자바에서 사용해보자. 케이크 패턴은 의존성 주입의 한 방법이다. 자바 8에서는 인터페이스가 구현 코드를 담은 디폴트 메소드를 가질

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

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

이전 포스팅 BDD(Behaviour-Driven Development)에 대한 간략한 정리에서 같이 다루려고 했던 내용이다. 하나의 클래스를 테스트하기 위해서는 그 클래스가 사용하는 다른 클래스의 실제 구현이 필요하거나 테스트 대상 클래스가 사용하는 데이터베이스 등에 대한 외부 환경이 구성되어 있어야 하는 경우가 있다. 하지만 테스트 환경에서 이를 모두 구성하는 것은 현실적으로 쉽지 않고,

By 이 상우
이 버그는 개발한 너의 잘못이야?

이 버그는 개발한 너의 잘못이야?

조용하던 사무실에 난데 없이 이런 고성이 터져 나옵니다. 필시 운영 중인 서비스나 배포된 앱에서 심각한 문제가 발생하였습니다. 이 프로그램 누가 만들었어!!! 이번 글은 최근 페이스북에 한 분이 질문하신"개발자가 실수로 버그를 만들었습니다. 여러분이 상사라면 어떻게 하시겠습니까?" 글에 대해 필자의 생각을 정리해 보았습니다. 이 버그는 개발한 너의 잘못이야? 특정

By 김형준
REST API 날짜/시간 표현 정하기

REST API 날짜/시간 표현 정하기

2달전 제 뒤에 앉아았는 개발자님께서 왜 알아보기 어렵게 날짜를 숫자로 사용해야하냐고 의문을 가진 적이 있다. API를 처음 구성할 때 참고했던 API가 사용했다는 이유로, spring 400에러 응답에서도 long 형태의 시간표현을 한 사례, Timezone과 DB처리에서 장점이 있다는 이유로 적용했던 Unix Time형태의 날짜 표현방식이 문제가 될 수도 있다는 생각이 들었다. 그렇게 불편하다면 한번

By 조 광희
BDD (Behaviour-Driven Development)에 대한 간략한 정리

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

BDD와 테스트 용이성에 대해서 간단히 정리가 필요해서 하는 김에 포스팅으로 올린다. 한 번에 하려고 했는데 생각보다 양이 많아서 우선 BDD에 대해서만 정리한다. BDD가 TDD만큼 유명세를 타지는 않은 거 같은데 현업에서 두 가지 모두 사용해본 경험상 BDD를 선호한다. 여기서 BDD는 Behaviour-Driven Development의 약자고 TDD는 Test-Driven Development의 약자다. 어차피 BDD가

By 이 상우
내 코드를 자동으로 리뷰해준다면? ( by sonarQube )

내 코드를 자동으로 리뷰해준다면? ( by sonarQube )

최근에는 개발을 할때 단순히 기능만 동작하는 코드를 만드는 것뿐만 아니라 읽기 좋은 코드, 유지보수하기 좋은 코드 등을 만들기 위해 많은 노력을 한다. 이를 위해 코드 리뷰 등을 통해 동료 개발자들이 직접 검토하는 경우도 있지만 정형화된 패턴에 대해서는 소스 코드를 분석해주는 도구를 이용할 수 있다. 이러한 것을 코드 정적 분석이라고 한다.

By 권태관
docker hub 를 이용한 도커 컨테이너 빌드 팁

docker hub 를 이용한 도커 컨테이너 빌드 팁

최근 개발 언어나 플랫폼은 빌드 시점에 필요한 라이브러리를 다운로드 받아 빌드하는 경우가 많습니다. 이것은 Docker 를 이용할 경우에도 동일한데 Docker는 컨테이너를 빌드하는 시점에 베이스 이미지 등 필요한 정보를 다운로드 받습니다. 그리고 Docker 내에서 다시 프로그램을 빌드를 하는 경우도 많이 있는데 이때에는 프로그램 빌드에 필요한 라이브러리를 다운로드 받습니다. 대부분의 상황에서는  이런

By 김형준
어떻게 하면 개발을 잘할 수 있을까요?

어떻게 하면 개발을 잘할 수 있을까요?

"어떻게 하면 개발을 잘 할 수 있을까요?" 많은 개발자들이 이런 질문을 주변의 동료나 선배들에게 합니다. 이 질문에 대해서는 많은 대답이 있을 수 있고, 사람마다, 조직마다, 무엇을 개발 하느냐에 따라 혹은 개발에 대한 정의에 따라 다른 답이 나올 겁니다. 올해 초 같이 일하는 중국 개발자들을 대상으로 이 주제로 발표할

By 김형준
애플리케이션 QA 침투기

애플리케이션 QA 침투기

페이스북 친구인 안영회님이 얼마전에 함께 했던 프로젝트의 어플리케이션 QA를 회고해 주셨습니다. 아래 내용은 페이스북에 올려 준 전문입니다. 나에겐 두 번의 훌륭한 QA 팀과 협업 경험이 있다. 첫번째는 한국에서 우리 팀에 QA 리더가 최문석 님일 때 모바일 애플리케이션에 대한 QA를 진행했던 경험인데... 이 글을 보니 남 얘기 같지가 않다. 구조 변경에

By 최문석
도커 초보의 우분투 Cron 삽질기

도커 초보의 우분투 Cron 삽질기

필자가 도커 초보인 동시에 우분투 초보라는 점을 감안하여 읽어 주셨으면 좋겠습니다. :) 이 글은 필자가 도커화Dockerize된 우부투에서 배치Batch 애플리케이션을 주기적으로 실행시키는 과정에서 겪었던 시행착오 과정을 정리한 것이다. Cron과 Cron Job 그리고 Crontab 필자가 우분투에서 배치 애플리케이션을 주기적으로 실행 시키기 위해 선택한 것은  Cron이었다. Cron은 리눅스 계열(이 글에서는 우부투) OS에서 제공하는

By 유 영모