신간소개 2022. 7. 14. 18:05

 

  ● 저자: 박민경

  ● 페이지: 408

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

  ● 도수: 2도

  ● 정가: 25,000원

  ● 발행일: 2022년 7월 22일

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

 

 

 

 [오탈자 사이트] [자료실]

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

_도서 내용

이 책을 한 줄로 정의하면 개발자가 되기 위해 기본적으로 알아야 할 I T 기술, 환경에 관한 넓고 얕은 지식’이다. 어렵게 머리를 싸매고 읽어야 하는 부담스러운 IT 책이 아닌, 개발자가 알아야 하는 꼭 필요한 개념과 용어를 인문 도서처럼 술술 읽을 수 있게 설명하였다. 개발자가 되기 위해 알아야 할 것은 두꺼운 책에나 쓰여 있는 딱딱한 지식이 아니다. 문제를 찾아 해결하기 위한 일련의 과정과 그 속에서 필요한 ‘키워드’와 ‘개념’이다. 이 책은 언어, 프레임워크, 디자인 패턴, 개발도구, 클라우드 등등 넓고 얕은 지식을 통해 검색하는 능력을 키우고 해결하고자 하는 문제를 스스로 찾아갈 수 있도록 도움을 줄 것이다.

 

_대상 독자

개발자가 되기 위해 공부하고 있는 취준생이 주독자층이지만,

주니어 개발자도 이 책을 보고 자신의 상식 수준을 확인할 수 있습니다.

개발자뿐만 아니라 기획자를 포함한 개발 문외한도 읽을 수 있게 쉽게 썼습니다.

개발자가 되기 위해 면접을 보기 전에 부족한 점이 무엇인지 체크할 수 있습니다.

 

_목차

 

저자 서문

이 책을 소개합니다

 

1. 개발자들은 뭔가 다르던데, 개발 문화

_1. 매력적인 직업, ‘개발

__‘개발이라는 직업이 매력적인 이유

__‘개발이라는 직업이 어려운 이유

__그래서개발을 잘 하려면 어떻게 해야 하죠?

__재능과 열정 없이도 코딩하는 사람들

_2. 소프트웨어 개발팀과 개발자와의 소통

__소프트웨어 개발 프로젝트를 위한 팀

__좋은 개발 문화

__애자일 방법론

__개발자에게 소통 능력이 필요한 이유

__개발자가 소통하는 법

_3. 개발 포지션 선택과 각 포지션별 로드맵

__개발 포지션을 선택할 때 고려해야 할 점

__개발 포지션 종류

__포지션 로드맵

1장을 마치며

 

2. 프로그래밍 언어, 뭐가 이렇게 많아?

_1. 좋아하는 언어를 선택하는 것이 아니다

__인기 있는 프로그래밍 언어

__인기 있는 언어를 선택하는 것이 아니다

__사용 목적에 따라 언어를 선택해야 한다

__좋아하는 언어를 선택하는 것이 아니다

__어떤 프로그래밍 언어를 선택해야 할까

_2. 고급 언어와 저급 언어?

__고급 언어 vs. 저급 언어

__컴파일러

__인터프리터 언어 vs. 컴파일 언어

_3. 객체지향, 절차지향, 정적타입, 동적타입, 이게 다 무슨 말이지?

__프로그래밍 언어 패러다임

__정적타입 언어 vs. 동적타입 언어

_2장을 마치며

 

3. 라이브러리 프레임워크, 그냥 툴인가요?

_1. “갖다 쓴다는 말이 무엇인가요?

__프로그래밍 세계에서 컨닝은 나쁜 것이 아니다

__오픈소스 문화

더보기

__오픈소스에 기여하기

__오픈소스 소프트웨어 라이선스

_2. 라이브러리와 프레임워크의 차이점

__라이브러리, 프레임워크, , 플랫폼, 대체 뭐가 다른가?

__라이브러리 종류

__프레임워크 종류

_3. 개발자가 사용하는’(feat. IDE)

__IDE

__협업툴

__기타 개발 관련 툴

_3장을 마치며

 

4. 같은 결과, 다른 소스코드

_1. 소스코드는 다른데, 왜 결과는 같을까?

__가독성이 좋지 않은 코드의 문제점

_2. 좋은 소스코드는 무엇인가?(feat. 클린 코드)

__나쁜 코드

__좋은 코드(클린 코드)

__클린 코드의 주요 원칙

__리팩토링이란?

__리팩토링은 언제, 어떻게 해야 할까?

_3. 대문자, 소문자 그게 뭐가 그렇게 중요한가?(feat. 컨벤션)

__코딩 컨벤션이란?

_4. 디자인 패턴과 모듈화 그리고 마이크로 서비스

__디자인 패턴이란?

__디자인 패턴의 원칙

__디자인 패턴의 종류

_4장을 마치며

 

5. 컴퓨터를 물리적으로 바라보자

_1. 소스코드를 돌릴 때 컴퓨터에서 일어나는 일

__컴퓨터 구조란?

__프로그램이 실행될 때 일어나는 일

_2. 컴퓨터는 결국 0 1을 계산해 줄 뿐이다

__2진수와 10진수

__컴퓨터는 왜 2진수를 사용하나?

__두 가지 상태로 어떻게 컴퓨터는 많은 일을 처리할까?

_3. 자료구조, 왜 중요할까?

__자료구조란?

__자료구조의 종류

__알고리즘과 시간 복잡도

__자료구조와 알고리즘, 왜 중요할까?

_5장을 마치며

 

6. 운영체제, 네트워크, 데이터베이스

_1. 윈도우즈, , 우분투, 운영체제 이야기

__운영체제란?

__커널은 배 위의 선장이다

__운영체제의 제어 단위

__운영체제의 운용 기법

__운영체제의 3대장윈도우즈, MacOS, 리눅스

_2. 눈에 보이지 않는 네트워크 이야기

__네트워크란?

__인터넷은 실제로 어떻게 연결되는 것일까?

__OSI 7계층

__인터넷과 네트워크는 같은 말인가?

_3. 정보들은 모두 어디에, 데이터베이스 이야기

__데이터베이스란?

__DBMS

__관계형 데이터베이스와 SQL

__관계형 데이터베이스가 아닌 것은 무엇일까?

__NoSQL의 종류

__SQL vs. NoSQL

_6장을 마치며

 

7. 웹 서비스와 앱 서비스

_1. 웹이냐 앱이냐 그것이 문제로다

__웹 서비스

__앱 서비스

__웹 개발을 배울까, 앱 개발을 배울까?

_2. 웹 개발자가 알아야 하는 것들

__웹 개발자가 알아야 하는 요소들

_3. 앱 개발자가 알아야 하는 것들

__앱 개발자가 알아야 하는 요소들

__웹과 앱 개발자가 되기 위해서 필요한 것

_4. 데브옵스 개발자가 알아야 하는 것들

__데브옵스의 탄생

__데브옵스 개발자란?

__데브옵스 개발자가 되기 위해서 필요한 것

_7장을 마치며

 

8. 깃은 선택이 아닌 필수

_1. 형상 관리, 대체 뭘 관리한다는 걸까?

__소프트웨어에서 형상이란?

__형상 관리란?

_2. 버전 관리 시스템 종류와 비교

__중앙집중식 모델(CVCS)

__분산 모델(DVCS)

__깃과 깃허브는 뭐가 다르지?

__왜 깃을 사용해야 하는가?

_3. 깃 튜토리얼

__초기화, 스테이징, 커밋, 되돌리기

__깃 브랜치: 같은 파일로 여러 버전 만들기

__깃 브랜치 사용법

__깃허브와 연동하기

__충돌 해결하기

_8장을 마치며

 

9. 클라우드와 분산환경

_1. 내 서버가 미국에 있다고? 클라우드 이야기

__클라우드 컴퓨팅이란?

__내 서버가 미국에 있다고?

__클라우드 서비스 종류

__구름 속에 숨겨진 위험

_2. 언제, 어떤 클라우드를 사용해야 할까?

__AWS vs. 애저 vs. GCP

__시장 점유율이 가장 높은 AWS

_3. 데이터 하나가 서버 10대에? 분산 환경 이야기

__분산 컴퓨팅이란?

__분산 컴퓨팅을 사용하지 않는 이유

_9장을 마치며

 

10. 성장하는 개발자가 되기 위한 필요충분 조건

_1. 혼자서 개발하는 방법

__성장을 위한 필요충분 조건

_2. 함께 개발하는 방법

__개발자에게 네트워킹(인맥)은 중요할까?

__함께 개발하는 방법은 무엇인가?

_3. 다들 어떻게 개발 관련 뉴스에 빠삭하지?

__개발 소식을 큐레이션 형태로 제공하는 뉴스레터 서비스

__IT 기업의 기술 블로그

__기타

_4. 개발자와 이직

__개발자의 첫 단추

__잡 호핑?

__어필 포인트를 만들자

_10장을 마치며

 

11. AI, 메타버스, 블록체인, 미래의 개발자는?

_1. AI와 빅데이터의 시대?

__빅데이터, 인공지능으로 무엇을 할 수 있을까?

__데이터 관련 직군

__인공지능, 머신러닝, 딥러닝

_2. 메타버스와 웹 3.0

__ 3.0이 창조하는 새로운 생태계

_3. 블록체인, NFT

__블록체인

__NFT

__블록체인, 메타버스 개발자?

_11장을 마치며

 

부록. 개발용어 정리

찾아보기

 

주요 내용

 

개발자라면 기본적으로 알아야 할
IT 기술, 환경에 관한 넓고 얕은 지식

 

1. 왜 이 책을 기획하였나?

개발자가 되기 위해 열심히 공부하다 보면 과연 내가 ‘어디까지 알아야 하지?’ ‘무엇을 더 공부해야 하지?’ 하는 고민에 빠지곤 합니다. 드넓은 개발의 세계에서 어쩔 수 없는 경우이기도 하지요. 이런 고민을 하는 독자들에게 베이스캠프 같은 책을 만들고 싶었습니다. 길을 잃지 않고 내가 무엇이 부족한지, 무엇을 더 채워야 할지 바로미터 같은 책의 역할을 할 수 있도록 만들었습니다.

또한 어떻게 개발 트렌드를 놓치지 않고 성장할 수 있는지 여러 방법까지 다루어 성장하는 개발자가 될 수 있도록 도움을 주고자 했습니다.

IT 기술이 빠르게 변화하듯 개발자 상식은 시대에 따라 변할 것이지만, 지금 이 시기를 관통하는 개발자 상식은 바로 이 책입니다.

 

2. 누가 보면 좋은가?

2-1. 개발자가 되기 위해 공부하고 있는 취준생이 주독자층입니다. 어떤 것을 공부해야 하는지 방향을 설정하고 기술을 선택하는 데 도움을 받을 수 있습니다.

2-2. 주니어 개발자도 이 책을 보고 자신의 상식 수준을 확인할 수 있습니다.

2-3. 개발자뿐만 아니라 기획자를 포함한 개발 문외한도 읽을 수 있게 쉽게 작성했습니다. 개발은 개발자만 하는 것이 아닙니다. 디자이너나 기획자, 심지어 고객까지도 포함되어 외계어를 남발하는 개발자들과 대화하고 원하는 결과를 이끌어내야 하는 경우가 많습니다. 이 책은 비전공자도 쉽게 읽을 수 있도록 서술되어 있습니다. 비전공자에겐 고급 지식이 될 수 있습니다.

2-4. 개발자가 되기 위해 면접을 보기 전에 자신이 부족한 점이 무엇인지 체크하고 보완할 수 있습니다.

 

3. 무슨 내용을 담고 있나?

_1

개발자가 누구인지 그들의 문화는 무엇인지 알아봅니다. 또한 개발자를 크게 프런트엔드, 백엔드, 데브옵스로 나누어 포지셔닝을 해보았습니다.

_2

개발자들의 주요 기술 스택인 언어에 대해 알아봅니다. 개발자가 첫 언어를 선택하는 것은 무척 중요한 일입니다. 언어별 특성을 잘 파악하고 나에게 맞는 언어를 선택하는 기준을 줄 수 있습니다.

_3~4

라이브러리나 프레임워크 그리고 언어의 간단한 속성을 알아봅니다. 언어를 사용하는 사람마다 같은 의도라도 문장이 다르듯이 프로그래밍 언어도 마찬가지입니다. 좋은 코드를 위한 조건들을 알아봅니다. 리팩토링이니 코딩 컨벤션, 클린 코드, 디자인 패턴과 같은 이야기를 합니다.

_5~6

소스코드가 실행될 때 일어나는 일들을 알아봅니다. 알고리즘이나 운영체제, 네트워크, 데이터베이스를 넓고 얕게 알아보지만, 개발자라면 반드시 정리가 되어 있어야 할 내용들로 채웠습니다.

_7

개발자들이 개발하는 서비스의 종류가 무엇인지, 웹이냐 앱이냐 그것이 문제인 경우가 많습니다. 선택의 기로에서 차이점을 알고 잘 선택할 수 있는 가이드를 제공합니다.

_8

개발자들의 필수 도구인 깃(Git)을 조금 자세하게 설명하였습니다. 잔디를 심는다는 표현을 하는데, 모든 개발이 깃에 의해 이루어진다고 봐도 과언이 아닙니다.

_9

요즘 유행하는 클라우드에 대해 알아보았습니다. 클라우드를 이해하지 못하고는 요즘 개발의 세계를 이해할 수 없습니다.

_10~11

성장하는 개발자가 되기 위해 무엇을 해야 하는지, 미래의 기술들이 무엇이 있는지를 알아봅니다.

_특별부록: 개발 용어 정리

300여 개의 개발 용어를 정리하였습니다. 찾아보기 쉽게 정렬하여 필요한 용어를 쉽게 찾고 읽어볼 수 있고, 시간 날 때마다 한 번씩 읽어보면서 내가 모르는 용어들은 좀 더 학습을 해보는 것을 추천합니다.

 

개발은 여러 유기적인 지식들을 연결해서 하나로 조합해 하나의 문제를 해결하는 것입니다. 여러 유기적인 지식들의 넓고 얕은 지식을 이 책은 개발자 상식이라 정의합니다. API, 클라우드, 서버, 개발 언어, 환경 등 넓은 범위의 IT 개념들이 손에 잡히지 않을 때, 이 책을 읽는다면 추상적인 개념들이 하나씩 연결되며 머릿속에 그려지기 시작할 것입니다.

대충은 아는데, 말로 표현하기 어려울 때 또는 다른 사람들과 협업하는 데 있어 용어와 의사소통에 문제가 있는 독자라면 이 책을 읽고 난 뒤에는 훨씬 수월하게 개발 관련 지식들을 전달하고 있는 자신의 모습을 발견할 수 있을 것입니다.

 

­­

_저자 소개

지은이 ­­­

박민경

https://github.com/minkyungpark

https://ebbnflow.tistory.com

 

고려대학교 인공지능학과 석사과정 재학 중

건국대학교 컴퓨터공학과 소프트웨어학부 졸업

) 경기도 지역협력연구센터(GRRC) AI 연구원

) 테크투어 스타트업 라이크어로컬 Data Scientist

 

전공 과정 및 크고 작은 프로젝트를 통해 습득한 Computer Science 지식을 이해하기 쉽게 전달하기 위해 개발 블로그를 운영 중이며, 개발자만을 위한 개발 문화가 아닌 다양한 사람들과 함께하는 개발 문화를 만들어가는데 관심이 많다. <백견불여일타 Node.js로 서버 만들기 입문>(2021, 로드북)을 집필하였다.

 

._상세 이미지

_끝

posted by 로드북
:
오탈자 정보 2022. 7. 14. 18:02

2022년 7월 기준

posted by 로드북
:
신간소개 2021. 10. 13. 15:27

 

 

  ● 저자: 박민경

  ● 페이지: 408

  ● 판형: 사륙배판형(188*257)

  ● 도수: 2도

  ● 정가: 27,000원

  ● 발행일: 2021년 10월 21일

  ● ISBN: 978-89-97924-90-5 93000

 

 [오탈자 사이트] [예제소스 다운로드]

 

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

[샘플원고]

sample_node.js.pdf
2.00MB

 

_도서 내용

빠르게 실무형 Node.js 개발자가 될 수 있도록 도와주는 실습형 입문서다. 5줄로 만드는 Node.js 서버로 핵심 개념을 파악하고, 데이터베이스 연동, 실시간 통신 실습을 통해 실무형 개발 지식을 습득한 후, 페이스북 클론 코딩과 배포로 통합 실습을 해볼 수 있게 단계적으로 구성하였다. 페이스북 클론 프로젝트는 처음엔 따라해 보고, 그 다음엔 안 보고 만들어 보고, 그 다음엔 응용해서 좀더 확장된 여러 분의 버전을 만들어 보길 바란다.

 

_대상 독자

_Node.js를 기술 스택에 담고 싶어한다면

_당장 Node.js로 서버를 개발해야 한다면

_개발부터 배포까지 가능한 Node.js 토이 프로젝트를 찾고 있다면

 

 

_목차 

목차

지은이의 글

일러두기

 

1. Node.js 첫걸음

1.1 Node.js 첫걸음

웹 서버와 Node.js의 관계

Node.js가 동작하는 방식

1.2 실습을 위한 개발환경 구축

Node.js 설치

IDE(통합개발환경) 설치비주얼 스튜디오 코드(Visual Studio Code, VS Code)

정리해봅시다

나의 이해도를 측정하자

 

2. 자바스크립트 리마인드

2.1 자바스크립트 기본 문법

변수, 호이스팅, 클로저

객체와 배열

함수

프로토타입과 상속

2.2 자바스크립트의 비동기 처리

콜백 함수

Promise

async/await

비동기 상황에서의 예외 처리

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 2-1] 변수 호이스팅 (sample01.js)

[함께해봐요 2-2] let을 사용한 변수 호이스팅 문제 해결 (sample02-1.js)

[함께해봐요 2-3] const를 사용한 변수 호이스팅 문제 해결 (sample02-2.js)

[함께해봐요 2-4] function-level-scope의 사용 ① (sample03.js)

[함께해봐요 2-5] function-level-scope의 사용 ② (sample04.js)

[함께해봐요 2-6] const의 특징 (sample05-1.js)

[함께해봐요 2-7] let의 특징 (sample05-1.js)

[함께해봐요 2-8] 클로저의 개념 (sample06.js)

[함께해봐요 2-9] 객체와 프로퍼티 (sample07.js)

[함께해봐요 2-10] 객체 배열 생성 (sample08.js)

[함께해봐요 2-11] 구조 분해 할당 (sample09.js)

[함께해봐요 2-12] 함수의 선언 (sample10.js)

[함께해봐요 2-13] 화살표 함수의 선언 (sample11.js)

[함께해봐요 2-14] this의 사용 (sample12.js)

[함께해봐요 2-15] bind 함수 사용 (sample12-2.js)

[함께해봐요 2-16] 프로토타입을 이용한 객체 생성 (sample13.js)

[함께해봐요 2-17] 프로토타입과 상속 (sample14.js)

[함께해봐요 2-18] Prototype Chaining (sample15.js)

[함께해봐요 2-19] 프로토타입을 클래스처럼 사용해보기 (sample16.js)

[함께해봐요 2-20] 콜백 함수의 비동기 처리 (sample17.js)

[함께해봐요 2-21] 콜백 함수의 동기 처리 (sample18.js)

[함께해봐요 2-22] 사용자 정의 함수의 동기 처리 (sample19.js)

[함께해봐요 2-23] API의 비동기적 처리 (sample20.js)

[함께해봐요 2-24] 일반 비동기 함수 (sample21-1.js)

[함께해봐요 2-25] 동기적 처리 ① (sample21-2.js)

[함께해봐요 2-26] 동기적 처리 ② (sample21-3.js)

[함께해봐요 2-27] Promise의 사용 (sample22.js)

[함께해봐요 2-28] Promise 객체와 async/await (sample23.js)

[함께해봐요 2-29] async/await의 사용 (sample24.js)

[함께해봐요 2-30] 사용자 정의 오류 (sample25.js)

[함께해봐요 2-31] 일반적인 예외 처리 (sample26.js)

[함께해봐요 2-32] .catch( )의 이용 (sample27.js)

[함께해봐요 2-33] .then( )의 이용 (sample27.js)

[함께해봐요 2-34] async/await의 예외 처리 ① (sample28-1.js)

[함께해봐요 2-35] async/await의 예외 처리 ② (sample28-2.js)

[함께해봐요 2-36] async/await의 예외 처리 ③ (sample28-3.js)

[함께해봐요 2-37] async/await의 예외 처리 ④ (sample28-4.js)

 

3. 5줄로 만드는 서버

3.1 프로젝트의 시작

프로젝트 설정하기

NPM 명령어

더보기

3.2 Node.js의 모듈과 객체

모듈 시스템이란?

모듈의 종류

3.3 http 모듈로 서버 만들기

5줄로 서버를 만들어보자

요청 객체(req), 응답 객체(res)

3.4 express 모듈을 사용해 서버 만들기

express?

express 설치와 사용

http 요청 메서드–GET, POST, PUT, PATCH, DELETE

3.5 express와 미들웨어

미들웨어란?

자주 사용하는 미들웨어

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 3-1] A.js 소스 코드 (chapter03/sample/A.js)

[함께해봐요 3-2] B.js 소스 코드 (chapter03/sample/B.js)

[함께해봐요 3-3] 순환 참조 ① (chapter03/sample/A2.js)

[함께해봐요 3-4] 순환 참조 ② (chapter03/sample/B2.js)

[함께해봐요 3-5] 5줄로 만드는 서버 (chapter03/sample/simple_server.js)

[함께해봐요 3-6] 웹 페이지의 요청에 대한 응답 (chapter03/sample/simple_server2.js)

[함께해봐요 3-7] 문자열을 보내는 응답 코드 (chapter03/sample/simple_server3.js)

[함께해봐요 3-8] fs-test.html 작성 (chapter03/sample/fs_test.html)

[함께해봐요 3-9] 파일을 보내는 응답 코드 (chapter03/sample/fs_test.js)

[함께해봐요 3-10] request response 확인 (chapter03/sample/simple_sever3.js)

[함께해봐요 3-11] REST를 통한 페이지 생성 (chapter03/sample/simple_sever4.js)

[함께해봐요 3-12] express 사용법 ① (chapter03/express/express_study1.js)

[함께해봐요 3-13] express로 웹 페이지 만들기 (chapter03/express/index.html)

[함께해봐요 3-14] express 사용법 ② (chapter03/express/express_study2.js)

[함께해봐요 3-15] 미들웨어 사용법 ① (chapter03/express/express-study3.js)

[함께해봐요 3-16] 미들웨어 사용법 ② (chapter03/express/express_study4.js)

[함께해봐요 3-17] 오류 처리를 위한 미들웨어 함수 (chapter03/express/express_study5.js)

[함께해봐요 3-18] static 미들웨어 사용 ① (chapter03/express/express-study6.js)

[함께해봐요 3-19] static 미들웨어 사용 ② (chapter03/express/index2.html)

[함께해봐요 3-20] 미들웨어를 이용한 예제 ① (chapter03/express/express_study7.js)

[함께해봐요 3-21] 쿠키 전달 (chapter03/sample/cookie.js)

[함께해봐요 3-22] 세션을 통한 키 값 생성 (chapter03/sample/cookie-session.js)

[함께해봐요 3-23] 미들웨어 통합 테스트 (chapter03/express/express_study8.js)

 

4. 통신을 구현해보자

4.1 API

API?

Open API 활용 ①–request

Open API 활용 ②–axios

dotenv 사용하기

4.2 캐싱 구현하기

Redis?

4.3 API 서버를 직접 만드는 방법

REST API

API 서버 만들기

API 서버 테스트 : CORS

4.4 웹 파싱

크롤링, 스크래핑, 파싱

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 4-1] request 모듈로 네이버 API 사용해보기 (chapter04/sample/naver_request.js)

[함깨해봐요 4-2] axios 모듈로 에어코리아 API 사용해보기 (chapter04/sample/airkorea_axios.js)

[함께해봐요 4-3] 에어코리아 API 응답 결과 가져오기 (chapter04/sample/airkorea_axios2.js)

[함께해봐요 4-4] [함께해봐요 4-3] dotenv 모듈 적용 (chapter04/sample/airkorea_dotenv.js)

[함께해봐요 4-5] Redis 서버 테스트 ① (chapter04/sample/redis.js)

[함께해봐요 4-6] Redis 서버 테스트 ② (chapter04/sample/redis2.js)

[함께해봐요 4-7] [함께해봐요 4-3]에 캐시 적용하기 (chapter04/sample/redis3.js)

[함께해봐요 4-8] API 서버 만들기 (chapter04/sample/colon_path.js)

[함께해봐요 4-9] 간단한 게시판 API 서버 만들기 (chapter04/sample/board_api.js)

[함께해봐요 4-10] uuid-apikey 모듈 사용 (chapter04/sample/uuid_apikey.js)

[함께해봐요 4-11] 게시판에 uuid-apikey 추가하기 (chapter04/sample/board_api2.js)

[함께해봐요 4-12] 게시판 API 서버 테스트 (chapter04/sample/board_api_test.js)

[함께해봐요 4-13] 게시판 API 서버 테스트 코드 작성 (chapter04/sample/board_api_test.html)

[함께해봐요 4-14] cors 모듈 설치 (chapter04/sample/board_api3.js)

[함께해봐요 4-15] 웹 페이지 크롤링 (chapter04/sample/crawling.js)

 

5. Node.js와 데이터베이스

5.1 SQL NoSQL

SQL

NoSQL

5.2 SQL : MySQL

개발환경 설정

쿼리 기본 사용법

쿼리문 작성하기

ORM : Sequelize

5.3 NoSQL : MongoDB

MongoDB

정리해봅시다

나의 이해도를 측정하자

[함께해봐요 5-1] 데이터베이스 정보 저장 (chapter05/sequelize/config/config.json)

[함께해봐요 5-2] customer 객체를 ORM로 작성하기 (chapter05/sequelize/models/customer.js)

[함께해봐요 5-3] purchase 모델 생성 (chapter05/sequlieze/models/purchase.js)

[함께해봐요 5-4] index.js 수정 (chapter05/sequelize/models/index.js)

[함께해봐요 5-5] 테이블 관계 생성 (chapter05/sequelize/app.js )

[함께해봐요 5-6] 클라이언트 화면 생성 (chapter05/sequelize/customer.html)

[함께해봐요 5-7] 정보 입력창 서버 코드 (chapter05/sequelize/app2.js)

[함께해봐요 5-8] mongoose MongoDB 연결하기 (chapter05/mongoose/app.js)

 

6. 실시간 통신을 구현해보자

6.1 웹 소켓

HTTP AJAX

웹 소켓

6.2 WS 모듈로 웹 소켓 구현하기

6.3 socket.io로 실시간 채팅 구현하기

6.4 실시간 채팅 구현하기

정리해봅시다

나의 이해도를 측정하자

[함께해봐요 6-1] ws 모듈을 이용한 WebSocket 구현 (chapter06/ws/socket.js)

[함께해봐요 6-2] 클라이언트 코드 작성 (chapter06/ws/index.html)

[함께해봐요 6-3] WebSocket 서버 코드 (chapter06/ws/app.js)

[함께해봐요 6-4] socket.io 모듈 불러오기 (chapter06/socket.io/app.js)

[함께해봐요 6-5] SocketIO 인스턴스 생성 (chapter06/socket.io/socket.js)

[함께해봐요 6-6] SocketIO 클라이언트 코드 (chapter06/socket.io/index.html)

[함께해봐요 6-7] SocketIO 클라이언트 코드에 polling 추가 (chapter06/socket.io/index.html)

[함께해봐요 6-8] 실시간 채팅창 구현하기 (chapter06/chat/app.js)

[함께해봐요 6-9] CSS 파일 생성 (chapter06/chat/index.css)

[함께해봐요 6-10] 실시간 채팅창 클라이언트 코드 ① (chapter06/chat/index.html)

[함께해봐요 6-11] 실시간 채팅창 클라이언트 코드 ② (chapter06/chat/index.html)

 

7. 토이 프로젝트 : 페이스북 클론 코딩

7.1 passport

passport?

passport 사용하기

7.2 템플릿 엔진

정적 파일과 동적 파일

템플릿 엔진

7.3 토이 프로젝트 : 페이스북 클론 코딩

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 7-1] 회원가입 화면 코드 (chapter07/ex_passport/index.html)

[함께해봐요 7-2] passport를 이용한 회원가입 서버 코드 (chapter07/ex_passport/app.js 1~32)

[함께해봐요 7-3] passport를 이용한 회원가입 서버 코드 수정 ① (chapter07/ex_passport/app.js 34~62)

[함께해봐요 7-4] passport를 이용한 회원가입 서버 코드 수정 ② (chapter07/ex_passport/app.js 64~119)

[함께해봐요 7-5] index.js 파일 생성 (chapter07/ejs/index.js)

[함께해봐요 7-6] index.ejs 파일 생성 (chapter07/ejs/views/index.ejs)

[함께해봐요 7-7] head.js 파일 작성 (Chapter07/ejs/views/partials/head.ejs)

[함께해봐요 7-8] header.ejs 파일 작성 (Chapter07/ejs/views/partials/header.ejs)

[함께해봐요 7-9] footer.ejs 파일 작성 (Chapter07/ejs/views/partials/footer.ejs)

[함께해봐요 7-10] 조각난 파일을 하나로 모으기 (Chapter07/ejs/views/index2.ejs)

[함께해봐요 7-11] 메뉴의 라우터를 index2.js에서 생성 (Chapter07/ejs/index2.js)

[함께해봐요 7-12] package.json 파일 수정 (facebook-clone/package.json 6~8)

[함께해봐요 7-13] app.js 파일 수정 ① (facebook-clone/app.js 1~11)

[함께해봐요 7-14] app.js 파일 수정 ② (facebook-clone/app.js 13~22)

[함께해봐요 7-15] app.js 파일 수정 ③ (facebook-clone/app.js 24~32)

[함께해봐요 7-16] .env 파일 생성 (facebook-clone/.env)

[함께해봐요 7-17] app.js 파일 수정 ④ (facebook-clone/app.js 34~44)

[함께해봐요 7-18] app.js 파일 수정 ⑤ (facebook-clone/app.js 46~58)

[함께해봐요 7-19] app.js 파일 수정 ⑥ (facebook-clone/app.js 60~67)

[함께해봐요 7-20] app.js 파일 수정 ⑦ (facebook-clone/app.js 69~75)

[함께해봐요 7-21] app.js 파일 수정 ⑧ (facebook-clone/app.js 77~110)

[함께해봐요 7-22] User.js 파일 작성 (facebook-clone/models/User.js)

[함께해봐요 7-23] Post.js 파일 작성 (facebook-clone/models/Post.js)

[함께해봐요 7-24] Comment.js 파일 작성 (facebook-clone/models/Comment.js)

[함께해봐요 7-25] User.js 파일 수정 ① (facebook-clone/routes/user.js 1~22)

[함께해봐요 7-26] User.js 파일 수정 ② (facebook-clone/routes/users.js 24~29)

[함께해봐요 7-27] .env 파일 작성 (facebook-clone/.env)

[함께해봐요 7-28] User.js 파일 수정 ③ (fackebook-clone/routes/users.js 31~38)

[함께해봐요 7-29] User.js 파일 수정 ④ (facebook-clone/routes/users.js 40~83)

[함께해봐요 7-30] User.js 파일 수정 ⑤ (facebook-clone/routes/users.js 85~119)

[함께해봐요 7-31] User.js 파일 수정 ⑥ (facebook-clone/routes/users.js 121~278)

[함께해봐요 7-32] User.js 파일 수정 ⑦ (facebook-clone/routes/users.js 280~298)

[함께해봐요 7-33] post.js 파일 작성 (facebook-clone/routes/posts.js)

 

8. 서버를 배포해보자

8.1 기본 준비

cross-env 설정하기

morgan, winston 설정하기

express-session 수정하기

보안 관련 모듈 추가하기

, 깃허브 사용하기

더 나아가기 : pm2와 메모리 DB

8.2 클라우드 서비스

8.3 클라우드 호스팅 서비스 : Heroku

8.4 도커 사용하기

도커란?

도커 기본 사용법

8.5 클라우드 인프라 서비스 : AWS EC2

AWS 계정 생성

EC2 인스턴스 생성

도커와 깃허브를 이용해서 EC2에 배포하기

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 8-1] package.json 파일 수정 ① (facebook-clone/package.json)

[함께해봐요 8-2] winston.js 파일 수정 (facebook-clone/config/winston.js)

[함께해봐요 8-3] app.js 파일 수정 ① (facebook-clone/app.js)

[함께해봐요 8-4] app.js 파일 수정 ② (facebook-clone/app.js)

[함께해봐요 8-5] app.js 파일 수정 ③ (facebook-clone/app.js)

[함께해봐요 8-6] post.js 파일 수정 (facebook-clone/routs/posts.js)

[함께해봐요 8-7] users.js 파일 수정 (facebook-clone/routes/users.js)

[함께해봐요 8-8] login.ejs 파일 수정 (facebook-clone/views/users/login.ejs)

[함께해봐요 8-9] .env 파일 수정 (facebook-clone/.env)

[함께해봐요 8-10] app.js 파일 수정 ④ (facebook-clone/app.js)

[함께해봐요 8-11] package.json 파일 수정 ② (facebook-clone/package.json)

 

참고 링크

전체 소스코드 및 연습문제 풀이 해답 저장소

찾아보기

 

_주요 내용

빠르게 실무형 Node.js 개발자가 될 수 있도록 도와주는 실습형 입문서

_5줄 서버

_캐싱

_API 서버

_데이터베이스 연동

_실시간 통신

_페이스북 클론 코딩까지

 

“기초를 다질 수 있도록”

이 책에서 다루는 Node.js라는 기술은 자바스크립트를 알아야 사용할 수 있는 환경입니다. 하지만 자바스크립트에 익숙하지 않아도 프로그래밍이 어떤 것인지 기본 개념만 있으면 따라할 수 있도록 구성하였습니다.

 

“개발은 만들어보는 것”

서버 로직을 만든다는 것은 화면 개발처럼 시각적으로 눈에 보이는 결과가 나오는 것이 아니므로 어쩌면 ‘서버’라는 개념이 뜬구름 잡는 소리처럼 느껴질 수 있습니다. 그러므로 예제를 통해 개념과 원리를 서서히 습득하고 이해할 수 있도록 하였습니다.

 

“연습문제를 직접 풀어보지 않으면 아무리 좋은 입문서라도 백약이 무효입니다.

직접 해보고 반복해서 학습해보는 것만이 낯설음을 익숙함으로 바꿀 수 있는 유일한 길입니다. 힌트까지 제공되니 반드시 혼자만의 힘으로 풀어보고 저자의 모범답안과 비교해보세요.

 

토이 프로젝트로 빠르게 실무형 개발에 적응하자

6장까지는 웹 서비스에 필요한 내용을 조각조각 나누어 살펴보았다면, 7장과 8장에서는 토이 프로젝트를 통해 내가 가진 조각들로 하나의 덩어리를 만들어 볼 수 있습니다. ‘클론 코딩’을 통해 서비스에 대한 전체적인 흐름을 익히고 배포까지 완벽하게 하나의 프로젝트 사이클을 경험해 봅니다. 많이 따라해보고 익숙해져서 내 것으로 만들어 보세요.

 

_저자 소개

지은이

박민경

건국대 소프트웨어공학과를 졸업하였으며, 과거 파이썬 케라스 Node.js 스택을 다루며 챗봇 프로젝트에 참여했고 현재 여행 산업에서 Tech 적용하기 위한 테크투어 스타트업에서 개발자로 근무 중이다. 전공과정 크고 작은 프로젝트를 통해 습득한 Computer Science 지식을 이해하기 쉽게 전달하기 위해 개발 블로그를 운영 중이며, 개발자만을 위한 개발 문화가 아닌 다양한 사람들과 함께하는 개발 문화를 만들어가는 관심이 많다

 

 

.

_상세 이미지

                                                                                                _

posted by 로드북
: