도서 소개

헬로 Bun

제이펍 2024. 10. 14. 14:27

타입스크립트와 JSX를 아우르는 런타임 Bun으로 만나는 차세대 웹 개발

 

느리고 복잡한 노드 생태계의 판도를 바꾸기 위해, 차세대 자바스크립트 런타임이자 올인원 개발 키트인 Bun이 탄생했다. 자바스크립트/타입스크립트/JSX 코드를 바로 실행할 수 있고, 패키지 매니저, 모듈 시스템, 테스트 러너, 번들러, DB 등 다양한 기능을 내장했는데도 성능은 노드나 디노를 압도한다. 이 책은 Bun을 본격적으로 살펴보는 최초의 책으로서 Bun 기초부터 시나리오별 활용법과 예제 프로젝트까지, 웹 개발이 얼마나 우아할 수 있는지 보여준다.

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

교보문고 / 구글북스 / 리디북스 / 알라딘 / 예스이십사 

 

출판사 제이펍
저작권사 제이펍
원서명 (없음)
도서명 헬로 Bun
부제 차세대 자바스크립트 런타임+올인원 개발 키트를 만나다
지은이 서대영(달레)
옮긴이 (없음)
감수자 (없음)
시리즈 (없음)
출판일 2024. 10. 22
페이지 216쪽
판 형 크라운판변형(170*225*12.9)
제 본 무선(soft cover)
정 가 22,000원
ISBN 979-11-93926-71-0 (93000)
키워드 번, 노드, 타입스크립트, node, typescript, npm, tsc, jsx, 번들, 빌드
분 야 웹 / 자바스크립트

 

관련 사이트
https://github.com/DaleSeo/hello-bun/

 

관련 시리즈

■ (없음)

 

관련 포스트

■ 2024.10.02 - [출간 전 책 소식] - 헬로 Bun 헬로 Bun 헬로 Bun

 

관련 도서

■ (없음)

 

관련 파일 다운로드

■ (없음)

 

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ (없음)

 

미리보기(앞부속, 본문 일부)

 

정오표 페이지
https://jpub.tistory.com/468785

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

교보문고 / 구글북스 / 리디북스 / 알라딘 / 예스이십사 

 

도서 소개

세 배 빠른 올인원 자바스크립트 개발 키트 Bun 100% 활용법

 

노드(Node.js)의 등장은 획기적인 사건이었지만, 시간이 흐르며 생태계는 오버엔지니어링으로 비대해졌고 개발자들은 뒷목을 잡게 되었다. Bun은 복잡하지 않고(패키지 매니저, 테스트 러너, 번들러 내장) 타입스크립트를 바로 실행할 수 있으며(트랜스파일러 내장) CJS와 ESM을 모두 지원한다. 이러한 여러 기능을 갖췄으면서도 성능은 노드와 디노를 압도한다.

이 책은 차세대 자바스크립트 런타임이자 올인원 개발 키트인 Bun을 본격적으로 살펴보는 최초의 도서로, 핵심만 간결히 부담 없이 Bun을 접할 수 있게 구성되었다. Bun에 내장된 패키지 관리, 모듈 시스템, 테스팅, 번들링, DB(SQLite), 빌드 등 오늘날 대규모 웹 개발에서 필수적인 기능들을 하나씩 살펴보며 편안하게 Bun에 익숙해질 수 있다. 여기에 CLI 도구, HTTP/웹소켓 서버, 채팅 앱, 셸 스크립트 실행, 할 일 관리(to-do) REST API 등 간단하면서도 실무에 도움이 되는 예제 프로젝트들도 수록되어 있다.

Bun은 많은 자바스크립트 개발자가 오랫동안 기다리던 만능 자바스크립트 도구라고 저자는 말한다. npm보다 30배 빠른 패키지 매니저이고 Jest보다 20배 빠른 테스트 러너이며 Webpack보다 200배 빠른 번들러다. 느리고 불필요하게 비대해진 노드 중심 툴체인에 지쳤다면 이 책과 함께 Bun을 만나보자. 복잡하게만 느껴지던 자바스크립트 웹 개발이 실은 얼마나 우아할 수 있는지 다시금 깨닫고 초심을 찾을 수 있을 것이다. 😂

 

주요 내용

  • 설치, 프로젝트 생성, 실행, 패키지, 모듈 등 Bun 기초
  • CLI 도구, HTTP 서버, 웹소켓 서버, 채팅 앱 등을 구축하며 Bun 익숙해지기
  • 파일 입출력, DB, 테스팅, 프로젝트 빌드 등 심화 주제
  • Bun과 Elysia로 to-do 관리 REST API 구축하기

지은이 소개

서대영(달레)

서울시립대학교 전자전기컴퓨터공학부를 졸업한 후 삼성SDS에서 웹 개발자로 커리어를 시작했다. 이후 SK플래닛, 원스토어, 아마존에서 백엔드 개발을 했다. 현재는 아내, 아이와 함께 캐나다에 거주하며 에듀테크 분야에서 풀스택 개발자로 일하고 있다. 월 방문자 10만 명의 개인 기술 블로그(https://www.daleseo.com)에 다양한 주제의 소프트웨어 개발 글을 올리고 있고, 글로 전달하기 어려운 내용은 유튜브 달레의 코드(https://www.youtube.com/@DaleSeo) 채널에 영상으로 공유하고 있다.

 

차례

베타리더 후기 x

시작하며 xiii

 

PART I 반가워 Bun!

 

CHAPTER 1 Bun 시작하기 3

1.1 리눅스에서 Bun 설치하기 3

1.2 윈도우에서 Bun 설치하기 5

1.3 Bun 설치 확인하기 6

1.4 Bun 업데이트하기 7

1.5 Bun 실행하기 8

1.6 REPL 실행하기 9

_쉬어 가는 페이지 런타임에 대해서 11

 

CHAPTER 2 Bun 프로젝트 생성하기 13

2.1 자바스크립트 프로젝트란? 14

2.2 빈 프로젝트 만들기 14

2.3 프로젝트 파일 살펴보기 16

2.4 템플릿 기반 프로젝트 만들기 18

더보기

_쉬어 가는 페이지 초기자에 대해서 20

 

CHAPTER 3 Bun으로 프로그램 실행하기 21

3.1 타입스크립트란? 22

3.2 타입스크립트 실행 23

3.3 Node.js와의 비교 24

3.4 타입스크립트 설정 26

_쉬어 가는 페이지 타입스크립트의 타입 정의 저장소 Definitely Typed 28

 

CHAPTER 4 Bun으로 패키지 관리하기 31

4.1 npm 패키지 저장소 32

4.2 패키지 일괄 설치 33

4.3 새로운 패키지 설치 35

4.4 기존 패키지 제거 37

4.5 기존 패키지 갱신 38

4.6 설치된 패키지 목록 확인 40

4.7 전역 패키지 캐시 42

4.8 패키지 잠금 파일 43

4.9 패키지 생명주기 45

_쉬어 가는 페이지 왜 패키지의 버전을 잠가야 할까? 46

 

CHAPTER 5 Bun으로 모듈 불러오기 49

5.1 CJS 모듈 내보내기 50

5.2 ESM 모듈 내보내기 51

5.3 CJS 모듈 불러오기 51

5.4 ESM 모듈 불러오기 53

_쉬어 가는 페이지 자바스크립트의 모듈 시스템 55

 

PART II Bun으로 무엇을 개발할까?

 

CHAPTER 6 Bun으로 CLI 도구 개발하기 59

6.1 명령줄 인수 읽기 60

6.2 명령줄에서 입력받기 61

6.3 명령줄 프로그램 만들기 63

_쉬어 가는 페이지 사용자의 입력을 받기 위한 웹 브라우저의 API 65

 

CHAPTER 7 Bun으로 HTTP 서버 개발하기 67

7.1 기본 요청 처리 68

7.2 JSON 통신 69

7.3 요청 데이터 읽기 69

7.4 쿼리 문자열 접근 70

7.5 양식 데이터 접근 71

7.6 HTTP 상태 코드 71

7.7 HTTP 헤더 설정 72

7.8 라우팅 73

7.9 예외 처리 74

7.10 서버 설정 76

7.11 프레임워크 사용 77

_쉬어 가는 페이지 터미널 기반 HTTP 클라이언트 curl 명령어 79

 

CHAPTER 8 Bun으로 웹소켓 서버 개발하기 81

8.1 핸드셰이크 82

8.2 서버 측 이벤트 처리 83

8.3 웹소켓 테스트 84

8.4 클라이언트에서 데이터 보내기 85

8.5 웹소켓 닫기 85

8.6 서버에서 데이터 보내기 86

8.7 클라이언트 측 이벤트 처리 87

8.8 실시간 채팅 애플리케이션 구현 87

_쉬어 가는 페이지 웹소켓과 Socket.IO 93

 

CHAPTER 9 Bun으로 파일 입출력하기 95

9.1 파일의 메타 데이터 읽기 96

9.2 파일을 문자열로 읽기 97

9.3 파일을 바이너리 데이터로 읽기 98

9.4 파일을 스트림으로 읽기 98

9.5 파일을 JSON 객체로 읽기 99

9.6 파일에 문자열 쓰기 100

9.7 파일 복제하기 101

9.8 Node.js의 API 지원 102

9.9 폴더 관리하기 103

_쉬어 가는 페이지 웹 스트리밍 105

 

CHAPTER 10 Bun의 내장 DB 사용하기 107

10.1 데이터베이스 접속 108

10.2 테이블 생성하기 109

10.3 데이터 삽입하기 110

10.4 데이터 갱신하기 111

10.5 데이터 삭제하기 111

10.6 데이터 조회하기 112

10.7 데이터베이스 닫기 113

10.8 다른 데이터베이스 사용 113

_쉬어 가는 페이지 SQLite 데이터베이스 119

 

PART III Bun으로 도대체 못 하는 게 뭐임?

 

CHAPTER 11 Bun으로 테스트하기 123

11.1 테스트 작성하기 124

11.2 테스트 실행하기 124

11.3 테스트 그룹화하기 125

11.4 테스트 실행 제어 127

11.5 테스트 전/후 처리 130

11.6 함수 모킹 131

11.7 모듈 모킹 133

11.8 날짜/시간 모킹 135

11.9 프리로드 사용하기 136

11.10 파라미터화 테스트 137

_쉬어 가는 페이지 테스팅 프레임워크 139

 

CHAPTER 12 Bun으로 프로젝트 빌드하기 141

12.1 기본 프로젝트 빌드 142

12.2 비자바스크립트 파일 불러오기 145

_쉬어 가는 페이지 빌드 도구 149

 

CHAPTER 13 Bun으로 셸 스크립트 실행하기 151

13.1 셸 명령어 실행하기 152

13.2 셸 명령어의 결과를 변수에 저장하기 153

13.3 셸 명령어에 변수의 값을 삽입하기 154

13.4 오류 처리 155

13.5 환경 변수 설정 156

13.6 실행 경로 변경 157

_쉬어 가는 페이지 셸의 리다이렉션 158

 

CHAPTER 14 Bun으로 REST API 실전 개발하기 159

14.1 데이터베이스 160

14.2 비즈니스 로직 구현 160

14.3 비즈니스 로직 테스트 162

14.4 REST API 구현 165

14.5 REST API 테스트 166

14.6 서버 진입점 구현 170

14.7 API 서버 직접 테스트 170

14.8 API 서버 테스트 스크립트 173

14.9 터미널 클라이언트 175

_쉬어 가는 페이지 Elysia에 대해서 180

 

CHAPTER 15 Bun이 제공하는 유틸리티 183

15.1 실행 지연 184

15.2 UUID 생성 186

15.3 인코딩 188

15.4 해싱 189

15.5 비밀번호 191

 

마치며 193

찾아보기 197

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  포스트  유튜브  인스타그램  트위터  페이스북