실무로 통하는 클린 코드 - 코드 품질과 디자인을 개선하는 208가지 실전 레시피
막시밀리아노 콘티에리 지음, 이태영 옮김 / 한빛미디어 / 2024년 8월
평점 :
장바구니담기


실무로 통하는 클린코드 - 한빛미디어




현장에서 일을 하다보면, 일정에 맞추기 위해 코드에 대한 고민을 뒤로 한 채, 우선 동작 시늉을 위해 얼기설기로 작성하는 경우가 많다. 물론 리팩토링이라는 추후 개선 작업을 진행하겠다는 변명이 있지만, 늘 ‘현실'이라는 벽을 탓하며 그저 일정 맞추기에 급급한 사례를 너무나 많이 봐왔다.

이 책은 ‘겉으로 들어나는 동작은 그대로 유지한 채, 코드를 이해하기 쉽고 수정하기 쉬운 상태로 내부구조를 변경'이라는 리팩토링이라는 과정에서 필요한 다양한 규칙? 혹은 개선 방향을 제시한다.

그동안 클린 시리즈로 개발자들이 정석처럼 여기고 구구단을 외우듯 암기하던 내용에서 더 새로운 것이 있는가? 라는 궁금함에 책을 선택하였는데, 더 많은 개선점과 실무에서 작성되는 듯한 코드로 개발자들을 ‘암기'에서 ‘감탄'으로 이끄는 점을 발견했다.

몇 가지 프로그래밍 언어를 다양하게 이용하여 책에서 나타내는 점은 각 언어의 차이점을 넘어 언어를 바라보는 시각의 관점도 다양하게 보여주는데, 더 놀라운 점은 이 책을 쓰는 저자조차 이 모든 언어를 전문가처럼 알고 작성한 것이 아닌 다양한 A.I. 코드 작성 도구를 활용을 하여 작성했다는 점이다. 도움을 받은 것을 감출 이유없이 당당하게 밝히고 우리는 그저 즐기면 된다. 특정 언어를 주력 언어로 사용한다는 점은 전문성은 갖출 수 있을지 몰라도 언어의 표현력에 갇힌다는 생각을 갖는 나로서는 이 책의 새로운 시도에 큰 응원을 전한다. 한국어가 다양한 형용사적 표현으로 감정 표현을 다양하게 할 수 있다하여 사람들의 표정이 다채로운가? 다른 휴먼 랭귀지를 배울 때 느낀 즐거움을 코딩에 사용되는 프로그래밍 랭귀지의 다양성에도 독자들이 즐거움을 얻었으면 좋겠다.

교과서가 아닌 해설서 느낌이다. 그동안 클린코드 ~ 그거 뭔데? 라고 생각했던 비(?) 클린자들과 클린교 신도들과 실무에서 접하게 될 다양한 사례를 레시피를 통해 간접 경험해 볼 모든 이에게 추천한다.


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



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
실무로 통하는 타입스크립트 - 바로 실행하며 익히는 105가지 오류 해방의 기술
슈테판 바움가르트너 지음, 우정은 옮김 / 한빛미디어 / 2024년 7월
평점 :
장바구니담기


여러 학습 매체를 통해 타입스크립트를 접했으나, 결국 실제 업무에 참고용으로 두기 위해서는 책이 필요하다 생각한다. 몇 해 전부터 유투브나 인프런, 패스트캠퍼스 등 영상 매체로 타입스크립트를 배울 수 있는 강의가 넘쳐나고 있는데, 초급자를 위한 튜토리얼로 끝이 나거나 짧은 분량으로 많은 것을 담지 못한 것이 사실이라고 본다. 이 책은 전 세계 개발자들이 믿고 보는 O’REILLY 시리즈의 쿡북으로 꾸준히 국내에 번역서를 출간해주는 한빛미디어에 매우 감사하다.

NPM 으로 타입스크립트를 설치하는 매우 기본 과정도 놓치지 않고, 함수형 프로그래밍에서 객체 지향적인 코드 작성, 잘 정리된 코드로 유효성을 검사하는 과정까지 12장을 거쳐 500 페이지에 가득 채워놓았다. 유투브에서 검색해봐도 수십 수백 영상이 나오지만, 책 한권을 옆에 두고 정주행해보기를 추천한다.

이 책에는 타입스크립트에서는 의도가 정확히 반영되어 정상적으로 수행되지만, 자바스크립트에서는 수행되지 않는 부분이 있음을 중간 중간 드러내준다. 오류가 나올 때 대응할 수 있는 경험을 간접적으로 할 수 있게 돕는 것인데, 책 제목이 ‘실무로 통하는 타입스크립트’ 임을 중간 중간 충실하게 증명한다.

제이쿼리나 리액트 부분으로 확장되는 내용을 통해 책 한 권으로 FE에 필요한 부분을 학습할 수 있으니 FE는 필수 참고서, BE는 FE를 이해할 수 있는 책으로 사용될 수 있을 것이라 생각된다.

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
부트캠프 QA 편 - 17년 차 QA가 알려 주는 소프트웨어 테스트 가이드 제로베이스에서 취업까지, 부트캠프
남효진 지음 / 한빛미디어 / 2024년 5월
평점 :
장바구니담기


개발 서적이 아니라  QA 책에 흥미가 갔다. 운이 좋게도 작은 규모의 회사였지만, QA 파트가 있는 회사에서 근무했던 경험이 있는데, 국내 현실에 비추어 볼 때 매우 드문 케이스다. 때로는 일정상 그들의 업무를 도운 적이 있었는데, 단순히 테스트케이스를 실제로 동작하고 결과를 기록하는 정도로 손을 덜어주는 역할에 그치고 말았다.




이 책을 통해 QA에 대해 자세히 알아보는 기회였다.
어떤 책이나 마찬가지로 .. 다른 사람의 일을 이해할 수 있도록 .. 1장에서는 개론이 나온다. 용어에 대한 설명과 역할, 그리고 그들의 활동에 관한 이야기다. 마치 요즘 한참 유행하는 개발자 면접 대비 책 같은 느낌이다.
예전에 나온 책 '구글은 이렇게 ~' , '네이버는 이렇게 ~ ' 테스트 한다는 책도 있었지만, 다소.. 아니 굉장히 거리감이 느껴지고 현실적이지 않는 이야기였다면, 이 책은 결국 코드로 만들어진 프로그램도 사람의 손길에서 사용된다는 점과 그리고 그 목표를 달성하기 위해 무엇을 해야 하는지를 천천히 자세히 알려주는 구성으로 되어 있다.
책 내용 중간 중간에 해야 할 일의 목차와 놓치지 말아야 할 부분에 대한 체크리스트는 꼭 QA 롤을 가지지 않는 개발자나, 기획자도, 또는 디자이너도 함께 살펴보면 좋을 내용으로 구성되어 있다.
최근 애자일 개발에 대한 내용을 학습하고, 그를 뒷받침할 수 있는 도구인 지라와 컨플런스 ( 아틀란시안 제품 ) 를 열심히 학습하고 있는데, 그 가운데 테스트의 역할이 매우 중요함을 알게 된 가운데, 이 책을 만나니 더더욱, 2강에서 설명하는 테스트 프로세스에 대해서 관심을 가지지 않을 수 없다.
개발자이면서도 부끄럽지만, POST-MAN을 활용한 API 테스트 수준에서 머물렀으나, 3강의 탄탄한 테스트 수행에 관한 내용을 만나면서, 이 책의 저자가 QA로서 대단한 내공을 지닌 분이구나 하는 것을 느꼇다. 어쩌면 개발자보다 스펙트럼이 넓은 영역을 커버한다. 궁금하신 분은 꼭 책을 사서 보시라.. 혹은 목차를 보면 궁금해서 미칠지도 모른다. (합당한 경고 ㅎㅎ )
테스트 부분에서 반갑게도 폭포수 모델과 애자일 (스크럼) 방식에서의 테스트 절차도 함께 소개한다.
마지막 문구가 마음에 와 닿는다. 문제를 찾아 해결하기보다는 예방할 수 있어야 한다는 말로 마무리 짓는다.
책 전체를 통해 QA에 대해 서술하지만, 결국 이 모든 일은 문제를 해결하기 보다는 예방하는데 있다는 말로 마무리 지으면서, 문제가 발생하지 않았는데, 예방하는데 에너지를 쏟는 것이 당장은 어떤 이득도 얻지 못하는 것 같지만, 궁극적으로 프로젝트가 성공으로 가는 길이라는 것임을 상기시키며 마무리를 짓는다.
개발자로서 살아오며, 직접 경험하지 못한 혹은 간접적으로만 겪었던 내용을 책을나마 이렇게 만날 수 있어 짧지만 강렬한 시간이었다. 코드만 가득한 책보다는 앞으로는 업계의 다양한 책들도 함께 살펴보는 기회의 시작으로 여기고 싶다.
개발자는 QA에 대해 배우고, QA는 선배에게 잘 정리된 내용으로 다시 배우는 기회로 삼을 수 있는 훌륭한 책을 만날 수 있었다.

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


댓글(0) 먼댓글(0) 좋아요(2)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
한 권으로 배우는 도커 & 쿠버네티스 - 컨테이너 개념부터 쿠버네티스를 활용한 배포까지
장철원 지음 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기


도커와 쿠버네티스는 동영상 강의를 통해서도 많이 접했던 분야다. 초기에는 SE 의 영역이라는 생각에 점점 분화되는 프로그래머의 영역에서 관심을 덜 받은 분야이기에 멀어졌다. 그러나 근래에는 인프라 또는 데브옵스라는 이름으로 당당히 한 축을 담당하고 있고, 소프트웨어의 생명 주기에서도 큰 비중을 차지한다.

책에서는 도커의 개념부터 쿠버네티스를 한 권으로 설명하고 있긴 하지만, 필연적으로 실습에 많은 시간을 반드시 할당하여 리눅스에서부터 가상 컨테이너, 그 컨테이너들의 관리와 활용 / 특히 소프트웨어 배포에 필요한 환경을 갖추기 위해 꼭 알아야 하는 네트워크 관련된 지식까지 익혀야 한다.

결코 작은 분야가 아니다. 요즘 책과 달리 책 전반에 컬러를 사용하고 도표와 그림을 최대한 활용하여 이해를 돕는데, 한 번 출간을 경험해 본 나로서는 저자가 얼마나 많은 시간과 노력을 이 책에 쏟아 부었는지를 감히 추측하여 단언할 수 없을 지경이다.

조금 아쉬운 부분은 아무래도 처음 입문하거나 이해를 목적으로 하는 내용이다보니, 리눅스나 터미널 환경에 대한 접근 등에서 putty, 버추얼박스를 통해 실습을 진행하다보니, 클라우드 환경에서 쉽고 빠르게 사용할 수 있는 부분을 추가로 경험하지 못하고 마무리되는 것이 아쉽다. 책에서 충분히 이론과 프랙티스 환경을 익혔다면, 과감히 중고급 수준에 빠르게 도달하기 위해 클라우드 환경에 도전해보기 바란다. 사실 비용 문제가 제일 크다. ( 운전 연습 하는데, 고속도로를 빨리 달려보는 경험이 부재함을 아쉬워하는 격이다. )

중급 이상인 개발자도 도커와 쿠버네티스 환경과 구동에 대한 잘 정리된 실무 노트라 여겨도 좋을 정도로 압축되어 잘 정리되어 있다. 본인도 기존의 도커와 쿠버 관련 책이 많지만, 시간이 부족한 이들에게는 이 책을 권하고 싶다.

여러 컨테이너를 통해 어플리케이션의 구동을 분산해보고 발생하는 문제와 다양한 해결방안들을 추가로 학습하는데는 이만한 도구가 없다. 인프라 엔지니어에게는 이 보다 더 훌륭하고 딥한 책이 필요하겠으나, 개발자라면 꼭 한 번은 이 책에서 제시하는 환경과 기법들을 경험하고 익힘으로서 어플리케이션 개발 능력에 더해  인프라 관리 능력까지 겸할 수 있는 기회가 되기 바란다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
그림으로 배우는 스프링 6 입문 - 애플리케이션을 직접 만들어보며 익히는 스프링 기본기와 실무 스킬
토키 코헤이 지음, 김성훈 옮김 / 한빛미디어 / 2024년 3월
평점 :
장바구니담기




가볍게 시작했으나, 가장 무겁게 끝난 스프링 책

얼마 후, KSUG (한국 스프링 사용자 그룹) 행사도 있고 스프링을 늘 사용하기에 가벼운 마음으로 읽기 시작했으나, 2주 동안 책 한 권에 사로잡혔다. 보통의 입문서라 하면, 개발도구를 설치하고, DI / AOP 를 설명한 후, 저술하는 시기에 가장 최근의 예시로 웹페이지를 로딩하거나 웹 서비스 응답 예시를 들면서 절반 이상을 채우고 나머지는 결국 스프링 공식 문서을 참조해야 하는 경우가 많다. 그러나 이 책의 구성에 놀라지 않을 수 없었다. 이번 리뷰는 왜 이 책을 보는데 2주라는 꽤 긴 시간이 소요되었는가에 대한 이야기로 풀어본다.

우선, 많은 챕터다. 스프링이라는 것이 태초에 수 많은 기능을 담아낸 하나의 프레임워크 생태계라고 할 수 있는데, 보통의 입문서와는 다르게 스프링에 대한 많은 부분을 책 하나에 담으려는 저자의 노력이 보였다. 목차에 챕터가 무려 32 + 1 (부록) 이며, 19페이지에 달한다. 저자는 무슨 생각이었을까 싶다가 원 저자가 '일본인' 이름이라는 걸 보게 된 순간, '메뉴얼의 나라 일본'이라는 생각에 납득을 했다. 챕터 하나 하나에 개발자가 스프링을 쓰면서 알아야 할 내용을 빠짐 없이 기록하고 담아 내겠다는 저자의 의지가 보였다. 그러니 단순히 몇 페이지로 구성된 챕터라고 하더라도 그 안에 학습하게 되는 내용과 별도로 학습자가 찾아봐야 하는 내용들이 많았다. 궁금해하지 않을 수 없는 가이드 형식의 내용으로 챕터가 구성되있기 때문이다.

그렇게 많은 챕터로 인해 부실하지 않을까 생각이 들 수 있지만, 내용은 어떠한 책보다 자연스럽게 시간 순으로 설명한다. 대부분의 책이 저자가 생각하는 임의의 방법으로 독자가 이해하도록 구성하는데, 이 책은 책 내용에 진입하기 전, '일러두기' 사전 챕터를 통해 책의 전체를 통해 어떻게 설명할 것이고, 어떻게 표기할 것이고, 어떻게 그려나갈 것인지를 설명한다. 그리고는 1장부터 설명에 들어가는데, 놀라운 점은 사전에 약속된 표기법으로 그림과 도표를 나타내니 이해의 속도가 빠르고, 머릿 속에서 구조화하는데 매우 큰 도움이 되었다. 클래스간 관계, 인터페이스 구조, 프로그램의 흐름이 사전에 약속된 방식으로 그려지니 굳이 텍스트로 길게 설명하지 않아도 되는 내용들이 간결하고 명확하게 정리되어 있다.

또한 챕터에서 소개되는 내용이 현재 이렇게 사용된다. 그대로 따라하면 된다를 벗어나 이전 버전에서는 어떻게 구성되어 있었고, 현재까지 지나온 과정을 통해, 현 시점에서 이렇게 설정하거나 변경되었다는 많은 히스토리를 한 번에 보여준다. 많은 개발자들이 특정 기능을 설정해야 하거나 도입해야 할 때, 검색을 통해 내용을 접하면 이미 지난 설정 방법이거나 예시 코드, 또는 문제가 있어 사용하지 않는 코드까지 적용해보고 안되서 고생하는 경우가 많은데, 이 책은 그러한 과정과 발전된 상태까지 언급하고 보여주고 해결과정까지 보여주면서, 지금까지 본 그 어떤 스프링 책보다 저자의 스프링에 대한 이해가 높다고 여겨진다.

단점으로는 일본어로 된 책을 다시 한국어로 번역해서 그러한지 '무슨 말이지?' 싶은 단어 번역이 일부 보이는데, 이상하다 싶어 사전을 찾아 역행해보면 아 이런 뜻으로 번역된거구나 하는 부분이 있었다. 틀린 단어도 아니고, 알고나면 이해되는 문제 없거나 오히려 더 나은 단어 번역이지만, 업계에서 흔히 사용되어 편해진 용어가 아니기에 이 책을 통해 처음 접한 용어가 낯선 느낌이 드는 것도 사실이다.

이 책은 스프링 입문서지만, 스프링과 스프링을 통한 웹개발/웹서비스 개발에 필요한 내용들, 테스트, 시큐리티 내용이 알차게 담겨있다. 매 챕터에 해당 기술의 히스토리와 폭 넓은 설명은 독자로 하여금 이해의 스펙트럼을 넓혀주지만, 그렇게 제시된 내용을 필히 학습자가 추가 검색이나 메뉴얼 참고를 통해 학습해야 한다. 시간이 걸리더라도 꼭 !! 하기 바란다. 내가 책 제목을 다시 정할 수 있다면, '스프링 3,4,5,6 마스터' 라고 정하지 않았을까 싶다.

저자 토키 코헤이 Kouhei Toki 가 궁금하여 찾아보니, 일본의 엔지니어로서 스프링 3 시절부터 지금까지 입문서를 꾸준히 저술한 저자였다. 메뉴얼의 나라 일본 엔지니어가 제목은 입문 入門 이라 정했으나, 아는 지식을 잘 정리하여 담아낸 책이다. 많이 안다고 자부하던 나 역시 이렇게 잘 정리된 책을 본 적 없고, 너무나 잘 정리되어 있다보니 마지막 장을 덮을 때까지 많은 시간을 투자할 수 밖에 없던 책이기에 추천한다.
저자는 500 페이지가 넘는 본문을 작성하고도 본인이 설명한 글을 입문자가 이해하지 못한 부분이 있을까 우려하여, 50 페이지가 넘는 부록 챕터를 책 말미에 넣어 못 다한 용어 설명을 끝내 다 담아냈다.
한달살기 말고 '한달에 한 권 읽기'를 통해 스프링 입문 1일 1챕터 학습하기에 매우 좋은 책이라 생각한다. 스터디 모집해볼까 싶다.


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



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