Do it! 플러터 앱 프로그래밍 - 오픈 API 활용 + 파이어베이스 + 구글 맵 + 광고 수익까지, 개정판 Do it! 시리즈
조준수 지음 / 이지스퍼블리싱 / 2021년 9월
평점 :
장바구니담기


서평 이벤트로 책을 받아 읽고 따라해본 후 작성하는 후기 입니다!
설치 환경 세팅과 플러터에 사용되는 다트 언어의 기본부터, 앱 출시까지의 과정을 겪을 수 있었다.
책에 나오는 소스 파일도 홈페이지에 올라와 있어서 공부하기도 수월했다. 간단한 앱을 출시하고 싶은 사람에게 유용한 책이다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
자바 코딩의 기술 - 현장에서 뽑은 70가지 예제로 배우는 코드 잘 짜는 법
사이먼 하러.요르그 레너드.리누스 디에츠 지음, 심지현 옮김 / 길벗 / 2020년 7월
평점 :
장바구니담기


한 번만 읽을 게 아니라 여러 번 읽으면서 체화시켜야 하는 책

리팩토링, 클린코드에 대해 관심이 있다면 두고두고 읽어야하는 책

자주 쓰이는 70가지의 예제를 통해 '똑똑하게 코딩하는 법'을 배울 수 있는 책


이 책의 설명 방식

  1. 코드 조각을 제시한 후 무엇이 왜 잘못되었는지 설명합니다.
  2. 코드를 더 나은 해법으로 어떻게 바꾸는지 보여줍니다.
  • 이 책은 '화성 탐사 작전'과 관련된 우주에 대한 내용을 담고 있습니다. 코드의 설정이 흐트러지는 것을 막아 코드 내 문제 해결에 집중을 하도록 하기 위함이라고 합니다.
  • 코드 중에 바뀔 부분과 바뀐 부분을 볼드체로 처리하여 변경 내용을 쉽게 확인할 수 있습니다.

 

개인적인 생각으로는 자바를 막 배우고 난 상태일 때 이 책을 읽었으면 딱 좋았을 것 같다고 생각했습니다.리팩토링 수업 같은 경우에는 코드에 대해 고민할 일이 많았습니다. 이 코드는 이렇게 바꿀 수도 있고 저렇게 바꿀 수도 있는데, 왜 이렇게 하는 것보다 저렇게 하는 게 더 효율적인 방법이라는 거지? 이런 식의 고민 말입니다. 이 책이 고민을 하지 않게 만든다는 건 아닙니다. 이 책은 안내서처럼, 어떻게 해답을 도출해내야 하는지 친절하게 독자를 이끌어줍니다. 이 부분을 어떤 맥락에서 이렇게 만들었고, 이게 다른 코드보다 어떤 부분이 나은지, 아니면 경우에 따라 어떤 기준으로 판단하는지도 알려줍니다. 제가 읽었던 한 전공 서적과 같은 경우에는 왜 그런지 생각해보라고 질문만 던지고 (솔루션도 없고) 사라졌었는데, 이 책과 같은 경우에는 친구처럼 같이 고민하고 알아내는 기분이라 읽기 더 편했습니다.

 

 

인상 깊었던 점

  • 깃허브 예제 소스를 제공한다.
    • 기술 블로그를 하는 사람들은 공부하면서 TIL에 올릴 때 유용할 것 같습니다.
  • 메소드명이나 변수명 등으로 화성 탐사 작전과 관련된 단어가 꽤 나온다.
    • 모르는 게 나와서 자바 관련인가 하고 찾아보면 화성 관련 단어였습니다.
    • ex. hull.isIntact(), shouldAbortTakeOff
    • 검색해서 무슨 뜻인지만 알면 내용을 이해하는데는 불편함 없었습니다.
    • 오히려 책에 쓰여있듯이 cat, dog 같은 거면 매번 이해하기 더 번거로웠을 것 같습니다.
  • 말투가 세련됐다.
    • 쭉 읽었을 때 이해하기도 편하고, 다시 여러 번 돌아가서 읽지 않아도 됐습니다.
    • ex. 최적화할 여지가 아직 남았습니다. 예를 들어 두 번째 조건의 양 분기에서 grantAccess()를 동일한 인수로 호출하고 있네요. 두 조건을 별개의 비공개(private) 메서드로 추출할 수 있습니다. 이렇게 하면 코드의 목적이 훨씬 더 명확해지죠. 
  • 주석이나 JavaDoc을 유용히 쓰는 방법을 자세하게 알려준다.
    • 주석은 최대한 쓰지 않는게 낫다고는 했지만, 오히려 이런 주석이면 쓰는게 오히려 좋을 것이라 생각하기도 했습니다.
    • 이게 JavaDoc이라는 명칭이 있었다는 걸 처음 알았습니다. 책을 읽고 나중에 한 번 써보고 싶어졌습니다.
  • 명명 관련 규칙을 정리해 놓았다.
    • 개인적으로 가장 쉬우면서도 어려운 것이 명명이라고 생각합니다. 이 책에서는 그 규칙들을 사전처럼 찾아볼 수 있도록 한 챕터를 할애했습니다.
  • 정적 코드 분석 도구, 팀 내 자바 포맷 통일, 빌드 자동화, 콘솔 출력 대신 로깅 등 (내가 몰랐던) 실전에서 쓰이는 것들을 알려준다.
    • 팀프로젝트나 협업을 할 때 팀원들과 이 내용을 공유하면 유용하게 쓰일 것 같습니다.

 

이런 분들에게 추천합니다!

  • 이 책이 추천합니다! 기업에서 신입 사원에게 프로그래밍을 가르치는 선임 개발자

이 책에 따르면 주니어 개발자를 훈련시킬 때 유용할 것이라고 합니다. 코드에서 문제를 발견하면 이 책에서 해당하는 절을 알려줘서, 수습사원 스스로 간단한 예제와 함께 문제 해법에 도달하는 방법을 읽도록 하면 시간을 아낄 수 있을 것이라며 추천했습니다.

  • 제가 추천합니다! 자바 관련 팀플을 해야하는 학부생들

이 책을 읽으면서 지난 학기에 했던 리팩토링이 잘못된 부분이 있었다는 걸 깨달았습니다. 수업 시간에 팀플을 해야하는 경우, 이 책을 교재 삼아 스터디를 진행하면 좋을 것 같다고 생각했습니다. 만약 제가 과거로 돌아가서 이 책을 알고 있었다면 반드시 했을 것이기 때문에 추천합니다. 참고로 이 리뷰는 길벗 출판사에서 서적을 제공받아 작성되었습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
신경망 교과서 - 6개 프로젝트로 제대로 배우는 신경망의 기본기
제임스 로이 지음, 이춘오 옮김 / 길벗 / 2020년 5월
평점 :
장바구니담기


간단하게 이론을 설명하고, 6개의 프로젝트에서 직접 신경망을 구현하며 쉽게 설명해주는 책!

 

목차

1장 머신러닝과 신경망 개론

2장 다중 레이어 퍼셉트론을 사용한 당뇨 예측

3장 심층 전방향 신경망을 사용한 택시 요금 예측

4장 컨볼루션 신경망을 사용한 이미지 분류

5장 오토인코더를 사용한 이미지 노이즈 제거

6장 LSTM을 사용한 영화 리뷰 감성 분석

7장 샴 신경망을 사용한 안면 인식

8장 신경망과 인공 지능의 미래

 

후기

환경세팅을 하기가 편했다.

어떤 분야를 공부하든지 가장 큰 진입장벽으로 느껴지는게 '실습 환경'을 만드는 것이라 생각한다.

처음 배우는거라 용어들이 생소하기도 하고, 버전이나 라이브러리 같은걸 뭘 해야하는지도 잘 모르겠고.

그런데 이 책에서는 environment.yml 파일을 이용해서 파이썬과 필요한 라이브러리를 가상환경으로 바로 가져올 수 있어서 너무 좋았다. 처음에 가상환경 구현할 때 며칠씩 걸렸었는데, 이 책을 통해 입문을 했었다면 더 좋겠다고 생각해서, 좀 아쉽기도 했다. 아무튼 '환경세팅 같은 건 알아서 해줄테니까 독자는 실습에 집중해라!' 이런 느낌이었다.

 

라이브러리에 대해 설명한다.

1장에서 판다스, 텐서플로, 케라스 등 이 책에서 사용하는 라이브러리에 대해 설명한다.

보통 그냥 다 알고 있죠~? 라는 느낌으로 넘어가는데, 이 책에서는 진짜... 진짜 친절하게 설명한다. '판다스는 데이터 분석에 널리 활용하는 라이브러리에요!' 이 정도의 설명이 아니다. 판다스에 대해 말하자면 판다스 DataFrame판다스를 활용한 데이터 시각화, 판다스를 활용한 데이터 전처리 이렇게 순서대로 차근차근, 소스코드와 이미지를 보여주며 설명한다. 머신러닝에 대해 처음 공부할 때 책을 읽었는데도 '이 라이브러리가 뭐지?', '왜 여기서 이걸 쓰는거지?'라는 생각이 많이 들어서 구글링하느라 시간을 많이 썼었는데, 이 책은 그럴 필요가 없다. 텐서플로와 케라스도 마찬가지로 알고있어야 할 지식들을 차근차근 설명해준다. 중간중간에 '하지만 이미 텐서플로가 있는데 또 다른 API가 왜 필요할까?'라는 질문들을 하고 그에 대한 답을 하며 친절하게 설명해준다. 그냥 천천히 순서대로 읽으면 다 이해가 된다... 이걸로 입문했어야했어...

 

이론을 필요한 정도만 간단하게 설명하고 바로 프로젝트를 진행한다.

이론만 공부하다보면 흥미가 생겼다가도 좀 떨어지는 경향이 없잖아 있는데, 이 책은 필요한 것만 딱 알려주고 바로 실습 들어간다. 그리고 그 실습 프로젝트에 대한 기본적인 지식을 알려주면서 의욕? 열정이 생기게 한다.

2장의 '당뇨병 예측' 프로젝트를 예로 들자면, 당뇨병은 조기진단이 어려운데, 환자의 상태를 측정한 의료데이터와 측정 후 몇 년 내 당뇨가 발병했는지 여부를 기록한 레이블만 있다면 머신러닝을 통해 모델을 훈련 시켜서 새로운 환자의 발병 여부를 예측할 수 있다고 말한다. 즉, '아 이걸 머신러닝으로 구현하면 진짜 좋겠구나!' 이런 생각이 들게끔 한다. 개인적으로 왜 해야되는지도 모르는 프로젝트를 하는 걸 별로 안 좋아해서, 이 점이 좋았다.


프로젝트에 대해서

앞서 목차에서 언급했듯이 프로젝트는 2장~7장 이렇게 6개로 구성되어 있다. 나는 요즘 이미지 분류에 관심이 있어서 4장 '컨볼루션 신경망을 사용한 이미지 분류' 를 가장 먼저 공부했는데, 프로젝트는 각자 독립적이라서 순서는 딱히 상관 없을 것 같다. 예제 파일은 길벗 출판사 웹사이트나 깃허브를 통해서 다운 받을 수 있다. 책에 코드가 많이 나오니까, 충분히 이해했다면 그냥 다운받아서 돌려보는 것도 좋을 것 같다.

모든 프로젝트에 결과 분석, 마무리, 복습 이렇게 세 챕터가 있다. 우선 결과분석에서는 맞은 결과와 틀린 결과를 살펴보고, 왜 결과가 그렇게 나왔는지 분석한다. 공통적인 특징을 도출해내서, 그걸 바탕으로 결과를 어떻게 내면 더 좋을지 고민한다. 결과를 개선한 코드를 직접 교재에 주지는 않으니까 직접 코드를 작성해서 성능을 높여보면 재밌을 것 같다. 마무리에서는 그냥 그 프로젝트를 처음부터 끝까지 쭉 설명해준다. 가볍게 읽으면서 이 프로젝트에서 뭘 했는지 되새겨보면 될 것 같다. 복습에는 질문이 있다. 개인적으로 퀴즈 맞추는 느낌이라서 재밌었다. 기억이 나지 않거나 익숙하지 않다면 앞으로 돌아가서 다시 한 번 내용을 살펴보면 딱 좋을 것 같다.

 

 

이런 분들에게 추천합니다!

  • 머신러닝 관련 프로젝트를 해보고 싶은 학부생

솔직히 제가 취직을 해본 것도 아니고, 그냥 학교 다니고 있는 컴공과 학부생이라 현업이나 실무는 잘 모릅니다. 그냥 저는 이 책을 읽으면서 '아 이 책으로 입문했다면 좋았을텐데' 라는 생각이 들었어요. 마지막 챕터에서 최신 신경망 중 하나인 GAN에 대해 설명해주기도 하고, 구글에서 개발한 AutoML에 대해 설명하거나, 인공지능 관련 연구 논문을 어디서 읽어야하는지 알려주기도 하거든요. 데이터셋을 이용한 대회인 캐글부터 시작하라고 알려주기도 하고요. 앞으로 어떻게 공부해나가야할지 대략적인 방향을 알려줘서 저는 개인적으로 좋았습니다. 저한테도 좋았다면 다른 분들에게도 좋지 않을까요? 프로젝트를 하고 싶다면 누가 읽어도 좋을 것 같아요. 단, 파이썬 문법 같이 기본적인 건 알고 있어야겠죠.

 

그렇다면 이제부터 무엇을 만들 것인가?

이 책 맨 마지막에 나와있는 문구인데 굉장히... 좋았습니다... 책 읽었으면 뭐 하나 만들어야죠 ^.^

지금 하고 있는 프로젝트 끝나면 개인 프로젝트나 하나 해야겠습니다. 물론 이 책 통해서 배운거 응용해서 ㅎㅅㅎ


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
마션 - 어느 괴짜 과학자의 화성판 어드벤처 생존기
앤디 위어 지음, 박아람 옮김 / 알에이치코리아(RHK) / 2015년 7월
평점 :
품절


영화보다 책이 더 재밌었다!!

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