자바스크립트는 모든 곳에 존재한다: 그래프QL, 리액트, 리액트 네이티브, 일렉트론으로 크로스플랫폼 앱 만들기

Book description

초기 자바스크립트는 아주 작은 스크립트 프로그래밍 언어였다. 주로 웹브라우저에서 사용하는 언어로 사용되는 곳이 한정적이었다. 하지만 시간이 흐르면서 자바스크립트에는 많은 변화가 생겼고 웹, 모바일, 데스크톱뿐만 아니라 API 생성까지 다양한 곳에서 사용된다. 이 책은 노드부터 그래프QL, 리액트, 리액트 네이티브, 일렉트론까지 자바스크립트로 다룰 수 있는 다양한 기능을 선보인다. 웹 개발자부터 풀스택 개발자까지 여러 플랫폼에서 작동하는 CRUD 스타일의 애플리케이션을 만나볼 수 있다.

Table of contents

  1. 지은이·옮긴이 소개
  2. 지은이의 말
  3. 이 책에 대하여
  4. 감사의 말 (1/3)
  5. 감사의 말 (2/3)
  6. 감사의 말 (3/3)
  7. 1 개발 환경
    1. 1.1 텍스트 편집기
    2. 1.2 터미널
      1. 1.2.1 전용 터미널 애플리케이션 사용
      2. 1.2.2 터미널 사용하기
      3. 1.2.3 파일 시스템 탐색하기
    3. 1.3 커맨드 라인 도구와 홈브루(맥에만 해당)
    4. 1.4 Node.js와 NPM
      1. 1.4.1 맥OS에 Node.js와 NPM 설치하기
      2. 1.4.2 윈도우에 Node.js와 NPM 설치하기
    5. 1.5 몽고DB
      1. 1.5.1 맥OS에서 몽고DB 설치하고 실행하기
      2. 1.5.2 윈도우용 몽고DB 설치하고 실행하기
    6. 1.6 깃
    7. 1.7 엑스포
    8. 1.8 프리티어
    9. 1.9 ESLint
    10. 1.10 미관 꾸미기
    11. 1.11 결론
  8. 2 API 소개
    1. 2.1 무엇을 만들 것인가
    2. 2.2 어떻게 만들 것인가
    3. 2.3 시작하기
    4. 2.4 결론
  9. 3 노드와 익스프레스로
    1. 3.1 Hello World
    2. 3.2 Nodemon
    3. 3.3 포트 확장 옵션
    4. 3.4 결론
  10. 4 그래프QL API 첫걸음
    1. 4.1 서버를 API로
    2. 4.2 그래프QL 기초
      1. 4.2.1 스키마
      2. 4.2.2 리졸버
    3. 4.3 API 적용하기
    4. 4.4 결론
  11. 5 데이터베이스
    1. 5.1 몽고DB 시작하기
    2. 5.2 몽고DB와 애플리케이션 연동하기
    3. 5.3 애플리케이션에서 데이터 읽고 쓰기 (1/2)
    4. 5.3 애플리케이션에서 데이터 읽고 쓰기 (2/2)
    5. 5.4 결론
  12. 6 CRUD 동작
    1. 6.1 그래프QL의 스키마와 리졸버 분리하기
    2. 6.2 그래프QL CRUD 스키마 작성
    3. 6.3 CRUD 리졸버
    4. 6.4 날짜와 시간
    5. 6.5 결론
  13. 7 사용자 계정과 인증
    1. 7.1 애플리케이션 인증 흐름
    2. 7.2 암호화와 토큰
      1. 7.2.1 비밀번호 암호화
      2. 7.2.2 JSON 웹 토큰
    3. 7.3 API에 인증 통합하기
      1. 7.3.1 사용자 스키마
      2. 7.3.2 인증 리졸버
    4. 7.4 리졸버 콘텍스트에 사용자 추가하기
    5. 7.5 결론
  14. 8 사용자 액션
    1. 8.1 시작하기 전에
    2. 8.2 사용자를 새 노트에 연결하기
    3. 8.3 업데이트와 삭제 권한
    4. 8.4 사용자 쿼리
    5. 8.5 즐겨찾기 노트 설정
    6. 8.6 중첩 쿼리
    7. 8.7 결론
  15. 9 디테일
    1. 9.1 웹 애플리케이션과 익스프레스의 모범 사례
      1. 9.1.1 헬멧
      2. 9.1.2 CORS
    2. 9.2 페이지네이션
    3. 9.3 데이터 제한
    4. 9.4 기타 고려 사항
      1. 9.4.1 테스트
      2. 9.4.2 구독
      3. 9.4.3 아폴로 그래프QL 플랫폼
    5. 9.5 결론
  16. 10 API 배포하기
    1. 10.1 데이터베이스 호스팅
    2. 10.2 애플리케이션 배포
      1. 10.2.1 프로젝트 설정
      2. 10.2.2 배포
      3. 10.2.3 테스트
    3. 10.3 결론
  17. 11 사용자 인터페이스와 리액트
    1. 11.1 자바스크립트와 UI
    2. 11.2 자바스크립트와 선언적 인터페이스
    3. 11.3 새 리액트 애플리케이션
    4. 11.4 결론
  18. 12 리액트로 웹 클라이언트 만들기
    1. 12.1 무엇을 만들 것인가
    2. 12.2 어떻게 만들 것인가
    3. 12.3 시작하기
    4. 12.4 웹 애플리케이션 만들기
    5. 12.5 라우팅
      1. 12.5.1 링크하기
    6. 12.6 UI 컴포넌트
    7. 12.7 결론
  19. 13 애플리케이션에 스타일 입히기
    1. 13.1 레이아웃 컴포넌트 생성하기
    2. 13.2 CSS
      1. 13.2.1 CSS-in-JS
      2. 13.2.2 버튼 컴포넌트 생성하기
      3. 13.2.3 글로벌 스타일 추가하기
      4. 13.2.4 컴포넌트 스타일
    3. 13.3 결론
  20. 14 아폴로 클라이언트로 작업하기
    1. 14.1 아폴로 클라이언트 셋업
    2. 14.2 API에 쿼리하기 (1/2)
    3. 14.2 API에 쿼리하기 (2/2)
      1. 14.2.1 스타일링
    4. 14.3 동적 쿼리
    5. 14.4 페이지네이션
    6. 14.5 결론
  21. 15 웹 인증과 상태
    1. 15.1 회원가입 양식 만들기
      1. 15.1.1 리액트 양식과 상태
      2. 15.1.2 signUp 뮤테이션
      3. 15.1.3 JSON 웹 토큰과 로컬 저장소
    2. 15.2 리디렉션
    3. 15.3 요청에 헤더 붙이기
    4. 15.4 로컬 상태 관리
    5. 15.5 로그아웃하기
    6. 15.6 로그인 양식 만들기 (1/2)
    7. 15.6 로그인 양식 만들기 (2/2)
    8. 15.7 경로 보호하기
    9. 15.8 결론
  22. 16 생성, 읽기, 업데이트, 삭제 작업
    1. 16.1 새 노트 생성
    2. 16.2 노트 읽기
    3. 16.3 노트 업데이트 (1/2)
    4. 16.3 노트 업데이트 (2/2)
    5. 16.4 노트 삭제
    6. 16.5 즐겨찾기 추가/제거
    7. 16.6 결론
  23. 17 애플리케이션 배포하기
    1. 17.1 정적 웹 사이트
    2. 17.2 배포 파이프라인
      1. 17.2.1 깃으로 소스 코드 호스팅하기
      2. 17.2.2 네트리파이로 배포하기
    3. 17.3 결론
  24. 18 일렉트론으로
    1. 18.1 무엇을 만들 것인가
    2. 18.2 어떻게 만들 것인가
    3. 18.3 시작하기
    4. 18.4 첫 일렉트론 앱
    5. 18.5 맥OS 애플리케이션 창
    6. 18.6 개발자 도구
    7. 18.7 일렉트론 API
    8. 18.8 결론
  25. 19 기존의 웹 애플리케이션과
    1. 19.1 웹 애플리케이션 통합
      1. 19.1.1 경고와 에러
    2. 19.2 설정
    3. 19.3 콘텐츠 보안 정책
    4. 19.4 결론
  26. 20 일렉트론 배포
    1. 20.1 일렉트론 빌더
      1. 20.1.1 일렉트론 빌더 설정
    2. 20.2 현재 플랫폼 빌드하기
    3. 20.3 앱 아이콘
    4. 20.4 다중 플랫폼용 빌드
    5. 20.5 코드 서명
    6. 20.6 결론
  27. 21 리액트 네이티브로 모바일 앱 만들기
    1. 21.1 무엇을 만들 것인가
    2. 21.2 어떻게 만들 것인가
    3. 21.3 시작하기
    4. 21.4 결론
  28. 22 모바일 앱 셸
    1. 22.1 리액트 네이티브의 빌딩 블록
    2. 22.2 스타일과 스타일드 컴포넌트
      1. 22.2.1 스타일드 컴포넌트
    3. 22.3 라우팅
      1. 22.3.1 리액트 내비게이션으로 탭 라우팅 만들기
      2. 22.3.2 스택 내비게이션
      3. 22.3.3 스크린 타이틀 추가
    4. 22.4 아이콘
    5. 22.5 결론
  29. 23 그래프QL과 리액트 네이티브
    1. 23.1 리스트와 스크롤 콘텐츠 뷰 만들기 (1/2)
    2. 23.1 리스트와 스크롤 콘텐츠 뷰 만들기 (2/2)
      1. 23.1.1 리스트를 라우팅 가능하게 만들기
    3. 23.2 아폴로 클라이언트와 그래프QL
      1. 23.2.1 그래프QL 쿼리 쓰기 (1/2)
      2. 23.2.1 그래프QL 쿼리 쓰기 (2/2)
    4. 23.3 로딩 인디케이터 추가하기
    5. 23.4 결론
  30. 24 모바일 앱 인증
    1. 24.1 인증의 흐름
    2. 24.2 로그인 양식 만들기 (1/2)
    3. 24.2 로그인 양식 만들기 (2/2)
    4. 24.3 그래프QL 뮤테이션으로 인증하기
    5. 24.4 그래프QL 쿼리
    6. 24.5 회원가입 양식 추가하기 (1/2)
    7. 24.5 회원가입 양식 추가하기 (2/2)
    8. 24.6 결론
  31. 25 모바일 앱 배포하기
    1. 25.1 설정
    2. 25.2 아이콘과 앱 로딩 화면
      1. 25.2.1 앱 아이콘
      2. 25.2.2 스플래시 화면
    3. 25.3 엑스포에서 퍼블리시하기
    4. 25.4 네이티브 빌드 생성하기
      1. 25.4.1 iOS
      2. 25.4.2 안드로이드
    5. 25.5 앱 스토어에 배포하기
    6. 25.6 결론
  32. 마치며
  33. 부록A 로컬에서 API 실행하기
  34. 부록B 로컬에서 웹 앱 실행하기
  35. INDEX (1/2)
  36. INDEX (2/2)

Product information

  • Title: 자바스크립트는 모든 곳에 존재한다: 그래프QL, 리액트, 리액트 네이티브, 일렉트론으로 크로스플랫폼 앱 만들기
  • Author(s): 임지순, 애덤 스콧
  • Release date: February 2021
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9791162247150