본문 바로가기

전체 글

자바 세상의 빌드를 이끄는 메이븐 지금 근무하는 회사는 공공기관 프로젝트를 한다. 그래서 전자정부 프레임워크를 쓰고 있으며 내가 관리하는 시스템이 조금 오래 되었다. 프로젝트 설정이 메이븐으로 되어있다. Jenkins를 이용하여 빌드를 하려니 Maven을 좀 알아야 했다.북부도서관 보관서고에 있는 누렇게 된 책을 빌려서 읽었다. 저자에게 편지를 쓰고 싶을 정도로 좋은 책이였다. 10년이 지난 책이고 이제는 gradle이 메이븐의 자리를 차지하고 있지만 일단 저자가 책을 쓴 이유가 너무나 고마웠고 책의 내용이 하나하나 자신의 지식을 뽑내려고 한다기보다. 자신을 통해서 다른 개발자들은 삽질을 하지 말았으면 하며 세세한 곳까지 긁어가며 가르쳐주는 방식이 너무 좋았다. 숲에서부터 나무를 타고 내려가는 방식이나 전개 등이 정말 선배가 나에게 자신.. 더보기
만들면서 배우는 클린 아키텍처 헥사고날 아키텍처 관련 스터디를 하며 읽게 된 책이다. 헥사고날 아키텍쳐를 보면서 가장 고민되었던 것이 각 계층(어댑터/포트)간의 데이터 모델을 어떻게 처리할 것인지? 이부분에 대한 정확하게 짚어주며 이야기하는 책이 없어서 알송달송하였는데, 이 책이 그부분을 확실히 집어주었다. 그 외도 많은 부분이 실용적인 이야기를 하고 있었고 너무나 많이 와 닿았다. 정리를 한다고 한번더 정리를 하며 뒤적거렸는데, 책이 얇아서 정리하며 다시 또 읽게 되었다. 두번쨰 읽으면서 다시 눈에 띈 것은 객체지향에 관련 책을 읽으며 이 책 정말 내용이 좋다. 라는 생각을 했던 책이 있다. '객체지향 사실과 오해'라는 책인데 그 책의 저자 조영호님이 추천사를 쓴 것을 보며 더 흐뭇했던 것 같다. 더보기
클린아키텍처 헥사고날아키텍처를 스터디하며 도메인 주도 설계와, 클린아키텍처 등을 주제로 하는 책을 같이 겸해서 보았다. 클린아키텍처는 가지고 있떤 책인데 왜 안읽었을까? 하는 생각을 하며 책장을 넘기는데, 중간중간 줄을 쳐가며 읽었던 흔적을 발견하였다. 최근 나에게 무슨일이 있었던 것인가? DDD와 클린아키텍쳐 관련 책 2권이 모두 줄쳐가며 읽었는데 내용이 회상이 되지 않는다. 그래서 다시 쭉다 읽었다. 더보기
단위 테스트(Unit Testing) 정말 좋은 책을 만났다. 테스트를 이렇게까지 심혈을 기울여 바라보는 관점과 진입부터 시작하여 깊은 내용으로 이어지는 설명의 명료함에서 소설을 읽듯이 다 읽어버렸다. 단위테스트의 정의부터 시작해서 목표까지 정확하게 설명해주고 실용적인 접근을 어떻게 하는지 가이드를 해주고 있다. 더불어 테스트의 격리문제에 대해서 2가지 입장(고전파, 런던파)의 풀이를 정확하게 설명해주고 있다. 대부분의 개발서적은 이게 좋은 방법이다라는 수준으로 설명을 하는 편이나 이 책은 명확하다. 이것이 좋다고 생각할지 모르지만 이부분에 대해서는 이게 더 좋다. 왜냐하면 이렇기 때문이다. 라고 주장을 정확하게 펼친다. 이런 내용이 오히려 독자들에게는 좋다고 생각한다. 모호한 입장에서 이것도 좋고 저것도 좋지만 이게 좀더 효율적입니다. 라.. 더보기
소프트웨어 공학 에센셜 대학원과정 과목으로 선택한 과정 소프트웨어공학, 병렬컴퓨팅 수업을 들어가기전에 영어교재를 보다 너무 진도가 안나가서 일단 한국어 일반 교재들부터 한번 쭉 훝는다는 생각으로 도서관에서 보았다. 소프트웨어 공학에 관심이 많아서 다른류들의 책도 애법 보았는데, 여태까지 본 책들 중에서 가장 쉽고 많은 부분에 대해서 방대한 부분이 잘 설명된 것 같다. 많은 개발자들이 소프트웨어 개발을 하면서 개발이라는 행위가 연구의 과정이라고 생각을 한다. 어떤 기능이나 부분을 연구할 수는 있다. 하지만 사용자의 사용을 목적으로 한 소프트웨어라면 그 코딩 과정이 연구가 되어서는 안된다고 생각한다. 프로젝트에 들어가는 코드가 개발자 개개인이 연구를 통하여 무엇인가를 창조해내는 것이 되면 소프트웨어 개발과정을 예측하고 통제하고 관.. 더보기
테스트 주도 개발 최근 스터디 주제로 사용하게 되어 읽었다. 아주 오래전에 샀었고 읽었던 기억이 있는데 스터디를 한다고 다시 읽게 되었다. 너무나 충격적인 것은 예전에 읽었을 때 기억이 하나도 나지 않는 다는 것이다. 분명 TDD를 알게 되고 이후로 TDD관련 책을 여러권을 사봤는데 그 책들은 봤다는 기억도 있는데, 이 책은 왜 아무 기억이 나지 않는 걸까? 당시 나에게는 너무 어려웠던 것일까? 1부. 화폐예제 Money클래스를 만들며 TDD를 적용하는 과정을 실제로 예시 설명을 한다. 2부. xUnit예시 xUnit을 파이썬으로 실제 구현을 하면서 TDD를 조금 더 깊게 이해하도록 노력하고, 이 과정을 수행해 볼 것을 적극 권장한다. 3. 테스트주도 개발의 패턴 각종 개발이나, 디자인패턴, 리펙토링에 대한 저자의 시각과.. 더보기
소프트웨어 스펙의 모든 것 '소프트웨어 개발의 모든 것', '글로벌 소프트웨어를 말하다' 두책을 감명깊게 읽은 적이 있다. 오랜만에 저자의 블로그를 들어가니 너무 오랜만에 들어간 것일까? 새책이 나왔다는 사실을 알게 되었다. 망설임 없이 바로 주문을 하였고 주말을 통해서 다 읽어보았다. ‘소프트웨어 개발의 모든 것’, ‘글로벌소프트웨어를 말하다’ 이라는 두 책을 읽고 많은 것을 깨닭을 수 있었다. 당시 내가 가진 지식에서는 소스서버의 운영 및 이슈관리가 필요하다 정도의 지식이였는데 소프트웨어 개발의 전반이 어떻게 운영되고 관리되는지 소스관리에서부터 이슈관리 배포의 자동화 등에 대해서 망라하는 이야기였다. 정말 무릎이 탁 쳐지는 내용이였고 한줄기 빛을 주는 내용이였다. 이제는 그런 관리가 상위 티어의 IT회사에서만 하는 것이 아니라.. 더보기
L.I.N.E ! (줄맞추기) 여러 사람들이 개발한 소스를 보면서 한가지 특징을 몸에 채득하고 지내고 있다. 주위 개발자들에게도 자주 이야기를 했던 내용이다. 내가 여태까지 본 개발 소스중에서 줄이 잘 맞춰져 있는 소스일 수록 코드의 퀄리티가 좋았다. 소스코드의 줄 맞추기를 하지 않고 어떤 부분은 두칸 띄우기 어떤 부분은 세칸 띄우기 어떤 부분은 1줄 비우기 어떤 부붑은 2줄 비우기 등 규칙성이 없이 짜여진 소스의 퀄리티는 대다수가 좋지 않았다. 보통 줄맞추기가 형편 없을 수록 변수명이나 로직자체도 형편 없이 진행되는 경우가 많았다. 왜일까? 소스코드를 잘 짠다는 것은 읽기 좋게 짠다는 것이다. 읽기가 좋으려면 일단 기본적으로 들여쓰기 내쓰기 줄 바꿈이 규칙적이고 일목요연하게 되어있어야 한다. 그렇지 않으면 뇌는 혼선을 가지게 된다... 더보기