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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

책을 읽으면서 예전에 봤던 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기 를 다시 한번 봤는데, 예전에 전혀 모르겠던 내용이 조금은 더 이해되는 느낌이기는 했다. 

 

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

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

리팩터링 2판

리팩터링 책이 20년 만에 2판이 나왔다.

 

실력없는 개발자만화 - 똥똥배

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

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

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

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

 

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

 

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

 

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

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

 

- 코드를 건강한 상태로 유지하는데 도움을 줄 수 있다.
- 소프트웨어 설계가 좋아진다 (아키텍쳐를 충분히 이해하지 못한 채 단기 목표만을 위해 코드를 수정하다 보면 기반구조가 무너지기 쉽다.)
- 소프트웨어를 이해하기 쉬워 진다.
- 버그를 쉽게 찾을 수 있다.
- 프로그래밍 속도를 높일 수 있다.

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

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

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

 

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

 

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

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

작가로 가는 왕도가 있다.

 

 

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

 

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

 

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

 

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

 

  1. 왜 써야 하는지 생각하기 부터 시작하여 (자기브랜딩)
  2. 글을 쓸때 지켜야할 내용
  3. 누구에게 팔 것인지에 대한 마케팅적 접근
  4. 실제 원고 작성에 대한 예시
  5. 출판 이후 프로세스 
  6. 저작권과 계약

 

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

 

p.106 용어표 만들기

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

 

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

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

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

 

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

 

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

 

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

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

 

p. 175 흔한 번역투 TOP 12

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

 

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

“문장을 짧게 쓴다.”

비법이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

파이썬 자료구조와 알고리즘

 

파이썬은 세계에서 가장 인기있는 프로그래밍 언어 중 하나 이다.

(2019 설문 기준으로 자바를 넘어 섰다. https://insights.stackoverflow.com/survey/2019

 

파이썬이 인기 있는 이유 중 하나가 일반적으로 사용 하는 언어와 닮아 있다는 점인데, 불행이도 한국어를 사용하는 사람에게 적용되는 이유는 아닌듯 하지만 그만큼 나의 생각을 코드로 표현하기가 쉽다는 점이 파이썬의 장점이며 강점이다. (특히나 초보자에게)

 

다만, 아무리 쉽다 하더라도, 단순한 문법을 배우는 것만으로는 프로그래밍언어를 가지고 원하는 내용을 만들어 내는 것은 쉬운 일이 아니다. 더군다나 자료구조라던지 알고리즘 이라던지 일반적인 말로 해도 알아듣기 어려운 내용에 대해서 새로 배운 언어로 표현하는 것은 생각보다 귀찮고 어렵고, 어떤 식으로든 필요한 내용을 찾아 볼 방법이 필요 하다.

 

보통은 블로그나 github 을 통해서 필요한 내용을 찾아보는 것을 주로 했는데, 이번에 읽은 “파이썬 자료구조와 알고리즘” 책은 그 역할에 딱 적당한 책이다.

 

일반적으로 보통 레퍼런스 북이라면 베게로 쓰기에 딱 적당한 두툼한 두께의 평소에는 거의 찾아볼일이 없지만, 일단 폼으로 한권 사 두고 정말로 필요할 때 한번정도 들춰보는 그런책을 상상하기 마련이지만, 이 책은 매우 얇은 두께의 적당한 판형으로 작은 가방에도 쏙 들어가는 사이즈이다. 

 

그럼에도 불구하고 파이썬의 자료구조에 대한 기본적인 내용 부터 파이썬을 사용하여 추상데이터 타입 (큐, 힙, 해시테이블 등) 을 다루는 방법 또한 정렬, 검색, 그래프 같은 내용까지 간단하게나마 전부 다루고 있다. (퀵소트나 레드 블랙 트리 등과 같은 내용에 대해서는 다루고 있지 않다.)

 

자료구조에 대한 기본적인 이해가 있고 파이썬을 공부하기 시작한 사람이라면, 한번 쭉 읽어두고 (그럴만큼 얇은 책이다.) 필요할 때 한번 더 필요한 내용에 대해서 찾아보면서 읽어 볼 수 있는 좋은 책이다.

 

나는 LINE 개발자 입니다.

딱히 개발에 관한 내용을 찾아서가 아니더라도, 블로그나 개발자 커뮤니티를 자주 들락거리는 것을 좋아 한다. 이유는 비슷한 직업의 사람들이 어떻게 살아가는지 이야기듣는 것을 좋아 해서 이다. 

많은 개발자 분들이 자기 이야기를 올려 주시지만 의외로 잘 정리된 이야기를 찾기는 어려운데, 심지어 하나의 회사에서 근무하시는 분들의 이야기를 책으로 엮어서 나온 것을 읽을 수 있는건 괜찮은 기회였다.

거기에 개발자 분들의 이야기 뿐만 아니라, “오픈소스매니저”, “테크에반젤리스트” 같은 생소한 일을 하시는 분의 이야기도 함께 들어있다. 특히 "개발자, 그들의 커리어에 대한 단상" 부분은 소프트웨어에 대해서 단순히 개발, 영업 두 직군 밖에 생각 하지 못했던 나의 짧은 안목을 넓혀 주기도 하였다.

커뮤니티에는 오늘도 “조언 부탁드립니다” 라는 글이 올라오고 있다. 가보지 않은 길에 대한 불안은 누구나 있는 것이고 그 길이 어제와 오늘이 다를 정도로 급변하고 있는 IT 분야라면 더더군다나 무엇을 어떻게 하면 좋을지 모르는 경우가 많을 것이다.

물론 라인이 모든 개발 하는 회사를 대변하는 것은 아니지만, 성공한 회사에서 어떻게 입사했고, 어떻게 근무하는지를 간접적으로 경험할 수 있게 하여, 조금이라도 자기 미래에 대한 청사진을 그릴 수 있게 하여, 책 머리에 팀 리드 분이 적어주신 것 처럼 개발자로서의 미래와 삶에 대해 고민하고 주저하는 청년들에게 도움이 되었으면 좋겠다. 

마지막으로 원하는 바라면, 이 기획이 시리즈화 되어서 경쟁적으로 기업들이 나는 “카카오” 개발자 입니다. 나는 “배민” 개발자 입니다 같은 시리즈를 마구 내주었으면 좋겠다. 

하지만 나는 “SI” 개발자 입니다. 이런건 조금 우울 하려나?

head first agile

  • 어서와 애자일은 처음이지?

 

 

애자일이 뭘까요?

  • 소프트웨어 팀이 특정 문제를 해결하는데 도움을 주기 위해 최적화된, 단순함을 유지해서 상대적으로 간단하게 개발하는 일련의 방법 또는 방법론

 

애자일이 인기를 얻은 이유?

  • 팀이 애자일에 적응하면 마감일을 지키기가 아주 쉬워진다

  • 소프트웨어 버그를 실제로 줄일 수 있다

  • 코드의 유지보수도 훨씬 쉬워진다

  • 사용자는 훨씬 만족 하고, 덕분에 모든 사람의 삶이 편해진다

  • 무엇보다 애자일 팀이 효과적으로 일한다면 합리적인 시간대에 퇴근할 수 있고 주말 근무를 할 필요가 없어지기 때문에 삶의 질이 개선 된다.

 

책에서는 애자일 선언문을 시작으로 애자일의 가치와 원칙에 대한 이해를 이야기 하고, 각 방법론 (스크럼, XP, 린/칸반)에 대한 개략적인 설명을 이어 나간다.

 

헤드퍼스트 책 답게 (헤드 퍼스트 시리즈를 매우 좋아함!) 지루한 설명을 이어나가는 것이 아니라 큰 주제어와 대화체 그리고 그림으로 이해하기 편하게 해준다.

 

PMI-ACP 시험 준비 부분에 관해서는 솔직히 관심 밖이라서 읽지는 않았는데, 시험 자체가 정해진 정답 외워서 찍는 것이 아니라 주어진 상황에 대한 이해와 실제 상황에서 팀이 애자일 도구, 기법, 개념을 어떻게 활용하는지를 잘 알아야 한다고 하니 관심 있는 분들께는 많은 도움이 될 듯 하다.

 

실제로, 나의 현업에서 애자일 방법론을 적용할 수 있을 지에 대해서는 미지수이지만, 수십년 전에 배운 (그보다 더 수십년 전에 개발된 ) 폭포식 소프트웨어 개발 방법론 이후 오래간만에 개발 방법론에 대해서 배워보고, 좀더 나은 개선을 위해 무엇을 할 수 있을지에 대해서 잠시나마 생각해 볼 수 있는 좋은 기회 였다.

 

http://aladin.kr/p/7b00x

 

아, 보람 따위 됐으니 야근수당이나 주세요 by 히노 에이타로 (지은이) / 양경수 (그림) / 이소담

일본 직장인들은 우리나라 직장인들처럼 노동시간이 길어 ‘과로사(Karoshi)’라는 일본어가 영어사전에 정식 등재될 만큼 권위적이고 경직된 직장문화 속에 노출되어 있다고 한다. 일본 직장인들의 ‘노동조건’에 ...

www.aladin.co.kr

책내용 보다 일러스트가 훨씬 유명해진듯한 그책

"고작 '일의 보람'을 위해 몸과 마음을 축내다니...... 너무 바보같지 않나"

 

* 덧

오우아 출판사의 다른책이 뭐있나 하고 검색해보다가 나온 책

http://aladin.kr/p/p8wM

 

천 번을 흔들려야 어른이 된다 by 김난도

대한민국에 멘토 열풍을 불러온 에세이 <아프니까 청춘이다>의 저자 김난도 교수의 에세이. 한국 출판 역사상 최단기간 밀리언셀러를 기록한 <아프니까 청춘이다>는 2012년 현재 국내 판매 200만 부 돌...

www.aladin.co.kr

아, 어른따위도 되고 싶지 않으니 흔들지 말라.

혼자공부하는C언어 - 때론 혼자 때론 같이

 

혼자공부하는C언어


- 서평시작

“처음 C 언어를 독학할 때 느꼈던 답답합을 생각하여 ‘처음 공부하거나 한 번쯤 실패 한 경험이 있는’ 독자를 기준으로 설명하고자 했다.” - 저자 인터뷰에서

나는 실패한 경험이 있는 걸까?
공부한 적은 있지만 실무 경험은 없다.

- 왜 C언어 인가?


“메모리 관리를 개발자가 직접 해야하는 언어를 공부하면서 실제 OS, HW 레벨에서 메모리 관리하는 법, 포인터 옮기는 법 등을 배우면서 메모리는 이렇게 관리되는구나, 이렇게 하면 메모리 누수가생길 수 있겠구나, 이래서 자바와 C#은 거의 모든게 포인터구나 하는 것을 느껴야한다. 

코딩을 하면서 이 코드는 이렇기 때문에 느릴 수 밖에 없구나(데이터 복사가 많이 일어남, 메모리 해제가 많이 일어남, 메모리 해제를 줄이기 위해선 어떻게 해야할까에 대한 고민 등)라는 생각을 할 수 밖에 없다. 이러한 개념없이 성장하는 개발자와의 성장속도 차이는 엄청날 것이다. ” 

- 포프tv (프로그래머로 살아남기 위해 필요한 언어 둘)  

라는 이야기를 듣고 다시금 C언어를 공부하고 싶어졌다.

그리고 예전에 리뷰했던 [실습과 그림으로 배우는 리눅스 구조] 책에서 나온 예제코드 중 잘 이해되지 않는 부분이 있어서 그렇기도 하다. 이책을 읽고 다시 복습할 예정이다.

- 캐릭터 


졸라맨 비슷한 캐릭터. 은근히 귀엽다.

- 포인터 포인터


책을 받고, 처음 페이지를 펼친곳은 9장 포인터 부분이다.
누구나가 이야기 한다. C언어는 포인터를 알면 끝이라고. 다만 어려울 뿐.
9장을 읽고15장 응용포인터 까지 단숨에 읽었는데, 의외로 쉽게 이해가 되어 놀라웠다. 물론 C언어를 공부한적도 있었지만, 하도 고리적의 이야기이고 포인터는 그냥 어려워 이렇게만 생각하고 있었는데 읽어가면서 별것 없네 라고 생각하고 있었다. 사실 개념 자체야 단순한 것이다. 그리고 “혼자공부하는C언어” 책은 단순하지만 복잡한 개념을 참 친절히도 잘 설명해 주고 있다.

- 친절한 설명과 그림의 예시


저자의 설명이 돋보이는게 이중 포인터를 설명할 때 의 그림을 보면 인터넷에서 이중포인터라고 검색했을 때 나오는 다른 설명들과 많이 비교가 된다.

이중포인터


- IF GOTO


“이런 의문이 든다면 9장을 다시 한번 살펴보고 오길 권합니다.” - p.421
공부를 하다보면 앞장 에서 진행했던 내용이 기억이 안나거나, 현재 장에서 나온 내용에 대해서 어디서 나왔는지 다시 한번 확인할 필요가 있는 경우가 있다. 

물론 이를 위해서 인덱스가 있는 것이지만 저자가 친절하게 이런식으로 어디를 다시 보고 오라 던지, 아니면 “미리 말해두자면, 13장을 학습하려면 함수와 포인터에 대한 이해가 있어야해” 하는 식으로 친절하게 설명하는 부분이 많다. 작은 배려가 돋보인다.

- 헷갈릴 땐 그림으로


“헷갈릴 때는 직접 그림으로 그려보는 것도 좋은 방법이야” - p.436

고리타분한 이야기 같긴 하지만, 처음 C언어를 배울 때 는 책상위에 컴퓨터를 놓고 실습하지 않고, 노트에 코드를 적고 결과를 예측 하는 식으로 공부 했었다. 반복문등이 나올 때면 디버거를 실행하는 것 처럼 각 변수들의 값을 표를 그려가며 적었다.

실제로 처음 공부하면서 헷갈릴 때에는 이런식으로 그림 혹은 표를 그려가며 공부하는 방법은 여러가지로 도움이 된다. 코드만 딱 입력해놓고 왜 이게 이렇게 되지 라고 이해 하지 못하면 공부하는 의미가 없다.

배열이나 포인터를 설명할 때에도 눈에 보이지 않는 메모리 영역을 그림으로 알아보기 쉽게 표현해주셔서 오랜만에 보는데도 쉽게 이해할 수 있었다.

-  디버깅에 대한 자세한 설명이 있었으면 어땠을까?


다만 초보자를 위해 아쉬운 점이 있다면 디버깅을 단순이 구문오류 있는 곳을 더블클릭하면 오류난 곳으로 커서가 이동하는 것이라고 설명하는것 말고 - p.015, 반복문 등을 설명하면서 VS의 강력한 디버깅기능을 사용하는 방법에 대해서 간단하게 나마 설명하는 곳이 있었으면 어땠을까 싶다. 물론 툴소개를 하는 책은 아니다.

-  서평끝


고리타분한 C책만 봤었는데,  이렇게 산뜻하고 친절한 C책도 있다.
다음번에 나오는 책은 혼자 공부하는 C 자료구조 였으면 좋겠다.

사족으로, 카페에서 혼공씨 자료구조라고 되어있는 게시글을 읽어 봤는데
단순히 구현만 있는 소스여서 약간 실망했다.

+ Recent posts