묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Duplicate entry '' for key 'product.PRIMARY' 에러
graphql로 상품등록 하고 mysql를 끄고 다시 키면 Duplicate entry '' for key 'product.PRIMARY' 에러가 발생합니다. 그래서 mysql에 있는 데이터를 삭제하고 다시 mysql를 키면 정상적으로 작동을 합니다. 데이터를 수동으로 삭제를 안하고 작동을 어떻게 시킬수 있나요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
DjangoJSONEncoder에서 언급하신 재귀적 로직의 개념
class MyJSONEncoder(DjangoJSONEncoder): def default(self, obj): if isinstance(obj, QuerySet): return tuple(obj) elif isinstance(obj, Post): return {'id': obj.id, 'title': obj.title, 'content': obj.content} elif hasattr(obj, 'as_dict'): return obj.as_dict() return super().default(obj)JSON 직렬화 강의에서 위의 구문의 return tuple(obj) 이 실행될 경우 재귀적으로 default 메서드를 탄다고 말씀하셨는데 어떤 원리인지 이해를 하지 못했습니다.튜플로 변환될 때 어떻게 MyJSONEncoder가 이를 인지하고 작동하는지 여쭤봅니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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에 수정이 일어나는 이유를 모르겠습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
도커 컨테이너 내용 수정
안녕하세요 강사님! 파이썬 3.10 이상인 상태로 배포를 하려합니다! 배포를 하는 도중AttributeError: module 'collections' has no attribute 'Callable'가 발생하여 보니 pydenticon 에러였습니다. 이런 경우는 컨테이너 안에서 수정을 해야할 것 같아서docker run -it <이미지 이름> /bin/bash으로 수정 후 docker commit을 진행했습니다.하지만 이 경우, 문제가 생기는데 docker run --rm --publish 9000:8000 -it <이미지이름> sh를 실행하여, python3 manage.py runserver 0.0.0.0:8000 을 직접 실행해줘야만 하는 번거로움이 있었습니다. 혹시 이를 해결하기 위한 방법이 있는지 알고싶습니다.감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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();
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
backend폴더 복사 후, dist폴더의 위치
안녕하세요.21-03 폴더를, 23-01/backend 폴더 내에 복사하였습니다.빌드 후, dist 폴더가 backend/backend/dist 에 위치합니다. 수업화면에서 처럼 backend/dist에 위치하게 하려면 어떻게 해야하나요?답변해주시면 감사하겠습니다~
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
from .models import Question
강의중에 나온건 아니지만views.py 에서 models의 함수를 가져오기 위해서import할때 왜 models가 아닌 .models인걸까요?models.py는 이렇습니다.심지어 . 을 붙이지 않으면 오류가 뜹니다.ModuleNotFoundError: No module named 'models'.이 현재 디렉터리를 뜻하는것 같은데 하지 않았을때와 했을때 다른 경로의 모듈을 import하는걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
OG 실습 중에 궁금한게 생겨 질문드립니다.
불과 얼마전에 네이버가 사이트를 바꿨는데요오늘 OG 실습을 하던 중, 네이버 head / meta에 OG tag가 사라진 것을 확인했습니다.OG tag가 없이도 미리보기가 잘 구현되는데, 어떻게 가능한지가 궁금해 질문드립니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
500 에러 : MySQL 인증 오류
/api/hi 는 정상 작동하는데, /api/values가 500을 반환해서 mysql 연결 부분이 문제가 있는 것 같아서 찾아봤습니다. https://github.com/mysqljs/mysql/issues/2390mysql 버전에 따른 문제로 보이며, 백엔드에서 mysql 패키지를 mysql2 패키지로 변경하면 문제가 해결됩니다. 변경 사항은 깃허브에 pull request 되어 있으니, 코드 변동 사항은 확인해보시면 될것 같습니다.https://github.com/jaewonhimnae/docker-codes/pull/3
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
04-06 Mongoose 활용 강좌 21분 경에 포트포워딩 주석을 해제하고 진행했는데
저는 주석 안풀고 그냥 네임 리졸루션으로 했는데 그렇게 진행해도 되나요? 그런데 이렇게 하면 compass 프로그램 주소를mongodb://my-database:27017/mydocker 이렇게 가야하는 건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker-compse volumes 관련 질문드립니다!
docker-compose.yaml에 volumes 추가한 후 실행해봤지만 index를 바꿔도 refresh되지 않습니다.그래서 반대로 container의 값을 수정하면 local의 index.js가 바뀔까 했지만 위의 사진처럼 오류가 발생합니다. Mount되었다는 것으로 보아 연결은 된 것 같고, 제공된 파일과 강의 비교하면서 오탈자 찾아봤지만 모두 같습니다.이를 해결하기 위해 어떻게 접근해야할지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
복습중 오류
복습을 통해 다시 공부을 하던중 오류가 발생하였습니다.해당 오류가 기존 수업과 충돌되어서 발생한 오류 인지 궁금합니다. 해달 오류 해결 방법이 있을까요?? 해당 오류는 [Nest] 76304 - 2023. 05. 17. 오후 5:45:23 ERROR [ExceptionHandler] Table 'board' already exists QueryFailedError: Table 'board' already exists나왔습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker hub를 보던 중 궁금한게 생겨 질문드립니다!
수업에서 사용한 node docker image의 경우 linux, node, npm, yarn이 설치된 이미지라는 것을 어떻게 확인할 수 있는지 궁금합니다.즉 docker hub에 있는 이미지를 보고 그 이미지가 어떤 컴퓨터인지 어떻게 확인할 수 있는지가 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
구글로그인 review영상
client id와 client secret 받는 과정에 대해 노션을 참고하라는 영상내용이 있는데 혹시 어디서 참고하면 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
마이크로 서비스 운영시 DB는 하나 써도 되는 건가요?
마이크로 서비스로 다수의 서버들을 운영하려고 한다면 typeorm을 통해 entity 에서 1대1 관계 등에서 정의내린 것들은 어떻게 유지 해야 할까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 22. CORS 파트에서 궁금증이 생겨 질문드립니다!
origin이 같다는게 어떤 의미일까요? domain이 같다는 것인가요?같은 localhost인데 CORS가 발생한 이유가 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션 22 3-05 강좌가 편집이 제대로 이루어진 것 같지않아 보입니다.
40분에서 끊어져야 할 동영상 같은데 6시간이 넘어가게 업로드가 된 것 같습니다 빠르게 확인해야될 것 같은데요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
[섹션 22]Quiz 5 axios 질문
안녕하세요.프론트엔드와 api 를 연동하는 과정에서 axios를 import 하는 방법에 질문 있습니다. menu.js의 getCoffee 함수에서 axios를 이용해 /starbucks api를 호출하려는데,menu.js 파일에서 import axios from 'axios'를 하면 에러가 발생합니다.반면에 menu/index.html 에서 <script src="를">https://unpkg.com/axios/dist/axios.min.js"></script>를 하면 잘 작동합니다. 이렇게 index.html에서 axios를 다운받는게 맞는건가요?그렇다면, 실제로 axios를 사용하는 코드는 menu.js에 있는데, 왜 index.html에서 가져와야 하는 건가요? 감사합니다.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
수업자료 권한부여 안내
안녕하세요 강사님,수업 자료 안내와 관련하여 인프런ID(엔터프라이즈 계정이라 회사 이메일)구글 로그인강의명을 모두 기재하여 5.10일 보내드렷으나5.15일 현재까지 답변이 오질 않고 있습니다. 확인부탁드릴게요