묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
4:50초 쯤 설명이 잘못된 것 같습니다
안녕하세요 강의 오늘 구매하여 잘 듣고 있습니다. 질문이 있는데요, 4분 50초 쯤 설명에서, '초기화면에는 loading 이 false 니까 loading board 라는 문장이 출력되고' 라고 하셨는데, false니까 v-else 안이 출력되는 것이 맞지않나요? fetchData() 안에서 this.loading을 다시 true라고 해서 보이기도 전에 바뀌는 것이 아닌지 궁금해서 질문 남깁니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
비공개 리포지토리 접속시 404 에러 발생합니다.
권한 요청 후 추가 해 주셨다는 댓글을 확인했습니다. 근데 아래의 링크에 접근하니 404에러가 발생해서요 어떻게 해야 할지 문의드립니다. https://github.com/joshua1988/vue-advanced
-
해결됨윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정
15강 Java 코드를 활용한 Bean 등록 강의에 질문 있어서 글씁니다
강사님 15강 Java 코드를 활용한 Bean 등록 강의 에 질문있어서 글씁니다 36:00 분 쯤에 TestBean4 생성자는 왜 안생기는 건가요? xml이나 java코드에 bean 설정하고 아무것도 옵션 설정 안하면 객체를 주입할때가 아니라 자동으로 생성이라 생성자가 호출되어야 하지 않나요? sysout 에 그 생성자 호출이라는 글이 콘솔에 안떠서 질문 했습니다
-
해결됨대세는 쿠버네티스 (초급~중급편)
GCP 환경 설치시 404 Error
안녕하세요 선생님 이제 막 강의를 듣기 시작한 학생입니다. GCP서비스를 사용해서 환경을 구축하려고 하는데, 자료실에있는 설명 기준으로 환경을 설정하니 서버가 127.0.0.1:8000에 알려주신 경로에 뜨지만 skip하고 dashboard에 입장하자마자 아래와같이 404 응답을 띄웁니다 자료실 자료 기준으로 몇번을 시도해도 같은 결과가 나오네용 ㅠㅠㅠ 의견 부탁드립니다
-
미해결CSS Flex와 Grid 제대로 익히기
혹시 작업하실 때 프로그램 어떤거 사용하시나요??
Atom 프로그램 사용 중인데 어떤거 쓰시나 궁금해서요 ㅎㅎ
-
해결됨트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
pos값은 임의의 값인가요??
안녕하세요 pos 질문드립니다~ 초기값이 65535인데 이 값은 위치에 영향을 주는 값(예를들어 리스트의 위치가 65535에 위치)이 아닌 그냥 기준이 되는 임의의 값을 넣어준건가요???
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
SequelizeUniqueConstraintError) Duplicate entry '1-2' for key 'follow.PRIMARY' 문제입니다
팔로우 기능 구현 중에 follow.PRIMARY에 문제가 있다는 에러가 생겼습니다 mysql table을 보면 FollowingId, FollowerId값은 잘 들어가져 있고, redux에는 FOLLOW_SUCCESS까지 나타납니다 그런데 FOLLOW_SUCCESS뒤에 FOLLOW_FAILURE가 나오면서 아래와 같은 'follow.PRIMARY must be unique' 에러가 백앤드 서버에서 발생합니다. 더블클릭을 하지 않았는데도 두번 요청이 들어가는 건가요? 어떻게 해결해야하는지 모르겠습니다 도와주세요 제로초님~ PATCH /user/1/follow 200 176.212 ms - 12 UniqueConstraintError [SequelizeUniqueConstraintError]: Validation error at Query.formatError (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\dialects\mysql\query.js:218:16) at Query.run (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\dialects\mysql\query.js:54:18) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\sequelize.js:619:16 at async MySQLQueryInterface.bulkInsert (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\dialects\abstract\query-interface.js:818:21) at async recursiveBulkCreate (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\model.js:2698:25) at async Function.bulkCreate (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\model.js:2824:12) at async Promise.all (index 0) at async BelongsToMany.add (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\associations\belongs-to-many.js:740:30) at async C:\Users\HOME\Documents\ymillonga\back\routes\user.js:168:9 { errors: [ ValidationErrorItem { message: 'follow.PRIMARY must be unique', type: 'unique violation', path: 'follow.PRIMARY', value: '1-2', origin: 'DB', instance: null, validatorKey: 'not_unique', validatorName: null, validatorArgs: [] } ], fields: { 'follow.PRIMARY': '1-2' }, parent: Error: Duplicate entry '1-2' for key 'follow.PRIMARY' at Packet.asError (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\packets\packet.js:712:17) at Query.execute (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\commands\command.js:28:26) at Connection.handlePacket (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\connection.js:425:32) at PacketParser.onPacket (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\connection.js:75:12) at PacketParser.executeStart (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.<anonymous> (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\connection.js:82:25) at Socket.emit (events.js:314:20) at addChunk (_stream_readable.js:303:12) at readableAddChunk (_stream_readable.js:279:9) at Socket.Readable.push (_stream_readable.js:218:10) { code: 'ER_DUP_ENTRY', errno: 1062, sqlState: '23000', sqlMessage: "Duplicate entry '1-2' for key 'follow.PRIMARY'", sql: "INSERT INTO `Follow` (`createdAt`,`updatedAt`,`FollowingId`,`FollowerId`) VALUES ('2020-11-29 10:47:14','2020-11-29 10:47:14',1,2);", parameters: undefined }, original: Error: Duplicate entry '1-2' for key 'follow.PRIMARY' at Packet.asError (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\packets\packet.js:712:17) at Query.execute (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\commands\command.js:28:26) at Connection.handlePacket (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\connection.js:425:32) at PacketParser.onPacket (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\connection.js:75:12) at PacketParser.executeStart (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\packet_parser.js:75:16) at Socket.<anonymous> (C:\Users\HOME\Documents\ymillonga\back\node_modules\mysql2\lib\connection.js:82:25) at Socket.emit (events.js:314:20) at addChunk (_stream_readable.js:303:12) at readableAddChunk (_stream_readable.js:279:9) at Socket.Readable.push (_stream_readable.js:218:10) { code: 'ER_DUP_ENTRY', errno: 1062, sqlState: '23000', sqlMessage: "Duplicate entry '1-2' for key 'follow.PRIMARY'", sql: "INSERT INTO `Follow` (`createdAt`,`updatedAt`,`FollowingId`,`FollowerId`) VALUES ('2020-11-29 10:47:14','2020-11-29 10:47:14',1,2);", parameters: undefined }, sql: "INSERT INTO `Follow` (`createdAt`,`updatedAt`,`FollowingId`,`FollowerId`) VALUES ('2020-11-29 10:47:14','2020-11-29 10:47:14',1,2);" } SequelizeUniqueConstraintError: Validation error at Query.formatError (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\dialects\mysql\query.js:218:16) at Query.run (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\dialects\mysql\query.js:54:18) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\sequelize.js:619:16 at async MySQLQueryInterface.bulkInsert (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\dialects\abstract\query-interface.js:818:21) at async recursiveBulkCreate (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\model.js:2698:25) at async Function.bulkCreate (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\model.js:2824:12) at async Promise.all (index 0) at async BelongsToMany.add (C:\Users\HOME\Documents\ymillonga\back\node_modules\sequelize\lib\associations\belongs-to-many.js:740:30) at async C:\Users\HOME\Documents\ymillonga\back\routes\user.js:168:9 PATCH /user/1/follow 500 387.485 ms - 1353 back/models/user.js const DataTypes = require('sequelize'); const { Model } = DataTypes; module.exports = class User extends Model { static init(sequelize) { return super.init({ email: { type: DataTypes.STRING(30), allowNull: false,//필수값으로 설정 unique: true, }, nickname: { type: DataTypes.STRING(30), allowNull: false, }, password: { type: DataTypes.STRING(100), allowNull: false, }, snsId: { type: DataTypes.STRING(30), allowNull: true, }, provider: { type: DataTypes.STRING(10), allowNull: false, defaultValue: 'local', }, }, { modelName: 'User', tableName: 'users', charset: 'utf8', collate: 'utf8_general_ci', sequelize, }); } static associate(db) { db.User.hasMany(db.Post); db.User.hasMany(db.Comment); db.User.belongsToMany(db.Post, { through: 'Like', as: 'Likers' }); //중간 테이블 이름: Like, 별칭:'Likers; db.User.belongsToMany(db.User, { through: 'Follow', as: 'Followers', foreignKey: 'FollowingId' });//foreignKey:col의 값을 정해준다//나=FollowingId, 내가 따라다니는 사람목록=Followers db.User.belongsToMany(db.User, { through: 'Follow', as: 'Followings', foreignKey: 'FollowerId' });//나=FollowerId } }; /back/routes/user.js router.patch('/:userId/follow', isLoggedIn, async (req, res, next) => { try { const user = await User.findOne({ where: { id: req.params.userId } }); if (!user) { res.status(403).send('존재하지 않는 사용자는 팔로잉할 수 없습니다.'); } await user.addFollowers(req.user.id);//게시글 작성자를 따라다니는 followers목록에 나를 추가 res.status(200).json({ UserId: parseInt(req.params.userId, 10) }); } catch (err) { console.error(err); next(err); } });
-
미해결웹 게임을 만들며 배우는 자바스크립트
함수 비동기콜백에서 이벤트의 값은 뭐가 되는 건가요?
지금까지는 a라는 함수를 만들고 a('b')를 하면 a라는 함수에 다음에있는 ()안의 값으로 'b'가 들어간다고 알고 있었는데요. 이번에 나온 addEventListener나 indexOf는 어떤 식으로 작동해서, 이벤트의 값이 뭐가 되는 건가요?
-
미해결윤재성의 Vue.js 프로젝트를 통한 실무 개발 과정
component를 동적으로 렌더링하는 사례는 어떤 게 있나요?
선생님 data를 이용해서 component를 동적으로 렌더링한다는 것을 알게 되었는데요. 실무에 어느 부분을 만드는 데 주로 사용되는지 알 수 있을까요? 감사합니다.
-
미해결Svelte 실전 강의 - 스도쿠 만들기
백엔드와 프론트엔드 로그인 구현 부분까지의 중간단계 에러
강의 잘 듣고 있습니다.Backend와 Frontend 로그인 구현 부분에서, Frontend Join 컴포넌트 까지 영상을 보고 실습하고 있습니다.그런데, 백엔드와 프론트엔드 서버를 각각 띄우고 나서 크롬 개발모드에서 xhr.js:184 GET http://localhost:3000/user 404 (Not Found) 라고 뜨는데, 그렇게 뜨고 있는게 맞는지 모르겠습니다. 제가 영상 보면서 작성한 코드도 그렇고, Backend와 Frontend 깃허브 실습코드 다운받아 설치하고 띄워봐도 똑같이 에러가 뜨는데요. 중간에 /user 라우터 부분은 삭제 하지 않았나요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
setDefault 속도에 관해 질문드립니다!
튜플에서 딕셔너리로 만들 때 setDefault속도가 더 빠르고 레퍼런스에서도 추천한다고 한 부분에서 궁금증이 생겼습니다! 정확히 튜플에서 딕셔너리로 만들 때 setDefault에 속도가 빠른지 정확히 이해가 되지 않습니다ㅠㅠ 레퍼런스에서도 setDefault쓰는 걸 추천한다고 해 검색해봤는데 어떤 레퍼런스인지 찾지 못했습니다. 왜 setDefault가 빠른지 알고 싶고, 그 레퍼런스 출처를 알 수 있을까요? 그리고 강의 너무 잘 보고 있습니다!
-
미해결Vue.js 시작하기 - Age of Vue.js
axios도 promise처럼 .then().then()이렇게 쓸 수 있나요?
axios가 promise 기반이라면, promise chaining이 가능한것처럼 axio는 then의 return 값이 다시 axios인가요? 그리고 제공해주신 링크를 읽어보면서 async와 chaining의 차이를 잘 모르겠습니다. 둘다 비동기 작업이 끝나길 기다리다가 다음 비동기 작업으로 넘어가는거 맞죠?
-
해결됨웹 게임을 만들며 배우는 자바스크립트
짝맞추기게임
유튜브로 공부하다 넘어왔습니다! 짝맞추기 게임 중 카드를 색상 말고 이미지를 넣고 싶은데 변수를 어디다 어떻게 넣어야 할지 감이 안와서 질문드려요!
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
y값이 너무 무분별하게 나옵니다.
안녕하세요 교수님 복습하는 도중에 막히는 부분이 있어 질문 드립니다. 따로 제가 구한 엑셀의 표가 다음과 같은데 이 표를 이렇게 만들고 앞써 질문에 답해주셨던 그래프로 만들었더니 y값이 무분별하게 나옵니다. 이럴때는 어떻게 해야하나요?
-
미해결요즘 누가 유료로 웹서비스 구축 하나, Firebase의 모든것
어디서 도메인을 구매하나요?
마지막에 잘 안들려서 모르겠습니다
-
미해결스프링 부트 개념과 활용
안녕하세요 강사님!
안녕하세요. 우선 부족한 부분을 채우고 복습하기 위해 강의를 듣고있는데 매 강의마다 정말 많은 것을 얻어갑니다. 감사합니다. 한가지 여쭤보고 싶은 점이 있어서 글을 남기게 되었습니다. https http2설정을 지우고 jar로 실행을 했을 땐 잘 동작하는 것을 확인할 수 있었는데 설정을 했을 땐 에러가 났습니다. keystore때문이지 않을까? 라는 생각을 해봤지만 정확한 이유를 알고싶어 여쭤보게 되었습니다. 혹시 수업에서 다뤄주셨는데 제가 놓쳤다면 죄송합니다;; ㅎㅎ
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
엑셀에서 특정행을 가져와서 그래프를 그려보는것을 했었는데 여러개의 행을 가져와서 그리는건 어떻게 하나요?
방금전 질문했던 학생입니다. 지역에서 경기값을 지워서 그리는 것은 성공하였습니다. 그러면 경기값과 서울값, 제주값을 가져와서 그래프를 그릴려고 하면 어떻게 해야하나요? ex) 지역명에서 경기, 서울, 제주 3가지 값을 가져와 그래프를 그린다.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
제이쿼리 네비게이션
제이쿼리로 네비게이션 만든거랑 이번 강의 css hover를 이용해서 만든 네비게이션이랑 어떤 차이가 있는건가요? 전 강의에는 제이쿼리 mouseenter, mouseleave로 만들었는데 이번 강의에 굳이 css hover로 만든 이유가 있을까요?ㅠㅠㅠ
-
미해결실전 리액트 프로그래밍
1분경 나오는 사례
1분 경에 나오는 사례의 의도가 잘 이해가 가지 않습니다. 의존성 배열을 삽입하는 경우든 아니든, 화면을 클릭하면 state가 바뀝니다. 그러면 컴포넌트가 렌더링되면서 state가 업데이트 되고, useEffect가 실행되겠지요. 의존성 배열을 지우고 set 함수안에 함수적으로 state를 업데이트 해주셨는데, 별 다른 차이가 있을까요? 혼란스럽네요... 의존성 배열을 빈배열로 넣고 클로저 현상이 생길때, 함수적으로 update하면 클로저 현상을 없앨 수 있다.. 이런 의도인건지 아니면 다른 의도가 있는건지 잘 모르겠습니다.
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
배경
선생님~~ 제가 지금 3.9버전을 쓰는데 background = pygame.image.load("C:/Users/leeha/Desktop/ python/pygame_basic/background.png") 라고 적었는데 안되요ㅠㅠ 어떻게 해야 하나요