CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·자전거당 ·안드로메당 ·나스당 ·육아당 ·노젓는당 ·골프당 ·영화본당 ·이륜차당 ·리눅서당 ·X세대당 ·디아블로당 ·뚝딱뚝당 ·퐁당퐁당 ·콘솔한당 ·총쏜당 ·보드게임당 ·덕질한당 ·IoT당 ·냐옹이당 ·여행을떠난당 ·클다방 ·날아간당 ·가상화폐당 ·소시당 ·키보드당 ·창업한당 ·AI그림당 ·달린당 ·소셜게임한당 ·물고기당 ·바다건너당 ·3D메이킹 ·ADHD당 ·AI당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

개발한당

자유 책 출간 후기 14

10
2022-12-18 18:26:03 122.♡.90.244
달다리

지난번에 책 출간 소식을 전해 드렸습니다. (제목: NestJS로 배우는 백엔드 프로그래밍)

https://www.clien.net/service/board/cm_app/17759247CLIEN


출간 과정을 공유해 달라는 요청이 있어서 후기를 올려봅니다. 재미로 읽어주세요.


1. 계기

저는 LG전자에서 13년을 넘게 휴대폰에 기본 탑재되는 애플리케이션을 만들었습니다. 피처폰 시절에는 네트워크와는 상관없이 휴대폰 내에 있는 데이터만 처리하면 되었고, 안드로이드 환경으로 넘어와서는 소위 프런트 앱 개발자가 되었습니다. 이후 스타트업계에 몸담게 되면서 백엔드 직군으로 바꾸었습니다.

모두싸인에 입사하면서 NestJS를 처음 접했습니다. 정확하게는 입사 과제를 해야 해서 공부가 필요했죠. Node.js는 이전에 가지고 놀던 정도였습니다. 그 전 직장에서는 파이썬 장고 기반의 서버를 운용했는데 입사를 위해 새로운 언어(타입스크립트)와 웹 프레임워크를 공부해야 했습니다. 다행히 과제에 시간을 충분히 주셔서 2주 정도 학습하고 1~2일 걸쳐 과제를 푼 다음 제출했던 것으로 기억합니다. 입사 후 코드를 들여다보니 공식 문서에서 가이드하는 방법을 많이 발전시켜 사용하고 있습니다. 공식 문서를 다시 정독하며 NestJS가 기본으로 제공하는 기능만 쓰면 어떻게 구현이 가능할지, 그 방식에 어떤 단점이 있는지 궁금해졌습니다. 모두싸인에서 제공하는 서비스의 기본이 되는 유저 서비스의 기본 기능을 짧은 코드 스니핏이 아닌 실제 동작하는 코드들로 만들면서 조금씩 깃허브에 정리했습니다.

입사 후에도 NestJS 문서를 자주 보게 됩니다. 당시에는 커뮤니티에서 공식 문서를 한국어로 번역한 사이트가 있었습니다. 하지만 NestJS 문서는 설명이 잘 되어 있는 것 같다가도 예제를 통해서 학습할 수 있는 자료가 별로 없습니다. 문서를 죽 읽고 예제를 따라서 구현하다 보면 길을 잃기가 일쑤입니다. 구글이 만든 풍부한 안드로이드 문서와 동영상 강의에 익숙해져서 더욱 그런 것 같았습니다. 

당시 '왜 아직 국내에 책이 한 권도 없지? 나 같은 사람이 분명 많이 있을텐데? 아직 NestJS가 인기가 없나?' 이런 생각을 하긴 했죠. 그러다 책을 써야겠다고 결심한 계기가 생깁니다. 제게는 가끔 온라인에서 만나 이런저런 이야기도 하고 짝코딩도 하는 처조카가 있습니다. 소프트웨어 관련 학과 1학년인 이 녀석이 방랑기를 지나서 백엔드로 진로를 정했다고 합니다. 군대에 복무하면서요. 그래서 공식 문서를 기반으로 내가 만든 예제와 함께 책을 써보기로 합니다. 잘 하면 버킷 리스트였던 책 쓰기가 가능할 것도 같습니다.

위키독스(https://wikidocs.net/book/7059)에 매일 조금씩 내용을 정리했습니다. 명확한 독자와 콘텐츠(공식 문서와 그동안 만들어둔 코드)가 있기 때문에 나름 수월했습니다. 다만 문서를 그대로 옮기는 백과사전식 책은 쓰고 싶지 않았습니다. 이제 막 경력을 시작하는 개발자나 학생들이 쉽게 이해하고 기본 기능을 구현해 가는 방법을 알려주고 싶었습니다. 더불어 제가 백엔드 개발자로 전향한 후에 배워야 했던 기본 지식을 깊이는 얕지만 가볍게 길 안내를 해 주고 싶었습니다.


2. 출간 과정

퇴근후 거의 매일 2~3시간, 주말에는 5~6시간 정도 투자하니 2달 정도가 지나 초고를 완성했습니다. 책을 쓰면서 오랜만에 몰입을 경험했습니다. 잘 몰랐던 주제가 있으면 리서치해 가면서 내용을 가다듬고, 코드를 다시 재작성했습니다. 기왕이면 돈도 벌면 좋으니까 구글 애드센스 광고도 달았습니다. 생각보다 반응이 괜찮습니다. 많은 분이 위키독스 또는 메일로 피드백을 주셨습니다. 그래서 초고를 들고 인사이트에 투고합니다. 이때가 작년 11월 말이었습니다.

사실 인사이트가 워낙 유명하고 수준 있는 책들을 많이 출판한 곳이어서 그냥 한 번 시도해 본다는 느낌으로 보냈습니다. 그런데 의외로 미팅이 잡혀서 대표님과 편집자님을 만나 뵈었습니다. 이때 여러 가지 이야기를 나누었는데 무언가 책이 100% 마음에 들지는 않아 하십니다. 명확히 수정 방향을 알려 주시면 좋았을 텐데 목차와 방향을 가다듬어 보자고만 하셨습니다. 이미 초고를 쓰느라 에너지를 쏟아버린 저는 약 1주일 후 초고에서 별로 발전하지 못한 내용을 드렸더니 역시나 퇴짜를 맞았습니다.

띵! 정신이 번쩍 들고 나서 제 책을 독자의 입장에서 다시 바라보았습니다. 부족한 부분이 눈에 보이더군요. 아무리 예제 위주의 프로그래밍 서적이고 프레임워크 설명이 주가 된다고 해도 기본이 되는 이론이 부족했습니다. 그래서 앞부분에 내용을 보강하고 중간중간 NestJS와는 별개로 주니어 백엔드 엔지니어에게 하고 싶은 말을 추가했습니다. 이 과정이 다시 2달 정도 소요됩니다. 초고 만들때 처럼 에너지를 투입하지는 않았지만요.

그리고 올해 2월 제이펍과 계약하게 됩니다. 얼떨떨하면서도 기뻤습니다. 마치 벌써 저자가 된 것 같습니다. 계약은 모두싸인으로 진행했습니다. 평소 잘 먹지 못하는 개밥을 먹으며 기분이 너무 좋았습니다.

이후 과정은 편집자분의 일이 많았습니다. 내용도 많이 바뀌지 않았습니다. 하나 힘든 점이 있었다면 위키독스의 내용을 구글 독스로 옮기고 출판사에서 사용하는 서식에 맞게 바꾸는 노가다 작업이 있었네요. 일부 문단의 순서를 바꾸고, 책에는 담을 수 없는 내용을 덜어 내고, 내용이 쉽게 이해되도록 다시 쓰는 일을 몇 번 반복했습니다. 책의 수명을 최대한 길게 가져가고 싶었는데 중간에 NestJS의 메이저 버전이 올라가고, typeorm이 breaking change가 포함된 버전이 업데이트됩니다. 할 수 없이 관련 예제를 다시 쓰고 하나씩 실행해 보면서 확인했습니다. 그리고 오타.. 오타는 잡아도 잡아도 끝이 없습니다.

이후 리뷰어 검토를 마치고 12월에 출간을 하게 됩니다! 한 가지 아쉬운 점이 있다면 출판사 사정에 의해 원래 출판일보다 5개월이 미뤄졌다는 것이죠. 저도 그사이에 큰 프로젝트로 정신이 없었던 터라 크게 개의치 않았습니다.

처음 이야기했듯이 이 책은 초보자를 위한 책입니다. 저희 회사와 NestJS 커뮤니티에는 뛰어난 고수들이 많이 있습니다. 내가 이런 책을 내도 될까? 부끄럽지는 않을까 하는 생각이 안 들었다면 거짓말이지요. 그래도 다시 책을 쓸 기회가 된다면 마다하지 않을 것 같아요. 글을 쓰는 과정은 평소의 생각과 내가 아는 바를 정리하기에 좋습니다. 또 무언가에 몰입할 때의 쾌감을 느낍니다. 코드를 작성할 때와는 또 다른 느낌이더라구요.

책을 쓰고 응원해 주시는 분들이 많습니다. 여러분도 충분히 할 수 있다고 말씀드리고 싶어요! 평소에 자료를 잘 정리해 두는 습관과, 매일 조금씩 써 가는 부지런함. 이것이면 충분합니다. 우리는 기술 서적을 만드는 것이지 문학 작품을 만드는 게 아니니까요. 🙂

달다리 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [14]
모모는철부지
IP 223.♡.251.1
12-18 2022-12-18 20:16:25
·
대단하십니다.
축하드려요.
달다리
IP 122.♡.90.244
12-18 2022-12-18 21:26:42
·
@모모는철부지님 감사합니다!
jangc
IP 121.♡.66.222
12-18 2022-12-18 21:19:14
·
와 두달... 1년 반이 걸린 제가 부끄럽네요. 평소에 자료 정리를 잘 해줘야겠어요.
달다리
IP 122.♡.90.244
12-18 2022-12-18 21:26:09
·
@jangc님 아닙니다. 시장에 경쟁서가 없고, 주제가 명확했던게 운이 좋았다고 생각합니다. 계약하고 나서 주제 선정하고 목차 정하고 했으면 아마 오래 걸렸을 거에요. 말씀하신 대로 자료가 있었던 것두요.
카슈밀
IP 211.♡.129.84
12-18 2022-12-18 23:08:59 / 수정일: 2022-12-18 23:34:48
·
실제하는 책이라 들고다니면서 보기가 좀 귀찮지만 구매했습니다 ㅎㅎㅎ ebook이 없는 게 아쉽긴 하네요
달다리
IP 122.♡.90.244
12-19 2022-12-19 07:19:55
·
@카슈밀님 감사합니다. 출판사에 요청해야겠네요. ㅠ
Minkyuman
IP 112.♡.136.90
12-19 2022-12-19 00:51:29
·
전직장이 같네요 ㅎㅎ 축하드립니다!
달다리
IP 122.♡.90.244
12-19 2022-12-19 07:20:29
·
@Minkyuman님 반갑고 감사합니다. :)
리스테린네추럴
IP 106.♡.64.20
12-21 2022-12-21 20:38:04
·
저도 어제 책 받았습니다 ㅎㅎ 잘볼게요
달다리
IP 106.♡.11.23
12-21 2022-12-21 21:28:56
·
@리스테린네추럴님 아이쿠. 도움이 됐으면 좋겠습니다.
CheckItOut!
IP 59.♡.17.129
12-22 2022-12-22 21:14:13
·
출간 축하드립니다! ^^. 저도 출간에 관심이 많은 입장이어서 궁금한게 있는데요, 글 중에 "하나 힘든 점이 있었다면 위키독스의 내용을 구글 독스로 옮기고 출판사에서 사용하는 서식에 맞게 바꾸는 노가다 작업이 있었네요" <= 요게 어떤 의미일까요? 위키독스에 첨 쓰신거까지는 알겠는데, 구글 독스에는 왜 옮기신건지 궁금해서요.
달다리
IP 122.♡.90.244
12-22 2022-12-22 21:35:27
·
@CheckItOut!님 출판사에서 원하는 워드 서식으로 옮겨야 해요. 스크립트를 돌려서 출판할 수 있게 조판(?)을 한다고 하더라구요. 워드 말고 아래 한글로 진행하는 곳도 있다고 알고 있습니다.
개발도리
IP 121.♡.255.145
12-23 2022-12-23 21:42:47
·
저도 요즘 서버 개발 때 메인 프레임워크를 NestJS로 잡고 익히며 쓰고 있는데 인지도에 비해 정말 좋더라구요!
앞으로도 사용할 예정입니다. 기회가 된다면 책 보겠습니다 :)
삭제 되었습니다.
달다리
IP 122.♡.90.244
02-18 2023-02-18 21:47:57
·
@Dofus님 그러셨군요. 혹시 개정판을 만들면 고려하겠습니다. 감사합니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.