신간소개 2018.08.13 16:16


  ● 저자: 전상현

  ● 페이지: 796

  ● 판형: 사륙배변형(172*225) 

  ● 도수: 2

  ● 정가: 38,000원

  ● 발행일: 2018년 8월 27일

  ● ISBN: 978-89-97924-40-0 93000




[오탈자사이트 바로가기[예제 소스 바로가기]

[강컴] [교보] [반디[알라딘] [예스24] [인터파크]



_도서 내용

이 책은 지금 당장 유행하는 기술에 관한 책이 아니다. 기술 트렌드에 관계 없이 개발자라면 언젠가 누구나 겪을 법한 내용을 핵심 모듈과 크로스 플랫폼 설계의 관점에서 정리하였다. 변수, 문자열, 예외 처리, 암호화, 디버깅, 테스팅 등 수많은 분야에서 여러분이 알고 있는 지식들을 더욱 더 견고하게 해줄 것이다. 지금 당장은 아니더라도 앞으로 닥칠 위기에 크게 도움을 줄 수도 있다. 차근차근 처음부터 읽어볼 수도 있고 관심 분야를 선택해서 읽어볼 수 있게 구성하였다.

 

_대상 독자

1. 개발 기본기가 부족해 실무에서 삽질이 많은 개발자

2. 개발 경력이 많지만 특급 개발자로 내세우기엔 2%가 부족한 개발자

3. JAVA 등의 다른 언어의 한계에 도달해 C++을 배우고 싶은 개발자

4. 윈도우 개발자가 리눅스로, 리눅스 개발자가 윈도우로 영역을 넓히고 싶은 개발자

5. 대칭키와 공개키 암호화에 대해 제대로 알고 싶은 개발자

6. 시스템 API와 친하지 않은 개발자

7. 리눅스 서버와 통신하는 윈도우 클라이언트 개발자 혹은 그 반대

8. 정적 라이브러리와 동적 라이브러리를 자유자재로 다루고 싶은 개발자

9. 프로세스 생성과 공유 메모리, 파일 시스템 등을 잘 이해하고 싶은 개발자

10. 타임존과 그 프로그래밍 방법에 대해 배우고 싶은 개발자

11. 스레드와 동기화 객체에 대해 뿌리 깊이 이해하고 싶은 개발자

12. 나만의 공통 모듈을 개발하고 싶은 개발자

13. 유니코드로 인해 고통받는 개발자

14. 이 모든 것을 다 떠나서 친구 같은 개발 바이블을 갖고 싶은 개발자

 

_목차

지은이의 말

이 책을 읽는 방법

 

1장 크로스 플랫폼으로 개발하라

1.1 C++인가?

1.2 핵심 모듈은 무엇인가?

1.2.1 핵심 모듈의 첫 번째 특성 : 목적

1.2.2 핵심 모듈의 두 번째 특성 : 생명력

1.2.3 핵심 모듈의 세 번째 특성 : 진입장벽

1.3 아키텍트는 누구인가?

1.4 크로스 플랫폼으로 개발하라

1.4.1 크로스 플랫폼 개발 기법 : 런타임 기법과 컴파일 기법

1.4.2 크로스 플랫폼 개발이 필요한 두 가지 관점: 디바이스와 개발 인력

 

2장 개발 기법

2.1 개발 기법의 필요성

2.2 컴파일러의 활용

2.2.1 상호 참조 오류

2.2.2 선언과 구현의 분리

2.2.3 선언에 직접 구현하는 경우

2.3 링커

2.3.1 링커의 역할

2.3.2 정적 라이브러리 생성

2.3.3 동적 라이브러리 생성

2.3.4 템플릿의 사용과 링크 에러

2.4 모듈 트리

2.4.1 규모가 큰 모듈의 종속성 문제

2.4.2 모듈의 순환 참조 구조

2.4.3 핵심 모듈의 형태

2.5 공통 헤더 파일(stdafx.h)과 대표 헤더 파일의 활용 68

2.6 테스트 기법

2.6.1 가장 간단한 테스트 코드

2.6.2 테스트 모듈의 일반화

2.6.3 테스트 조건 구성

 

3장 핵심 모듈 설계

3.1 네임스페이스의 사용

3.2 세부 모듈 정의

더보기

 

 

_주요 내용

어떤 플랫폼에서도 자유롭게 실행되는 코딩의 기술

 

[주요 내용]

_중복 코드를 제거하기 위해 컴파일러와 링커를 응용하는 방법들

_윈도우와 리눅스의 유니코드 처리방식에 대해 정확하게 이해할 수 있는 TCHAR의 기술

_견고한 코드를 작성하게 하는 예외 처리의 기술

_오픈 소스 혹은 상용 제품들의 로그 옵션들에 대해 속속들이 알게 해주는 디버그 로그 개발 기법

_서로 다른 인코딩을 쉽게 사용하기 위한 인터페이스를 구축하기 위한 기술

_윈도우와 리눅스, 맥뿐 아니라 모바일 플랫폼 안드로이드와 아이폰까지 전천후로 개발할 수 있는 크로스 플랫폼의 기술

_규칙성과 불규칙성에서 배우는 윈도우 시스템 함수들

_윈도우 시스템과 차이점과 공통점을 배울 수 있는 리눅스 시스템 함수들

_리눅스와 아주 유사하며 일부가 다른 맥 시스템 함수들

_크로스 플랫폼 완성 후에 주요한 기능 중심으로 클래스와 함수를 만들어내는 기술

 

최근에는 Boost 등의 이미 잘 만들어진 크로스플랫폼 모듈들이 제공되고 있는데, 왜 그와 비슷한 코드를 다시 작성해야 하느냐고 비판할지 모릅니다. 물론 결과물 자체는 무의미할 수 있습니다. 하지만 개발하는 과정에서 겪는 여러 가지 문제들의 해결책을 찾으면서 얻게 되는 설계 및 개발 지식들은 이후의 다른 소프트웨어를 개발할 때 분명히 큰 도움이 될 것입니다. 단순히 사용하기만 해서는 그런 내공을 쌓을 수가 없습니다. 게다가 다른 사람보다 더 깊이 있는 지식을 얻기 위해서는 무의미한 이런 시도가 거의 유일한 방법일지도 모릅니다.

_저자 서문 중에서

 

 

_편집자 코멘트

저자와의 인연은 로드북의 사람 냄새 나는 프로그래밍 에세이 시리즈인 [사람과 프로그래머]의 여섯 번째 책인 <보안에 미쳐라>의 공동저자로 시작되었다. 같은 공저자인 필명 미친감자님으로부터 흔치 않은 아키텍트가 있으니 꼭 저자로서 추천한다는 말을 처음엔 흘려들었는데, 진지함과 개발에 대한 프로의식이 묻어난 그의 에세이에 반하고 말았다. 그리고 이어진 몇 번의 만남과 대화. 십수 년 IT 전문서 분야에서 글로 먹고 살다 보니, 코딩을 전문으로 하지는 않았지만 코드를 보지 않더라도 대화를 하다 보면 그 사람의 내공이 느껴진다. “잡아야겠다. 이 사람.” 그리고 2년을 고생시켰다. 결국엔 출판하는 날이 왔지만, 짠하고 미안한 마음도 든다. 마지막까지 이미지의 해상도까지 걱정하며 수정하던 저자의 노력에 편집자로서 많은 감사를 드린다.

최근에, 인공지능이나 웹 서비스 위주의 책들을 보면서, 다시 한번 C++ 개발자들이 볼 만한 고급서적이 나온 것에 만족한다. 또 한 권의 책을 라인업하면서 다음 책을 준비하는 여정을 떠나야 하기는 하지만, 이 책과 함께 한 여정은 편집자로서 큰 추억이었고 행복 그 자체였다.

 

_저자 소개

_지은이

전상현

리팩토링에 능합니다. 항상 구조를 뒤바꾸며 좀더 효율적인 형태를 창안하려 노력합니다. 이 능력은 프로젝트 중장기 시점에 빛을 발합니다. 안정성을 도모하고 지속적으로 변화하는 요구사항을 무리없이 수용하는 가치를 지니고 있으니까요.

 

더 큰 가치도 숨어있습니다. 바로인생을 압축해서 살게 해주는 기술이라는 점에서요. 안정적이고 변화에 유연하다는 것은 같은 일을 더 짧은 시간에 적은 노력으로 해결할 수 있다는 것과 같습니다. 남들이 프로젝트 하나를 마칠 기간에 둘 혹은 셋을 마칠 수 있다는 것이죠.

 

그것들이 모이면 개발 인생이 압축됩니다. 덕분에 좀더 빠르게 성장한 것 같습니다. 꽤 많은 경험과 풍파를 거치고도 아직은 서른 일곱이라는 나이가 감사할 따름입니다.


_끝


posted by 로드북
자료실 2018.08.13 16:16

이 책의 예제 소스는 아래 링크에서 다운로드 받으실 수 있습니다.


예제소스다운로드

posted by 로드북
오탈자 정보 2018.08.13 16:15

(오탈자 신고: chief@roadbook.co.kr 또는 댓글로 남겨주세요)

(2018년 8월 현재, 1판 1쇄 기준)

posted by 로드북
신간소개 2018.05.16 12:16


  ● 저자: 이재현

  ● 페이지: 544

  ● 판형: 신국판(152*225), 양장본 

  ● 도수: 2

  ● 정가: 30,000원

  ● 발행일: 2018년 5월 28일

  ● ISBN: 978-89-97924-39-4 93000




[오탈자사이트 바로가기]

[강컴] [교보] [반디[알라딘] [예스24] [인터파크]


_도서 내용

책의 내용은 지능 연구와 관련 없는 일반 교양인들도 쉽게 읽을 수 있도록 꾸미는 것을 목적으로 하였지만, 중간중간 다소 어려울 수 있다. 인문학과 과학, 수학과 프로그래밍이 엉켜있기 때문이기도 하다. 지능의 본질을 향한 저자의 질문은 날카롭고 진지하며, 이를 기반으로 한 지능의 알고리즘적 구현에서는 보기 드문 성취를 보여 주고 있다. 지금처럼 다소 성급하게 지능에 대한 답을 내리려고 시도하는 사람들이 많은 시기에, 이 책은 그들이 잠시 가던 길을 멈추고, 지능이라는 주제에 대해서 좀 더 진지하게, 처음부터 다시 생각하도록 유도하려고 노력하였다.

 

_대상 독자

인공지능을 연구하는 독자뿐만 아니라, IT와 교차점에 있는 모든 독자가 읽어보고 사색해볼 만하다.

 

_목차 

추천사

들어가며 : 왜 인공지능인가 

01 지능에 대하여

우주와 생명과 지능의 탄생

___우주와 지능 

___지능의 존재는 필연인가 

___지능은 빠르게 혹은 느리게 진화했는가 

___생명활동과 메모리의 기원 

___생명의 탄생과 메모리 

___메모리의 활용 

___복사와 DNA 

___나무와 수상돌기 

___우연과 의도와 목적에 관하여 

___이익과 보상에 대하여 

___전략에 대하여 

___확률에 대하여 

서양의 지능과 동양의 지능 

___문화에 대한 소고 

___과학에 대한 소고 

___동양철학에 대한 소고 

인공지능을 바라보는 두 입장: 연역법과 귀납법 

지능 탐구의 역사 

___라이프니츠에서 앨런 튜링까지

___공자, 맹자, 노자 

지능의 기계적 구현 

___튜링머신 

___노이만 구조 

___연산 대 메모리  

02 지능에 관한 풀리지 않는 의문들

지능은 왜 그리 빠른가 

___모방과 재활용: 함수와 연역과 귀납 

___모방과 재활용: 기록으로서의 함수와 그것의 재사용 

___모방과 재활용: 참조와 참조연산 

지능은 어떻게 지능을 만드는가 혹은 그게 가능한가 

___인간은 도구를 만든다 

___인간은 지능을 만든다 

___지능은 도구인가 

___인간은 도구인가 

지능 행위는 설명 가능한가 혹은 그래야 하는가 

___커뮤니케이션과 인간   

03 인공지능과 수학과 공학

들어가며 

실수와 이산수 1 

___정수와 라마누잔 합 

___라마누잔 합에 대한 기하학적 이해 

실수와 이산수 2 

___몬테 카를로 방법 

벡터와 공간 

더보기

 

_주요 내용

 

지능은 어디에서 왔으며 어떻게 구현될 수 있는가

지능의 본질과 구현 가능성을 찾아가는 위대한 여정 

이 책은 저자가 몇 년 간 연구한 끝에 수확한 기억 기반의 인공지능 알고리즘에 관한 수학적 과학적 인문학적 증명에 관한 책이다. 단순히 저자가 만들어낸 알고리즘을 설명하는 책이 아니라 왜 지능이 확률과 계산 기반이 아닌 기억 기반이어야 하는지를 알기 위해 우주의 탄생부터 지능의 기원부터 찾아가는 힘든 여정을 풀어놓았다.

하지만, 사람들이 읽기 편해야 하고, 그러면서도 깊이가 있어야 하고, 넓게 다루면서도, 지나치게 장황하지 않기 위해 이 책은 적당한 타협의 산물로 탄생했다. 우리가 세포였을 때부터(혹은 그 이전부터), 우리는 늘 그렇게 살아왔다. 생명은 다양한 한계 속에서 늘 임시적인 결론을 내려야 했고, 그런 결정들이 쌓여 지능이 되었다. 그리고 그 지능의 한 활동이 이 책을 낳았으므로 이 책도 또한 임시적인 결론이다. 많이 부족하고 여전히 나아갈 길이 멀지만, 동원 가능한 최선으로서 이 책이 쓰여졌음도 결코 부정될 수 없다.

저자는 이 책이 어떤 이론의 결론이 아니라 그 이론의 시작이며, 부디 이 글을 읽은 독자들을 다음 책에서도 볼 수 있기를 소망하고 있다.

 

"인간의 생각을 본질적으로 구현해 보려는 훌륭한 접근 방법"

_서울대학교 컴퓨터공학부 교수 엄현상 

과연 우리 인간의 지능은 계산으로 동작하는 걸까? 이 책이 던지는 가장 큰 물음이다. 우리는 계산이 아니라 직관과 경험, 그리고 본능과 기억으로 행동한다. 이 책을 보면, 이러한 인간 본연의 지능이 어쩌면 구현될 수도 있겠구나 하는 강한 확신을 들게 해 준다.”

_서울의대 교수 이준영(정신의학 전공, 서울의대 박사) 

이 책의 가장 큰 의미는 과학과 기술의 경계를 없앴다는 것이다. IT는 문외한이었던 내가 지능의 구현 가능성에 대해 진지하게 생각하게 된 계기가 되었다.”

_차의과학대학교 임상상담심리대학원 부교수 윤정혜(심리학 박사) 

무엇보다도 교육적이다. 저자는 모든 사람이 읽을 수 있도록 배려했으므로, 모든 사람이 읽을 만하다. 창의적인 발상과 발상을 현실화하기 위한 부단한 노력에 박수를 보낸다.”

_서울대학교 의학과 기금부교수 장준환 

"인간 지능의 발전 원리를 그대로 인공지능에서 구현하고자 하는 욕구에 충실한 새로운 방법이라 생각하며, 그 결과가 인공지능 구현에서 무척이나 기대된다."

_()인더텍 기술이사 강정호(전기공학, 공학 박사) 

 

_저자 소개

이재현

저자 이재현은 1974년 서울에서 태어났다. 연세대학교 신학과를 졸업하고, 학원에서 영어를 가르치다가 컴퓨터에 입문, 10년 넘게 웹, , 그리고 시스템 프로그래밍을 해왔다. 2016년부터 인공지능에 대한 연구를 시작하여 뉴럴넷의 복잡성을 대체할 기억 기반의 '니마시니 알고리즘'을 만든 이후로는 이 알고리즘에 대한 보급, 전파를 위한 활동을 하는 중이다.

현재 니마시니 알고리즘은 서울대, 대구경북과기원(DGIST)에서 논문과 실용화를 위한 공동 연구를 진행하고 있으며, 이 책도 그러한 노력의 일환으로 기획되었다.

  

_상세 이미지

_끝

posted by 로드북
오탈자 정보 2018.05.16 12:09

(오탈자 신고: chief@roadbook.co.kr 또는 댓글로 남겨주세요)

(2018년 5월 현재, 1판 1쇄 기준)

posted by 로드북
신간소개 2018.04.09 17:12


  ● 저자: 니시모리 히데토시, 오오제키 마사유키

  ● 역자: 신상재

  ● 페이지: 192

  ● 판형: 신국판변형(150*213) 

  ● 도수: 4

  ● 정가: 15,000원

  ● 발행일: 2018년 4월 16일

  ● ISBN: 978-89-97924-38-7 93000




[오탈자사이트 바로가기]

[강컴] [교보] [반디[알라딘] [예스24] [인터파크]


[샘플원고]

sample_quantum.pdf


_도서 내용

인공지능이 세상을 바꿀 것 같은 위세를 떨치고 있지만, 아직까지도 넘어야 할 수많은 난제들이있다. 엄청나게 복잡하게 얽힌 최적 조합 찾기 문제 등 많은 문제가 현재의 시스템으로는 불가능에 가깝다. 그러한 인공지능에 날개를 달아줄 기술이 양자 컴퓨터이다. 이 책은 이미 상용화한 양자 컴퓨터가 어떤 기술로 이루어졌는지 알아보고 일본이 이를 따라잡기 위해 기초과학 연구와 벤처 투자 등을 통해 제2의 도약을 하고 있는 상황을 통해 우리가 나아가야 할 방향도 찾아볼 수 있을 것이다.

 

_대상 독자

격변하는 세상의 중심에 비즈니스를 하고 있다면, 4차 산업혁명을 이끌 IT 과학이야기에 주목해보세요. 무엇이 우리를 바꾸고 있을까요?

IT 과학자를 꿈꾸는 청소년이라면, 영화속에 나오는 터무니없는 기술이 아니라 이제 곧 미래를 바꿔나갈 기술이 무엇인지 알아보세요.

엔지니어라면, 나의 기술이 어느 위치에 있고 무엇과 어떻게 연결지어 시너지를 낼 수 있는지 깊은 통찰을 경험해보세요.

 

_목차 

옮긴이의 말 

지은이의 말 

이 책의 구성 

지은이 소개

 

첫 번째 이야기_1억배 더 빠른 컴퓨터

__구글과 NASA의 기자 회견이 세상을 놀라게 하다 

__조합 최적화 문제를 단 시간에 풀어내는 양자 컴퓨터 

__인공지능 외의 다양한 분야에도 활용 가능한 양자 컴퓨터 

__컴퓨터가 아닌 실험 장비로서의 양자 컴퓨터 

__양자 어닐링은 과연 무엇인가 

__캐나다 벤처 기업의 무모하지만 위대한 도전 

__양자 비트에 횡자장을 걸었을 때 

__양자 터널 효과가 문제의 답으로 인도한다

 

두 번째 이야기_양자 어닐링 머신의 탄생

__D-Wave 시스템 

__물리학자의 아이디어에서 시작된 양자 컴퓨터 개념 

__초전도체로 양자 비트를 만든다 

__상용기 개발을 목표로 

__양자 인공지능 연구소가 설립되다 

__키메라 그래프가 병목이다 

__활개치는 미국, 일본은 과연

 

더보기

  

_주요 내용 

양자 컴퓨터와 인공 지능의 새로운 시대를 준비하라

인공지능의 한계는 바로 컴퓨팅 파워이다. 이를 뛰어넘을 수 있는 유일한 기술은 새로운 컴퓨팅 파워인 양자 컴퓨터다. 구글과 삼성 등 글로벌 기업들이 앞다투어 양자 컴퓨터에 대폭 투자를 하고 있다. 제한적 기능을 하지만 이미 상용화한 양자컴퓨터도 있다.

우리는 무엇을 준비해야 할까?

양자 컴퓨터가 무엇이고 어떤 기술이 필요하며 한계는 무엇인지 정도는 알아야 한다. 그래야 급변하는 IT 환경에서 미래를 읽고 준비할 수 있다.

 

이 책은 무엇을 이야기하는가

 Story #1. 1억배 더 빠른 컴퓨터의 정체

 Story #2. 양자 어닐링 머신의 탄생

 Story #3. 인공지능 분야에 양자 컴퓨터가 어떻게 응용될 것인가

 Story #4. 양자 컴퓨터가 만드는 미래는 무엇인가

 Story #5. 양자 컴퓨터의 기반 기술은 무엇인가

 Story #5. 세계를 주도할 꿈을 꾸는 일본

 

별로 관계가 없어 보이는 양자 컴퓨터와 인공지능을 왜 이 책에서는 함께 다루려고 하는 걸까? 실은 아직 상용화가 되기엔 미숙하다고 판단되었던 양자 컴퓨터가 어느새 완성되었고, 심지어 상용화되어 판매 거래가 이루어지는 상황이 되자, 과거에는 전혀 관련이 없다고 여겨왔던 인공지능 분야에 양자 컴퓨터를 활용하려는 움직임이 진행 중이기 때문이다.”

_저자서문 중에서

 

 

_저자 소개

지은이

니시모리 히데토시(Hidetoshi Nishimori)

1954년 코우치(高知) 출생으로, 1977년에 도쿄대학교 이학부 물리학과를 졸업했다. 1981년 카네기멜론대학교Carnegie Mellon University에서 박사 연구원이 되었고 1982년 도쿄대학교 대학원 박사 과정을 수료하여 이학 박사가 된 후, 랏거스대학교Rutgers University 박사 연구원이 되었다. 1990년 도쿄공업대학교 이학원 물리학과의 조교수로 취임, 1996년에 도쿄공업대학교 이학원 교수가 된 후, 지금에 이르렀다. 1990년에 일본 IBM 과학상, 2006년에 니시나 기념상(仁科記念賞), 2014년에 일본 이노베이터 대상을 수상하였다.

저서에는 『스핀 글래스 이론과 정보통계역학』(岩波書店), 『상전이, 임계현상의 통계물리학』(培風館), 『물리수학Ⅱ푸리에 변환과 라플러스 변환, 편미분 방정식, 특수함수』(丸善出版), Statistical Physics of Spin Glasses and Information Processing: An Introduction(Oxford University Press)가 있고 공동 집필한 책으로는 『Elements of Phase Transitions and Critical Phenomena(Oxford University Press)가 있다.

 

오오제키 마사유키, Masayuki Ohzeki

1982년 도쿄 출생으로, 2008년 도쿄공업대학교 대학원 이공학연구과 물성물리학전공 박사 과정을 조기 수료하였다. 도쿄공업 대학교 산학관 제휴 연구원으로서 양자 어닐링을 연구하고 로마 대학교 물리학과 연구원, 교토대학교 대학원 정보학연구과 시스템과학 전공 조교를 거쳤다. 2016 10월에 도호쿠대학교 대학원 정보과학연구과 응용정보과학전공 준교수가 된 후, 지금에 이르렀다. 2012년에 제6회 일본물리학회 젊은 장려상(6回日本物理学会若手奨励賞), 2016년에 문부과학성 젊은 과학자상(平成28年度文部科学大臣表彰若手科学者)을 수상하였다. 저서에는 『기계 학습 입 문볼츠만 기계 학습에서 딥러딩까지』(옴출판사)가 있다.

 

옮긴이

신상재

부산대학교 컴퓨터공학과를 졸업한 이래 현재까지도 삼성SDS의 소프트웨어 아키텍트로 장기 근속중인 전형적인 IT 꼰대의 표본이다. 고대의 컴퓨터인 주산으로 시작해서 애플 IIe, IBM PC XT, AT, 386, 486, 펜티엄 등을 두루 섭렵했으며, 지금은 GPU 장비로 머신 러닝을 돌리는 팀에서 페이스북과 기술 번역을 하고 있다.

유튜브로 양자 컴퓨터를 배웠고, 만화로 양자 역학을 익혔다. “양자 역학을 이해하는 사람은 아무도 없다.”라는 슈뢰딩거의 말에 깊은 감명과 용기를 얻어 나는 컴퓨터공학 전공자니까라는 근거 없는 자신감 하나로 감히 양자 컴퓨터 책을 번역하게 되었다.

주요 번역서로는 『스프링 철저 입문』(위키북스, 2018), 『그림으로 배우는 클라우드 인프라와 API의 구조』(로드북, 2017), TCP/IP 쉽게, 더 쉽게』(제이펍, 2016), 『네트워크 엔지니어의 교과서』(로드북, 2016), Xcode로 배우는 코코아 프로그래밍』(한빛미디어, 2010), Objective-C: 맥과 아이폰 애플리케이션 프로그래밍』(한빛미디어, 2009)이 있다.

 

_상세 이미지

_끝

posted by 로드북
오탈자 정보 2018.04.09 17:07

(오탈자 신고: chief@roadbook.co.kr 또는 댓글로 남겨주세요)

(2018년 4월 현재, 1판 1쇄 기준)


_6페이지

과학 컬럼리스트이자 -> 과학 컬럼니스트이자

posted by 로드북
신간소개 2017.08.28 11:11



  ● 저자: 이난주

  ● 페이지: 264

  ● 판형: 사륙배변형(172*225) 

  ● 도수: 2

  ● 정가: 20,000원

  ● 발행일: 2017년 9월 6일

  ● ISBN: 978-89-97924-37-0 93000



[오탈자사이트 바로가기[자료실 바로가기

[강컴] [교보] [반디[알라딘] [예스24] [인터파크]


[샘플원고]

Sample_Kotiln.pdf


_도서 내용

구글이 코틀린(Kotlin)을 공식언어로 채택하였다. 자바처럼 JVM에서 작동하고 자바와 완전하게 호환된다. 또한 언어 자체의 장점 때문에 코틀린은 현재 빠르게 확산되고 있다. 이 책은 코틀린의 핵심 문법을 자바와 비교하면서 가르쳐준다. 그리고 간단한 앱 세 개를 개발해보면서 빠르게 코틀린 개발자가 되도록 도와준다. 코틀린 개발자로 빠르게 거듭날 수 있도록 도와주는 입문서인 셈이다. 안드로이드 스튜디오만 있으면 학습하는 데 전혀 문제가 없다. 이 책을 통해 좀더 효율적이고 유연한 개발자가 되기를 바란다.

 

_대상 독자

새로운 언어는 언제나 학습 비용이 따른다. 코틀린도 마찬가지다. 여러 장점 때문에 프로젝트 기술 스택에 코틀린을 포함했는데, 금쪽 같은 시간을 아껴 빠르게 코틀린에 익숙해지고자 하는 개발자들에게 적합한 책이다.

 

_목차 

1장 코틀린 시작하기

1.1 코틀린의 탄생

1.2 왜 코틀린일까?

1.3 코틀린 개발 환경 구축하기

[연습문제] 코틀린 관련 퀴즈, "HelloKotlin" 출력하기 

 

2장 빠르게 살펴보는 코틀린 문법

2.1 클래스

2.1.1 코틀린 클래스 생성하기

2.1.2 생성자 constructor 키워드

2.1.3 생성자에서 기본값 설정하기

2.1.4 코틀린은 생성자 함수 바디를 가질 수 없을까?

2.1.5 코틀린 변수 키워드 var val

2.1.6 접근 제한자

2.1.7 클래스의 멤버 변수 선언

2.1.8 상속

2.1.9 interface 클래스

2.1.10 그 밖의 클래스 타입

2.2 함수(fun)

2.2.1 함수 선언

2.2.2 함수도 기본값을 정의할 수 있을까?

2.2.3 변수 타입

2.2.4 vararg

2.3 흐름 제어 연산자

2.3.1 For의 범위 설정 키워드 in

2.3.2 Switch 대신 When

2.4 collection

2.5 타입 체크와 비교 연산

2.5.1 타입 체크 is와 타입 캐스팅 as

2.5.2 NPE에 안전한 변수 선언 방법

2.5.3 비교 연산자 = = = = =

2.6 람다

2.6.1 코틀린에서 살펴보는 람다의 특징

2.6.2 inline 키워드

2.7 제네릭

2.7.1 제네릭

2.7.2 추론

2.7.3 와일드 카드

2.7.4 임의적 생략

2.8 그 밖의 유용한 함수들

2.8.1 apply()

2.8.2 run ()

2.8.3 let()

2.8.4 with()

2.8.5 forEach()

2.8.6 onEach()

2.8.7 filter()

[연습문제] 2가지 타입 생성자 클래스 만들기, 1~50까지 짝수 더하기, 타입 캐스팅과 apply 함수 활용하기 

 

3장 국가 정보를 소개하는 애플리케이션 만들기

3.1 애플리케이션 및 개발 사양 소개

어떤 애플리케이션을 만들까?

개발 포인트 및 개발 사양

3.2 프로젝트 만들기

[예제 3-1] 코틀린 환경 설정 후 클래스 파일

더보기

 

_주요 내용

안드로이드 공식 언어 “코틀린(Kotlin)”의 매력에 빠져보자!

>> 코틀린을 빠르게 배우는 세 가지 방법

    자바 코드와 비교해보면 쏙쏙 들어온다.

    핵심 문법 노트(2)를 훑어보면 언어의 특성을 빠르게 파악할 수 있다.

    코틀린으로 앱 세 개 (3~5) 정도 개발해보면 다른 앱도 쉽게 개발할 수 있다.

    연습문제로 배운 것을 확실하게 내 것으로.

 

>> 이 책의 핵심 문법과 예제로 알 수 있는 코틀린의 장점

    자바 코드와 비교해보면 쏙쏙 들어온다.

    널 포인트 익셉션에 대한 안전성

    함수형 언어의 중요한 장점 차용

    상속 없이 클래스를 확장할 수 있는 편리함

    자바 코드와 백퍼센트 호환된다는 점

 

[ 책에서 다루는 내용]

1장과 2장은 환경 설정과 문법에 대한 설명을 진행하고 3장부터 5장까지는 2장에서 학습한 문법을 바탕으로 안드로이드 애플리케이션 예제를 제작해 보는 것으로 구성하였다.

2 코틀린 핵심 문법에서는,

클래스, 함수, 제네릭, 람다 코틀린에서 유용하게 사용할 있는 함수들에 대해서 살펴본다.

3 국가 정보를 소개하는 애플리케이션 제작에서는,

애플리케이션 내부에 국가에 대한 정보를 저장하고 정보를 이용하여 사용자에게 여러 국가에 대한 정보를 보여주는 애플리케이션을 제작해본다.

4 사용자 등록 애플리케이션 제작에서는,

안드로이드에서 제공하는 Sqlite DB 이용하여 사용자의 정보를 저장하고 저장된 정보를 사용자에게 보여주는 애플리케이션을 만들어본다.

5 일기 예보 애플리케이션 제작에서는,

외부 API 이용하여 인터넷으로부터 날씨 데이터를 받아 사용자가 원하는 지역에 대한 일기예보를 해주는 애플리케이션을 만들어 본다.

[ 책을 먼저 읽고 따라해본 베타리더의 마디!]

책은 쉽다. 항상 새로운 언어 책은 코드의 이질감 때문에 배우기가 쉽지 않았다. 그러나 책을 읽다보면 어느새 코틀린 코드가 쏙쏙 들어온다. 아마도 같은 개발 환경, 그리고 익숙한 자바 코드와 호환된다는 때문일 것이다

-이소은님, 안드로이드 게임 개발 3년차

책을 베타리딩 하면서 가장 신기했던 점은 자바 코드를 코틀린 코드로 바로 변환해주는 것이었다. 자바로 “이렇게” 개발하는 상당히 번거로웠는데, 코틀린은 “어떻게” 개발할까?라는 고민을 그냥 변환만 해주면, 신기하게도 코틀린에 금방 익숙해질 있었다. 두껍지도 않은 책인데, 알려주는 많다.

-손형민, 프리랜서 개발자

 

_저자 소개

이난주

2006년 삼성전자 북미 개발팀에서 단말에 들어가는 어플리케이션을 개발하면서 모바일 개발을 시작하였다. 이후 스마트폰이 급성장하면서 자연스레 안드로이드 개발을 시작하였다. 현재는 안랩에서 모바일 보안 제품을 개발 중이다.

근무 외 시간에는 다양한 애플리케이션 제작에도 참여하고 있다. 또한 코틀린에 관심이 많아 코틀린으로 개인 애플리케이션도 제작하고 있다.

 

_상세 이미지

                                                                                               _

posted by 로드북
오탈자 정보 2017.08.28 11:11

(오탈자 신고: chief@roadbook.co.kr 또는 댓글로 남겨주세요)

(2017년 9월 현재, 1판 1쇄 기준)


_44페이지(9째줄)

object -> Object


_48페이지(3째줄)

interface 클래스는 자바에서는 기본 틀을 만들어 주는 클래스로 내부에 함수 바디를 선언할 수도, 변수를 가질 수도 없었습니다.

-> 괄호 부연설명 추가

(이 내용은 자바 7에 해당하는 내용입니다. 자바 8에서는 interface 클래스 내부의 함수 바디를 가질 수 있습니다.)


_49페이지(4~5째줄)

B 클래스는 interface라 오버라이드를 해줘야만 합니다.

-> 내용 삭제


_50페이지(5째줄)

equal() -> equals()


_52페이지(8째줄)

sealed 클래스를 상속 받은 자식 클래스는

-> sealed 클래스를 상속받은 자식 클래스를 상속받은 클래스는


_57페이지(2.2.3절)

string -> String

그래서 int에서 Double로 -> 그래서 Int에서 Double로

자바에서 사용하던 방식으로 char에 바로 -> 자바에서 사용하던 방식으로 Char에 바로


_58페이지(표2-1위로 2째줄)

int와 long -> Int와 Long


_58페이지(표2-1에서)

shl(bits) -> shl(count)

shr(bits) -> shr(count)


_60페이지(자바 소스에서)

for(int i=1 ; i<10; i++)

-> for(int i=2 ; i<10; i++)


_61페이지(첫번째 코틀린 소스의 제목)

10<i<1 -> 10>i>1


_61페이지(두번째 코틀린 소스의 주석)

3,5,7,9 -> 2,4,6,8


_63페이지(when문의 예시코드 3째줄)

array.size < 0->{

-> 

array.size == 0->{


_65페이지 mutableListOf 예제코드 오류 (아래와 같이 바로잡음)

(강명원님 제공)

var nameList = mutableListOf<String> <-- 대문자로 수정

if(nameList <--괄호 누락됨



_66페이지(1째줄)

string -> String



_66페이지(마지막 문단)

코드에서 map, list 모두, 수정이 불가능한 타입에서 +, -를 사용했을 경우 새로운 생성된 map, list 변수는 수정이 가능한 mutable로 새로 생성됨을 알 수 있습니다.

->

코드에서 map, list 모두 read only 타입으로 +, -를 사용했을 경우 새로 생성된 map, list 변수는 수정이 가능한 컬렉션(collection)으로 새로 생성됨을 알 수 있습니다.

그리고 listOf, arrayOf 등으로 생성되는 컬렉션은 자바의 ArrayList 클래스와  List 클래스로 대체될 수 있습니다. 하지만 listOf나 arrayOf 등으로 생성될 때 read only 모드로 생성되었지만, 이렇게 생성된 컬렉션은 mutable list로 타입 변환을 하여 변수를 수정할 수 있어 수정이 전혀 되지 않는 immutable collection과는 차이가 있습니다.


_69페이지(9째줄)

명시적으로 변수에 절대 null 값을 참조할 수 없도록 해주는

-> 명시적으로 변수에 null 값을 참조할 수 있도록 해주는


_74페이지

(알브레드님 제보)

public class MyListAdapter extends...

->

public class JavaListAdapter extends


_79페이지(아래에서 3째줄)

int, string형 -> Int, String형


_80페이지(2.2.2 추론 내용) - 아래 문서로 수정함(약 1/2워드 페이지 분량)

2.2.2 제네릭 추론 대체 문서.docx


_91페이지(소스 4~5줄 변경)

setContentView(R.layout.activity_main)

toolbar.setTitle("")

-> (다음과 같이 변경)

setContentView(R.layout.activity_main)toolbar = findViewById(R.id.toolbar) as Toolbartoolbar.setTitle("")


_123페이지 (아래에서 6째줄)

string -> String

posted by 로드북
자료실 2017.08.28 11:11

예제소스와 연습문제 해답은 아래 깃헙에서 다운로드 하실 수 있습니다.


http://github.com/kukuru/roadbook

posted by 로드북