/** * 조코딩 12장 슬라이드 PowerPoint 네이티브 생성 스크립트 * HTML 변환 방식의 문제를 해결하기 위해 직접 PowerPoint 생성 */ const pptxgen = require('pptxgenjs'); async function createJoCoding12Slides() { console.log('🎬 조코딩 12장 PowerPoint 프레젠테이션을 생성하고 있습니다...'); const pres = new pptxgen(); pres.layout = 'LAYOUT_16x9'; pres.author = '조코딩'; pres.title = '조코딩(조웅현) - 국내 1위 코딩 교육 유튜버'; // 슬라이드 1: 표지 const slide1 = pres.addSlide(); slide1.background = { color: 'ffffff' }; slide1.addText('조코딩', { x: 1, y: 1.5, w: 8, h: 1.5, fontSize: 64, bold: true, color: '282828', align: 'center' }); slide1.addText('JoCoding', { x: 1, y: 2.8, w: 8, h: 1, fontSize: 28, bold: true, color: 'FF0000', align: 'center' }); slide1.addText('국내 1위 코딩 교육 유튜버', { x: 1, y: 3.8, w: 8, h: 0.8, fontSize: 18, color: '666666', align: 'center' }); // 슬라이드 2: 프로필 const slide2 = pres.addSlide(); slide2.background = { color: 'ffffff' }; slide2.addText('프로필 개요', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide2.addText('기본 정보', { x: 1, y: 1.5, w: 3.5, h: 0.5, fontSize: 18, bold: true, color: 'FF0000' }); slide2.addText('• 실명: 조웅현\n• 전공: 고려대 환경생태공학부\n• 경력: 비전공자 → 개발자 → 교육자', { x: 1, y: 2, w: 3.5, h: 1.5, fontSize: 14, color: '333333' }); slide2.addText('현재 활동', { x: 5, y: 1.5, w: 3.5, h: 0.5, fontSize: 18, bold: true, color: 'FF0000' }); slide2.addText('• 유튜브: 68만 구독자\n• 회사: ㈜코드마피아 대표\n• 서비스: 조카소 AI 개발/운영', { x: 5, y: 2, w: 3.5, h: 1.5, fontSize: 14, color: '333333' }); // 슬라이드 3: 성장 스토리 const slide3 = pres.addSlide(); slide3.background = { color: 'ffffff' }; slide3.addText('성장 스토리', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide3.addText('1. 비전공자 시절', { x: 1, y: 1.5, w: 7, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide3.addText('고려대 환경생태공학부 재학 • 코딩에 대한 막막함', { x: 1.5, y: 1.9, w: 7, h: 0.4, fontSize: 12, color: '666666' }); slide3.addText('2. 개발자 전향', { x: 1, y: 2.5, w: 7, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide3.addText('독학으로 프로그래밍 학습 • 실무 경험 쌓기', { x: 1.5, y: 2.9, w: 7, h: 0.4, fontSize: 12, color: '666666' }); slide3.addText('3. 교육자 & 사업가', { x: 1, y: 3.5, w: 7, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide3.addText('2019년 유튜브 시작 • 68만 구독자 달성 • 코드마피아 설립', { x: 1.5, y: 3.9, w: 7, h: 0.4, fontSize: 12, color: '666666' }); // 슬라이드 4: 유튜브 채널 현황 const slide4 = pres.addSlide(); slide4.background = { color: 'ffffff' }; slide4.addText('유튜브 채널 현황', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide4.addText('68만', { x: 1, y: 1.5, w: 3, h: 1, fontSize: 36, bold: true, color: 'FF0000', align: 'center' }); slide4.addText('구독자', { x: 1, y: 2.5, w: 3, h: 0.5, fontSize: 14, color: '666666', align: 'center' }); slide4.addText('2019', { x: 5.5, y: 1.5, w: 3, h: 1, fontSize: 36, bold: true, color: '333333', align: 'center' }); slide4.addText('시작 연도', { x: 5.5, y: 2.5, w: 3, h: 0.5, fontSize: 14, color: '666666', align: 'center' }); slide4.addText('주요 콘텐츠', { x: 0.5, y: 3.2, w: 9, h: 0.5, fontSize: 18, bold: true, color: '282828' }); slide4.addText('• 웹/앱 개발 - 실용적인 프로젝트 중심 교육\n• 파이썬 기초 - 비전공자를 위한 쉬운 설명\n• AI 프로젝트 - 트렌디한 AI 기술 활용\n• 수익화 방법 - 코딩으로 돈 버는 방법', { x: 1, y: 3.7, w: 8, h: 1.5, fontSize: 12, color: '333333' }); // 슬라이드 5: 교육 철학 const slide5 = pres.addSlide(); slide5.background = { color: 'ffffff' }; slide5.addText('교육 철학', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide5.addText('"누구나 배울 수 있는 쉬운 코딩"', { x: 1, y: 1.2, w: 8, h: 0.8, fontSize: 24, bold: true, color: 'FF0000', align: 'center' }); slide5.addText('접근성', { x: 1, y: 2.5, w: 3.5, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide5.addText('비전공자도 쉽게 배울 수 있는 코딩 교육', { x: 1, y: 2.9, w: 3.5, h: 0.8, fontSize: 11, color: '666666' }); slide5.addText('실용성', { x: 5, y: 2.5, w: 3.5, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide5.addText('이론보다 실제 결과물을 만드는 프로젝트 중심', { x: 5, y: 2.9, w: 3.5, h: 0.8, fontSize: 11, color: '666666' }); slide5.addText('수익화', { x: 1, y: 3.8, w: 3.5, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide5.addText('코딩 → 프로젝트 → 수익까지 연결하는 교육', { x: 1, y: 4.2, w: 3.5, h: 0.8, fontSize: 11, color: '666666' }); slide5.addText('재미', { x: 5, y: 3.8, w: 3.5, h: 0.4, fontSize: 16, bold: true, color: 'FF0000' }); slide5.addText('유머와 밈을 활용한 흥미로운 학습 경험', { x: 5, y: 4.2, w: 3.5, h: 0.8, fontSize: 11, color: '666666' }); // 슬라이드 6: 성공 사례 - 동물상 테스트 const slide6 = pres.addSlide(); slide6.background = { color: 'ffffff' }; slide6.addText('성공 사례: 동물상 테스트', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide6.addText('AI 기반 얼굴 분석 웹 서비스', { x: 1, y: 1.3, w: 8, h: 0.5, fontSize: 16, color: '666666', align: 'center' }); slide6.addText('2,000만+', { x: 0.5, y: 2, w: 2, h: 0.6, fontSize: 20, bold: true, color: 'FF0000', align: 'center' }); slide6.addText('누적 테스트 횟수', { x: 0.5, y: 2.6, w: 2, h: 0.4, fontSize: 10, color: '666666', align: 'center' }); slide6.addText('500만+', { x: 3, y: 2, w: 2, h: 0.6, fontSize: 20, bold: true, color: 'FF0000', align: 'center' }); slide6.addText('월 방문자 수', { x: 3, y: 2.6, w: 2, h: 0.4, fontSize: 10, color: '666666', align: 'center' }); slide6.addText('전국 1위', { x: 5.5, y: 2, w: 2, h: 0.6, fontSize: 20, bold: true, color: 'FF0000', align: 'center' }); slide6.addText('심리테스트 순위', { x: 5.5, y: 2.6, w: 2, h: 0.4, fontSize: 10, color: '666666', align: 'center' }); slide6.addText('수억 원', { x: 8, y: 2, w: 1.5, h: 0.6, fontSize: 20, bold: true, color: 'FF0000', align: 'center' }); slide6.addText('광고 수익', { x: 8, y: 2.6, w: 1.5, h: 0.4, fontSize: 10, color: '666666', align: 'center' }); slide6.addText('핵심 성공 요인', { x: 0.5, y: 3.3, w: 9, h: 0.4, fontSize: 16, bold: true, color: '282828' }); slide6.addText('• SNS 공유 최적화된 재미있는 콘텐츠\n• 얼굴 인식 ML 모델의 웹 구현\n• 아이디어부터 런칭까지 단 2주 완성\n• 스마트폰 최적화 UI/UX', { x: 1, y: 3.7, w: 8, h: 1.3, fontSize: 12, color: '333333' }); // 슬라이드 7: 성공 사례 - 기타 프로젝트 const slide7 = pres.addSlide(); slide7.background = { color: 'ffffff' }; slide7.addText('기타 성공 프로젝트', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide7.addText('토스 클론 코딩', { x: 1, y: 1.5, w: 3.5, h: 0.5, fontSize: 16, bold: true, color: 'FF0000' }); slide7.addText('• 100만+ 조회수\n• 실무 중심 강의\n• 현업 개발자 호평', { x: 1, y: 2, w: 3.5, h: 1, fontSize: 12, color: '333333' }); slide7.addText('AI 챗봇 만들기', { x: 5, y: 1.5, w: 3.5, h: 0.5, fontSize: 16, bold: true, color: 'FF0000' }); slide7.addText('• OpenAI API 활용\n• 트렌드 반영\n• 초보자도 따라 가능', { x: 5, y: 2, w: 3.5, h: 1, fontSize: 12, color: '333333' }); slide7.addText('크롬 확장프로그램', { x: 1, y: 3.2, w: 3.5, h: 0.5, fontSize: 16, bold: true, color: 'FF0000' }); slide7.addText('• 생산성 도구 제작\n• 웹스토어 등록\n• 수익화 방법', { x: 1, y: 3.7, w: 3.5, h: 1, fontSize: 12, color: '333333' }); slide7.addText('웹 스크래핑', { x: 5, y: 3.2, w: 3.5, h: 0.5, fontSize: 16, bold: true, color: 'FF0000' }); slide7.addText('• 자동화 솔루션\n• 데이터 수집\n• 업무 효율성', { x: 5, y: 3.7, w: 3.5, h: 1, fontSize: 12, color: '333333' }); // 슬라이드 8: 비즈니스 현황 const slide8 = pres.addSlide(); slide8.background = { color: 'ffffff' }; slide8.addText('비즈니스 현황', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide8.addText('조카소 (1인 창업가 육성)', { x: 1, y: 1.5, w: 7, h: 0.5, fontSize: 18, bold: true, color: 'FF0000' }); slide8.addText('• 1,000+ 교육생\n• 80% 창업 성공률\n• 월 500만원 평균 수익', { x: 1.5, y: 2, w: 6.5, h: 1, fontSize: 12, color: '333333' }); slide8.addText('코드마피아 (개발자 커뮤니티)', { x: 1, y: 3.2, w: 7, h: 0.5, fontSize: 18, bold: true, color: 'FF0000' }); slide8.addText('• 5,000+ 커뮤니티 멤버\n• 90% 취업 성공률\n• 실무 중심 프로그램', { x: 1.5, y: 3.7, w: 6.5, h: 1, fontSize: 12, color: '333333' }); // 슬라이드 9: 교육 프로그램 const slide9 = pres.addSlide(); slide9.background = { color: 'ffffff' }; slide9.addText('조코딩 인큐베이팅 프로그램', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide9.addText('"이론이 아닌 실전, 취업이 아닌 창업"', { x: 1, y: 1.2, w: 8, h: 0.5, fontSize: 16, color: '666666', align: 'center' }); slide9.addText('4단계 프로세스', { x: 0.5, y: 1.8, w: 9, h: 0.4, fontSize: 16, bold: true, color: '282828' }); slide9.addText('1. 아이디어 발굴 & 검증\n2. 기술 스택 학습\n3. MVP 제작 & 런칭\n4. 수익화 & 성장', { x: 1, y: 2.3, w: 8, h: 1.5, fontSize: 14, color: '333333' }); slide9.addText('프로그램 성과', { x: 0.5, y: 4, w: 9, h: 0.4, fontSize: 16, bold: true, color: '282828' }); slide9.addText('500+ 졸업생 300+ 성공 프로젝트 85% 수익화 달성률', { x: 1, y: 4.5, w: 8, h: 0.5, fontSize: 14, bold: true, color: 'FF0000', align: 'center' }); // 슬라이드 10: 사회적 영향력 const slide10 = pres.addSlide(); slide10.background = { color: 'ffffff' }; slide10.addText('조코딩의 사회적 영향력', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide10.addText('100만+', { x: 0.5, y: 1.5, w: 2.5, h: 0.6, fontSize: 24, bold: true, color: 'FF0000', align: 'center' }); slide10.addText('유튜브 구독자', { x: 0.5, y: 2.1, w: 2.5, h: 0.4, fontSize: 12, color: '666666', align: 'center' }); slide10.addText('50,000+', { x: 3.5, y: 1.5, w: 2.5, h: 0.6, fontSize: 24, bold: true, color: 'FF0000', align: 'center' }); slide10.addText('개발자 전환 성공', { x: 3.5, y: 2.1, w: 2.5, h: 0.4, fontSize: 12, color: '666666', align: 'center' }); slide10.addText('1,000억+', { x: 6.5, y: 1.5, w: 2.5, h: 0.6, fontSize: 24, bold: true, color: 'FF0000', align: 'center' }); slide10.addText('경제적 가치 창출', { x: 6.5, y: 2.1, w: 2.5, h: 0.4, fontSize: 12, color: '666666', align: 'center' }); slide10.addText('핵심 가치', { x: 0.5, y: 2.8, w: 9, h: 0.4, fontSize: 16, bold: true, color: '282828' }); slide10.addText('• 코딩 교육의 민주화 - 누구나 배울 수 있는 환경\n• 실용적 창업 교육 - 이론이 아닌 실전 중심\n• 개발자 생태계 발전 - 질 높은 개발자 양성\n• 경제적 기회 창출 - 새로운 일자리와 사업 기회', { x: 1, y: 3.3, w: 8, h: 1.5, fontSize: 12, color: '333333' }); // 슬라이드 11: 미래 계획 const slide11 = pres.addSlide(); slide11.background = { color: 'ffffff' }; slide11.addText('미래 계획 및 비전', { x: 0.5, y: 0.5, w: 9, h: 0.8, fontSize: 28, bold: true, color: '282828' }); slide11.addText('단기 목표 (2024-2025)', { x: 0.5, y: 1.5, w: 9, h: 0.4, fontSize: 18, bold: true, color: 'FF0000' }); slide11.addText('• 글로벌 진출 - 영어 콘텐츠 제작\n• AI 기반 맞춤형 교육 시스템 구축\n• 기업 교육 프로그램 확장\n• 온라인 대학 설립', { x: 1, y: 2, w: 8, h: 1.2, fontSize: 14, color: '333333' }); slide11.addText('장기 비전 (2026~)', { x: 0.5, y: 3.5, w: 9, h: 0.4, fontSize: 18, bold: true, color: 'FF0000' }); slide11.addText('• 세계 최대 코딩 교육 플랫폼\n• 100만 개발자 양성\n• 글로벌 기술 교육 표준 제시\n• 차세대 개발자 생태계 구축', { x: 1, y: 4, w: 8, h: 1.2, fontSize: 14, color: '333333' }); // 슬라이드 12: 마무리 const slide12 = pres.addSlide(); slide12.background = { color: 'ffffff' }; slide12.addText('조코딩과 함께하는 코딩 여정', { x: 1, y: 1.5, w: 8, h: 1, fontSize: 32, bold: true, color: '282828', align: 'center' }); slide12.addText('"코딩은 도구이며, 가치 창출이 목표"', { x: 1, y: 2.8, w: 8, h: 0.8, fontSize: 24, bold: true, color: 'FF0000', align: 'center' }); slide12.addText('• 유튜브: 조코딩\n• 웹사이트: jocoding.co.kr\n• 조카소: jokasso.com\n• 코드마피아: codemafia.co.kr', { x: 2, y: 4, w: 6, h: 1.2, fontSize: 14, color: '333333', align: 'center' }); // PPTX 파일 저장 const fileName = '조코딩_프레젠테이션_12장_최종완성.pptx'; await pres.writeFile({ fileName }); console.log(`🎉 조코딩 12장 프레젠테이션이 성공적으로 생성되었습니다!`); console.log(`📄 파일명: ${fileName}`); console.log(`📊 총 ${pres.slides.length}개의 슬라이드가 포함되어 있습니다.`); console.log(`\n✨ 주요 내용:`); console.log(` 1. 표지 - 조코딩 브랜드 소개`); console.log(` 2. 프로필 개요 - 기본정보 및 현재활동`); console.log(` 3. 성장 스토리 - 비전공자에서 교육자까지`); console.log(` 4. 유튜브 채널 현황 - 68만 구독자, 주요 콘텐츠`); console.log(` 5. 교육 철학 - 접근성, 실용성, 수익화, 재미`); console.log(` 6-7. 성공 사례 - 동물상 테스트 및 기타 프로젝트`); console.log(` 8. 비즈니스 현황 - 조카소, 코드마피아`); console.log(` 9. 교육 프로그램 - 인큐베이팅 프로그램`); console.log(` 10. 사회적 영향력 - 수치와 핵심 가치`); console.log(` 11. 미래 계획 - 단기 목표 및 장기 비전`); console.log(` 12. 마무리 - 연락처 및 핵심 메시지`); } // 실행 createJoCoding12Slides().catch(console.error);