안녕하세요 강의 잘 듣고 있습니다. fetch-book.ts를 만든 후, index.tsx에 불러와서 console.log(allBooks) 를 찍어봐도 빈 배열만 나와서 localhost:12345/book 이 api 주소로 들어가보면 해당 오류가 떠서 혹시 .env 파일이 잘못 됐나 해서 올바르게 수정을 해도 계속 같은 에러가 떠서 진행을 못 하고 있는 상태입니다 ㅠ
Recoil 지원 중단 문제로 강의에 나온 Recoil 관련 내용을 Jotai 라이브러리로 대체했습니다. 여러 수강생 분들이 같은 문제를 겪는 듯해서 제가 사용한 코드를 공유합니다. recoil 제거 & jotai 설치 npm uninstall recoil npm install jotai atom.js 변환 코드 : jotai 의 atom 에선 key 값이 없습니다. import {atom} from "jotai"; const testState = atom(['a', 'b', 'c', 'd']); export default testState; testWithComma.js : 마찬가지로 키 값이 없으며, 좀 더 단순하게 사용 가능합니다. import {atom} from "jotai"; import testState from "./atom.js"; const testWithComma = atom((get) => { const abcdArr = get(testState) return abcdArr.join(','); }) export default testWithComma; CompletionPage.jsx : useRecoilValue -> useAtomValue 로 변경하시면 됩니다. const testValue = useAtomValue(testWithComma); Jotai 와 Zustand 중 고민하다가 Jotai가 Recoil과 더 유사하다고 하여 우선 Jotai로 학습 진행했습니다. 강의 수강에 참고가 되길 바랍니다.
기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
강의에서 레이아웃을 담당하는 Sidebar, Header 컴포넌트를 만들때 Props으로 children을 받고 렌더링 하는 방식으로 만들었는데 이렇게 만든 이유가 있을까요? 지금까지 진행한걸 계층별로 생각해보면 최상위 Root->Sidebar->Header->... 등 형제 노드는 없고 자식 노드 형태로 계속 깊어지는구조. ------------ 아래의 방법과 비교해서 궁금합니다. 아래 코드와 동일하지 않더라도,Sidebar, Header 컴포넌트가 children과 분리된 구조. <body> <Sidebar/> <div> <Header/> <main>{children}</main> </div> </body>
리코일 에러 나시는분들 보세요 최근에 강의 시작하셨으면 리액트가 19로 설치되셨을탠데 리코일이 리액트 18까지만 지원하고있습니다. 원활하게 나머지 진행하시기위해서 npm install react@18 react-dom@18 --save 으로 react18로 버전 낮춰주시면 나머지 진행 가능하십니다.
만약 회사에서 Next.js로 프로젝트를 진행하고 있다고 가정할 때, storybook은 Next.js 프로젝트 내에서 세팅하는 것보다 아예 다른 프로젝트 디렉토리로 만드는 게 나을 것 같다는 생각이 드는데, 어떻게 생각하시나요?! 왜냐하면 특정 디렉토리 내에서 세팅할 경우 해당 프로젝트에서 기존 서비스와 Storybook 프로젝트가 혼재하여 복잡도를 높이고, (이건 추측이지만) storybook 배포 시 특정 디렉토리를 제외해야 할 것 같다고 생각합니다. 그리고 다른 프로젝트 생성 시 또 다시 storybook을 설치하는 것은 비효율적일 것 같습니다. 그래서 아예 다른 프로젝트 디렉토리에서 리액트로 storybook 을 세팅하고 npm 패키지로 업로드 후 install 하여 사용한다고 생각했는데, 제가 생각한 게 맞을까요?
안녕하세요, 선생님! 8장 강의 학습 중에 궁금한 부분이 있어 이렇게 질문드립니다. 8장 실습 중 WebRTC 관련 예제를 크롬에서 먼저 실행한 뒤, 익스플로러 엣지에서 실행했더니 첨부한 이미지와 같은 현상이 발생했는데요, 혹시 이 경우가 왜 발생하는 건지 조언 구드려도 될까요? 강의 덕분에 많은 걸 배워가고 있습니다. 무더운 여름 건강 유의하시고, 감사합니다!
게시글 등록 컴포넌트 생성해서 렌더링 하는 것 같은데, 등록 페이지는 피그마에서 보여지는 "트립토크 등록" 컴포넌트 UI를 스스로 생성해서 연결하라는 뜻인가요? 아니면 레퍼런스 코드에 있는 것처럼 단지 렌더링만 하는 코드를 작성하라는 건가요? 그리고 모든 과제는 피그마를 참고하면서 A-Z 까지 스스로 하는건가요?
안녕하세요. 강의 잘 보고 있습니다. 제가 서비스하고 싶은 사이트는 지금 예시로 만든 mbti 서비스처럼 정적웹으로는 조금 운영이 어려운 사이트입니다. 그래서 db 연결이 필수인데, rdbms 든, noSQL 기반 db 이든 클라우드 db를 써서 연결을하자니 용량에 따라 과금이 돼서 사실 부담이 좀 됩니다. 코배투님도 결국 사이트를 키우시면서 db는 선택이 아니라 필수로 연결하셨을것 같은데 어떤걸 선택하셨나요? 만약 추천하신다면 어떤걸 추천하시나요?
안녕하세요, Roboflow에서 Dataset 다운로드 받을 수 있게 알려주셨는데, 영상과 같이 다운로드 받으면 실제 zip 파일에 README.dataset.txt파일과 README.roboflow.txt 파일만 존재합니다. 데이터셋파일도 강의자료로 올려주시면 감사합니다.
커서 자동완성 기능 때문에 놓치는 코드들이 있어서 github에서 특정 시점 코드를 받아서 npm install eas build --platform android --profile development 를 통해 빌드를 생성하려는데, 빌드가 실패해서 expo 관리자에서 로그를 확인해보니 아래와 같은 에러가 계속 나고 있습니다. npm error npm ci can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with npm install before continuing. package.json과 package-lock.json이 동기화가 안됐다는 것 같아서 package-lock.json 삭제 후 npm install 로 다시 설치 후 빌드를 해도 계속 위와 같은 에러가 나고 있습니다. ㅠㅠ 해결 방법이 있을까요?
카카오톡 공유 API 연동 중 SDK 오류에 대한 질문 선생님, 안녕하세요. Next.js 프로젝트에 카카오톡 공유 API를 연동하는 과정에서 지속적으로 'SDK error'가 발생하여 질문드립니다. 제가 이해하고 적용한 방식이 올바른지 검토가 가능하시다면 답변 부탁드립니다.! 1. JavaScript 키 관리 방식 (.env.local) 민감한 정보인 카카오 JavaScript 키를 안전하게 관리하기 위해 .env.local 파일을 사용하고 있습니다. Next.js 환경의 특성상, 클라이언트 사이드(브라우저)에서 해당 키를 사용해야 하므로 환경 변수 이름에 아래와 같이 저장하는 것이 올바른 방법인지 궁금합니다. .env.local NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY="여기에_발급받은_자바스크립트_키" 2. SDK 연동 및 초기화 과정 카카오 개발자 가이드를 참고하여 아래와 같은 순서로 SDK 연동 및 초기화를 진행했습니다. 이 과정이 올바른지 확인하고 싶습니다. 1단계: SDK 불러오기 웹 페이지에 아래 스크립트 태그를 추가하여 JavaScript SDK를 불러왔습니다. ${VERSION} 과 ${INTEGRITY_VALUE} 는 카카오 개발자 사이트에서 제공하는 최신 값으로 적용했습니다. HTML <script src="https://t1.kakaocdn.net/kakao_js_sdk/${VERSION}/kakao.min.js" integrity="${INTEGRITY_VALUE}" crossorigin="anonymous"></script> 2단계: SDK 초기화 불러온 SDK를 초기화하기 위해 Kakao.init() 함수를 호출했습니다. 이때, 인자 값으로 .env.local 에 저장한 process.env.NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY 를 사용했습니다. JavaScript // SDK를 초기화합니다. Kakao.init(process.env.NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY); // SDK 초기화 여부를 콘솔에 출력하여 확인합니다. console.log(Kakao.isInitialized()); 전체 코드 예시 최종적으로 아래와 같은 구조로 코드를 작성하여 초기화를 시도하고 있습니다. HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Kakao JavaScript SDK</title> <script src="https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js" integrity="sha384-..." crossorigin="anonymous"></script> <script> // 2. SDK 초기화 // 실제로는 Next.js 환경 변수를 사용합니다. Kakao.init('YOUR_JAVASCRIPT_KEY'); // 초기화 여부 확인 console.log(Kakao.isInitialized()); </script> </head> <body> ... </body> </html> 요약 질문하자면.. Next.js 프로젝트에서 카카오 JavaScript 키를 .env.local 파일에서 관리 하는 방식이 올바른가요? script 태그로 SDK를 로드한 후, Kakao.init() 함수에 환경 변수 값을 넣어 초기화 하는 현재의 구현 방식이 정확한가요? 만약 위 과정에 문제가 없다면, 'SDK error'가 발생할 수 있는 다른 일반적인 원인 (예: 카카오 개발자 사이트의 플랫폼 도메인 설정 오류, 앱 키 오타 등)은 무엇이 있을까요? 바쁘시겠지만 시간 나실 때 확인 부탁드립니다. 감사합니다!