음 .. 게시글 하나에 중복으로 된 해시태그를 2개 등록시 ex) #노드#노드 #익스프레스 DB Posts 테이블에는 데이터가 잘 등록되지만 해시태그 아래와 같은 에러가 발생됩니다. Hashtags 테이블에는 등록되지 않습니다. primary key 가 중복이라고 오류 나는 것 같은데 .. findOrCreate 는 DB상에 중복이 안되는거고 .. 생각나는 방법은 Set, filter, split, match, ... 등으로 중복 제거인데 .. findOrCreate 전에 중복제거 해줘야하는 부분일까요? Error at Query.run (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/dialects/mysql/query.js:52:25) at /Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/sequelize.js:314:28 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MySQLQueryInterface.bulkInsert (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/query-interface.js:346:21) at async recursiveBulkCreate (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/model.js:1663:25) at async PostHashtag.bulkCreate (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/model.js:1752:12) at async Promise.all (index 0) at async BelongsToMany.add (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/associations/belongs-to-many.js:516:30) at async /Users/jeondaewon/WebstormProjects/nodebird/prepare/back/routes/post.js:40:13 { name: 'SequelizeUniqueConstraintError', errors: [ ValidationErrorItem { message: 'PRIMARY must be unique', type: 'unique violation', path: 'PRIMARY', value: '2-358', origin: 'DB', instance: null, validatorKey: 'not_unique', validatorName: null, validatorArgs: [] } ], parent: Error: Duplicate entry '2-358' for key 'posthashtag.PRIMARY' at Packet.asError (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/packets/packet.js:728:17) at Query.execute (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/commands/command.js:29:26) at Connection.handlePacket (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/connection.js:488:32) at PacketParser.onPacket (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/connection.js:94:12) at PacketParser.executeStart (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.<anonymous> (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/connection.js:101:25) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) { code: 'ER_DUP_ENTRY', errno: 1062, sqlState: '23000', sqlMessage: "Duplicate entry '2-358' for key 'posthashtag.PRIMARY'", sql: "INSERT INTO `PostHashtag` (`createdAt`,`updatedAt`,`HashtagId`,`PostId`) VALUES ('2023-03-07 05:57:36','2023-03-07 05:57:36',3,358),('2023-03-07 05:57:36','2023-03-07 05:57:36',2,358),('2023-03-07 05:57:36','2023-03-07 05:57:36',2,358);", parameters: undefined }, original: Error: Duplicate entry '2-358' for key 'posthashtag.PRIMARY' at Packet.asError (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/packets/packet.js:728:17) at Query.execute (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/commands/command.js:29:26) at Connection.handlePacket (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/connection.js:488:32) at PacketParser.onPacket (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/connection.js:94:12) at PacketParser.executeStart (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.<anonymous> (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/mysql2/lib/connection.js:101:25) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) { code: 'ER_DUP_ENTRY', errno: 1062, sqlState: '23000', sqlMessage: "Duplicate entry '2-358' for key 'posthashtag.PRIMARY'", sql: "INSERT INTO `PostHashtag` (`createdAt`,`updatedAt`,`HashtagId`,`PostId`) VALUES ('2023-03-07 05:57:36','2023-03-07 05:57:36',3,358),('2023-03-07 05:57:36','2023-03-07 05:57:36',2,358),('2023-03-07 05:57:36','2023-03-07 05:57:36',2,358);", parameters: undefined }, fields: { PRIMARY: '2-358' }, sql: "INSERT INTO `PostHashtag` (`createdAt`,`updatedAt`,`HashtagId`,`PostId`) VALUES ('2023-03-07 05:57:36','2023-03-07 05:57:36',3,358),('2023-03-07 05:57:36','2023-03-07 05:57:36',2,358),('2023-03-07 05:57:36','2023-03-07 05:57:36',2,358);" } Error at Query.run (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/dialects/mysql/query.js:52:25) at /Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/sequelize.js:314:28 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MySQLQueryInterface.bulkInsert (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/query-interface.js:346:21) at async recursiveBulkCreate (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/model.js:1663:25) at async PostHashtag.bulkCreate (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/model.js:1752:12) at async Promise.all (index 0) at async BelongsToMany.add (/Users/jeondaewon/WebstormProjects/nodebird/prepare/back/node_modules/sequelize/lib/associations/belongs-to-many.js:516:30) at async /Users/jeondaewon/WebstormProjects/nodebird/prepare/back/routes/post.js:40:13 POST /post 500 40.883 ms - 1306
Unhandled Runtime Error ApolloError: Failed to fetch 수정등록페이지 들어가면서 갑자기 이게 뜨는데 코드는 봐도 다 똑같은거 같은데 아니면 혹시 수업내용 코드만 따로 깃 이나 확인할 수 있나요? http://practice.codebootcamp.co.kr/graphql 해당주소로 들어가니 Error: Server Error The server encountered a temporary error and could not complete your request.Please try again in 30 seconds. 라고 뜨고 있습니다.
백엔드에 게시글 등록시 const upload = multer({...}) router 에서 upload.none() 를 사용하였습니다. 작성된 코드에서는 이미지 업로드 버튼을 누르고 이미지 선택 확인 누르는 순간 로컬에 저장되고 반환되어 프론트에서 imagePaths 에 담겨있습니다. 그 후 강의에선 imagePaths를 FormData에 담아서 보내고있는데 imagePaths는 텍스트만 들어있어서 객체로 보내보려고합니다. 배열을 그대로 담으면 될 것 같아 dispatch({ type: ADD_POST_REQUEST, data: { imagePaths, content: text }, }); 이렇게 작성하여 보냈는데 Network에서도 성공이고 프론트에서도 오류나는것 없이 다 SUCCESS입니다. 게시글에는 사진이 나타나지 않습니다. 경로가 잘못된 것 같지는 않고 .. 어떤 문제가 있는걸까요? [등록 전] [등록 후]
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
'is'와 '==' 차이점은 어느 정도 이해되는데, 각각을 언제 사용해야 하는지는 잘 모르겠습니다. 검색을 해보면 주로 '==' 사용하고 None 과 비교할 때 'is'를 사용한다고 하는데 실제로 이렇게 사용하나요? z = 'None' a = None print(f'z is None : {z is None}') print(f'z == None : {z == "None"}') print(f'a is None : {a is None}') print(f'a == None : {a == "None"}') z is None : False z == None : True a is None : True a == None : False
Error: Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>. Learn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor next 13 버전 이후로부터는 Link 태그 속에 a 태그 넣지 않아야 정상 작동 합니다. 만약 꼭 Link 속에 a 태그를 넣어야 한다 (예시, 이전 버전 코드를 13으로 변경하는데 class 속성 등이 a 태그에 있다) link 에 legacyBehavior 넣으면 됩니다. <Link href="/" legacyBehavior> <a className="... code"> </a> </Link>
제목 내용 그대로 서버에서 reverse-proxy 적용시 next dev 실행에 관한 내용입니다. 아래 링크 참고 하시면 됩니다. ( https://itnext.io/one-domain-multiple-next-js-apps-5e39b0ffa1bf ) package.json이 있는 위치에 next.config.js 파일 만들고 module.exports = { assetPrefix: "/npm", }; +) 추가 사항 : 혹시 개인 서버에서 https 적용 중이시면, hmr에서 "WebSocket is closed before the connection is established" 오류 발생합니다. ( https://github.com/vercel/next.js/issues/31139 ) 에서 해답을 찾기는 했는데... 네트워크 탭 보면 이미 wws:// 로 요청이 가서 왜 해결이 되는지는 모르겠지만, hmr 잘 작동됩니다. module.exports = { assetPrefix: "https://{서버 도메인 주소}/npm", } 참고로 nginx reverse-proxy 설정 입니다 location /npm/ { proxy_pass http://localhost:8084/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; }
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 커뮤니티 정보가져오는 useSWR에서는 다른 곳처럼 타입지정을 따로안했는데 원래는 [slug].tsx 에서 사용한 useSWR처럼 타입지정을 해줘야하나요??
notion에 있는 '수업 프로젝트 설치할 것' 이후 yarn dev를 해보면 다음과 같이 Can't resolve '@styles.Home.module.css'가 뜹니다. _app.js에 있는 import문도 삭제하였는데, 해당 문제가 해결되지 않아 qqq폴더 안에 index.js도 실행이 되지 않습니다..! 혹시 어떻게 해결 가능할까요? 실행 위치는 codecamp, class, qqq 모두 해보았는데 같은 오류가 발생합니다! ㅠㅠ + import styles from ~~부분을 주석처리하고, return 안의 내용을 삭제시키니 동작하는데 삭제시켜둔 상태로 강의를 진행해도 괜찮나요?
파이썬 Print 사용법(1-4) - New 2023 강의에서 print로 출력하려고 하는데 자꾸 아래와 같은 오류가 떠요... 입력 값: 출력값: >>> print(f'm : {m:,}') Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'm' is not defined Python Version : 3.11.2 64-bit
example 주소 : http://practice.codebootcamp.co.kr/graphql 이 주소가 이렇게 떠서 포트폴리오용 주소 : http://backendonline.codebootcamp.co.kr/graphql 이주소를 uri에 넣었고 이렇게 실행해봤더니 이렇게 뜨네요 버튼을 눌러도 네트워크에 뜨지 않습니다 뭐가 문제일까요?..
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1. 여기서 쓰인 callback 함수의 의미는 어떻게 될까요?? 간단하게 return으로 이해하면 될까요?? next()가 없어도 다음 핸들러로 넘어가는 건가요?? callback에서 첫번째 인자는 에러를 뜻하고, 두번째 인자는 위에 사진처럼 하나는 filename이고 하나는 acceptFile: boolean 을 뜻하는데 그저 multer의 형식이라고 생각하면 될까요?? 그리고 upload =multer 저 부분이 실행되고 다음 핸들러인 uploadSubImage에서는 이미 파일이 업로드가 된 상태라고 했는데 그럼 upload= multer가 uploadSubImage로 request로 file정보를 보낸건가요?? 로그를 찍어보니까 req는 ownSub에서는 undefined였는데 uploadSubImage에서 생기더라구요...
handleSubmit를 useCallback으로 감싸서 만들어봤는데 const handleSubmit = useCallback( (e) => { e.preventDefault(); let newTodoData = todoData.map((data) => { if (data.id === id) { data.title = editedTitle; } return data; }); console.log(newTodoData); setTodoData(newTodoData); setIsEditing(false); }, [todoData, setTodoData, id, editedTitle] ); 의존성배열에 setTodoData 를 넣지않으면 아래오류가 나면서 handleSubmit 함수가 실행되지 않더라구요 React Hook useCallback has a missing dependency: 'setTodoData'. Either include it or remove the dependency array. If 'setTodoData' changes too often, find the parent component that defines it and wrap that definition in useCallback 제 지식으론 의존성배열에 todoData만 넣으면 될줄 알았는데 왜 setTodoData 까지 같이 넣어야하는지 궁금합니다!
안녕하세요! axios.js 에 인스턴스를 만들고 그 인스턴스를 export default instance; 로 export 해줬는데 그렇다면 Banner.js 에서 가져와서 사용할 때 import instance from "../api/axios"; 라고 가져와서 instance.get(requests.fetchNowPlaying); 이런 식으로 사용하는게 맞지 않나 생각이 들어서 질문 드립니다.