개발자의 missing commitments에 대해.

한다고 한것들(commitments)을 못했을 때(missing)의 것들을 어떻게 받아들여야 할지 애매해서 좀 찾아봤는데 재미있는 링크를 찾았다. Agile team missing commitments regularly and complaining about no trust 어떻게 보면 개발자들이 똘똘 뭉쳐서 에자일이라는 것을 해석해버리면 이런 식도 될 수 있겠구나 하는 생각도 든다. 질문의 요지는 스프린트 4개를 하는 동안 개발자들이 40~60% 정도를 빵구를 내고 있다. 하지만 MVP를 만들어낼때까지 …

Continue reading ‘개발자의 missing commitments에 대해.’ »

.gitignore 파일을 깔끔하게~

협업하는 다른 친구에게 pull request를 보냈다가 알게된 팁인데 꿀팁인 것 같아서 정리해둔다. 보통 .gitignore 파일은 프로젝트 빌드 혹은 작업 과정에서 생기는 부산물들을 굳이 git에 포함시킬 필요가 없는 파일들 혹은 디렉토리들을 제외시키기 위해서 사용된다. 이런 파일들 가운데 내가 종종 포함시키는 패턴들이 IDE와 관련된 파일들이었다.  하지만 IDE라는건 개인적인 취향에 따라 다름이 있다. 사람마다 서로 다른 IDE에 대한 …

Continue reading ‘.gitignore 파일을 깔끔하게~’ »

Spring Data JPA를 활용한 DAO를 바꿔보자.

부트 이전에 스프링에서 데이터베이스를 그래도 다른 사람이 쓰는 만큼 쓸려면 MyBatis를 써줘야했다. MyBatis를 한번이라도 써본 사람이라면 알겠지만 복잡하다. 스프링 XML 설정의 복잡도에 MyBatis의 복잡도를 더하면 상당히 헬 수준으로 올라간다. 단순 목록 하나만 가져오는데 MyBatis를 쓰는건 형식주의에 빠진 불합리의 최상급이었다. 되려 JDBC를 가져다가 prepareStatement에 Bind 변수만 사용하는 것이 오히려 손쉽게 직관적일 수 있다. 글을 읽는 분들중에 Bind …

Continue reading ‘Spring Data JPA를 활용한 DAO를 바꿔보자.’ »

5월에 읽은 책 – 김훈 작가의 “라면을 끓이며”

한달에 만화책과 무협지를 빼고 뭐라도 두 권은 읽자라고 시작해서 처음으로 읽기를 마친 책.  읽기를 시작한지는 한달쯤 되었던 것 같긴 하지만 최근들어서 텍스트를 읽는 것이 어렵게 다가온 적이 요즘만하게 없었던 것 같다. 오래 걸리고 또 의미를 삼키기 어렵다.   굳이 독후 감상문을 적을 필요는 없겠다. 본래 스스로 그러한 것들을 향하여 나는 오랫동안 중언부언하였다. 나는 쓸 수 …

Continue reading ‘5월에 읽은 책 – 김훈 작가의 “라면을 끓이며”’ »

Amazing Lamda

Java 8에서 제대로 지원하는 stream과 람다(lamda)를 섞어서 쓰면 좋은데 람다가 코드를 어느 수준까지 줄여주는지를 한번 살펴보니 무시무시하다라는 생각이 든다. 이걸 람다를 적용해서 고치면… 기존 자바의 인터페이스를 사용해서 불필요한 라인들이 딱 한줄의 return문으로 정리된다. 이걸 해석하는데 좀 시간이 필요하긴 한데, 얻을 수 있는게 참 많을 것 같다. 특히나 Interface를 활용해서 DI 기법으로 코드를 작성하는 방식이 더욱 …

Continue reading ‘Amazing Lamda’ »

미국과 다르지 않은 한국 개발자 환경?

페북에 개발자의 한국 상황과 미국 상황을 비교한 슬라이드가 올라와서 또 열심히 까는구나 하는 생각이 들어서 봤더니, 왠걸?  이 친구는 많이 다르지 않다고 이야기를 하네. 헐… 살짝 이력을 살펴보니 LG좀 다니다가 라인좀 다니다가 MS로 이직한 친구네!! 좋은 회사(?)들을 잘 거쳐서 성공적으로 미쿡 회사에 안착을 한 모양이다.  근데 좋은 대기업만 다녀서 그런가 한국의 다른 개발자들에 대해서 잘 …

Continue reading ‘미국과 다르지 않은 한국 개발자 환경?’ »

Maven을 이용해서 신규 프로젝트 만들기

한땀한땀 손으로 Maven 프로젝트를 만드는 것도 의미있는 일이지만 귀찮다. 와 같은 형태로 잡아주면 된다. 최근 개발은 Spring Boot를 많이 이용하기 때문에 여기에서 주로 쓸만한 archetype들을 나열해보면 maven-archetype-quickstart spring-boot-sample-simple-archetype spring-boot-sample-data-jpa-archetype spring-boot-sample-actuator-log4j-archetype Spring에서 사용할 수 있는 전체 Archetype 목록은 여기에서 확인 가능하다.  다만 Spring 기반으로 프로젝트를 생성시킬려면 기본 archetypeArtifactId 이외에 archetypeGroupId=org.springframework.boot 값을 추가로 줘야한다. 가장 대표적인 API …

Continue reading ‘Maven을 이용해서 신규 프로젝트 만들기’ »

JUnit Parameterized Test – 반복 테스트를 하는 뻔한 방법

JUnit에서 조건값을 바꿔가면서 테스트를 해야하는 경우에 이 방법을 사용하는게 테스트 비용을 아끼는데 좋다. 예제에서는 테스트를 위한 입력으로 PrimeNumberValidationInput이라는 클래스를 사용했다. 다른 책에서 예제를 인용할 때는 보통 Object[][]을 이용하는 경우가 많던데, 물론 간단한 수치 입력을 하는 경우에는 이 방법을 사용해도 크게 나쁘지는 않은 것 같다. 하지만 Object 변수를 사용한다는게 뭔가 테스트 코드의 품질을 떨어트리는 것만 같은 …

Continue reading ‘JUnit Parameterized Test – 반복 테스트를 하는 뻔한 방법’ »

Thunderdome – 개발자의 재미, 개발하기

2주일간의 출장을 마치고 복귀했다. 몇번 가지도 않았지만 뱅기타고 가는 출장에서는 풀어내야할 꺼리들이 한가득이었다.  그리고 시간도 부족했다.  일에 대한 압박감도 있고, 제대로 되지도 않는 영어로 이야기를 하자니… 출장가서 잠을 제대로 못자는건 단순히 시차 적응 실패가 가장 큰 원인이겠지만 이런 류의 스트레스도 한몫을 한다고 본다. 이번 출장은 좀 다른 목적을 가지고 있었다.  썬더돔(Thunderdome)이라는 회사 내부에서 하는 핵커톤 …

Continue reading ‘Thunderdome – 개발자의 재미, 개발하기’ »

git의 ssh key 설정하기

추가하는 방법은 git의 사용자 셋팅에 SSH Key추가하기를 하면 되는데… https://help.github.com/articles/generating-an-ssh-key/ 이미 예전에 추가를 해놨음에도 불구하고 왜 맥 터미널에서 자꾸 passphrase를 입력하라구 물어보는거야!! 와중에 이전에 입력해둔 문구를 까먹었는데!!! 별다른 방법이 없다. 다시 만들고 등록해두는 방법 밖에는. 다 하고 다음 명령어로 넣어두면 이후에는 안물어볼 것 같다. Share List