내일은 코딩테스트 with 파이썬 - 자료구조와 알고리즘의 기초부터 실전까지
윤인도 지음 / 아이비김영(김앤북) / 2023년 6월
평점 :
절판


총평

- 책의 난이도 : ★★

- 추천 별점     : ★★★★

- 추천 독자     : 파이썬으로 코딩테스트를 준비하는 개발자 (취준생)

- 지은이          : 윤인도

- 출판사          : 김앤북

- 유튜브 동영상 링크 : https://www.youtube.com/watch?v=uNHhCtEjAxY&list=PLjLvgi9F0K8gVELcmH0lyDvQSbl07bn1Z

 


아이비김영에서 이제 코딩 테스트 책도 만들었군요.. 넘 신기..

 

책의 저자분께서 클래스 101에서 강의를 하시는데 이것을 단행본으로 만든 것 같습니다.

그리고 유튜브에서도 일부 강의를 공개하고 있으니 단순히 책만 보는게 아니고 무료 강의도 같이 제공되는 장점이 있을 것 같습니다.

 

1. 적당한 두께

대부분 코딩테스트 책은 엄청 두꺼운 경우가 많은데.. 저 같이 초보자는 기본적인 내용을 계속 반복해야하기 때문에 핵심 요약집 같은게 필요합니다. 이 책은 딱 그런 역할을 톡톡히 합니다. 여러번 읽기에도 적당한 두께이고, 내용도 필요한 부분만 딱 수록했기 때문입니다.

딱 파이썬 기초 문법, 선형 자료구조, 비선형 자료구조, 알고리즘 파트로 해서 정말 잘나오는 부분만 다뤘습니다.

이게 독자에 따라서 장점일수도 단점일 수도 있는데, 코딩테스트의 목적상 자주쓰이는 알고리즘과 자료구조가 분명 존재하기 때문에 초심자라면 이 책을 딱 가지고 가시는게 오히려 좋을 거라고 생각합니다.

 

 

2. 코딩테스트의 개념원리 같은 책

음 뭐랄까 최근에 읽었던 코딩테스트 책들은 작은 글씨에 많은 내용이 들어있었다면, 이 책은 김앤북에서 만들어서 그런건지 편집이 옛날에 수능공부할 때 느낌이 좀 났어요 ㅋㅋ 이게 듣는 사람에 따라서 안좋게 평가한다고 볼 수도 있는데 저는 분명 좋은 뜻으로 말하는 겁니다. 깔끔하고 글씨도 크고, 필요한 도표가 있고, 목차가 딱 잘 눈에 띄게 구분되어 있잖아요? 딱 학습서의 목적에 맞는 편집구도입니다. 그래서 읽기가 더 편했습니다.

 

3. 파이썬 기본 문법도 친절히 설명

자료구조와 알고리즘 이전에 파이썬 자체도 잘 모르는 독자라면, 반드시 여러번 반복하기 바랍니다. 코딩테스트에서 쓰이는 문법들이 전부 정리되어 있고, 예시도 있기 때문에 반드시 여러번 따라서 작성해보고 실행해보면 좋습니다.

 

4. 무료 강의 제공

유튜브에서 해당 책의 내용에 무료강의를 일부 제공하고 있습니다. 단순히 책만 얻을 수 있는게 아니고, 무료 강의도 들을 수 있으니 1석2조가 아닐까요?

링크: https://www.youtube.com/watch?v=uNHhCtEjAxY&list=PLjLvgi9F0K8gVELcmH0lyDvQSbl07bn1Z

 

 

5. 프로그래머스 사용

유명한 코딩테스트 싸이트인 프로그래머스의 문제를 가지고 학습합니다. 보통 백준도 많이쓰는데, 요즘은 프로그래머스가 좀 핫하더라구요? 저도 코딩테스트 볼때 프로그래머스 사이트 이용했어서 미리 테스트 환경을 실습해볼 수 있습니다.

 

 

코딩테스트를 준비하시는 분들 중 파이썬을 선택하시는 분들은 이 책을 통해서 코딩테스트를 준비하면 좋을 것 같네요!

 

이상으로 리뷰 마치겠습니다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
관찰 가능성 엔지니어링 - 오픈 소스를 활용한 분산 애플리케이션 계측부터 오류 추적과 분석까지 / OpenTelemetry 사용법 수록
알렉스 보텐 지음, 노승헌 옮김 / 한빛미디어 / 2023년 7월
평점 :
장바구니담기


 

총평

- 책의 난이도 : ★★

- 추천 별점     : ★★★★

- 추천 독자     : 파이썬을 어느정도 알고 있는 DevOps 혹은 SRE 역할의 엔지니어, 애플리케이션을 모니터링하고 싶은 개발자

- 지은이          : 알렉스 보텐 저 / 노승헌 옮김

- 출판사          : 한빛미디어

- 예제소스 : https://github.com/PacktPublishing/Cloud-Native-Observability

 


이 책에 대해서 관심이 상당히 많았는데 이번에 대상 도서로 올라와서 바로 신청했다. 선정되니 매우 기뻤다.

관찰가능성은 요즘 화두로 많이 떠오르는 주제인데, 이에 관련된 책은 많이 없는 편이다. 그래서 매우 귀하기도 하다.

 

이 책은 총 12개의 챕터를 통해서 관찰가능성이라는 주제를 다룬다. 관찰가능성(Observability)을 한마디로 정의하기는 어렵지만 로그를 남기고, 현재의 사용량을 지속적으로 체크하고, 추적하는 것이 대표적인 기능이다. 복잡하게 얽힌 마이크로서비스와 컴포넌트 사이에서 요청의 흐름을 파악하고 상관관계를 추적해나감으로써 문제가 발생했을 때 무슨 일이 어디에서, 어떻게, 왜 일어났는지를 빠르게 파악할 수 있는 기반을 만들어 준다. 그리고 다양한 도구 중에서 오픈 소스인 OpenTelemetry를 통해 구현한다.

 

 

이 책은 mac (x86_64, arm 둘 다 가능)기반으로 파이썬 3.6~3.9 버전을 사용하고 있다. 도커가 설치되어 있어야 한다.

OpenTelemetry는 1.18.0, Open Telemetry 컬렉터는 0.42.0 이상이 요구된다.

 

이 책의 구성

 

챕터 1. 관찰 가능성의 역사와 개념 

관찰 가능성이 지금까지 어떻게 발전했는지 다룬다. 개방형 표준의 필요성을 목적으로 오픈소스로 개발되는 과정을 확인할 수 있다. OpenTelemetry의 주요 개념은 시그널, 리소스, 파이프라인, 컨텍스트 전파로 나눠져 있고 이에 대해서 챕터별로 다루고 있다.

 

챕터 2. OpenTelemetry 시그널: 분산 추적, 메트릭, 로그

OpenTelemetry를 구성하는 세 가지 시그널에 대해서 다룬다.

 

챕터 3. 자동 계측

우리가 에러를 발견하면 과거 데이터가 반드시 필요하다. 흔히 로그를 남긴다는 말 처럼 계측을 계속해서 진행해야하고 이를 위해 자동 계측을 실시하도록 하면 된다. 다만 자동 계측은 말그대로 자동화 된 계측이기 때문에 설정이 필요하고, 범용적인 계측이 아니라면 애플리케이션 자체를 위한 메트릭에 대한 발굴과 개발이 필요하다. 이에 대한 개념을 익혀본다.

 

챕터 4. 분산 추적: 코드 실행 추적

OpenTelemetry의 개념과 이를 설정해 추적 데이터를 생성해봅니다. 속성, 이벤트, 링크를 통해 데이터를 보완해보고 오류 처리를 위해 정보를 추가해보는 등 커스터마이징을 어느정도 진행할 수 있습니다. 여기서부터는 실제 파이썬 코드를 많이 사용하기 때문에 처음에는 해당 코드를 분석하면서 실행해보고, 추후에는 책의 코드를 조금씩 수정해보면서 익히는 것도 좋을 것 같습니다.

 

챕터 5. 메트릭. 측정값 기록

메트릭 파이프라인을 설정해보면서 직접 측정값을 수집, 집계, 추출해본다. 특히 뷰를 이용해 애플리케이션이 생성한 메트릭 스트림을 목적에 맞게 집계, 필터링, 커스터마이징 해볼 수 있다. 뷰를 잘 기억해두는게 좋다. 아무래도 실무에서는 단순히 범용 메트릭만 사용하지는 않기 때문이다.

 

챕터 6. 로그 이벤트 포착

로깅 프로세스를 통해서 로그를 남기게 되는데 Logger를 생성하고 로그의 포맷을 설정하기 위한 지표를 확인할 수 있다. 또한 로그는 심각도에 따라 총 6개로 분류하고 이를 통해 필터링 하는 것도 중요하다.

 

챕터 7. 계측 라이브러리

계측 라이브러리는 서드파티 라이브러리를 위해 사용할 수 있다. 서드파티에서 직접 OpenTelemetry를 지원하지 않더라도 사용자가 직접 사용할 수 있도록 해준다.

 

챕터 8. OpenTelemetry 컬렉터

컬렉터에서 수신기, 처리기, 익스포터, 확장이 무엇인지 알아보고 OTLP(opentelemetry protocol)의 개념에 대해 알아본다. 

 

챕터 9. 컬렉터 배포

챕터 8의 내용을 기반으로 해서 컬렉터를 사이드카나 에이전트 형식으로 배포하여 수집하는 방법을 알아본다.

 

챕터 10. 백엔드 시스템 설정

추적, 메트릭, 로그를 분석할 수 있는 각종 백엔드를 확인해본다. 그라파나와 프로메테우스 등 사용하는 오픈소스의 설정값을 수정해보고 최적화 시켜본다.

 

챕터 11. 문제점 분석

메트릭을 시각화 해보고 문제를 발생시켜 해당 문제점을 분석할 수 있는 내용을 학습한다.

 

챕터 12. 샘플링

샘플링의 개념과 각 샘플링 전략에 대한 설명을 통해 사용자의 상황에 적합한 샘플링 기법을 선정해본다.

 

 

이 책의 장점

1. 옮긴이가 실습에 문제 없도록 신경쓴 모습이 많이 보인다.

기술 책은 아무래도 이런게 중요하지 않나 싶다. 외국 저자들은 대부분 엔지니어(한국도 마찬가지지만..)이기 때문에 아무래도 읽기가 어렵거나 뜬금없는 전개가 올때도 있는데 역자가 그 중간 다리를 잘 잡아주는게 중요한데, 역자는 사실 역주를 통해 매꾸는 경우가 많기 때문에 역주가 많을 수록 좋다고 본다.

 

2. 각 챕터의 끝에는 정리하는 부분이 있어서 내용을 리마인드 하기 좋다.

요즘은 책이 교과서처럼 목표와 정리가 깔끔하게 잘되어있는 것 같다.

 

3. 이 책은 그림이 많다.

도표나 그림이 거의 페이지마다 삽입되어 있어 읽는데 매우 효율적이고 이해가 쉽다.

 

 

이상으로 책 <관찰가능성>에 대한 리뷰를 마친다. 

 

이 책을 한 번 읽고서 모든 것을 이해한다고 하기에는 조금 어렵지만, 두고두고 보면서 읽으면 조금 더 성숙한 엔지니어 / 개발자가 되지 않을까 싶다.

 

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
처음부터 제대로 배우는 스프링 부트 - 자바와 코틀린으로 만나는 클라우드 네이티브 애플리케이션 구축
마크 헤클러 지음, 오시영.서정대 옮김 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기


총평

- 책의 난이도 : ★★☆☆

- 추천 별점     : ★★★★

- 추천 독자     : 최신 자바 스트링 부트를 학습하고 싶다면 추천한다.

- 지은이          : 마크 헤클러 저 / 오시영, 서정대 역

- 출판사          : 한빛미디어

- 예제소스 : https://github.com/springboot-up-and-running/SpringBootUpAndRunning-Spring-Boot-3

 


이 책은 자바와 코틀린을 기반으로 스프링 부트를 사용하는 책이다. 나는 아직 스프링부트를 잘 알지는 못하지만 개발 공부를 시작하면서 자바로 공부를 하고 있다. 아주 기초적인 문법만 아는 수준이다.

그렇기에 이 책은 단순히 시작하는 사람이 읽기에 좋다고만 할 수는 없었다. 하지만 읽기에 전혀 불편하지도 않았다. 그래서 내 기준으로 난이도와 추천 별점을 줬다는 지극히 주관적인 평가를 밝힌다.

 


이 책의 장점은 다음과 같다.

 

첫째는 번역책이지만 역자가 굉장히 적극적으로 번역했다는 것이다. 아래 사진에서 볼 수 있듯 역자의 코멘트가 굉장히 많다. 그래서 책에서 다소 확확 넘어가는 것들이나 부족한 설명들을 충분한 각주로 채워주고 있었다. 설명이 부족하면 보충해주고 중간중간 단계를 건너뛰면 그것을 보충해주는 내용을 많이 넣었다.

 

 

   

그리고 적극적이라는 이유는 추가적으로 코드에서도 들어나는데 원작은 자바 11에 스프링부트 2.4를 쓰고 있으나 한글 번역책은 실습코드를 자바 17에 스프링부트 3.0.2로 변경했다. 그래서 최신 트랜드를 잘 반영하고 있었다. 또한 책에서는 자바 17 코드를 보여주고 있지만 책의 원서에 있는 자바 11의 코드도 링크를 걸어놨으니 필요에 따라 확인해볼 수 있다.

 

 

두번째는 충분한 코드와 실습에 대한 사진 자료가 풍부하고 Note등의 팁도 많다는 것이다. 다양한 자료로 설명하고 내용도 충분하기 때문에 초보자라도 어느정도 따라감에 많은 서포트를 해준다. (그렇다고 엄청 세세하다고는 못하겠다)

 

 

장점은 이정도 인 것 같다.

책의 구성은 다음과 같다. 

3장에서 REST API를 직접 만들어본다. 각각의 API 항목별로 코드가 있기 때문에 실습하기 좋다.

4장에서는 데이터베이스를 연결해본다. 그리고 9장에서는 테스트, 10장에서는 스프링 시큐리티, 11장에서는 배포를 학습하는 등 실제로 중요하고 꼭 알아야 할 개념 위주로 순서에 맞게 배열해두었다.

 

책은 총 12개의 챕터로 나눠져있으며, 챕터 간에 필수적인 설명을 우선적으로 하고 있다. 다만, 책의 분량상 모든 것을 다루었다고 할 수는 없지만 이 책에 있는 내용만 학습하더라도 기본적인 내용은 모두 습득했다고 보는게 알맞는것 같다.

 

자바와 스프링부트를 이용하는 학습자라면 이 책을 한 번 꼭 읽어보기 바란다.

 

 

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
백엔드 개발을 위한 핸즈온 장고 - 장고모델링과마이그레이션부터쿼리셋, DRF까지
김성렬 지음 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기


총평

- 책의 난이도 : ★★☆☆☆

- 추천 별점     : ★★★★★

- 추천 독자     : 파이썬을 주력 언어로 하면서 장고를 사용하는 백앤드 주니어 개발자 (예비 개발자도 기본서로 충분하다)

- 지은이         : 김성렬

- 출판사         : 한빛미디어

- 예제소스 : https://github.com/KimSoungRyoul/django-backend-starter



이 책은 파이썬 백엔드 개발로 Django를 다루고 있다. 책 표지부터 취향저격수 처럼 예쁘게 잘 되어있는데 요즘은 진짜 책 표지 잘 뽑는것 같다.

아무튼 내가 요즘 많은 책들을 보면서 중요시 생각되는 것들이 몇 가지 있는데, 이 책은 그런 요소들을 정말 잘 모아서 제작되었다는 생각이 들었다.

 첫째는 한국 저자의 책이라는 것이다. 앞서 테라폼 책의 리뷰에서도 적긴했는데 한국 저자의 책은 아무래도 읽기가 편안하다. 

 

그리고 한국 개발자들이 궁금해하는 부분이나 팁들에 대해서 공감대 형성이 좋다. 그래서 한국 저자의 책이라는 것 자체가 요즘은 하나의 무기가 되는 것 같다. 책의 중간 중간 있는 팁부터 흔히 하는 착각이나 실수하는 사례들을 꼼꼼히 설명해주고 있다.

 

두번째는 주니어를 위한 장고 책이다. 책 표지에도 적혀있지만 타겟으로 한 독자를 명확하게 이해하고 설명해준다고 생각한다. 나도 파이썬은 알고 있지만 Django에 대해서는 들어만 보았다. 그런데도 읽는데 전혀 무리가 없었다. 그림도 너무 친절하게 설명되어 있고, 아래 설명도 매우 자세했다. 그리고 이 책의 범위를 너무 벗어나는 내용에 대해서는 언급만 하고 복잡하게 다루지 않았다. (주니어에게는 이게 훨씬 도움이 되는 선택과 집중을 했다고 본다)

또한 주니어 대상이기 때문에 가끔 주는 팁 중에서 취업에 대한 팁이나 취업 후 개발자로써의 팁들도 많이 들어있다.

 

뿐만 아니라 앞으로 발전가능한 시각을 위해서 단순히 주니어가 실수할 수 있는 부분에 대해 보충해야할 부분도 명확하게 알려준다.

 

세번째는 그림으로 배우는 장고라고 해도 될 정도로 그림이 많다. 그림이라고 오히려 날로 먹는거 아니냐는 오해가 없었으면 좋겠는데, 보통 개발을 하게 되면 추상화되는 개념들이 많은데 이것을 도식화하기가 어렵다. (개발을 많이 해본 사람들이야 별 대수롭지 않겠지만, 개발이 익숙하지 않은 사람들에게는 상당히 힘들다.) 그리고 하다보면 자연스러워지겠지만 그림이 있어 이해도가 확 올라가는 점은 누구든 부정할 수 없을 것이다.

 

 

이런 특징들만 나열해도 충분히 구매해서 책장에 두고두고 여러번 읽을 가치가 있는 책이라는 생각이 들었다. 만약에 장고를 사용한 백엔드 개발자 혹은 개발자를 준비하는 사람들은 이 책을 꼭 읽어보길 추천한다. 책이 강의식처럼 잘되어있고, 읽기 편하게 되어있기 때문에 강의를 보지 않아도 이 책만 여러번 읽어도 충분하다고 생각이든다.

 

 

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



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
테라폼으로 시작하는 IaC - 테라폼 입문부터 실무 적용까지 올인원 가이드
김민수 외 지음 / 한빛미디어 / 2023년 5월
평점 :
구판절판


테라폼은 대표적인 IaC(infrastructure as a Code) 도구로 코드로 인프라를 관리하는 도구이다. 대표적인 클라우드 벤더사와 연동해서 코드를 통해 인프라 배포가 가능하기 때문에 마치 템플릿처럼 쓸 수 있다. 

 그래서 dev, stage, prod 처럼 환경을 다양하게 두고 있는 회사에서 코드 하나를 마치 붕어빵 틀처럼 만들어서 찍어낼 수 있고, 코드가 가지고 있는 속성 (대표적으로 git을 이용할 수 있어 버전관리, 동료리뷰, 반복문과 같은 프로그래밍 요소 등)을 다양하게 사용할 수 있다는 장점이 있다.

 하지만 이용하면서 조금 힘든점은 인프라를 전부 IaC로 관리하게 되면 러닝커브와 각 환경의 개별성(dev에서는 모두 허용하지만, stage에는 없고 등등)을 주다보면 점점 비대해지고 관리도 어려워지는 등의 단점도 존재한다.

 그래서 테라폼을 도입하고자 하는 곳에서는 가벼운 리소스를 템플릿화하는 방법부터 고안해보는게 좋을 것 같다.

 이제 책에 대해 좀 더 소개해 보겠다. 이 책이 좋은 점 중 하나는 한국 저자가 작성한 책이라는 것이다.

이게 왜? 할 수도 있는데, 아무래도 번역 책은 번역이 아주 잘되면 다행인데 아닌 경우가 많아서 내용을 이해하기 어려운 경우가 많고.

현업에서 사용하면서 겪을 수 있는 경험들이 조금 씩은 다를 수 있기때문에 저자가 직접 저술한 책이라서 더욱 좋다. 

 친절한 주석 뿐 아니라 깔끔한 어투와 설명이 이해를 더 쉽게 해준다.

그리고 테라폼만 전문적으로 출간한 책은 <<Terraform up and running>> 정도가 유명한데 벌써 3판까지 나왔으나 아직 번역서가 출간되지 않아서 영어로만 읽을 수 있다. 번역된 2판은 이미 오래전에 나와서 변화된 내용도 많다. 따라서 가장 따끈따끈한 지식을 한국 저자가 쓴 내용으로 읽을 수 있기 때문에 이것만으로도 엄청 강점이라고 할 수 있다.

 그리고 두번째로는 다양한 클라우드 벤더사의 사례를 담고 있다. 아래는 Azure을 사례를 담아보았는데 GCP 도 같이 설명하는 등 다양한 환경의 독자를 모두 포섭할 수 있게 되어있다.

테라폼을 공부하는 사람이라면 입문으로 적합하다고 생각된다.


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