엔터프라이즈 자바 마이크로서비스 - JVM 기반 대규모 애플리케이션을 마이크로서비스로 설계, 구축, 관리하는 기술
켄 피니건 지음, 오현석 옮김 / 한빛미디어 / 2019년 7월
평점 :
절판


마이크로서비스라는 단어를 많이 들어보기는 했는데, 실제로 업무에 활용할 일이 없어서 전체적인 개념을 이해하고 있지는 못했다. 


책은 전형적인 엔터프라이즈 자바 아키텍쳐에서 시작해서 그것이 왜, 어떻게 복잡해졌는지를 보여주고 그로인한 문제점이 무엇인지 확인 하는 것으로 시작 한다.


그리고 마이크로서비스가 무엇인지, 마이크로서비스들로 이루어진 분산 아키텍처가 무엇인지 또한 어떤 이점이 있는지에 대해서 설명을 이어 나간다.


1장의 마지막에서는 마이크로서비스로 마이그레이션 할 때 사용할 수있는 패턴들에 대해서 이야기 하고 있는데, MSA 에 대한 전체적인 그림을 파악 하려면 1장만 읽어도 될듯 하다.


2장 부터는 실제로 카얌베 모노리스라는 애플리케이션을 마이크로서비스로 마이그레이션 하면서 마이크로서비스를 엔터프라이즈 자바로 개발하는 방법에 대해 배운다.


5장은 클라우드 개념 및 클라우드안에서의 개발에 대해 개념이 별로 서있지 않아서 많이 어려웠다.


좀 건너뛰어 9장을 재미있게 읽었는데, 키클록이라는 사용자 식별과 접근 관리를 제공해 주는 오픈소스 프로젝트를 소개 하고, 이것으로 마이크로서비스에서 사용하는 것에 대한 내용을 다룬다. 


“마이크로서비스에 필요한 것이 무엇이든 (인증, 권한 부여 또는 둘 다) 설계 단계에서 보안을 고려해야 한다. 미루고 미뤄서 마지막에 다룰 수 있는 것으로 보안을 간주해서는 안된다” 라는 문구는 인상적이다.


책을 읽으면서 예전에 봤던 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기 (https://www.slideshare.net/balladofgale/spring-camp-2018-11-spring-cloud-msa-1) 를 다시 한번 봤는데, 예전에 전혀 모르겠던 내용이 조금은 더 이해되는 느낌이기는 했다. 


MSA 에 대해서 전혀 모른다면 1장 정도는 꼭 읽어보길 권하고 싶다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
학교에서 알려주지 않는 17가지 실무 개발 기술 - 문자열 인코딩부터 웹 필수 지식까지
이기곤 지음 / 한빛미디어 / 2020년 4월
평점 :
장바구니담기


공부를 처음 시작할 때 부터 지금까지,  개발에 관한 모르는 용어나 기술은 줄어들지 않고 있다. (오히려 계속 늘어가고 있는 실정이다.) 


보통 무언가 작업을 하다가 모르는 내용이 나와서 막히면 구글신의 은혜를 입기 위해 크롬을 키기 마련이다. 다만, 제대로 정리된 내용을 찾아내고 그걸 또 이해하는 것은 온전히 나의 몫이다.


더욱이 시작한지 얼마 안된 상태에서는 무엇을 먼저 찾아야 할지도 모르는 경우가 수두룩 하다.  그래서 간단하게 나마 여러가지 기술을 소개 하는 책에 대한 요구가 있어 왔고 이미 그런 책들을 많이 보아 왔다.


“학교에서 알려주지 않는 17가지 실무 개발 기술” 은 실제로 실무에서 사용 하는 여러가지 기술에 대한 내용을 소프웨어를 지탱하는 기술, 데이터 처리 기술, 웹을 지탱하는 기술 이라는 3가지 파트로 나누어 17가지의 기술을 설명 하고 있다.


기술에 대한 레퍼런스 북이 아니라, 소개서나 입문서의 포지션을 지니고 있기 때문에 자세한 내용은 설명하지 않는 것도 많이 있지만, 설명 자체가 군더더기 없고 깔끔해서 읽으면서 딱히 막히는 부분이 없었다.


그리고 요즘 많이 사용 하고 있는 파이썬 언어로 간단한 예제를 작성하여 보여주기 때문에 때론 뜬구름 잡기가 될 수 있는 부분에 대한 설명도 구체적으로 보여 주고 있다. (책을 읽으면서 각자 사용하는 언어별 예제를 작성해 보는 것도 재미있을 듯 하다.)


기본이 되는 기술들에 대한 개략적인 이해를 배우고, 사용하는 언어별로 내용에 대항하는 라이브러리나 기술 등을 찾아서 공부 하는 로드맵을 스스로 그리다 보면, 개발 실력이 어느순간인가 일취월장 해질 것으로 기대 된다.


신입 사원이 들어 온다면 꼭 한권 선물하고 싶은 책이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
리팩터링 2판 (리팩토링 개정판) - 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기
마틴 파울러 지음, 개앞맵시 외 옮김 / 한빛미디어 / 2020년 4월
평점 :
장바구니담기


실력없는 개발자만화 - 똥똥배 (https://bit.ly/3bPgO6I)


만화에서 하고자 하는 이야기랑은 좀 다르긴 하지만, 저기서 나오는 전 개발자가  실제로는 대부분 나다. 


짜놓은지 며칠만 지나도 기능 추가 등을 위해서 열어보면 어떻게 이렇게 엉망진창으로 해놓았지라고 생각할 경우가 많다. 생각해 보면, 여러가지 이유로 일단 돌아가기만 하게 하자 라고 하고 작성한 코드들을 나중에 쳐다 볼 때 더욱 그랬다. 


심지어 이건 과거의 이야기가 아니고 현재 진행형이다....


알아보기 쉽고, 좋은 코드를 작성하는 것에 대한 책이 여러가지 있지만, 그중 가장 유명한 책이 리팩터링이다. 


리팩터링 책이 (원서 기준으로) 20년 만에 2판이 나왔다. 원서 기준으로 20년 만의 개정판이라니 대단하다. 개작을 할 수 있는것도 대단하고, 이 책이 아직도 읽히고 팔린다는 것이 대단하다.


리팩터링이란 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법이다. 그리고 한다고 표시가 나는 것도 아니고, 기능이 달라지는 것도 아니고 (달라지면 안되지), 성능이 좋아지는 것도 사실 아니다.


책에서도 이야기 하지만, 리팩터링을 해야하기 때문에 일정을 빼야 한다고 실제로 윗사람에게 이야기를 하면 잘돌아가는 프로그램을 괜히 건드려서 오류가 나면 어떻게 할거냐, 공연한 시간낭비를 하지 마라 라는 소리를 듣기 쉽상이다. 


그럼에도 불구하고, 저자는 다음과 같은 이유로 리팩터링을 해야 한다고 한다. 


- 코드를 건강한 상태로 유지하는데 도움을 줄 수 있다. 

- 소프트웨어 설계가 좋아진다 (아키텍쳐를 충분히 이해하지 못한 채 단기 목표만을 위해 코드를 수정하다 보면 기반구조가 무너지기 쉽다.) 

- 소프트웨어를 이해하기 쉬워 진다. 

- 버그를 쉽게 찾을 수 있다. 

- 프로그래밍 속도를 높일 수 있다. 


그리고 리팩터링을 하는 것은 내가 작성하는 코드를 개선 하고 싶고, 좀더 나은 개발자로 성장하고 싶다면 꼭 해야 한다고 생각 한다. 모든 기능을 지속적으로 개선해나가는 의지를 가지는 것은 자신의 성장에 크게 도움이 된다고 생각 한다. 


책은 순서대로 리팩터링은 무엇인지, 언제 또 왜 해야하는지, 어떻게 해야하는지를 알려 주고 있다. 그리고 언제 하지 말아야 할 지 까지. 


나의 경우 2장까지는 주욱 한번에 보았고 3장 부터는 코드를 쳐다 보다가 이걸 어떻게 개선할 방법이 없을까 할 때 찾아서 보고 또 보고 하고 있다.  


작성된 코드를 리팩터링 할 때 마다, 프로그램의 성능이 좋아지지는 않을지라도 내머리속 성능은 좀나아지는거 같기는 하다. 


내가 짠 코드 보고 내가 욕을 안하는 그날 까지 리팩터링은 계속 된다.


댓글(0) 먼댓글(0) 좋아요(4)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
출판사가 OK하는 책쓰기 : 악마 편집자가 신랄하게 알려준다! - 책 기획, 책 쓰기, 글쓰기, 마케팅, 저작권을 한 권에
최현우 지음 / 한빛미디어 / 2020년 2월
평점 :
장바구니담기


바쿠만이라는 만화가 있다. 만화가를 꿈꾸는 콤비가 중학교 때 부터 출판사에 원고를 제출하기 시작하여 잡지에 연재를 하고 결국에는 히트작가로 성장 한다는 내용이다.


작가로 성공 하기 까지의 과정에서 가장 중요했던 요소 세가지는 주인공의 재능과 노력 그리고 좋은 편집자와의 만남이었다.


스토리를 짜고 만화를 그리는 재능이 있었던 주인공을 편집자는 만화 세계의 현실에서 부터 어떤 독자가 읽는 만화를 그릴 것인지 그리고 잡지 데뷔와 단행본 출간에 이르는 긴 과정을 함께 하며 아마추어에서 프로 작가로 성장 하게 한다.


오늘 소개할 이 책에서 이른바 악마편집자는 책을 쓰고 싶어하는 사람에게 필요한 거의 모든 내용을 짧지만 확실하게 압축하여 보여주며 책을 출판 하는 작가가 되는 방법을 설명 한다..


  1. 왜 써야 하는지 생각하기 부터 시작하여 (자기브랜딩)

  2. 글을 쓸때 지켜야할 내용

  3. 누구에게 팔 것인지에 대한 마케팅적 접근

  4. 실제 원고 작성에 대한 예시

  5. 출판 이후 프로세스 

  6. 저작권과 계약


처음 접하는 분야이기에 모든 부분이 새로웠고 흥미로웠지만 실제로 글을 작성하는 부분에 대한 내용이 개인적으로 항상 고민하던 부분이었기에 특히 재미있었고 도움이 되었다.


p.106 용어표 만들기

왜 용어표가 필요한지 설명한다. 무슨 글이든 쓰다보면 앞에서 쓴 단어와 뒤에서 쓴 단어가 달라지는 경우가 생기는데, 이런 실수를 대비 하여 용어표가 필요 하고 용어표를 어떻게 작성할 것인지에 대한 내용이 나온다.


p.152 본문을 쓰는 나만의 4원칙

본문을 작성하는 원칙 4가지를 제시한다.

첫번째 원칙은 “두괄식으로 설명하라”.


“설명만 주저리주저리 많고 정의를 제시하지 않는 이유는 본인도 모르기 때문이다.”


이부분이 확실하게  와닿았다. 모르면 설명할 수 없다.


p. 174 외국어 우리말 표기 원칙

따로 공부를 하지 않으면 잘 모를 수 있는 외국어로 된 용어를 사용하는 부분에 대한 설명이다. 온통 영어로된 용어를 사용하는 IT 에서 무슨 설명서라도 하나 작성하려고 하면 이 용어를 원어로 써야하는지 한글로 써야하는지 고민할 때가 많다. 이런 부분에 대한 설명이 잘 되어 있다.


p. 175 흔한 번역투 TOP 12

읽다 보니 내 글쓰기가 얼마나 잘못되었는지 알 수 있었다.


p. 199 비문을 방지하는 비법

“문장을 짧게 쓴다.”

비법이다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
최고의 아빠가 알려주는 1등 코딩, 스크래치 - 2019 SW 교육 정규 과목 채택/저자 카페 서비스 제공
김종훈 지음 / 한빛미디어 / 2019년 9월
평점 :
장바구니담기


초등학교에서 수업시간에 코딩 교육을 한다고 한다. 5,6학년 2년을 합쳐 17시간이니 그리 많은 시간을 할애하는 것은 아니지만, 정규 교육 과정에 코딩이 들어간다는 것 자체가 큰 의미가 있는 것 같다.


그런 흐름을 타고 코딩 학원이나 코딩에 관한 책 들이 마구 쏟아져 나오고 있다. 제일 많이 사용하는 것이 스크래치와 엔트리이다. 하지만 일시적인 유행이나 흐름을 타고 그저 상품을 팔아먹기에만 급급한 것이 현실인듯 하다.


이 책의 저자이신 김종훈 교수님은 이런 유행이 있기 한참 전 부터 초등학생 및 초등교사를 위해서 스크래치 강의를 해오신 분으로 , 책을 통해서   단순한 스크래치 사용법 뿐만 아니라 코딩교육의 실제 목적인 문제해결 능력과 창의성을 기를 수 있도록 하고 있다.

책은 기본적인 스크래치에 대한 설명과 스크래치를 사용 하여 프로젝트를 만드는 방법으로 시작 한다.


스크래치에 대한 첫 인상은 생각보다 쉽지 않지만, 그렇다고 또 어렵지는 않다는 점이다. 각각의 동작이나 제어, 이벤트에 관한 블록을 선택하고 끌어다 연결하여 일련의 동작을 만들어내는 것은 실제 타이핑을 하지는 않지만 의사코드를 사용하여 프로그램을 하는 것과 비슷하다는 생각이 들었다. (굳이 제일 비슷한 것을 찾아 보자면 파워포인트에서 애니메이션 순서를 정하고 꾸미는 것이 가장 비슷해 보인다.)


의사코드를 사용해서 프로그램을 할 때는 머리속으로만 결과를 예상하는 방식으로 문제를 해결 해야 하는데, 스크래치에서는 실제 화면의 스프라이트를 동작시키는 방식으로 결과를 보여 주기 때문에 좀더 직관적이고 편하기는 하다.


책에서는 스크래치 뿐 아니라 코딩을 할 때 일반적으로 알아야 하는 개념인 변수, 리스트, 재귀 등에 대한 설명도 담고 있다. 초등학교 학생에게는 어려운 단어 인거 같기도 하지만 필요한 만큼의 설명을 최대한 친절한 방식으로 알려 주고 있다.


코딩을 처음 시작하는 초등학생이 바로 보기에는 약간 힘들어 보이기는 하지만, 코딩을 처음 시작하는 엄마나 아빠와 함께 읽으며 같이 입문하기에는 참 좋은 책이다. 다만 책띠의 카피문구는 사실 좀 낯간지럽기는 하다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo