기본 콘텐츠로 건너뛰기

글

지옥에서 걸어나와 정글에서 살아가는 저자가 말하는 "혼자 일하는 즐거움" - 이동우

출간일 : 2016년 8월 8일 320쪽 | 570g | 152*215*30mm ISBN-13 : 9788901213132 ISBN-10 : 8901213133 정말 오랜만에 책에 대한 리뷰를 올리는 것 같습니다. 작년 신간으로 소개될 때부터 관심을 가졌던 책을 결국 읽게 되었네요. 관심을 가진 것은 순전히 제목 때문이었습니다. 당시 회사에서도 팀에 소속되어있지만, 항시 혼자 일하고 있다는 느낌이 있었고, 집에서는 개인 프로젝트를 혼자 진행하고 있어서 혼자 일하는 것은 어떤 것일까 하는 생각을 하던 때였습니다. 당시 거짓말같이 내 생각과 고민을 제목으로 한 책이 나왔던 것! 그런데, 그 책을 이제서야 읽게 됐네요. 하하하~~. 이 책을 읽으면서 찾아보니 10분 독서(http://www.10book.kr/)의 컨텐츠를 만들고 있는 이동우컨텐츠연구소의 이동우 소장(1인 회사이니만큼 소장님이면서 대표님이시겠죠?)님이 쓰신 책입니다. 책을 보니 동영상 리뷰의 전 과정을 홀로 하고 계십니다. 또한, 저자의 약력(?)이랄까 살아오신 과정을 보면 이 포스트의 제목처럼 지옥에서 걸어 나와 정글에서 살아가고 있는 1인 회사의 사장님이시자 실무자로서 최선을 다하고 있는 분입니다. 작년 8월 이후 꽤 시간이 지난 최근에 이 책을 구매하게 된 것은 제 상황에 약간의 변화가 있었기 때문입니다. 저자의 말을 빌리자면 이제 회사의 테두리를 벗어나서 정글로 나오게 된 것이지요. 정확하게는 혼자 일하게 된 것은 아니긴 하지만 앞으로 꽤 긴 시간을 혼자서 작업을 하게 된 상황입니다. 각설하고 아무튼 상황이 혼자 일을 하게 되다 보니 예전에 본 적이 있는 이 책을 한번 읽어보고 싶어서 사게 됐고 후다닥 읽게 된 것이지요. 제목만을 보고 약간의 편견이 있었나 봅니다. 일반적인 자기개발서들이 그렇듯이 이 책도 혼자 일하려면 "이런 것이 문제다", "이런 것을 챙겨라",  "이런 것을 조심해라", ...

드디어 JDK9이 Feature Complete을 하고 Ramp down phase로 들어간다고 합니다.

매일 아침에 일어나서 출근하기 전에 하는 일 중에서 가장 중요하게 생각하는 부분은 뉴스리더 중에서 출근길에 읽을만한 주요 기사를 선정하는 것이 있습니다. 토요일이라고 해서 크게 다르지 않아서 일단 밤사이에 들어온 100여 개 뉴스리더 리스트 중에서 당장 읽을만한 것을 추려서 먼저 읽는데 오늘은 매우 중요하고 큰 내용이 있어서 아직 다 읽지 못한 상황에서 우선 블로그에 기록부터 해 보려고 합니다. JDK 9 Is Feature Complete! 그동안 여러 가지 글들을 통해서 JDK 9의 기능이나 개선내용에 대해서 읽기는 했지만, 너무 많은 정보가 있다 보니 사실 건성으로 보고 있었는데, 드디어 JDK 9이 Feature Complete을 했네요. 이제 Rampdown phase로 진행한다고 합니다. 기사 내용의 마지막 부분을 읽어보면 이제 버그 수정과 약간의 기능개선이나 사용성 향상을 위한 수정이 있을 예정으로 보입니다. 앞서도 언급했듯이 아직 세부내용을 본 것은 없지만, 리스트만 봐서도 몇가지 관심가는 부분들은 있네요. 워낙 그동안 건성으로 봐와서 Modularity 부분을 제외하고는 나머지는 전부 새로운 내용이네요. Modularity를 제외하고 당장에 리스트에서 눈에 들어온 부분은 다음과 같습니다. 193: Variable Handles  222: jshell: The Java Shell (Read-Eval-Print Loop) 264: Platform Logging API and Service 224: HTML5 Javadoc 110: HTTP 2 Client (and begin replacing "the legacy HttpURLConnection API") 236: Parser API for Nashorn 289: Deprecate the Applet API 292: Implement Selected ECMAScript 6 Features in Nashorn 251: Multi-Resolution ...

[Webinar 정리] Awesome tools to level up your Spring Cloud architecture

개요 Webinar 시청 URL :  https://goo.gl/EVU5Za   (회원가입이 필요) Slide URL :  http://www.slideshare.net/SpringCentral/awesome-tools-to-level-up-your-spring-cloud-architecture-pivotal-webinar-2016-final/1 우리나라 시간으로 2016년 11월 9일 새벽 3시부터 1시간가량 진행이 됐던 Webinar입니다. 제목에서도 알 수 있듯이 대부분 개발툴과 Devops Tool에 대한 간단한 소개 형식이었네요. 물론, 새벽 3시에 본방사수를 외쳤습니다만, 3시에 일어났다가 틀고 잠이 들어서 결국 끝 10분만 봤습니다. 그래서 본방사수는 놓쳤고 나중에 보고 정리한 내용입니다. Webinar이고 영어다 보니 거의 알아들을 수가 없었습니다만(이럴 땐 영어를 못 하는 것이 아주 아쉽습니다) 프리젠테이션과 데모로 대충만 알아들었습니다. Webinar 사이트에 들어가 보시면 관련 자료가 엄청나게 많이 링크로 걸려있습니다. 해당 내용을 다 확인하려고 해도 엄청난 시간이 필요하겠네요. 여기에는 Webinar 진행 중에 나왔던 다양한 Tool 중에서 관심이 있는 내용에 대해서 주로 정리를 해 볼까 합니다. 아래 Tool들의 대부분은 Spring Cloud(특히 Eureka Discovery Server)가 필수이거나 있어야 효용성이 늘어난다는 것을 염두에 두시고 보시기 바랍니다. Monitoring And Dashboard Tools 1. Spring Boot Admin Project URL :  https://github.com/codecentric/spring-boot-admin \ Reference Guide :  http://codecentric.github.io/spring-boot-admin/1.3.0/ Webinar 내용...

Semantic Versioning 2.0.0 에 대한 자료 정리

Gradle이라던가 Maven을 이용한 빌드 시스템을 구축하고 NEXUS 등의 리포지터리를 이용하고 Git 을 쓰면서 개발을 하다 보면 예전에는 별로 관심이 없었던 개발하고 있는 시스템의 버전관리에 대한 생각을 하게 되더군요(최소한 저의 경우는 그랬습니다) 혹시라도 공통 라이브러리 패키지가 있을때는 공통 라이브러리에 대한 버전관리가 예전부터도 중요하게 생각되었었지만, 최근에는 이 공통 라이브러리 패키지를 이용하지 않는데도 버전관리가 예전보다 더 중요하게 생각이 됩니다. 다른 부분들은 그렇다 쳐도 Git을 이용해서 형상관리를 하는 경우에는 특정 커밋에 태깅을 해 놓는 것이 나중에 해당 버전의 상태를 추적하는데 매우 편리한 도구가 될 수 있습니다. 버전관리에서 최근 가장 많이 쓰는 방식이 Semantic Versioning 이라고 하는 것이 아닐까 생각합니다. 최근이라고 하지만 사실 예전부터 많이 사용됐었고 Semantic Versioning 이라는 개념을 몰라도 일반적으로 비슷하게 사용하는 x.y.z이라는 Major.Minor.Patch 방식의 버전관리입니다. 예를 들어 "릴리즈 최초버전은 1.0.0이다" 가 바로 Semantic Versioning(줄여서 semver 라고도 하더군요) 입니다. 다른 내용에 대해 검색을 하다가 우연히 해당 Semantic Versioning 에 대한 공식 문서를 찾았습니다. semver 는 일반적으로 Public API에 대한 버전관리에 대해서 설명을 합니다만, 일반적인 프로그램에도 같게 적용될 수 있습니다. 결론적으로 가장 중요한 내용을 정리한다면, 기존 버전과 호환되지 않게 변경을 했다면 Major 버전 기존 버전에 새로운 기능이나 호환이 가능한 수정을 했다면 Minor 버전 기존 버전의 버그에 대해서 호환 가능하게 수정을 했다면 Patch 버전 (해당 버전) 부분을 하나씩 증가시킨다는 규칙을 말합니다. 일반 서비스를 개발하시는 분들의 경우는 조금 다를 수도 있겠네요....

개발자들의 기술에 대한 오만에 대해서...

최근 며칠간 회사일로 약간의 혼란상황이 있었습니다. 많은 부분 정리가 되긴 했지만, 아직 조금 더 시간이 걸리듯 하네요. 최근 블로그를 쓰지 않고 있었던 것은 다른 일로 좀 바빴기 때문인데, 역시 이것도 시간이 많이 필요해 보입니다. 오늘은 잠시 추석을 앞두고 휴식도 가질 겸 기술이 아니라 기술에 대한 생각들을 한번 이야기해볼까 합니다. 추석에는 다른 작업을 또 열심히 해야 하기에... 그동안도 몇 번 블로그에 정리하고 싶었습니다만, 저 자신도 부족한 것이 많은데 괜한 잘난 척이 되지 않을까, 몇 번이나 쓰기를 망설였던 내용입니다. 그 내용은 개발자들이 흔히 범하는 기술에 대한 오해에서 오는 오만에 대한 것입니다. 최근 면접을 위해 이력서를 보거나 다른 회사의 제안서를 검토하다 보면 애자일 방법론이라던가 도메인 주도개발이라던가 테스트 주도개발을 강점으로 내세우는 경우를 많이 보게 됩니다. 또한 머신 투 머신(이런 용어가 어디에서 나온 것인지 좀 궁금합니다만...)의 인터페이스를 이용한 개발방법론이라는 것도 보게 되더군요. 아마도 EIP(기업 통합 패턴, Enterprise Integration Pattern)을 말하는 것이거나, 마이크로서비스 아키텍트의 사촌쯤 되는 게 아닐까 생각해 봅니다. 심지어 위 기술들에 대한 전문가라고 칭하는 사람들도 보이더군요. 너무나도 당연히 해야만 하는 테스트주도 개발(제 주관적인 생각입니다)을 제외하고 다른 부분에 대해서는 좀 생각을 해봐야 하는 것이 아닌가 합니다. 위에 기술한 것들이 참 좋은 것들이고 올바른 트랜드라고 생각을 합니다만... 좀 더 깊게 한번 생각해 보겠습니다. 애자일 방법론의 핵심이 무엇일까요? 애자일 매니페스토의 한글 번역본은 이렇게 시작합니다. 우리의 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다. 이 뒤로도 주옥같은 많은 원칙이 나옵니다만, 저에게 애자일의 가장 핵심은 위의 내용입니다. 몇 개월이 지나도록...

npm, bower, gulp 를 이용한 웹 클라이언트 개발 환경 구축

서론 포스트를 작성해놓고 다른 소스들을 보다 보니 뭔가 문제가 많은 포스트네요. 포스트를 내릴까 하다가 어차피 제가 나중에 보려고 정리하는 포스트들인 것을 생각해서 일단 놔두려고 합니다. 개발 환경 관련 좀 더 나은 소스를 원하시는 분들은  https://github.com/angular/angular-seed  의 소스를 확인하시는 것이 더 현명한 선택이지 싶습니다. (2016/07/07) 그동안 Spring-cloud를 기반으로 마이크로서비스 아키텍처 구성과 관련된 포스트를 작성하다가 왜 갑자기 웹 클라이언트 개발 환경 구축인가 뜬금없다고 생각하시는 분들이 많을 것 같습니다. 아직 마이크로서비스 아키텍처도 정리할 것들이 많이 남았는데, 갑자기 개인적으로 진행하던 프로젝트에서 목업을 만들어야 할 일이 발생했습니다. 그래서 목업이지만 그냥 생각 없이 만들지 말고 새로운 환경구성을 해보자 하는 생각으로 이 포스트의 내용이 시작되었습니다. 오래 생각할 시간이 없어서 급히 이리저리 알아보니 npm, bower, gulp를 이용해서 만들면 뭔가 괜찮은 구조가 나올 것 같다는 생각을 하게 되었습니다. 뭐 제가 정리하는 포스트 대부분이 그렇지만 이번 경우에는 특히나 짧은 시간에 공부하고 구성하고 정리하다 보니 약간은 이상한 구조가 나와버렸네요. 그래도 참고가 되면 좋겠습니다. 전체 소스는 언제나 처럼 Github 에 올려놓았습니다. Github Repository :  https://github.com/roadkh/blog-npm 사전준비사항 포스트가 npm, bower, gulp를 이용해야 하니 우선 설치를 해야 합니다. 간단하게 설명을 했습니다만, 자세한 사항은 각 항목의 링크를 클릭하세요. 각 모듈의 링크에서 보시고 환경에 맞게 설치를 먼저 진행해 주세요. node.js : npm, bower, gulp 모두 node.js를 기반으로 합니다. 우선 node.js가 먼저 설치가 되어있어야만 합니다. 아래...

구글의 미래 - 토마스 슐츠

출간일 : 2016년 05월 30일 376쪽 | 682g | 152*225*30mm ISBN-13 : 9791186805268 ISBN-10 : 1186805269 어제 드디어 구글의 미래라는 책을 다 읽었습니다. 출퇴근 시간에 읽기에는 조금 무거운(500g이 넘는 책은 무겁...) 책이지만 그래도 생각보다 빨리 읽을 수 있는 책이었네요. 책 무게뿐 아니라 내용도 좀 무거운 책이지만, 전체적으로는 동어반복이 계속되는 느낌의 책이기에 적당히 무시하고 읽으면 읽기에 그렇게 힘든 책은 아닙니다. 책의 해제(책의 저자, 내용, 체재, 출판 연월일 등에 대한 간단한 설명)를 쓰신 서울대학교 장병탁 교수님께서 이 책이 어떤 질문에 대해 답을 해줄 수 있는가에 대해 간략하게 2페이지로 정리해 놓으신 내용이 있습니다. (세상에! 간략하게 소개한 내용이 2페이지라고!!!) 하지만 제 나름대로 이 책을 생각해보면 결국 디지털 시대에 사는 우리가 앞으로 기술을 어떻게 바라봐야 하는가에 대해서 구글이라는 기술기업을 통해 생각해 보고자 한 것이 이 책의 핵심이지 않을까 생각합니다. 책을 간단히 소개해볼게요. 전반부는 구글이 탄생하게 된 배경이라던가 구글의 창업자 및 주요 인물들에 대한 설명으로 시작됩니다. 중반부와 후반부에도 각 부서의 핵심인물들에 대한 설명이 나오긴 하지만, 창업자 위주의 소개는 앞부분에 집중되어있습니다. 중반부는 구글이 알파벳이라는 지주회사 체제로의 변화를 꾀하게 된 이유를 현재 진행되고 있는 수많은 사업을 기준으로 해서 설명하고 있습니다. 후반부로 가면 구글이 사악한 기업인가 아니면 이상적인 혁신주의를 실행하고 있는 기업인가? 구글은 앞으로 더 커나갈 수 있는가 아니면 점점 쇠약해질 것인가? 구글이 현재 진행하는 수많은 혁신적인 프로젝트는 사람들을 더욱 풍요롭게 하고 구글을 구원할 것인가 아니면 그 반대가 될 것인가? 등등의 앞의 해제에서 정리한 각종 물음에 대한 저자의 생각과 주변의 시선을 정리해놓고 있습니다....