ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Node.js로 서버 만들기] 책을 출간하였습니다.
    💫 Computer Science/Web 2021. 12. 19. 01:47




    사실 전문 서버 개발자는 아니지만
    초심자를 위한 Node.js로 서버 만들기 책을 출간하였습니다.
    전체적으로 JavaScript와 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로 서버 만들기 - 교보문고

    백견불여일타 | _주요 내용 빠르게실무형 Node.js 개발자가 될 수 있도록 도와주는 실습형 입문서 _5줄 서버 _캐싱 _API 서버 _데이터베이스 연동 _실시간 통신 _페이스북 클론 코딩까지 “기초를 다

    www.kyobobook.co.kr



    교보문고 ebook 링크

     

    Node.js로 서버 만들기

    빠르게실무형 Node.js 개발자가 될 수 있도록 도와주는 실습형 입문서다.5줄로 만드는Node.js 서버로 핵심 개념을 파악하고,데이터베이스 연동,실시간 통신 실습을 통해 실무형 개발 지식을 습득한

    m.kyobobook.co.kr




    댓글

Designed by Tistory.