묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
fiy.io로 진행할 때 APIURL설정에 관하여
fiy.io강의 진행 후vercel에 그맵마켓 웹 배포하기 강의 진행했는데화면에 데이터를 못받아 오고 있습니다.정말 죄송한데 원인을 잘 모르겠어요..어떤 부분을 어떻게 찾아봐야할까요.. fly.io에서 URL에 안들어가지는게 뭔가 이상한거같은데..안돌아가고 있다는 느낌이랄까요greb-market-server에서 fly deploy에러나는데 이거때문일까여?PS D:\VScode\grab-market-server> fly deploy==> Verifying app configValidating D:\VScode\grab-market-server\fly.tomlPlatform: machines✓ Configuration is valid--> Verified app config==> Building imageRemote builder fly-builder-blue-feather-4034 ready==> Creating build context--> Creating build context done==> Building image with Docker--> docker host: 20.10.12 linux x86_64[+] Building 23.1s (0/1)[+] Building 12.9s (12/14) => CACHED [internal] load remote build context 0.0s => CACHED copy /context / 0.0s => resolve image config for docker.io/docker/dockerfile:1 1.9s => CACHED docker-image://docker.io/docker/dockerfile:1@sha256:39b85bbfa7536a5feceb7372a0817649e 0.0s => [internal] load metadata for docker.io/library/node:16.17.1-slim 0.6s => [base 1/2] FROM docker.io/library/node:16.17.1-slim@sha256:1f6cbe8654b31c214225bddd12451b857 0.0s => CACHED [base 2/2] WORKDIR /app 0.0s => CACHED [build 1/6] RUN apt-get update -qq && apt-get install -y python pkg-config build- 0.0s => CACHED [build 2/6] COPY --link package.json package-lock.json ./ 0.0s => CACHED [build 3/6] RUN npm ci --include=dev 0.0s => CACHED [build 4/6] COPY --link . . 0.0s => ERROR [build 5/6] RUN npm run build 10.3s ------ > [build 5/6] RUN npm run build:#12 0.549#12 0.549 > grab-market-server@0.1.0 build#12 0.549 > react-scripts build#12 0.549#12 1.839 Creating an optimized production build...#12 10.22 Failed to compile.#12 10.22#12 10.22 ./src/App.js#12 10.22 Line 6: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 7: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 8: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 9: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 10: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 12: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22#12 10.22 Search for the keywords to learn more about each error.#12 10.22#12 10.22------Error: failed to fetch an image or build from source: error building: executor failed running [/bin/sh -c npm run build]: exit code: 1
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 10 수업과 관련해서 질문드립니다!
데이터 추가 후 서버를 종료하고 다시 실행시키면 사진처럼 id column이 사라져버립니다.이유를 모르겠습니다 ㅠ..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Duplicate entry '' for key 'product.PRIMARY' 에러
graphql로 상품등록 하고 mysql를 끄고 다시 키면 Duplicate entry '' for key 'product.PRIMARY' 에러가 발생합니다. 그래서 mysql에 있는 데이터를 삭제하고 다시 mysql를 키면 정상적으로 작동을 합니다. 데이터를 수동으로 삭제를 안하고 작동을 어떻게 시킬수 있나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
fly.io 로그인? 명령어 인식이 안돼요
현시점에서 명령어가 flyctl -> fly로 바뀐거같은데양쪽 명령어 둘다 안먹히네요. fiyio인스톨하고 vscode재기동해봤는데도 같아요+다른 명령어는 된거보면 환경변수문제는 아닌거같은데..아래와 같은 메세지가 뜨는데 잘 모르겠습니다.!PS D:\VScode\grab-market-server> fly auth loginfly : 'fly' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.위치 줄:1 문자:1+ fly auth login+ ~~~+ CategoryInfo : ObjectNotFound: (fly:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException 로컬에서 파워셀열어 실행하면 넘어가는데..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 29 update 함수 어떻게 수정하면 될까요?
감이 안잡히는데 좀 도와주세요 ㅜㅜ힌트라도 주시면 감사하겠습니다.. async update({ productId, updateProductInput, }: IProductsServiceUpdate): Promise<Product> { const product = await this.findOne({ productId }); this.checkSoldout({ product }); const result = this.productsRepository.save({ ...product, // 수정 후 수정되지 않은 다른 결과값까지 모두 받고 싶을 때 사용 ...updateProductInput, }); return result; }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 29 예제 코드 오류
안녕하세요. section29까지 수강을 다 진행하였는데요.예제 코드 관련 오류가 있어 질문드립니다.예제코드가 데이터베이스 처음 만든 상태에서는 괜찮은데 데이터베이스에 데이터를 넣고 코드를 수정하면 아래와 같은 오류가 나옵니다.query failed: ALTER TABLE `product_saleslocation` ADD `id` varchar(36) NOT NULL PRIMARY KEY error: Error: Duplicate entry '' for key 'product_saleslocation.PRIMARY' query: ROLLBACK [Nest] 33022 - 05/21/2023, 12:47:43 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... QueryFailedError: Duplicate entry '' for key 'product_saleslocation.PRIMARY'그리고 DBeaver로 확인하면 product_saleslocation의 기본키인 "id"가 자동으로 삭제되어 있습니다. product_saleslocation의 비정상적인 데이터를 삭제해도 다른 테이블의 기본키에서도 동일한 오류가 발생합니다. 코드를 단순히 주석만 삭제하고 저장해도 프로젝트가 재실행되고 나서 저런 오류가 발생합니다. 프로젝트가 재실행될 때마다 DB에 자동적으로 뭔가 데이터 수정 작업을 하는거 같은데 아무 요청도 안 했는데 DB에 수정이 일어나는 이유를 모르겠습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
sleact 테이블 생성에 실패 하시는 분들을 위한 팁
강의 4~ 5분 즈음에 sleact 테이블을 생성하는데요아래의 에러 메시지가 나오면서 테이블 생성에 실패 하시는 분들은> a-nest@0.0.1 db:create > ts-node ./node_modules/typeorm-extension/dist/cli/index.js db:create -d ./dataSource.ts /Users/user/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:161 const err = new Error( ^ Error: Can't add new command when connection is in closed state at Connection._addCommandClosedState (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:161:17) at Connection.end (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:902:26) at Query.onResult (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/typeorm-extension/dist/database/driver/mysql.js:27:28) at Connection._notifyError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:241:17) at Connection._handleFatalError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:180:10) at Connection._handleNetworkError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:193:10) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) {}dotenv 패키지를 설치하세요.npm i dotenvdotenv 설치하는 부분이 편집 과정중 어디선가 생략된것 같아요.아주 간단 한건데 이거 때문에 삽질을 좀 해서 혹시나 도움이 될까 싶어 올립니다.
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
windows에서 nodemon을 통한 app.js 실행 문제
안녕하세요 선생님windows 11 운영체제 플랫폼에서 강의를 수강하고 있습니다.webstorm IDE 사용하고 있습니다.nvm windows를 설치해서 사용 중이며 node 18 lts 버전을 사용 중에 있습니다.npm i nodemon --save-devpackage.json에 devDependencies에 추가한 상태입니다.선생님과 똑같이 cmd 창에서 node app 입력했을 경우 잘 실행이 되었는데요.nodemon app 을 입력했을 경우 다음과 같이 실행할 수 없습니다.C:\Users\mingyo\study\nodejs\nodePractice\express>nodemon app'nodemon'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.C:\Users\mingyo\study\nodejs\nodePractice\express>nodemon app.js'nodemon'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.찾아봤을 때는nodemon을 -g 옵션을 줘서 전역으로 설치하는 방법시스템 환경 변수를 수정(?)하는 방법이렇게 크게 두 가지 방법이 있는 것 같았습니다.global 설치는 선생님이 별로 추천하지 않는다고 하셔서 어떤 해결 방법을 사용하는 걸 추천하시는지 궁금합니다.아 그리고 nvm windows를 사용해서 node를 다운받았는데, nvm windows 사용으로 인해 이 문제가 발생한 건지도 궁금합니다.조금 찾아보긴 했는데 이렇게 질문드리는 게 적절한지 잘 모르겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
puppeteer 라이브러리 사용 중에 질문 드립니다.
퍼펫티어 쪽 코드인데 미니프로젝트에서 요구한 30개 이상을 크롤링 하는 부분을 완성을 해서 추가적으로 전체 메뉴를 긁어오고 싶어서 위와 같이 코드를 추가했습니다.12번째 코드부터 15번째 코드까지가 총 데이터 길이를 구하는 코드인데해당 코드에서 console.log(cnt);콘솔로 cnt를 출력해보면위와 같이 숫자 10까지 밖에 출력이 안되어서 질문 드립니다. 퍼펫티어 docs에서도이렇게 설명이 되어있어서 해당 코드라면 스타벅스 내에 있는 모든 전체상품 이미지가 크롤링 되어야 될 거 같은데스타벅스 홈페이지에서 카피를 하면 nth-child 의 값은 10까지 밖에 찍히지 않고전체 메뉴가 크롤링 되는 것이 아닌 도중에 제주 말차 메뉴까지 밖에 크롤링이 되지 않는 것이 의문이라 질문 드립니다. 혹시 해당 코드에 문제가 무엇인지 조언을 부탁 드리고 싶습니다 ㅠㅠ 전체 코드는 아래와 같습니다.import puppeteer from "puppeteer"; import mongoose from "mongoose"; import { starbucks } from "../model/starbucksSchema.js"; export async function startCrawling() { const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); await page.setViewport({ width: 1920, height: 1080 }); await page.goto("https://www.starbucks.co.kr/menu/drink_list.do"); await page.waitForTimeout(2400); const cnt = await page.$$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd `, (data) => data.length ); console.log(cnt); for (let i = 1; i <= cnt; i++) { const second_cnt = await page.$$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd:nth-child(${i}) > ul > li`, (data) => data.length ); for (let j = 1; j <= second_cnt; j++) { const image = await page.$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd:nth-child(${i}) > ul > li:nth-child(${j}) > dl > dt > a > img`, (el) => el.src ); const name = await page.$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd:nth-child(${i}) > ul > li:nth-child(${j}) > dl > dd`, (el) => el.textContent ); console.log(`이름: ${name}, 이미지: ${image}`); const starbucks_db = await starbucks.updateOne( { name: name }, { img: image }, { upsert: true } ); } } await browser.close(); } startCrawling();
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
우분투에서 빌드 시 오류가 생깁니다..
back과 front 둘다 우분투 서버 연결 해놓고,node -v / npm -v 해서 버전 확인도 했습니다.기본 node는 버전이 19이고 우분투에 설치한건 14버전입니다.front에서 빌드 하려는데npm ERR! missing script: buildnpm ERR! A complete log of this run can be found in:npm ERR!/home/ubuntu/.pm/_logs/2023-05-19714_54_17_6527-debug. log이런 오류의 원인은 뭘까요.. ㅠㅠ몇시간동안 방법을 찾지못해서 글남깁니다 ㅠㅠ제 깃허브 주소도 남깁니다..+레파지토리는 미리 생성해둔거라서 그냥 여기있는 git init을 하지 않고, 주소를 그대로 사용하여 clone 했는데도 이것도 문제가 될까요?https://github.com/nuring9/next.js-redux-saga-SSR-nodebird.git
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
객체를 저장하는 경우도 있나요?
안녕하세요. 혹시 디비에 객체를 저장하는 경우도 있나요? 예를들어 아래처럼 5개의 색상 키와 그 키에 해당하는 string을 값으로 가지는 객체 형태를 유저 정보에 저장하고 싶어요.// Color 객체 예시 입니다. { RED: string; BLUE: string; GREEN: string; YELLOW: string; PURPLE: string; }nest&typeorm는 처음이다보니 chatgpt의 도움을 많이 받고 있는데요. 객체는 저장이 되지 않지만 postgresql 에서는 이런 방법을 알려주긴하더라고요. export class User extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column() email: string; // 생략... @Column({ type: 'jsonb', nullable: true }) categories: { [key in Color]: string } | null; // 생략... 이 5개에서 늘어나거나 줄어들일이 없어서 테이블을 만드는게 맞는지 고민이 돼서요. 위와 같이하는건 좀 이상한 방법일까요? 이럴거면 그냥 email:string 하듯이 RED:string 이런식으로 컬럼 5개로 저장하는 방법이 나을까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
18버전 업데이트 강의는 언제 업로드되나요?
리액트 16버전이라 강의 듣는데 헷갈립니다.... 최신 버전 이미지를 추가 해주시긴 하였으나, 기본 설명 자체가 16버전이라 혼란스럽고 불편합니다.당연히 최신 버전 강의인줄 알고 구매 하였는데, 이전 버전이 베이스로 된 강의면 제가 이 돈을 들여서 강의를 구매할 이유가 없다고 생각합니다.강의 업데이트 되는거 맞나요? 언제 업로드 되는건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
backend폴더 복사 후, dist폴더의 위치
안녕하세요.21-03 폴더를, 23-01/backend 폴더 내에 복사하였습니다.빌드 후, dist 폴더가 backend/backend/dist 에 위치합니다. 수업화면에서 처럼 backend/dist에 위치하게 하려면 어떻게 해야하나요?답변해주시면 감사하겠습니다~
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
로그인을하면 'Missing credentials' 이 뜹니다
회원가입을 끝내고 똑같이 이메일과 비밀번호 입력하고 로그인을 하면 401에러가 뜹니다.그래서 routes/user.js에서 info값을 콘솔로 보니 이렇게 info값이 들어오더라구요제 코드는 이렇습니다.< local.js ><routes/user.js><passport/index.js>에러를 인터넷에 서칭해보니까 local.js 안에new LocalStrategy 안에 usernameField와 passwordField를 제대로 값이 바인딩 됐는지 여부를 보라고 되어있는데 틀린게 없어보입니다...어떤걸 잘못한걸까요 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
OG 실습 중에 궁금한게 생겨 질문드립니다.
불과 얼마전에 네이버가 사이트를 바꿨는데요오늘 OG 실습을 하던 중, 네이버 head / meta에 OG tag가 사라진 것을 확인했습니다.OG tag가 없이도 미리보기가 잘 구현되는데, 어떻게 가능한지가 궁금해 질문드립니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
마지막 수업 중 TypeScript로 전환하는 과정에서 LocalStrategy를 수정하던 중 발생한 오류입니다.
안녕하세요.수업 너무 잘 듣고 있던 학생입니다. 다름이 아닌 수업에서는 수정하지 않았지만 다음과 같은 오류가 발생하였고, 오류내용은 다음과 같습니다.-> 해당 코드는 controllers > auth.ts파일 중 login메서드의 구현부입니다.$ npx tsc --noEmit controller/auth.ts:27:37 - error TS7006: Parameter 'authError' implicitly has an 'any' type. 27 passport.authenticate('local', (authError, user, info) => { ~~~~~~~~~ controller/auth.ts:27:48 - error TS7006: Parameter 'user' implicitly has an 'any' type. 27 passport.authenticate('local', (authError, user, info) => { ~~~~ controller/auth.ts:27:54 - error TS7006: Parameter 'info' implicitly has an 'any' type. 27 passport.authenticate('local', (authError, user, info) => { ~~~~ Found 3 errors in the same file, starting at: controller/auth.ts:27그래서 해당 파라미터를 any로 타입을 줘서 해결하였지만, any를 가급적 사용하고 싶지 않아 다른 방법을 찾고 있는데 괜찮은 방법이 있을까요? 시도했던 방법은 다음과 같습니다.콜백함수를 별도의 함수로 빼내어 타입을 지정해준 방법 (passport모듈의 AuthenticateCallback타입)-> 하지만 message에서 다음과 같은 오류를 받음.controller/auth.ts:33:55 - error TS2339: Property 'message' does not exist on type 'string | object | (string | undefined)[]'. Property 'message' does not exist on type 'string'. 33 return res.redirect(`/?loginError=${info?.message}`);-> message as string으로 해결해보려 하였지만 같은 오류메세지를 반복.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
04-06 Mongoose 활용 강좌 21분 경에 포트포워딩 주석을 해제하고 진행했는데
저는 주석 안풀고 그냥 네임 리졸루션으로 했는데 그렇게 진행해도 되나요? 그런데 이렇게 하면 compass 프로그램 주소를mongodb://my-database:27017/mydocker 이렇게 가야하는 건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker-compse volumes 관련 질문드립니다!
docker-compose.yaml에 volumes 추가한 후 실행해봤지만 index를 바꿔도 refresh되지 않습니다.그래서 반대로 container의 값을 수정하면 local의 index.js가 바뀔까 했지만 위의 사진처럼 오류가 발생합니다. Mount되었다는 것으로 보아 연결은 된 것 같고, 제공된 파일과 강의 비교하면서 오탈자 찾아봤지만 모두 같습니다.이를 해결하기 위해 어떻게 접근해야할지 궁금합니다.
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
몽고디비 몽구스와 socket.io를 활용한 실시간 채팅 페이지
안녕하세요.현재 프로젝트 시작했는데 백엔드 배정받아 급하게 강의 결제후 듣고 있습니다.인스타그램 같은 어플을 만들 예정인데, 저는 채팅쪽 파트를 맡게 되었습니다.리액트, node.js mongodb, mongoose를 사용하기로 했으며 제가 구현해야 하는 기능은 이렇습니다.아이디를 검색했을 때 나오는 유저와 채팅하기 버튼을 누르면, 그 유저와 1대1 채팅이 가능하도록 해야합니다. 그리고 채팅 후 방을 둘 다 나가기 하지 않는 이상 채팅방은 계속 유지되어 계속 채팅을 이어나갈 수 있어야 합니다.스키마작성부터 CRUD 코드 작성, 서비스코드 작성, 라우터 코드 작성까지,, 손도 못대겠네요 ㅎㅎ아무리 머리를 쥐어 짜내봐도, 어떻게 구현해야할지 감조차 안잡혀서 유튜브 검색해보면 외국인 강좌들 밖에 안나와서,, 어떻게 해야할까요ㅎㅎfigma는 위와 같습니다.프론트만 해보다 보니 뭘 어떻게 해야할지 모르겠어요,,,ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
복습중 오류
복습을 통해 다시 공부을 하던중 오류가 발생하였습니다.해당 오류가 기존 수업과 충돌되어서 발생한 오류 인지 궁금합니다. 해달 오류 해결 방법이 있을까요?? 해당 오류는 [Nest] 76304 - 2023. 05. 17. 오후 5:45:23 ERROR [ExceptionHandler] Table 'board' already exists QueryFailedError: Table 'board' already exists나왔습니다.