신간소개 2025. 2. 27. 14:51

 

  ● 지은이: 챗대리(박진주)

  ● 페이지: 308

  ● 판형: 170 * 240

  ● 도수: 2도

  ● 정가: 24,000원

  ● 발행일: 2025년 3월 10일

  ● ISBN: 979-11-93229-31-6 93000

 

[오탈자정보]  [자료실]

 

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

 

_도서 내용

따라하면 바로 되는 AI 마케팅 자동화 실습서다. 저자가 실무에 활용할 수 있도록 수많은 학습과 시행착오를 거쳐 만들었다. 몇십 분이면 자동화가 가능할 것을 몇 시간, 하루 종일 시름하는 독자라면, 이 책으로 생산성 향상을 이뤄보기 바란다. 이 책의 내용을 하나하나 따라하며 학습하고 응용하여 여러분의 시간을 절약해주는 자신만의 자동화 프로세스를 만들어보기 바란다. 단순한 것은 AI에게 맡기고 창의적인 일에 집중하는 일잘러가 되어보자.

0123456789

_대상 독자

AI를 활용하기 위해 챗GPT 유료 버전을 구독했지만 뭘 해야 할지 난감한 김대리

신제품 출시를 앞두고 광고 카피와 배너를 기획해야 하는 박대리

광고 기획에 사용할 적절한 이미지 때문에 머리 아픈 이너웨어 브랜드 마케팅팀 최매니저

생활용품 쇼핑몰을 운영 중인 온라인 셀러 A

최근 매출 정체로 고민이 많은 코딩 교육 플랫폼을 운영 중인 김대표

 

 

_목차

 

머리말

이 책에서 진행하는 실습 프로젝트 미리보기

프롤로그

일러두기

 

1_마케팅 자동화의 핵심, 이것만은 꼭 알아두자

1.1 AI의 강점과 약점 이해하기

_ AI의 강점

_ AI의 약점

_ 맥락을 먼저 알려준 후 질문하세요

1.2 기본적인 프롬프팅 기술 익히기

_ 새로운 과제는 새 대화 창을 열어 물어보세요

_ AI가 참고할 수 있는 예시를 주며 질문하세요

_ 단계별로, 상세히 지시하세요

1.3 마케팅 업무별로 적합한 AI 도구 선택하기

 

2_SNS 광고 제작 시간 90% 줄이기

2.1 AI 도구 소개: 클로드, 피그마, 브이캣.AI

_ 클로드

_ 피그마

_ 브이캣.AI

_ 데이터 수집하기

2.2 경쟁사 광고 분석하기

_ AI로 광고 데이터 분석하기

_ 경쟁사 광고 벤치마킹하기

_ 이미지를 바탕으로 벤치마킹하기

2.3 광고 카피 대량으로 생성하기

_ STEP 1. 확장 프로그램 설치 및 Claude API 키 발급하기

_ STEP 2. 타깃 목록 준비하기

_ STEP 3. 구글 시트에서 광고 카피 대량으로 생성하기

2.4 광고 배너 대량 생성하기

2.5 클릭 한 번으로 영상 광고 생성하기

 

3_제작 비용 0! AI로 맞춤형 광고 이미지 만들기

3.1 이미지 생성형 AI 종류와 개요

_ 미드저니

_ 달리

_ 이데오그램

_ 이마젠 3

3.2 AI 이미지 생성의 한계

3.3 AI 챗봇으로 이미지 프롬프트 만들기

_ STEP 1. 이미지 아이디어 구상하기

_ STEP 2. 프롬프트 생성하기

_ STEP 3. 프롬프트 다듬기

3.4 빙 이미지 크리에이터로 이미지 생성하기

3.5 AI 이미지로 광고 배너 만들기

_ 등산복 콘셉트의 배너 만들기

_ 골프복 콘셉트의 배너 만들기

 

4_상세 페이지 제작, AI 10배 빠르게 만들기

4.1 상세 페이지 제작 자동화 준비하기

4.2 상세 페이지 문안 자동 생성하기

4.3 상세 페이지 여러 개를 한 번에 만들기

 

5_콘텐츠 마케팅 자동화로 1 1포스팅하기

5.1 AI 도구 소개: make.com

_ 다양한 업무 자동화가 가능한 make.com

5.2 뉴스 스크랩 자동화하기

_ make.com 시작하기

5.3 뉴스레터 자동화하기

5.4 SNS 포스팅 자동화하기

 

6_고객관리 자동화로 고객 만족도 300% 높이기

6.1 AI 도구 소개: 오픈AI 어시스턴트

6.2 고객 메일에 자동으로 답변 보내기

_ STEP 1. 메일 응답 챗봇 만들기

_ STEP 2. make.com으로 메일 자동 답변 시스템 만들기

6.3 인스타그램 댓글 자동으로 답변하기

_ STEP 1. 인스타그램 댓글 답변 봇 만들기

_ STEP 2. make.com으로 인스타그램 자동 답글 시스템 만들기

 

부록_마케팅 자동화를 위한 AI 도구 목록

_ n8n

_ Zapier

_ Manychat

_ 솔라피

_ 판다 AI

_ 타입캐스트

_ Notebook LM

찾아보기     

 

 

 

주요 내용

 

************* 챗대리의 마케팅 자동화 2원칙 **************

1. 무조건 AI에게 맡기지 마라

문제의 본질을 먼저 파악한 후, AI가 효과적으로 해결할 수 있는 부분만 맡겨라.

 

2. 업무별로 최적의 도구 조합을 선택하라!

이 책으로 자신에게 맞는 도구들의 조합을 찾아 나만의 일잘러 AI 시스템을 구축하라.

 

꾸준히 자동화하면 여러분의퇴근이 빨라집니다.”

 

이 책에서 함께 만들어보는 AI 마케팅 자동화 시스템(당장 실무 적용 가능)

1. 클로드, GPT 등 각종 AI 도구를 조합해 광고 제작을 자동화하는 예제

2. 이미지 생성형 AI를 활용해 수십 개, 수백 개의 광고 이미지를 손쉽게 생성하는 예제

3. 개발자, 마케터, 기획자가 총동원되어야 했던 프로모션 페이지 제작을 마케터 한 명이 10배 빨리 끝내는 시스템

4. SNS 포스팅부터 고객 관리까지, 자동화를 통해 속도와 생산성을 10배 높이는 시스템

5. 기타 각 업무 상황에 맞는 최적의 AI 도구의 추천 및 사용 방법

 

이 책에 나온 구체적인 사례를 따라하다 보면 AI를 실무에 어떻게 활용하면 될지 감이 잡히게 될 것이고, AI에 대한 막연한 두려움 대신 자신감을 얻을 것입니다.

 

 

_저자 서문 중에서

AI 시대에도, ‘내 일’에 집중하는 것이 먼저입니다

 

매일같이 쏟아지는 AI 관련 뉴스와 신제품 출시 소식, 끊임없이 변하는 기술 트렌드를 접하다 보면 이런 생각이 들 때가 있습니다.

 

‘나, 혹시 뒤처지고 있는 건 아닐까?’ ‘새로운 기능이 나왔는데 당장 써봐야 하나?

 

결론부터 말씀드리면, 여러분은 결코 뒤처진 것이 아닙니다. 모든 기술을 일일이 따라잡을 필요는 없습니다. 중요한 것은 ‘내 업무’ ‘내 마케팅 목표’에 맞춰 정말 필요하고 유용한 것만 제대로 익히고, 그것들을 일상 업무나 프로젝트에 ‘효과적으로 접목’하는 것입니다.

 

이 책은 마케터들이 AI로 작업 방식을 효율화하고, 그 변화를 통해 ‘실질적인 생산성 향상’을 어떻게 이룰 수 있는지 알 수 있도록 기획되었습니다. 지난 몇 년간 AI는 엄청난 속도로 발전해왔고, 이제는 기업 규모나 업종, 개인의 전문 분야에 관계없이 누구나 손쉽게 이를 활용할 수 있는 시대가 되었습니다. 문제는 그 다양함이 ‘장점’이자 동시에 ‘혼란의 원인’이라는 사실입니다. 그 결과, 저는 많은 마케터들이 다음과 같은 고민을 안고 있다는 사실을 알게 되었습니다.

 

1. AI 도구가 너무 많은데, 대체 뭘 써야 할까?

다양한 도구 사이에서 무엇을 선택해야 할지 혼란스럽기만 합니다. 하지만 실제로 업무나 학습 과정에서 자주 쓰이는 도구는 극히 일부입니다. 그러므로 이 책에 서는 한국 마케팅 상황에 꼭 필요한 도구들을 엄선하여 추천합니다.

 

2. AI를 마케팅 실무에 적용해서 정말 성과를 낼 수 있을까?

예를 들어, AI 챗봇에게 종합적 사고를 요구하는 마케팅 전략 작성을 맡기면 실망스러운 결과를 얻을 수 있습니다. 하지만 다양한 타깃층에 맞춘 개인화 카피를 대량 작성하는 것은 사람보다 수십, 수백 배 빠른 속도로 가능하죠. 이 책에서는 이처럼 실무에 적용해서 효과를 볼 수 있는 AI 자동화 방식만 모아 설명합니다.

 

3. “새로운 도구가 나오면 지금 배운 게 소용없어지진 않을까?

AI 분야는 끊임없이 진화하고 있습니다. 오늘 배운 도구가 내일이면 경쟁사의 새로운 모델에 밀려 구식이 될 수도 있습니다. 하지만 기술 발전의 방향은 ‘자동화’, ‘효율화’ 그리고 ‘개인화’라는 굵직한 축을 따라가고 있습니다. 이 책의 핵심은 어떤 상황에서, 어떤 지점에 이 기술을 결합해야 업무 효율이 극대화되는지 이해하고 응용하는 방법을 배우는 데 중점을 두고 있습니다. , 도구 그 자체보다 그것을 실무에 적용하는 방식과 사고방식을 익히는 데 초점을 맞춘다고 보면 됩니다.

 

추가로 당부하고 싶은 점은 이 책 하나로 “AI 활용법을 섭렵하겠다”라기보다, 여러분만의 지속 가능한 학습 시스템을 구축하는 출발점으로 삼으라는 것입니다. 기술의 발전 속도를 따라잡기에 어려워 보입니다. 그렇더라도, 매주 5분에서 10분 정도만 투자해 신뢰할 만한 소수의 정보 출처를 통해 최신 정보를 확인하고, 매주 한 시간 정도만 할애해 내 업무에 적용해보세요. 그러면 어느새 새로운 도구가 나오더라도 당황하지 않고 유연하게 대처하는 능력을 갖추게 될 것입니다.

 

 

_저자 소개

 

지은이 챗대리(박진주)

 

이커머스 스타트업 마케팅팀에서 커리어를 시작으로, KT 계열 광고대행사인 플레이디에서 프로젝트 매니저(PM)로 활동하며 다양한 브랜드의 캠페인을 진행했다. 현재는 AI 활용 강사로 활동하며, AI 기술을 실무에 효과적으로 적용하는 방법을 전파하고 있다. 유튜브 채널 <챗대리의 Ai연구소>를 운영하며 누구나 AI를 친근하고 유용하게 사용할 수 있도록 돕는 콘텐츠를 제작 중이다.

PUBLY에 기고한 글로는 ‘챗GPT 1시간 만에 마케팅 제안서 작성하는 법’, ‘일잘러가 제미나이를 데이터와 기획에 활용하는 6가지 방법’ 등이 있으며, 패스트캠퍼스에서 ‘ChatGPT for Business’ 강의의 멘토로도 활동하며 실질적이고 실무 중심의 교육을 제공했다.

AI를 통해 업무와 삶을 더 스마트하게 만드는 방법을 연구하고 공유하는 데 집중하고 있다.

 

 

 

_상세 이미지

 

                                                                                                _

posted by 로드북
:
오탈자 정보 2025. 2. 27. 14:46
posted by 로드북
:
자료실 2025. 2. 27. 14:45
posted by 로드북
:
신간소개 2024. 12. 3. 14:33

 

  ● 지은이: 정금호

  ● 페이지: 424

  ● 판형: 172 * 225

  ● 도수: 2도

  ● 정가: 27,000원

  ● 발행일: 2024년 12월 12일

  ● ISBN: 979-11-93229-30-9 93000

 

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

[Q&A 사이트 바로가기]

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

 

_도서 내용

ChatGPT, Tesor.Art, Udio 등의 생성형 AI를 활용하여 게임을 만들고 앱 스토어에 배포까지 따라하며 배울 수 있는 책이다. AI로 게임을 만들기 위해서는 많은 시행착오를 겪어야 하지만, 저자가 먼저 수많은 시도와 실패로 얻은 경험을 책에 녹여냈다. 출간 전에 이 책의 내용으로 2주 간의 특강을 진행하였는데, 10명의 수강생이 자신만의 게임을 만들어 앱을 성공적으로 배포할 수 있었다. 코딩을 잘 모르는 독자도 좋은 아이디어만 있다면 한번 도전하여 멋진 게임을 유료로 배포하는 성공의 기쁨을 맛보길 바란다.

 

_대상 독자

평소에 게임을 만들어보고 싶었던 누구나!

게임 프로그래머가 되기 위해 준비 중이며 경험과 포트폴리오가 필요한 독자!

앱을 만들어 배포하는 방법까지 알고 싶어하는 독자!

생성형 AI를 어디까지 활용할 수 있는지 미치도록 알고 싶은 누구나!

01234567

_목차

 

추천사 

머리말 

 

01. 생성형 AI 소개 

1.1 생성형 AI란 무엇인가 

1.2 생성형 AI 종류 

1.2.1 대규모 언어 모델 

1.2.2 텍스트-이미지 모델 

1.2.3 텍스트-음악 모델 

1.2.4 텍스트-비디오 모델 

1.3 생성형 AI의 현재 

1.4 생성형 AI의 미래와 우리의 자세 

1.5 저작권 이슈 

 

02. 생성형 AI를 이용해서 게임용 이미지 생성하기 

2.1 Tensor.Art 소개 

2.2 적당한 체크포인트, LoRA 선택 및 프롬프트 찾기 

2.3 생성된 이미지를 게임에서 사용할 때의 문제점 

2.3.1 생성된 이미지 후처리 이슈 

2.3.2 일관성 유지 이슈 

2.3.3 군중신 표현의 어려움 

2.3.4 등급 분류의 이슈 

2.3.5 남성 캐릭터 이미지 생성의 어려움 

 

03. 생성형 AI를 이용해서 게임용 BGM 생성하기 

3.1 Udio.com 소개 

3.2 가사가 있는 노래 만들기 

3.3 가사가 없는 BGM 만들기 

 

04. GPT를 이용해서 게임 시나리오 생성하기 

4.1 GPT로 콘텐츠 만들기 

4.2 게임의 캐릭터와 배경 설정하기 

4.3 캐릭터별 이벤트 목록 작성하기 

4.4 이벤트 스크립트 만들기 

4.5 다국어 지원 테스트해보기 

 

05. 생성형 AI를 활용한 게임 프로젝트 사례 소개 

5.1 20년 전에 출시한 게임의 리메이크 버전 개발 

5.1.1 기존 CG를 대체하는 이미지 생성 

5.1.2 새로운 캐릭터 설정 추가 

5.1.3 콘텐츠 강화 

5.1.4 프로그램 리뉴얼 

5.1.5 등급 분류 신속 대응 

5.2 생성형 AI를 활용한 오리지널 게임 개발 

5.2.1 GPT를 활용한 시나리오 작업 

5.2.2 음악 생성형 AI를 이용한 BGM 생성 작업 

5.2.3 새로운 모델 및 LoRA 활용 방법 

5.2.4 앱스토어 검수 이슈 

5.3 개발 중인 게임 프로젝트 소개 

5.3.1 판타지 육성 시뮬레이션 게임 

5.3.2 판타지 연애 시뮬레이션 게임 

5.3.3 일제 강점기 배경 전략 시뮬레이션 게임 

5.3.4 SF 비주얼 노블 게임 

 

06. 생성형 AI를 활용한 게임 프로젝트 진행하기 

6.1 게임 기획 및 시나리오 작업 

6.1.1 게임에 등장하는 캐릭터 설정하기 

6.1.2 게임 배경 설정하기 

6.1.3 게임 이벤트 설정하기 

6.1.4 게임 이벤트 스크립트 생성하기 

6.1.5 게임 이벤트 CG 목록 생성하기 

6.1.6 게임 인트로 및 엔딩 스크립트 생성하기 

6.2 게임 리소스 생성하기 

6.2.1 설정된 캐릭터에 맞는 모델 및 LoRA 선택하기 

6.2.2 캐릭터별 이미지 생성하기 

6.2.3 메인 화면, 아이콘용 이미지 생성하기 

6.2.4 게임 배경 이미지 생성하기 

6.2.5 김프를 이용해서 게임용 이미지 가공하기 

6.2.6 게임용 음악 생성하기 

6.2.7 캐릭터별 이벤트 스크립트 작업하기 

6.2.8 Sqlite로 게임용 데이터베이스 파일 생성하기 

 

07. 게임 프로젝트 프로그래밍하기 

7.1 게임 프로그래밍 하기 

7.1.1 모바일 게임에 대한 이해 

7.1.2 안드로이드 스튜디오 설치 및 실행 

7.1.3 기본 프로그램 예제 불러오기 

7.1.4 기본 프로그램 빌드 및 실행하기 

7.1.5 생성한 게임 리소스를 프로그램에 적용하기 

7.1.6 프로그램 테스트 및 마무리 

 

08. 게임 프로젝트 출시하기 

8.1 게임 출시 준비하기 

8.1.1 출시를 위한 패키지 빌드하기 

8.1.2 게임 출시를 위한 추가 이미지 생성하기 

8.1.3 스크린숏 캡쳐하기 

8.1.4 게임 설명 작성하기 

8.2 게임 출시하기 

8.2.1 앱스토어 계정 만들기 및 로그인 

8.2.2 상품 정보 생성 및 등록하기 

8.2.3 앱스토어 규정에 맞게 추가 정보 등록하기 

8.2.4 빌드된 최종 패키지 업로드하기 

8.2.5 검수 요청하기 

 

09. 생성형 AI를 이용한 게임 개발의 장단점 

9.1 생성형 AI를 이용한 게임 개발의 장점 

9.1.1 높은 생산성 

9.1.2 높은 품질 

9.1.3 단점을 커버하는 물량 공세 

9.1.4 다양한 실험과 시도가 가능 

9.1.5 창고에 쌓아 두었던 기획서들을 다시 꺼내야 할 때 

9.2 생성형 AI를 이용한 게임 개발의 단점 

9.2.1 생성형 AI에 대한 사용자의 거부감 

9.2.2 학습 데이터가 부족한 분야에 대한 제한 

9.2.3 최종 결과물을 얻기 위한 수율이 낮음 

9.2.4 높은 생산성으로 인한 지나친 욕심 

9.2.5 결국 사람의 손으로 해야 하는 마무리 

9.3 생성형 AI를 이용하여 개발한 게임 소개 

 

찾아보기     

 

 

 

주요 내용

 

생성형 AI의 힘을 빌어 게임 개발을 더 쉽고 빠르게!

생성형 AI가 있다면 혼자서 한 달에 하나씩 게임 앱 출시도 거뜬

 

이 책은 생성형 AI를 활용해 게임 개발에서 혼자서는 하기 힘든 시나리오와 캐릭터 선정부터 그리기, 이벤트 및 이벤트 스크립트, 배경 이미지와 음악, 주제가 등을 쉽게 개발하여 게임 개발을 획기적으로 단축할 수 있게끔 해주는 책이다.

저자는 이미 십 년 전에 개발한 게임 두 개를 불과 몇 개월 만에 생성형 AI를 활용하여 재론칭하였고, 이 책의 내용으로 국내에서 2주 특강을 열어, 수강생 10명 이상이 자신의 게임을 5~2주 만에 앱스토어에 출시하고, 저자 자신도 이후 3개월 간 무려 22개의 게임을 출시하는 놀라운 성과를 냈다.

 

_주요 내용

1. 생성형 AI를 활용한 이미지 생성:

게임 개발에 필요한 캐릭터와 배경 이미지 등을 생성하는 방법. 이미지 생성 시 프롬프트 작성 요령과 생성형 AI의 한계, 저작권 문제 설명.

 

2. 게임용 BGM과 음악 생성:

게임 내에서 배경 음악(BGM)이나 주제가를 생성하는 방법. AI 도구를 사용해 다양한 음악을 자동 생성하고 수정하는 과정 수록.

 

3. 게임 시나리오 작성:

GPT를 활용하여 게임 시나리오를 자동 생성하는 방법. 캐릭터의 대사나 이벤트를 구성하는 구체적인 방법과 예시.

 

4. 생성형 AI를 활용한 게임 개발 실전 프로젝트:

게임 시나리오, 이벤트, 이벤트별 스크립트, 캐릭터 및 배경 이미지 개발, 배경음악 및 주제가 작곡, 게임 코드를 깃허브에서 개발 툴로 받아와 AI로 만든 리소스를 활용한 게임 완성하기.

 

5. 게임 개발 마무리 및 앱스토어 출시:

생성형 AI를 통해 제작한 게임을 앱스토어에 등록하는 과정. 게임의 등급 분류, 상품 정보 등록, 마케팅 자료 제작 등 실질적인 운영 방법 제시.

 

_저자 서문 중에서

이미지 생성형 AI를 사용해봄으로써, 예상치 못한 곳에서 내가 오랫동안 풀기 힘들었던 문제에 대한 힌트를 얻게 된 것이다. 그것이 현실적으로 가능한지 테스트해보기 위해서, 20년 전에 만들었던 게임의 리메이크REMAKE 버전을 이미지 생성형 AI를 이용해서 만들어 보기로 결정했다. 그리고 2개월 후인 2023 12 24, 완성된 리메이크 버전을 구글 플레이 스토어와 원스토어에 출시함으로써 그것이 가능하다는 것을 입증할 수 있었다.

24년 전에는 5~6명의 게임 개발팀을 이끌고 3개월에 게임 하나씩 만들어 출시했는데, 지금은 나 혼자서 당시 만들었던 게임보다 더 풍부한 콘텐츠를 가진 게임을 2~3개월에 하나씩 만들 수 있게 된 것이다. 우여곡절이 있기는 했지만 2024 5월말 두 번째 게임도 원스토어에 출시했다.

 

 

_추천글

이 책은 ChatGPT로 게임 시나리오를 만들고, Tensor.Art로 캐릭터를 디자인하며, Udio로 배경음악을 제작하는 전 과정을 담고 있다. 이렇게 하면 잘될 거라고 말하는 성공의 비결을 가르쳐주는 그런 책이 아니라, 새로운 분야에 처음으로 뛰어든 퍼스트 펭귄의 기록 같은 책이다.

게임 시나리오부터 캐릭터와 배경음악까지, 아직 사람이 다닌 흔적도 별로 없고 이정표도 제대로 없는 길을 가면서 겪었던 시행착오의 기록이기도 하다.

저자가 혼자서 생성형 AI로 게임을 만들어 보겠다고 용감하게 뛰어 들고, 개발부터 심의, 출 시까지 모든 과정에서 얻은 실전적인 노하우와 값진 시행착오의 경험들을 이 책을 통해 나누어 주는 것에 감사한다.

이 책을 통해 누구나 AI의 도움을 받아 자신만의 게임을 기획하고, 개발하고, 더 나아가 실제로 출시까지 할 수 있게 되기를 기대한다.

_김성완 - GenAI Korea 운영자, 전 펄어비스 AI 연구원

 

 

_저자 소개

 

지은이 정금호

 

1984년에 애플 Ⅱ+로 컴퓨터 프로그래밍을 시작하였고, 대학교 1학년이었던 1993년부터 PC 통신을 이용하여 여러 가지 공개 소프트웨어와 셰어웨어를 만들어 발표하였다. 1997년부터 다수의 윈도우즈용 상용 게임과 상용 애플리케이션 및 웹 애플리케이션, 임베디드 애플리케이션 등을 개발해왔으며, 2005년부터는 윈도우즈 모바일, 아이폰, 안드로이드용 애플리케이션 및 게임을 직접 개발하거나 모바일 앱 서비스 개발 총괄 등을 맡아왔다.

 2018년부터는 가족들과 함께 독일로 이사했고, 베를린의 글로벌 스타트업에서 풀스택 개발자로 일하였으며, 현재는 인공지능 스타트업에서 일하고 있다. 2023 10월부터 생성형 AI를 이용하여 22개 이상의 게임을 개발해서 구글 플레이 스토어와 원스토어에 출시했다. 

저서로는 『이것이 진짜 안드로이드 프로그래밍이다』, 『스마트 TV 애플리케이션 프로그래밍』(2014), 『벤츠 타는 프로그래머』(2013), 『실전 아이폰 프로그래밍』, 『실전 안드로이드 프로그래밍』(2011), 『애플리케이션 개발자, 윈도 모바일 매력에 빠지다』(2010)가 있다.4o

 

_상세 이미지

 

                                                                                                _

posted by 로드북
:
오탈자 정보 2024. 12. 3. 14:32

posted by 로드북
:
자료실 2024. 12. 3. 14:31
posted by 로드북
:
신간소개 2024. 4. 16. 11:54

 

  ● 지은이: 홍준혁

  ● 페이지: 412

  ● 판형: 188 * 257

  ● 도수: 2도

  ● 정가: 30,000원

  ● 발행일: 2024년 4월 12일

  ● ISBN: 979-11-93229-28-6 93000

 

[오탈자 사이트 [자료실] [강의교안 신청하기]

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

 

_도서 내용

만들면서 리액트를 빠르게 배울 수 있는 책입니다. ‘쇼핑몰 서비스를 만들어볼 주제로 택한 이유는 쇼핑몰의 CRUD(상품 등록, 조회, 수정, 삭제) 기능 구현을 통해 다른 주제로 쉽게 확장할 수 있기 때문입니다. 순수 리액트로만 쇼핑몰을 개발하며 서버는 다른 기능 없이 데이터만 주고받을 수 있게끔 최소한의 기능만 제공하고 있습니다. 이 책으로 프론트엔드 개발을 재밌고 빠르게 배울 수 있기를 바랍니다.

 

_대상 독자

1. 리액트 기본은 떼었는데, 다음 단계의 실습을 원하는 독자

2. 회사에서 다음 프로젝트에 리액트를 써야 하는데, 빠르게 기술 습득을 해야 하는 독자

 

_목차

 

지은이의 말

기획자의 말

일러두기

 

1장 쇼핑몰 서비스 완성본 미리보기

1.1 VSCode 설치하기

1.2 패키지 매니저 이해하기

1.3.1 패키지를 초기화하고 종속성 추가하기

1.3 Yarn 사용하기

1.3.2 패키지 업데이트하기

1.4.1 깃 설치

1.4 깃 이해하고 사용하기

1.4.2 깃 명령어

1.5 깃허브로 쇼핑몰 앱 접속하기

1.6 완성본 프로젝트 살펴보기

1.7 완성된 쇼핑몰 앱 둘러보기

 

2장 프로젝트 준비하기

2.1 간단한 리액트 프로젝트 만들기

2.2 모듈 분리해서 보기

2.3 Create-React-App 프로젝트 설정하기

2.4 API 서버 설정하기

2.5 클라이언트 사이드 렌더링

2.6 API 서버 테스트하기

 

[함께 해봐요 2-1] 기본적인 HTML 페이지 만들기  

[함께 해봐요 2-2] React ReactDOM CDN으로 불러오는 HTML 파일  

[함께 해봐요 2-3] 리액트 코드 작성하기  

[함께 해봐요 2-4] 바벨로 변경한 전체 HTML 파일  

[함께 해봐요 2-5] 루트 디렉터리에 App.js 파일 만들기  

[함께 해봐요 2-6] App.js를 불러오는 index.html 

[함께 해봐요 2-7] A.js B.js를 불러오는 index.html 

[함께 해봐요 2-8] 모듈을 분리하기 위한 App.js 만들기 

[함께 해봐요 2-9] 기본으로 제공되는 App.tsx 수정하기 

[함께 해봐요 2-10] App 컴포넌트를 사용하기 위한 index.tsx 수정하기

[함께 해봐요 2-11] index.html 수정하기 

 

3장 리액트는 어떻게 동작하는가

3.1 웹 서비스의 전반적인 흐름

3.2 컴포넌트를 알아보자(with JSX)

3.3 Props: 컴포넌트 간 데이터 전달을 위한 객체

3.4 리액트 앱의 렌더링 방식(with State)

3.5 훅 개념과 활용법

 

[함께 해봐요 3-1] 데이터 흐름을 파악하기 위한 리액트 App 컴포넌트  

[함께 해봐요 3-2] 가상 DOM을 사용하는 이유를 알아보기 위해 App 컴포넌트 수정하기 

 

더보기

4장 쇼핑몰 기본 구조 만들어보기

4.1 요구사항 살펴보기

4.2 상품 목록 렌더링하기

4.3 상품 추가하기

4.4 상품 목록 삭제하기

4.5 상품 목록 수정하기

4.6 React-Router-Dom 설정하기

4.7 상품 상세 페이지 나누기

4.8 Context API 설정하기

4.9 동기와 비동기 이해하기

4.10 API 서버에서 상품 목록 가져오기

4.11 상품 상세 데이터 가져오기

4.12 상품 수정과 삭제 요청하기

 

[함께 해봐요 4-1] interface 키워드로 ProdutType을 만들고 products 변수 선언하기 

[함께 해봐요 4-2] products 변수의 초깃값으로 가짜 데이터 입력하기 

[함께 해봐요 4-3] products 상태를 화면에 표시하기(오류 버전) 

[함께 해봐요 4-4] products 상태를 화면에 표시하기(오류 수정 버전) 

[함께 해봐요 4-5] products 상태를 화면에 표시하기(map 메서드 사용하기) 

[함께 해봐요 4-6] products 상태를 화면에 표시하기(경고 문구 해결하기) 

[함께 해봐요 4-7] 상품 목록을 렌더링하는 최종 App.js 코드 

[함께 해봐요 4-8] 상품 추가하기를 위한 form 작성하기 

[함께 해봐요 4-9] ‘상품 추가하기를 위한 form 작성하기(수정 버전) 

[함께 해봐요 4-10] 상태변경함수(useState)를 활용하여 데이터를 다시 선언하기 

[함께 해봐요 4-11] 상품 데이터를 변경시키고 활용하기(onChange 속성) 

[함께 해봐요 4-12] 상품 데이터를 변경시키고 활용하기(onChange 이벤트 핸들러 사용하기) 

[함께 해봐요 4-13] 상품 데이터를 products state에 추가하기(타입 오류 버전) 

[함께 해봐요 4-14] 상품 데이터를 products state에 추가하기(두 번째 상품 데이터 추가부터 오류 발생 버전) 

[함께 해봐요 4-15] 상품 데이터를 products state에 추가하기(useRef 함수를 활용한 오류 수정 버전) 

[함께 해봐요 4-16] 상품 추가하기 최종 소스 

[함께 해봐요 4-17] 상품 렌더링 로직 수정하기(product를 분해하여 단일 속성값으로 접근할 수 있게 수정)

[함께 해봐요 4-18] [삭제하기] 버튼의 onClick 함수 작성하기

[함께 해봐요 4-19] [수정하기] 버튼 렌더링하기

[함께 해봐요 4-20] 컴포넌트를 분리하여 내부 상태를 선언 가능한 형태로 작성하기(ProductItem 컴포넌트 만들기)

[함께 해봐요 4-21] 컴포넌트를 분리한 후 기존 로직이 동작하지 않는 문제 수정하기(onDelete 함수로 행동 위임하기)

[함께 해봐요 4-22] isEditMode true일 때 조건부 Form 렌더링으로 수정하기

[함께 해봐요 4-23] 상품 수정 form에서 작성한 상품 정보를 객체로 전달하는 방식으로 수정하기

[함께 해봐요 4-24] 상품 정보 수정이 완료되도록 App 컴포넌트의 handleUpdate 함수 수정하기

[함께 해봐요 4-25] 상품 목록 수정하기 최종 코드

[함께 해봐요 4-26] index.tsx에서 BrowserRouter 컴포넌트로 App 컴포넌트 감싸주기

[함께 해봐요 4-27] HomePage.tsx를 만들고 App.tsx에서 소스 복사하기

[함께 해봐요 4-28] index.ts를 만들고 HomPage 컴포넌트 내보내기

[함께 해봐요 4-29] App.tsx 컴포넌트 수정하기

[함께 해봐요 4-30] 상품 상세 페이지 만들기(ProductPage.tsx)

[함께 해봐요 4-31] index.ts를 통해 내보내기

[함께 해봐요 4-32] App.tsx에 상세 페이지 추가하기

[함께 해봐요 4-33] path 속성을 알아보기 위해 상세 페이지 수정하기

[함께 해봐요 4-34] 데이터를 담을 수 있는 공간으로 Context 만들기(ProductContext.tsx)

[함께 해봐요 4-35] 하위 컴포넌트에 데이터 전송을 위한 Provider 정의하기

[함께 해봐요 4-36] 데이터 사용을 위해 Consumer를 선언하고, useContext 함수로 접근하기

[함께 해봐요 4-37] Context를 적용한 최종 코드

[함께 해봐요 4-38] 작성한 Context 사용하기(ProductPage.tsx 수정)

[함께 해봐요 4-39] 작성한 Context 사용해보기 2(index.tsx 수정)

[함께 해봐요 4-40] URL 매개변수 id 값을 받아 상품 정보를 보여주는 로직(ProductPage.tsx 수정)

[함께 해봐요 4-41] URL 매개변수 id 값을 받아 상품 정보를 보여주는 로직(undefined 시에 UX를 고려한 문자열 추가)

[함께 해봐요 4-42] 메인 페이지에서 상품 상세 페이지로 이동하기

[함께 해봐요 4-43] 상품을 새로 추가하고 해당 상품으로 이동할 때 아무런 결과 값이 나타나지 않는 현상 해결하기(타입 오류 발생)

[함께 해봐요 4-44] 상품을 새로 추가하고 해당 상품으로 이동할 때 아무런 결과 값이 나타나지 않는 현상 해결하기(타입 오류 수정)

[함께 해봐요 4-45] 메인 페이지의 product Context로 구현하기 1(HomePage.tsx 수정하기)

[함께 해봐요 4-46] 메인 페이지의 product Context로 구현하기 2(ProductPage.tsx 수정하기)

[함께 해봐요 4-47] fetch 함수로 상품 목록 데이터 가져오기(HomePage.tsx)

[함께 해봐요 4-48] 프록시 서버 설정하기(client/package.json 수정하기)

[함께 해봐요 4-49] 동기화 작업을 위한 fetch 함수 수정하기

[함께 해봐요 4-50] 필요 없게 된 기존의 Context 제거하기 1(index.ts에서 ProductProvider 제거하기)

[함께 해봐요 4-51] 필요 없게 된 기존의 컨텍스트 제거하기 2(Homepage.tsx에서 product 설정 코드 변경하기)

[함께 해봐요 4-52] 상품 상세 데이터 가져오기(ProductPage.tsx 수정하기)

[함께 해봐요 4-53] 상품 추가하기(Homepage.tsx handleCreate 함수 수정하기)

[함께 해봐요 4-54] 상품 삭제하기(Homepage.tsx handleDelete 함수 수정하기)

[함께 해봐요 4-55] 상품 수정하기(Homepage.tsx handleUpdate 함수 수정하기)

 

5장 쇼핑몰 설계를 어떻게 하면 좋을까(feat. 좋은 아키텍처란)

5.1 리액트 컴포넌트, 꼭 나눠야 할까

5.2 데이터를 기반으로 컴포넌트 분리하기

5.3 역할 중심으로 컴포넌트 분리하기

5.4 전체 구조는 어떻게 짤까

5.5 지금까지의 구조를 수정하자

 

[함께 살펴봐요 5-1] Cart에서 데이터를 분리하기 전의 코드(단순 예시 코드) 

[함께 살펴봐요 5-2] 데이터 기반으로 컴포넌트 분리하기(단순 예시 코드)

[함께 살펴봐요 5-3] 역할 중심으로 컴포넌트 분리하기 1(단순 예시 코드)

[함께 살펴봐요 5-4] 역할 중심으로 컴포넌트 분리하기 2(단순 예시 코드)

[함께 살펴봐요 5-5] Cart 컴포넌트 구현(단순 예시 코드)

[함께 살펴봐요 5-6] CartList 컴포넌트 구현(단순 예시 코드)

[함께 살펴봐요 5-7] CarItem 컴포넌트 구현(단순 예시 코드)

[함께 살펴봐요 5-8] CartIncreaseButton 컴포넌트 구현(단순 예시 코드)

[함께 살펴봐요 5-9] CartDecreaseButton 컴포넌트 구현(단순 예시 코드)

[함께 살펴봐요 5-10] CartDeleteButton 컴포넌트 구현(단순 예시 코드)

[함께 살펴봐요 5-11] 분리하기 전 HomePage 코드

 

[함께 해봐요 5-1]  HomePage에서 ProductList를 분리해서 구현하기  

[함께 해봐요 5-2] 타입을 한 번에 모아서 관리하는 폴더를 만들고 불러오기(types 폴더와 index.ts) 

[함께 해봐요 5-3] 타입 별칭들도 모듈처럼 지정하기(ProductItem이 정의되어 있지 않은 상태) 

[함께 해봐요 5-4] ProductItem 컴포넌트 분리하기 

[함께 해봐요 5-5] index.ts를 통해 내보내기  

[함께 해봐요 5-6] ProductList 컴포넌트에서 ProductItem 불러오기  

[함께 해봐요 5-7] 분리된 컴포넌트 기반으로 HomePage 수정하기  

[함께 해봐요 5-8] ProductCreateForm 작성하기  

[함께 해봐요 5-9] ProductCreateForm 내보내기  

[함께 해봐요 5-10] ProductCreatePage 작성하기  

[함께 해봐요 5-11] index.ts를 통해 내보내기  

[함께 해봐요 5-12] Page 컴포넌트를 Route에 추가하기(App.tsx 수정)  

 

6 MUI UI 컴포넌트를 활용하여 쇼핑몰 개선하기

6.1 MUI 도입하기

6.2 CSS 정규화

6.3 MUI 그리드

6.4 레이아웃 구현하기

6.5 로딩 기능 추가하기

6.6 상품 생성 컴포넌트를 MUI로 마이그레이션하기

6.7 API를 이용한 섬네일 업로드 구현하기

6.8 섬네일이 나오지 않는 문제를 수정하기

6.9 상품 목록을 MUI로 마이그레이션하기

6.10 상품 아이템을 MUI로 마이그레이션하기

6.11 상품 상세보기 페이지를 MUI로 마이그레이션하기

6.12 구매 페이지 구현하기

6.13 상품 구매 모달 구현하기

6.14 상품 생성 모달 구현하기

6.15 장바구니 페이지 구현하기

6.16 404 페이지 구현하기

 

[함께 해봐요 6-1] MUI 테스트 예제 준비

[함께 해봐요 6-2] MUI 테스트: 스타일이 입혀진 버튼

[함께 해봐요 6-3] 옵션을 활용하여 다양한 버튼의 모양으로 렌더링 해보기

[함께 해봐요 6-4] MUI를 전역 공간에서 실행하기

[함께 해봐요 6-5] 그리드 컴포넌트 활용 예제

[함께 해봐요 6-6] 웹의 기초적인 구조를 그리드로 만들어보는 예제

[함께 해봐요 6-7] 테스트용으로 변경했던 앱 컴포넌트를 원래대로 되돌리기

[함께 해봐요 6-8] 레이아웃 작성하기(Layout.tsx)

[함께 해봐요 6-9] Layout 컴포넌트 내보내기(index.ts)

[함께 해봐요 6-10] Layout 컴포넌트를 App 컴퍼넌트 상단에 모두 묶기

[함께 해봐요 6-11] 각 버튼에 이벤트 핸들러를 연결하여 페이지를 이동하는 로직 추가하기

[함께 해봐요 6-12] HomePage에서 임시로 해당 컴포넌트 불러오기

[함께 해봐요 6-13] HomePage 컴포넌트 원상복구

[함께 해봐요 6-14] 로딩이 true, false에 따라 달라지는 렌더링 구현하기

[함께 해봐요 6-15] CreateIcon을 불러와서 Layout [추가하기] 버튼 바꾸기

[함께 해봐요 6-16] 쇼핑몰다운 UI로 수정하기(ProductCreateForm.tsx)

[함께 해봐요 6-17] 섬네일 업로더 컴포넌트 구현하기 1(ThumbnailUploader.tsx)

[함께 해봐요 6-18] 섬네일 업로더 컴포넌트 구현하기 2(ThumbnailUploader.tsx)

[함께 해봐요 6-19] ThumbnailUploader 컴포넌트 내보내기

[함께 해봐요 6-20] ProductCreateForm 수정하기

[함께 해봐요 6-21] ThumbnailUploader 컴포넌트에서 input hidden 속성 부여하기

[함께 해봐요 6-22] 섬네일 업로더 컴포넌트 구현하기 3(ThumbnailUploader.tsx)

[함께 해봐요 6-23] 파일 선택 후 섬네일을 화면에서 임시로 렌더링하는 로직(ThumbnailUploader.tsx)

[함께 해봐요 6-24] 2단계 섬네일 요청 구현하기(ProductCreateForm.tsx)

[함께 해봐요 6-25] thumbnail 속성 추가에 따른 ProductType  업데이트

[함께 해봐요 6-26] thumbnail 속성 추가에 따른 ProductItem  업데이트

[함께 해봐요 6-27] 상품 목록 디자인 1: Grid 컴포넌트로 ProductItem 묶어주기(ProductList.tsx)

[함께 해봐요 6-28] 상품 목록 디자인 2: Grid 컴포넌트로 ProductItem 묶어주기(ProductItem.tsx)

[함께 해봐요 6-29] 상품 아이템에 스타일 지정하기(ProductItem.tsx)

[함께 해봐요 6-30] 오류 제거를 위한 ProductList 컴포넌트 수정하기

[함께 해봐요 6-31] App.tsx에서 상품 상세 페이지 주소 수정하기

[함께 해봐요 6-32] ProductPage UI 수정하기

[함께 해봐요 6-33] 구매 페이지 구현하기(PurchasePage.tsx)

[함께 해봐요 6-34] PurchasePage 컴포넌트 내보내기

[함께 해봐요 6-35] PurchasePage Router와 연결하기

[함께 해봐요 6-36] form 코드를 별도 컴포넌트로 분리하기(PurchaseForm.tsx)

[함께 해봐요 6-37] PurchaseForm 컴포넌트 내보내기

[함께 해봐요 6-38] PurchasePage 수정하기

[함께 해봐요 6-39] createProductId isModalOpen 상태를 함께 구현한 코드

[함께 해봐요 6-40] handlePushProductPage에 대한 구현 코드

[함께 해봐요 6-41] 장바구니 페이지 만들기(CartPage.tsx)

[함께 해봐요 6-42] 장바구니 페이지 내보내기

[함께 해봐요 6-43] 장바구니 페이지 꾸미기

[함께 해봐요 6-44] 장바구니 페이지를 Router에 연결하기

[함께 해봐요 6-45] [장바구니 담기] 버튼을 클릭하면 쿠키에 상품값을 추가하는 로직 작성하기

[함께 해봐요 6-46] MUI를 이용하여 장바구니 페이지 스타일 꾸미기(CartPage.tsx)

[함께 해봐요 6-47] 장바구니 아이템 컴포넌트 코드를 작성하고 장바구니 페이지 완성하기

[함께 해봐요 6-48] CartItem 컴포넌트 내보내기

[함께 해봐요 6-49] 장바구니 페이지(CartPage)의 최종 코드

[함께 해봐요 6-50] 404 페이지 만들기(NotFoundPage.tsx)

[함께 해봐요 6-51] 404 페이지 만들기 컴포넌트 내보내기

[함께 해봐요 6-52] 404 페이지를 와일드카드에 연결하기(App.tsx)

[함께 살펴봐요 6-1] 기존에 구현한 ProductPage

[함께 살펴봐요 6-2] <Route> 컴포넌트 동작 예시

 

 

7장 코드 리뷰: 개선점 찾기와 더 나은 서비스 만들기

7.1 장바구니 관련 쿠키 정보를 쉽게 관리하기 위한 훅 만들기

7.2 ID 기반으로 변경해서 쿠키 용량 문제 해결하기

7.3 장바구니가 중복되는 현상 막기

7.4 HTTP 요청 부분을 Axios로 변경하기

7.5 useAsync 함수 만들기

7.6 concurrently를 사용하여 클라이언트와 서버를 동시에 실행하기

 

[함께 해봐요 7-1] 쿠키를 재활용하는 훅 만들기(useCart.ts) 

[함께 해봐요 7-2] 만든 훅 내보내기 

[함께 해봐요 7-3] 훅을 활용하기 위해 상품 페이지 수정하기(ProductPage.tsx) 

[함께 해봐요 7-4] 훅을 활용하기 위해 장바구니 페이지 수정하기(CartPage.ts) 

[생각 해봐요 7-1] useCart 훅에서 ID 기반 상품 로직으로 저장 방식을 수정하기

[함께 해봐요 7-5] productIds 변숫값 지정하기 

[함께 해봐요 7-6] 장바구니 정보를 가져오기 위한 코드 작성하기 

[함께 해봐요 7-7] useCart 훅을 다른 코드에 반영하기(ProductPage.tsx) 

[함께 해봐요 7-8] useCart 훅을 다른 코드에 반영하기(CartPage.tsx) 

[함께 해봐요 7-9] 장바구니에서 중복되는 현상 막기 코드(useCart 수정 코드) 

[함께 해봐요 7-10] useCart를 사용하는 컴포넌트 수정하기(CartPage.tsx) 

[함께 해봐요 7-11] API를 한곳에 묶어서 관리하기 

[함께 해봐요 7-12] API를 한곳에 묶어서 관리하기(Axios를 활용한 버전) 

[함께 해봐요 7-13] API를 한 곳에 묶어서 관리하기(Axios를 활용한 버전) - ProductPage 수정하기 

[함께 해봐요 7-14] API를 한 곳에 묶어서 관리하기 (Axios를 활용한 버전) - PurchasePage 수정하기 

[함께 해봐요 7-15] API를 한 곳에 묶어서 관리하기(Axios를 활용한 버전) - ProductList 수정하기 

[함께 해봐요 7-16] API를 한 곳에 묶어서 관리하기(Axios를 활용한 버전) - ProductCreateForm 수정하기   

[함께 해봐요 7-17] API를 한 곳에 묶어서 관리하기(Axios를 활용한 버전) - useCart 함수 수정하기 

[함께 해봐요 7-18] useAsync 훅 만들기 

[함께 해봐요 7-19] 기존의 레거시 코드를 useAsync로 적용하기(ProductList.tsx 수정) 

[함께 해봐요 7-20] 상품 데이터를 가져오는 부분에 useAsync 도입할 때 수정/삭제 시 문제 해결하기 

[함께 해봐요 7-21] 상품 페이지에 useAsync 적용하기 

[함께 해봐요 7-22] 섬네일 업로드를 위해 useAsync 수정하기

[함께 해봐요 7-23] ProductCreateForm 수정하기

[함께 해봐요 7-24] PurchasePage 수정하기

 

[함께 살펴봐요 7-1] 장바구니에서 중복되는 현상 막기 코드(useCart의 기존 코드)

[함께 살펴봐요 7-2] 확장성을 위한 action 객체 사용

[함께 살펴봐요 7-3] useAsync 훅 살펴보기

 

에필로그

찾아보기

 

 

_주요 내용

 

만들어 보고!

수정하고!

응용하여 확장하기!

 

가장 빠른 코딩 학습 방법입니다.

당장 몇 주 후에 리액트 프로젝트를 시작해야 한다면, 클론 코딩을 해보는 게 가장 빠른 학습 방법입니다. 이 책은 클론 코딩의 주제로 쇼핑몰 서비스를 제시합니다. 쇼핑몰의 CRUD 기능이야말로 거의 모든 서비스에 응용할 수 있는 가장 보편적이기 때문입니다.

또한 리액트로만 클라이언트를 구현하기 때문에 웬만한 리액트 기능은 모두 학습해볼 수 있는 장점이 있습니다. 완성된 쇼핑몰을 먼저 실행해봄으로써 학습 동기 부여를 해주고, 이후에 단계별로 간단한 텍스트 표현부터 차근차근 만들어 가기 때문에 초보자도 쉽게 따라하며 배울 수 있습니다.

 

 

[프로젝트 개발 환경]

1. 운영체제: Mac OS, Windows10

2. 통합개발환경(IDE): VSCode
3.
사용 언어: 타입스크립트

4. 클라이언트 프레임워크: 리액트

5. 서버: 깃허브에서 API 서버 코드 기본 제공 (설정 방법은 책에서 자세히 설명합니다)

6. UI: MUI 컴포넌트

7. 패키지 매니저: Yarn

8. 버전 관리:

9. Node 버전 : 18.17.0

 

[저자 에필로그 중에서]

이 책에서는 작은 쇼핑몰 서비스를 예로 들었지만 결국 여러분이 만들 거의 모든 서비스는 책에서 제시한 쇼핑몰의 CRUD 구조와 유사합니다. 거기에서 얼마나 고도화하였는지의 차이지 큰 틀은 바뀌지 않습니다. 하지만 클론 코딩은 여러분의 실력을 크게 늘려주지는 않습니다. 따라하며 쓴 코드를 이해하고 여러분만의 독자적인 프로젝트를 개발하여 여러분의 것으로 만들어 보는 데까지 꼭 나아가야 진짜 실력있는 개발자가 될 수 있다는 걸 명심하길 바랍니다.

 

[베타테스터겸 기획자 소감글 중에서]

변경사항을 저장하지 않고 실행하다가 왜 안 되지? 하며 하루를 꼬박 날려버린 적도 있었고, 리액트 앱을 껐다가 다시 실행해야 되는데, 책에 표시되지 않아 한참을 헤맨 후에 책 내용에 포함하게 되는 경우도 있었습니다. 이렇게 하다 보니 사소한 소스 오타는 금방 찾아낼 수 있게 된 것 같습니다. 그리고 오류가 났을 때 뒤로 갈수록 오류 메시지가 비슷한 경우가 많아 쉽게 해결해서 찾았던 것 같습니다. 사실, 기획자가 잘못한 경우가 훨씬 많았지만요.

개발 능력이 없은 기획자도 처음부터 끝까지 따라해보며 책을 학습했는데, 여러분은 저보다 충분히 더 잘 해낼 수 있을 겁니다.

 

예제 소스는 깃허브에서 별도로 제공됩니다.

https://github.com/Hong-JunHyeok/shopping_app_example

 

카페에서 저자와 소통하며 공부하세요

https://cafe.naver.com/codefirst

 

 

_저자 소개

홍준혁

안녕하세요 웹 프론트엔드 개발자 홍준혁입니다.

예전부터 코딩이라는 기술로 나만의 상상을 구현하는 것에 관심이 많았습니다. 그 때문인지 지금은 웹 프론트엔드 개발자로 일하고 있습니다.

현재는 웹에만 종속되는 것보다 다양한 플랫폼으로 구현하는 것(, 윈도우 등)에 관심이 있으며 주력으로 하고 있는 언어는 JavaScript입니다.
개발을 하면서 어려움이 있는 주변 사람들에게 알려주는 것을 즐기는 편이고 내가 알려준 것을 기반으로 좋은 프로젝트가 나왔을 때 성취감을 느낍니다.

이번 기회에 집필한 책에서도 그러한 효과가 있으면 저자로서 너무 행복할 것입니다. 책에서 다 담지 못한 정보들이 궁금한 경우나 필자와 얘기해보고 싶은 주제가 있다면 언제는 백견불여일타 독자 카페를 이용해주시기 바랍니다.

 

 

_상세 이미지

 

 _

 

posted by 로드북
:
오탈자 정보 2024. 4. 16. 11:54
posted by 로드북
:
자료실 2024. 4. 16. 11:53

예제소스 깃허브 링크입니다.

https://github.com/Hong-JunHyeok/shopping_app_example

 

GitHub - Hong-JunHyeok/shopping_app_example: 본 깃허브 레포지토리는 [리액트 쇼핑몰 프로젝트] 의 예제 소

본 깃허브 레포지토리는 [리액트 쇼핑몰 프로젝트] 의 예제 소스코드입니다. Contribute to Hong-JunHyeok/shopping_app_example development by creating an account on GitHub.

github.com

 

 

-----------------------------------------------------------------------------------------------------------

강의자료가 필요하신 교수님이나 강사님은 연락주시면 보내드리겠습니다. 

담당: 임성춘 편집장
이메일: chief@roadbook.co.kr
TEL: 02-874-7883(010-9490-7883)


이메일로 연락하실 때는, 아래 내용을 꼭 알려주세요.

대학명(학원명), 강의과정명, 수강인원수, 수강기간, 전화번호

[샘플 다운로드]

리액트 쇼핑몰 프로젝트_1장.pptx
1.74MB

posted by 로드북
:
신간소개 2023. 11. 6. 14:58

  ● 지은이: 이재용

  ● 페이지: 608

  ● 판형: 152 * 223

  ● 도수: 2도

  ● 정가: 25,000원

  ● 발행일: 2023년 11월 10일

  ● ISBN: 979-11-93229-03-3 93000

 

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

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

 

 

_도서 내용

개발을 한번 선택하면 은퇴할 때까지 해야 할지도 모릅니다. 정말 길고 긴 여행이 될지도 모르는데, 나침반과 지도 같은 가이드가 필요하지 않을까요? 이 책은 저자의 경험을 바탕으로 개발이라는 긴 여행을 하면서 필요한 여행 정보를 두루두루 실은 기술 여행 가이드입니다. 두렵기도 하고 설레기도 한 개발 여정에 오래오래 함께하는 책이 될 수 있도록 만들었습니다. 높은 곳에서 넓게 바라볼 때 시야가 트이고 가야 할 길도 또렷하게 잘 보이는 법을 생각하며 만든 책입니다. 기술과 교양을 넘나들며 누구나 쉽게 읽을 수 있게 만들었습니다.

 

_대상 독자

개발자가 되기 위해 코딩만 열심히 하고 있는데, 내가 잘하고 있는 건지 모르겠다. 배워야 할 게 너무 많아 항상 불안하다.”

개발자가 된 지 이제 불과 1년도 안 됐는데, 밤낮으로 프로젝트에 파묻혀 살다 보니 단순 코딩 머신이 되어 가는 느낌이다. 높은 곳에서 내가 있는 위치를 한번 확인해보고 싶다.”

 

 

_목차

 

저자 서문

 

1 | 코드 이야기

 

1_좋은 코드를 위한 고민

코드의 본질

좋은 코드를 위한 은유

좋은 코드를 위한 추상화

관심사의 분리

1장을 마치며

 

2_안전한 코드를 위해서

버그와 장애

테스트 자동화

테스트 가능한 코드

테스트 환경

포스트 모텀

2장을 마치며

 

3_코드 속 버그 잡아내기

동전의 양면과 같은 코딩과 디버깅

기상천외한 버그들

탐정이 될 시간

기본적인 디버깅 기술

그래도 안 풀려요!

3장을 마치며

 

4_코드에도 패턴이 있다

건축학 개론

소프트웨어에서의 패턴

패턴의 발견

패턴이 유용한 이유

패턴의 유혹

4장을 마치며

 

5_, 나는 네가 지난여름에 짠 코드를 알고 있다

버전을 관리해야 하는 이유

버전 관리 시스템의 역사

깃을 만든 리누스 토발즈

커밋 메시지 잘 작성하기

하나의 변경은 하나의 커밋으로

커밋으로 협업하기

5장을 마치며

 

6_여전히 성장 중인 자바

다재다능한 자바

자바의 탄생

자바와 JVM

자바를 싫어하는 사람들

객체 지향 패러다임

6장을 마치며

 

7_간결한 코드를 위한 파이썬

파이썬의 탄생

파이썬의 생산성

파이썬 vs.

Pythonic하게 코드를 짜세요

7장을 마치며

 

8_구글이 만든 프로그래밍 언어, Go

Go의 탄생

Go가 해결하고자 했던 문제

동시성 프로그래밍의 어려움

Go의 동시성 프로그래밍

경량 스레드, 고루틴

Go의 오류 처리

8장을 마치며

 

2 | 환경 이야기

 

9_서버 환경의 변화

정적 링크와 동적 링크

패키지 관리자

설치 문서

프로비저닝 도구

컨테이너의 시대

새로운 시대의 운영체제, 쿠버네티스

9장을 마치며

 

10_클라우드로의 여정

전산실에서 IDC

IDC에서 클라우드로

IaaS, PaaS, SaaS

클라우드 전환기

클라우드 네이티브의 특징

10장을 마치며

 

11_태생의 한계에 도전하는 웹 이야기

웹의 탄생

정적인 웹에서 동적인 웹으로

Ajax의 등장

또 하나의 자바스크립트

jQuery의 군림

새로운 자바스크립트 프레임워크의 등장

싱글 페이지 애플리케이션

서버 측 랜더링이 포함된 SPA

11장을 마치며

 

12_데이터베이스: 초기부터 오늘날까지

데이터가 사는 곳: 메모리와 디스크

데이터베이스의 등장

관계형 데이터베이스의 저력

관계형 데이터베이스의 한계

새로운 데이터베이스를 위한 시도: NoSQL

12장을 마치며

 

더보기

13_웹 서비스를 위한 아키텍처 성장기

최초의 애플리케이션

애플리케이션 서버의 확장

데이터베이스 서버의 확장

캐시

HTTP 캐시

애플리케이션 캐시

CDN을 이용한 캐시

13장을 마치며

 

14_모니터링으로 꿰뚫어보기

베일에 감춰진 코드의 동작

시스템 관리자의 모니터링

모니터링 데이터: 메트릭

모니터링 데이터: 로그

데이터 시각화

24/7 모니터링을 위한 알림 창

이상치 탐지

14장을 마치며

 

15_코드는 파이프라인을 타고

소프트웨어 배포

배포의 고통

지속적인 배포를 위해

간단한지속적인 배포맛보기

GitOps

무중단 배포

15장을 마치며

 

16_마이크로서비스

서브 루틴의 진화

마이크로서비스의 출현

마이크로서비스의 한계

마이크로서비스 간의 통신

마이크로서비스로의 전환

장애 전파

SRE: Site Reliability Engineering

16장을 마치며

 

17_데이터 포맷

네트워크 너머로 데이터 보내기

0 1로 표현하기

비트들을 그대로 저장할 수 없는 이유

직렬화

17장을 마치며

 

3 | 개발자 이야기

 

18_프로그래밍에 대한 열정

재미있고 어렵다

프로그래밍을 향한 동기

결과물 파 vs 순수 코드 파

몰입의 즐거움

18장을 마치며

 

19_더 나은 개발자로 성장하기

성장 가능성

무엇을 먼저 공부해야 하나

개발자의 자질

좋은 개발자의 모습

끊임없는 학습

안전지대 벗어나기

나보다 나은 개발자 만나기

기술 블로그 만들기

토이 프로젝트 및 스터디

19장을 마치며

 

20_더 나은 팀 문화를 위하여

개발팀의 문화

업무 환경의 변화

비동기 의사소통

문서화의 중요성

모두의 코드를 위한 리뷰

20장을 마치며

 

19_더 나은 개발자로 성장하기

성장 가능성

무엇을 먼저 공부해야 하나

개발자의 자질

좋은 개발자의 모습

끊임없는 학습

안전지대 벗어나기

나보다 나은 개발자 만나기

기술 블로그 만들기

토이 프로젝트 및 스터디

19장을 마치며

 

20_더 나은 팀 문화를 위하여

개발팀의 문화

업무 환경의 변화

비동기 의사소통

문서화의 중요성

모두의 코드를 위한 리뷰

20장을 마치며

찾아보기   

 

 

 

주요 내용

 

매일 파도처럼 밀려오는 새로운 지식에 치이지 않기 위한 나침반과 같은 책

넓은 기술 분야의 지식을 높은 곳에서 한눈에 조망할 수 있는 책

각 지식 간의 연결 고리를 이어주어 인사이트를 주는 책

 

매일 파도처럼 밀려오는 새로운 지식들을 헤쳐 나가는 것은 어두운 미로를 손전등 하나만 들고 헤매는 것과 같습니다. 그것들 간의 맥락을 설명해주는 나침반과 지도가 꼭 있어야 합니다. 높은 곳에서 한눈에 조망할 수 있다면 이를 기반으로 각 지식 간의 연결 고리를 쉽게 이어갈 수 있습니다.

 

때로는 한껏 줌을 땡겨 좁은 영역에 복잡한 기술 지식을 자신만의 언어와 표기법으로 새겨 넣습니다. 이러한 과정을 반복하다 보면 멀리서 봤을 때 여러 기술 지식들이 얽히고 설켜 복잡한 개미굴과 같은 3차원의 지도가 완성되어 갑니다.

 

여러분의 기술 지도를 확장해 나가는 데 도움이 되었으면 좋겠습니다.

닻을 올리고 개발자로서 여행을 떠나는 이들이 더 멀리까지 바라볼 수 있도록 도와주는 책이면 좋겠습니다.

 

여행 가이드 북이라는 제목처럼 아주 세세한 내용까지는 다루지는 못했습니다. 이때 둘러대기 가장 좋은 핑계는 역시 "지면의 한계"일 것입니다. 하지만 설령 그 한계가 무한하다 하더라도 앞으로 여러분이 기술 분야에서 겪게 될 모든 경험과 즐거움을 책 한 권에 녹여내는 일은 불가능합니다.

 

그 부분은 여러분의 설레는 탐험의 몫으로 남겨놓겠습니다.

 

어쩌면 저도 미처 발견하지 못한 아름다운 여행지를 찾게 될지도 모르는 일입니다. 아니, 분명 그렇게 될 것입니다.

 

_본문 속의 글, ,

하지만 컴퓨터라는 독자만을 염두에 두고 코드를 작성하다가는 머지않아 큰 문제에 부딪히게 됩니다. 2차 독자인 사람을 염두에 두지 않았기 때문입니다.”

 

자바에서 예외를 처리할 때 사용되는 throw catch라는 키워드 역시 일종의 은유입니다. 사실 이 은유는 다른 언어와는 다른 자바의 예외 처리 방식을 효과적으로 나타내기 위한 목적이 있습니다.”

 

관심사를 분리하여 코드를 작성하면 각각의 코드 영역에서 적은 수의 관심사에만 집중할 수 있기 때문에 코드를 파악하는 것이 훨씬 수월합니다.”

 

코드가 강하게 결합되어 있다면 유지 보수 비용이 크게 드는 경향이 있습니다. 일반적으로의존성 주입 (Dependency Injection)’ 등의 기법을 통해 결합도를 낮출 수 있습니다.”

 

이 과정에서 인상적이었던 부분은 깃랩의 사고 수습 및 복구 과정이 상당히 투명하게 공개되었다는 것입니다. 그들은 복구 진행 프로세 스 전반을 트위터 계정을 통해 실시간으로 알렸습니다.”

 

이제부터는 바야흐로 탐정이 될 시간입니다. 디버깅은 수수께끼를 푸는 것과 비슷합니다. 복잡한 수수께끼를 풀기 위해 관찰력, 지식, 직관, 추론 능력으로 중무장하고 끈기와 인내로 문제를 해결해 나가는 셜록 홈즈가 되어야 합니다.”

 

버그 재현과 로그를 통해 디버깅을 수행할 때 그 과정을 꼼꼼히 기록하는 것도 큰 도움이 됩니다. 복잡하거나 난해한 버그의 경우 이를 추적하는 데 며칠에서 길게는 몇 달까지 걸릴 수 있습니다. 이 기간 동안 획득한 단서나 실험 결과를 머릿속에만 유지하기보다는 일종의 디버깅 문서를 만들어 기록하는 것이 좋습니다.”

 

패턴에는 이름도 중요합니다. 만약, ‘이라는 이름이 없었다면 건축 사무소에 온 손님에게 도면을 설명하기 위해여기에 문을 달겠습니다대신여기에 경첩이 달린 직사각형 형태의 나무를 대고 손잡이를 달아서 여닫을 수 있는 물체를 달겠습니다라고 설명해야 할 것입니다.”

 

그제서야 각 개발자는 각자의 사본을 가지고 직접 브랜치를 생성하고 커밋을 만들어 나갈 수 있었습니다. 이를 통해 정말 훌륭한 기능을 추가하거나 심각한 버그를 고칠 수 있게 되었습니다.”

 

““혼자 가면 빨리 갈 수 있지만 함께 가면 멀리 간다라는 말이 있습니다. 본문에서 언급한 리누스 토발즈도 사실은 리눅스와 깃을 오롯이 혼자 만들지는 않았습니다. 수많은 오픈소스 기여자들과 함께 수십 년 간 훌륭한 소프트웨어를 만들어 오고 있습니다.”

 

자바의 생태계에서도 이러한 문제를 인식하고 자바의 장황함을 줄이고자 노력하고 있습니다. 예를 들어, 자바 8에서람다 표현식을 도입함에 따라 새로운 스레드를 생성하기 위한 코드가 아래와 같이 간결해졌습니다.”

 

재미있는 점은 위의 코드 대신 for (i = 0; i <=9; i++)로 써도 동작은 동일하게 돌아가지만 이렇게는 잘 쓰지 않는다는 점입니다. 사람들은 이미 전자의 패턴에 익숙해져 있는 상태에서 0~9가 아닌 0~8까지 도는 반복문이라고 잘못 인식할 가능성이 있기 때문입니다.”

 

이와 같이 Go의 특징을 통해 설계 철학을 엿보다 보면 Go의 목적이 가장 뛰어난 프로그래밍 언어를 만들기 위한 연구의 성격이 아닌 동료의 작업 환경을 개선하고 생산성을 향상시키기 위한 시도였다는 것을 알 수 있습니다. 대학을 갓 졸업하고 구글에 입사한 주니어 개발자들도 새로운 언어를 쉽게 익혀 안전한 코드를 작성할 수 있도록 말입니다.”

 

개발자들이 자주 하는 변명에 대해 순위를 매겨본다면 아마 다음의 말이 1위를 차지하지 않을까 싶습니다. “제 컴퓨터에선 잘 되는데요?””

 

“json 같은 텍스트 형태의 데이터는 저장할 때 파일 전체를 처음부터 끝까지 다시 기록해야 합니다. 수천 명의 회원 목록 중 단 한 명의 데이터만 변경되었다고 하더라도 수천 명의 회원 목록 전부 다시 기록해야 한다는 이야기입니다

 

_상세 이미지

 

                                                                                                _

posted by 로드북
: