친절한 딥러닝 수학 - 인공 신경망 이해를 위한 기초 수학
다테이시 겐고 지음, 김형민 옮김 / 한빛미디어 / 2021년 3월
평점 :
장바구니담기


 

목차

CHAPTER 1 신경망을 시작하자

CHAPTER 2 순전파를 배우자

CHAPTER 3 역전파를 배우자

CHAPTER 4 합성곱 신경망을 배우자

CHAPTER 5 신경망을 구현하자

APPENDIX A 수학 기초

APPENDIX B 파이썬과 넘파이 기초



주요 내용

  • 신경망 개념과 구조

  •  신경망이 문제를 해결하는 원리

  •  확률, 미분, 선형대수, 함수, 벡터

  •  퍼셉트론으로 이미지 판별하기

  •  신경망의 가중치와 편향

  •  최적화 문제와 목적 함수, 교차 엔트로피

  •  순전파, 역전파, 오차역전파법, 경사하강법

  •  합성곱 필터, 특징맵, ReLU, 풀링



각 장의 개요

이책의 주요 내용을 1장부터 살펴 봅니다.

1장 신경망을 시작하자 - 신경망 개념을 알아보고 머신러닝 알고리즘과 어떤 차이가 있는지 살펴봅니다. 신경망이 어떤 구조로 되어 있고 무엇을 할 수 있는지 그림과 간략한 수식으로 설명합니다.

2장 순전파를 배우자 - 퍼셉트론이라는 신경망을 구성하는 단순한 알고리즘 안에서 어떤 식으로 계산이 진행되는지 자세히 설명합니다. 이미지 사이즈를 판별하는 문제를 예로 들어 입력값에서 출력값까지 순서대로 계산하는 순전파를 배웁니다.

3장 역전파를 배우자 - 신경망에서 적절한 가충치와 편향을 어떻게 계산해서 구하는지 설명합니다. 미분을 사용해서 오차를 가능한 한 작게 만들도록 가중치와 편향을 갱신하지만 이러한 정공법으로는 계산이 너무 힘듭니다. 그래서 계산을 간단하게 해주는 오차역전파 법을 사용합니다.

4장 합성곱 신경망을 배우자 - 신경망의 기본적인 구조를 이해한 것을 바탕으로 합성곱 신경망을 이용한 이미지 처리 방법을 공부합니다. 합성곱 신경망 특유의 구조나 계산방식을 다루면서 가충치와 편향 갱신 방법을 설명합니다.

5장 신경망을 구현하자 - 2,3,4장에서 배운 신경망 계산방법을 파이썬으로 구현합니다. 2장과 3장에서 배운 기본적인 신경망을 사용해서 이미지 사이즈 판정을 해보고, 4장에서 배운 합성곱 신경망을 사용하여 손글씨 인식을 구현해봅니다.


총평

요즘 AI가 많이 핫해서 인공지능 분야로 개발자들이 몰리고 있습니다.

인공지능을 좀더 깊게 들어가면 필수적으로 수학을 해야 합니다. 이책은 어려운 인공지능 수학을 쉽게 풀어서 개념을 잘 설명 하고 있습니다. 수포자 개발자들에게 한줄을 빛이 되어 줄 책이라 생각합니다.





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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 배우는 리액트 네이티브 - 크로스 플랫폼 앱 개발을 위한 실전 입문서
김범준 지음 / 한빛미디어 / 2021년 2월
평점 :
장바구니담기


[목차]

1장. 리액트 네이티브란?

2장. 리액트 네이티브 시작하기

3장. 컴포넌트

4장. 스타일링

5장. 할 일 관리 애플리케이션

6장. Hooks

7장. Context API

8장. 내비게이션

9장. 채팅 애플리케이션

10장. 배포하기


[주요 내용]

  • 컴포넌트/스타일링

  • 할 일 관리 애플리케이션 만들기

  • iOS/안드로이드 배포하기

  • 버전 업그레이드


[대상 독자]

  • 자바스크립트 ES6문법의 기본 지식을 가지고 있는 독자

  • 원 소스로 iOS/안드로이드 동시 개발을 하고 싶은 개발자


[서평]

모바일 개발을 한다고 안드로이드, iOS 두가지 언어를 배워야 하는 문제를 리액트 네이티브로 한방에 해결 할수 있습니다. 이책의 장점으로는 입문자에서 가장 쉽고 빠르게 리액트 네이티브를 배울수 있게 내용이 구성되어 있다는 점입니다. 입문자의 눈높이에서 채팅 애플리케이션을 만들어서 배포까지 모든 스텝을 배울수 있습니다.


총 10개 장으로 구성되어 있으며 실습은 Expo 프로젝트로 진행한다. 핵심 내용 위주로 설명되어 있고, 다음 과정을 통해 리액트 네이티브의 사용 방법을 익힌 후 직접 애플 앱 스토어와 구글 플레이 스토어에 배포까지 해볼 수 있도록 구성했다.


- 1장에서는 리액트 네이티브란 무엇인지, 장단점은 무엇인지, 어떻게 동작하는지 알아본다.

- 2장에서는 리액트 네이티브를 개발하기 위한 개발 환경을 구성하고 리액트 네이티브 프로젝트를 생성하여 실행해본다. 리액트 네이티브 환경 설정은 운영체제의 종류와 상관없이 개발을 진행할 수 있도록 맥과 윈도우 환경 모두 다루고 있다. 리액트 네이티브의 프로젝트를 생성을 위해 Expo를 이용하는 방법과 리액트 네이티브 CLI를 이용하는 방법을 알아본다.

- 3장에서는 리액트 네이티브를 사용하기 위해 JSX의 특징과 사용법에 대해 알아보고 컴포넌트에 관해 살펴본다. 또 컴포넌트에서 중요한 상태와 속성에 대해서도 알아보고 많이 사용되는 이벤트를 다뤄본다.

- 4장에서는 컴포넌트에 스타일을 적용하는 방법에 대해 알아본다. 리액트 네이티브에서 사용되는 스타일의 특성에 대해 살펴보고, 리액트 네이티브 스타일의 단점을 보완하기 위해 스타일드 컴포넌트를 사용하는 방법을 익힌다.

- 5장에서는 3장과 4장에서 공부한 내용을 바탕으로 간단한 할 일 관리 애플리케이션을 만드는 프로젝트를 진행한다. 프로젝트를 진행하며 StatusBar 컴포넌트, AsyncStorage 등의 사용법에 대해 다룬다.

- 6장에서는 리액트 Hooks에 대해 배운다. 함수형 컴포넌트에서 상태를 관리하고 그 외 다양한 작업을 위한 Hooks의 종류와 사용 방법에 대해 알아본다.

- 7장에서는 Context API에 대해 살펴본다. Context API를 통해 상태를 전역적으로 관리함으로써 여러 컴포넌트에서 동시에 접근하고 관리하는 방법을 익힌다.

- 8장에서는 화면 전환과 구성을 위해 내비게이션을 사용하는 방법을 알아본다. 이 책에서는 리액트 내비게이션 라이브러리의 스택 내비게이션과 탭 내비게이션에 대해 그 특징과 사용법에 대해 살펴본다.

- 9장에서는 앞에서 공부한 모든 내용을 이용하여 채팅 애플리케이션을 만드는 프로젝트를 진행한다. 프로젝트를 진행하는 과정에서 FlatList 컴포넌트, ActivityIndicator 컴포넌트 등의 리액트 네이티브 기능뿐 아니라, 다양한 라이브러리와 파이어베이스에 대해서도 함께 다룬다.

- 10장에서는 9장에서 완성한 프로젝트를 직접 애플 앱 스토어와 구글 플레이 스토어에 배포하는 방법을 알아본다.


크로스 플랫폼이 많이 있지만 가장 많이 사용하는 리액트 네이티브로 모바일 앱 개발을 입문을 해서 요즘 핫한 앱으로 수익화 하기로 경제적 자유를 실현 해보시기 바랍니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
플러터 인 액션 - 안드로이드와 iOS 애플리케이션을 한 번에 개발하는 완벽 가이드
에릭 윈드밀 지음, 우정은 옮김 / 한빛미디어 / 2021년 2월
평점 :
장바구니담기


[대상 독자]

- 크로스 플랫폼으로 앱을 개발하려는 앱 개발자


[서평]

크로스 플랫폼은 리액트 네이티브로 대부분 개발하고 있다 여기에 도전 장을 던진 구글의 플러터 이다. iOS, 안드로이드 네이티브로 개발하는 것이 좋지만 두가지의 서로 다른 플랫폼으로 개발 인력 및 유지보수등등 여러가지 이유로 앱 전문 회사가 아니면 크로스 플랫폼으로 앱을 개발하고 있다. 특히 플러터는 나온지는 얼마 되지 않았지만 구글의 전폭적인 지원으로 크로스 플랫폼 영역에 조금씩 영향력이 커지고 있다. 앞으로의 앱 개발이 리액터 네이티브에서 플로터로 점차 많이 넘어 올것이라 생각이 든다. 리액터의 가장 큰 장점은 많은 서드파티의 라이브러리의 지원이다. 이것은 독이든 성배로 개발시간을 단축시켜 주지만 버그라든지 버전 호환성등으로 문제를 일으키면 정말 난감해진다. 플로터는 구글에서 전폭적으로 지원으로 그런점에서는 좀더 자유로울수 있다. 하지만 없는 라이브러리는 만들어야 하는 단점이 있기는 하다.


이 책은 총 4부로 구성되었으며 11개의 장으로 이루어졌다.

1부는 플러터를 배우기 위한 준비 과정입니다.

● 1장: 플러터가 무엇이며 모바일 개발자가 플러터에 관심을 가져야 하는 이유를 설명하고, 플러터의 기초를 살펴봅니다.

● 2장: 다트 언어와 객체지향 프로그래밍(OOP)을 간단하게 설명합니다. 다트를 이미 알고 있거나 새로운 언어 사용에 거부감이 없는 독자라면 이 장은 생략해도 좋습니다.

● 3장: 플러터 내부 동작 원리를 배우고 기본적인 플러터 코드를 구현합니다. 플러터 앱 구현에 필요한 기초 지식과 환경 설정 방법을 익힙니다.


2부는 플러터의 UI를 설명합니다.

● 4장: 플러터 앱에서 사용하는 기본 기능과 위젯을 설명합니다.

● 5장: 폼과 제스처를 설명합니다. 앱이 사용자와 상호작용하는 방법도 배웁니다.

● 6장: 앱을 아름답게 꾸미는 방법을 설명합니다. 캔버스에 위젯과 버튼을 그리는 방법과 플러터 애니메이션을 자세히 알아봅니다.


3부는 상태 관리와 비동기 작업을 설명합니다.

● 7장: 한 라우트에서 다른 라우트로 상태를 전달하는 방법과 애니메이션을 배웁니다.

● 8장: 다양한 상태 관리 방법 중 블록 패턴을 소개합니다.

● 9장: 비동기 다트 개념인 스트림을 소개하며 이를 플러터에서 활용하는 방법을 알아봅니다.


4부는 외부 데이터 처리와 테스트 방법을 설명합니다.

● 10장: HTTP, 파이어베이스, JSON 직렬화로 외부 데이터를 처리하는 방법을 배웁니다.

● 11장: 플러터의 내장 테스트 프레임워크, 모키토(mockito), 플러터 드라이버를 활용하는 방법을 소개합니다.


이책은 1장부터 11장까지 순서대로 학습하도록 설계가 되어 있기 때문에 아는 내용이 있더라도 처음부터 순차적으로 공부하는걸 추천 한다. 플로터에 관한 책들 아직 많지는 않지만 이번에 플로터를 제대로 배울수 있는 책이 나와서 너무 좋다. 이책이 처음 시작할때는 어려울수도 있지만 빠르게 헬로우 월드 수준의 수박 겉핥기보다는 조금 늦도라도 제대로 배우는게 좋을것이라 생각 합니다. 이책으로 플러터에 대해서 제대로 배울수 있을거라 생각이 듭니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 자바스크립트 - 1:1 과외하듯 배우는 프로그래밍 자습서 혼자 공부하는 시리즈
윤인성 지음 / 한빛미디어 / 2021년 1월
평점 :
장바구니담기




[한줄평]

자바스크립트를 혼자 힘으로 시작 하고 싶다면 이책을 추천

 

[목차]

Chapter 01 자바스크립트 개요와 개발환경 설정

Chapter 02 자료와 변수

Chapter 03 조건문

Chapter 04 반복문

Chapter 05 함수

Chapter 06 객체

Chapter 07 문서 객체 모델

Chapter 08 예외 처리

Chapter 09 클래스

Chapter 10 리액트 라이브러리

 

[이 책의 특징]

- 탄탄한 학습 설계 : ‘입문자 맞춤형 7단계 구성’을 따라가며 체계적으로 반복 학습한다

- 핵심 문법은 ‘눈코딩’으로 가볍게 익히고, 실전 감각은 174개 직접 해보는 ‘손코딩’으로 제대로 익힌다

- ‘혼공’의 힘을 실어줄 동영상 강의, 학습 사이트 지원

- 언제 어디서든 가볍게 볼 수 있는 혼공 필수 [용어 노트] 제공

 

[대상 독자]

HTML, CSS는 알고 있지만, 자바스크립트는 처음 배우는 입문자

- 웹 개발을 하고 싶은 비전공자

- 학부 강의를 수강했지만, 웹 프로그래밍에 여전히 아쉬움이 있는 전공자

- 학원이나 과외로 따로 자바스크립트를 배우기에는 시간과 여건이 부족한 주니어 개발자

- 자바스크립트에 관심이 있는 일반인 누구나

 

[서평]

요즘 코로나19로 학원에서 프로그래밍을 배우기는 부담감이 있기 때문에 혼자 공부 하는 사람들이 많습니다. 처음 프로그래밍을 하면 어려움 점이 많은데 그 부담감을 혼공 시리즈에서 많이 덜어 주고 있습니다. ‘혼자 공부하는 자바스크립트’에 대해서 한번 살펴 보겠습니다.

 

혼공자바스크립트는 크게 7단계의 길라잡이를 제공 하고 있습니다. 먼저 핵심 키워드로 해당 절에서 중심적으로 볼 내용을 확인 할수 있습니다. 

 

그리고 시작하기 전에 해당절에 배울 주제 및 주요 개념을 살펴 봅니다. 

말풍선에서 지나치기 쉬운 내용 혹은 꼭 기억해야 할 내용을 알려주고 있습니다.

 

직접 해보는 손코딩은 소스 코드는 직접 손으로 입력한 후 코드 이해가 어려우면 주석, 실행 결과, 앞뒤의 코드 설명을 참고할 수 있습니다. 

좀더 알아보기에서 쉬운 내용, 핵심 내용도 좋지만, 때론 깊이 있는 학습이 필요할 때도 있습니다. 

더 알고 싶은 갈증을 풀수 있는 내용이 담겨 있습니다. 

 

핵심 포인트에서는 절이 끝나면 마무리의 핵심 포인트에서 핵심 키워드의 내용을 다시 상기 시켜 줍니다.

마지막으로 확인 문제로 지금까지 학습한 내용을 문제로 풀어서 확인 합니다.

혼공 시리즈의 가장 큰 장점은 학습 사이트를 100% 활용 할수 있다는 겁니다.

예제 파일 및 동영상 강의 보기, 저자에게 질문 하기를 한번에 해결 할수 있습니다.

그리고 혼자 공부하기 힘들땐 ‘혼공 학습단’과 한께 시작 할수 있습니다.

 

책의 구성은 크게 기본편과 고급편으로 나누어 져있습니다. 기본편은 1~8장으로 자바스크립트의 기본적인 문법 설명과 함께 문법을 활용하는 방법을 다룹니다. 문법을 활용하는 실습의 경우 쉬운 예제부터 누적 예제까지 다양하게 풀어볼 수 있습니다.

 

고급편은 9~10장으로 자바스크립트 프레임워크를 활용해서 간단한 애플린케이션을 만들어봅니다. 애플리케이션이라고 말하면 조금 거창할 수도 있지만, 실질적으로 그렇게 복잡한 내용은 아닙니다.

 

HTML5, CSS를 공부하고 자바스크립트를 공부 시작 하고 싶다면 혼자 공부하는 자바스크립트가 가장 좋은 친구가 될것이라 추천 드립니다.



 




댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
게임 엔진 블랙 북 : 울펜슈타인 3D 게임 엔진 블랙 북
파비앙 상글라르 지음, 박재호 옮김 / 한빛미디어 / 2020년 10월
평점 :
장바구니담기



[한줄평]

게임 엔진 개발에 관심이 있는 개발자라면 꼭 한번 읽어 보면 좋을 것 같습니다.


[목차구성]

Chapter 0 프롤로그

Chapter 1 들어가며

Chapter 2 하드웨어

Chapter 3 팀

Chapter 4 소프트웨어

Chapter 5 속편

Chapter 6 이식

Chapter 7 에필로그


[서평]

30-40대의 게임 매니아라면 울펜슈타인을 아마 알고 있을겁니다. 그시절에는 지금 같은 폴리곤 그래픽 기술이 없어 2D로써 3D 시각 효과내는 놀라운 기술을 볼수 있습니다. 열악한 하드웨어 에서 어떻게 그런 명작 게임을 만들수 있는지 하나하나 노하우를 배울수 있습니다. 


지금은 유니티, 언리얼같은 훌륭한 게임 엔진들이 있어 게임에만 집중 하면 되었지만 20-30년전에는 게임을 개발 할때 필요한 부수적인 것들을 개발자가 모두 만들어야 했습니다.


지금 시대에 이 책에 나온 코드는 쓸모가 없지만 하지만 그시절에 혁신 적인 게임 개발을 어떻게 했는지 불가능한 기술을 어떻게 극복하고 해결 했는지를 배울수 있습니다.


현재 고성능 피씨에서 개발한 게임을 모바일 같은 저성능 하드웨어에서 구동할때 발생하는 문제를 어떻게 해결 할까 하시는분이라면 이책에서 그 해답을 찾을 수 있을것이라 생각하여 추천 드립니다. 그리고 옛날 명작을 기억 하시는분들 중에서 어떻게 게임을 만들었는지 궁굼해하는 인디 게임 개발들에게 추천 합니다.


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