묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
버튼을 담당하는 i태그에 문제가 생겼습니다.
아무것도 나오지 않아요. span부분은 되었는데 i부분은 i태그안에 텍스트가 들어가야 파란바탕과 텍스트가 같이 나오더라구여. 영상처럼 하얀색 기호가 없구여. awesome icon 적용이 안되는것 같은데 이건 어떤 문제인가요? 구글링을 해보았는데도 해결을 못하고 있습니다. 임시방편으로 기존의 버튼으로 이어가려고 합니다. 해결책을 알고계신다면 알려주세요. 영상처럼 이쁘게 바꾸고 싶어요.
-
미해결React로 NodeBird SNS 만들기
질문이요
시퀄라이즈 association이 제가 이해한 개념이 맞는지 확인 부탁드려요. post.js db.Post.belongsToMany(db.User, { through: 'Like', as: 'Likers' }); user.js db.User.belongsToMany(db.Post, { through: 'Like', as: 'Liked' }); Post 와 User는 N:M관계로 서로 이어주는 중간테이블 Like를 갖고 있다. 그 Like 테이블 안에는, 기본적으로 Created_at, Updated_at 컬럼을 갖고있다. 그리고, 두개의 테이블의 아이디 PostId 와 UserId를 갖고있다. post.js 에서 정의한 Liker는 UserId 를 뜻하고, user.js 에서 정의한 Liked는 PostId를 뜻한다. 서로의 아이디를 가리키는 형국이다. Like 중간테이블에 값저장하기. const post = await db.Post.findOne({ where: { id: req.params.id }}); await post.addLiker(req.user.id); post.addLiker(req.user.id); : 중간 테이블의 값을 넣어줌 Liker 이므로 UserId를 써주어야한다. 중간 테이블에는 , post 이부분에서 PostId 와 req.user.id 이 부분에서 UserId가 채워진다. 1. 지금 제가 맞게 이해한건가요? ________________________________________ 2. [ Hashtag { dataValues: { id: 9, name: 'ww', updatedAt: 2019-10-19T07:11:33.896Z, createdAt: 2019-10-19T07:11:33.896Z }, _previousDataValues: { name: 'ww', id: 9, createdAt: 2019-10-19T07:11:33.896Z, updatedAt: 2019-10-19T07:11:33.896Z }, _changed: { name: false, id: false, createdAt: false, updatedAt: false }, _modelOptions: { timestamps: true, validate: {}, freezeTableName: false, underscored: false, paranoid: false, rejectOnEmpty: false, whereCollection: [Object], schema: null, schemaDelimiter: '', defaultScope: {}, scopes: {}, indexes: [], name: [Object], omitNull: false, charset: 'utf8mb4', collate: 'utf8mb4_general_ci', sequelize: [Sequelize], hooks: {} }, _options: { isNewRecord: true, _schema: null, _schemaDelimiter: '', attributes: undefined, include: undefined, raw: undefined, silent: undefined }, isNewRecord: false } ] 지금 윗 값이 result.map(r => r[0]) 이거 인데요. await newPost.addHashtags(result.map(r => r[0])); Hashtags 이니 아이디들 들어간 배열을 수용할 수있는건 알겠는데요.. newPost.addHashtags( ) 이 괄호안 부분에 id 들어있는 객체(윗 값처럼 여러개 섞였어도..)만 있으면, 자기가 알아서 id 만 골라서 갖고 가는건가요?? _________________________________________ 3. 1:N 관계에서요 post 와 image는 1:N 관계이잖아요 db.Image.belongsTo(db.Post); Image가 post에게 belongsTo (===속함) 하니까, Image 테이블에 postId라는 post를 가르키는 컬럼이 생기는걸 알 수 있는데요. add 함수 쓸때요, if (Array.isArray(req.body.image)) { const images = await Promise.all(req.body.image.map((image) => { return db.Image.create({ src: image }); })); await newPost.addImages(images); 이렇게 되어 있던데요, newPost.addImages(images) 에서 도대체 괄호 안에 무엇을 써주어야 할지 헷갈리네요? newPost 는 테이블이고 Images 도 테이블인데, 괄호안에, postId 값을 넣어줘야한게 아닌가요? 괄호에 무엇이 들어 가야하는지 헷갈리네요. 1번과 다르게 괄호 안에, 중간테이블의 Liker (UserId를 가르키는 ) 채우기 위해 req.user.id 넣어 주었는데요.. post.addLiker(req.user.id); : 중간 테이블의 값을 넣어줌 Liker 이므로 UserId를 써주어야한다. 중간 테이블에는 , post 이부분에서 PostId 와 req.user.id 이 부분에서 UserId가 채워진다. 여기에서도 의문인게, A.addB(___) 이면, A와 B 둘다 DB 테이블이여야한는데 Liker는 테이블이 아니지 않나요.. ??? 아니면, 다대다 할때만, as를 이용해서 user 테이블을 Liker라 이름 붙이고 또 동시에, UserId라는 표현으로 해주는건가요? ___________________________________________ 4. 관계를 지으면 id 부분이 와서 다른테이블을 가르키잖아요. id 대신에 따로 지정한 것이 오게 할 수 도 있나요? ___________________________________________
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ManyToMany 질문
선생님, 실무에선 Category <-> Item 관계를 @ManyToMany를 이용하지말고 CategoryItem entity를 만들어서 OneToMany, ManyToOne으로 이어주라 하셨는데 category가 items를 가져오고 싶을 때는 categoryItems에서 item들의 id를 받아오고 그걸로 다시 item테이블에서 조회해서 id값이 일치하는 것들을 가져오는식으로 작업해야하나요?
-
미해결인스타그램 클론 - full stack 웹 개발
강의영상이 안나와요 ㅠㅠ
새글|수정|삭제 :: forms 여기 파트 강의영상이 죄송합니다 이 동영상은 잠시 후 시청 가능합니다. 이러면서 영상이 안나옵니다.. 빠르게 수정 부탁드려요
-
미해결인스타그램 클론 - full stack 웹 개발
fake_field가 input안에 안들어가요..
<!DOCTYPE html> <html lang="en"> <head> <meta charset = "UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/reset.css"> <link rel="stylesheet" href="css/style.css"> <script src="js/main.js"></script> </head> <body> <section id = "container"> <header id = "header"> <section class = "inner"> <h1 class = "logo"> <a href="index.html"> <div class = "sprite_insta_icon"></div> <div class = "sprite_write_logo"></div> </a> </h1> <div class="search_box"> <input type="text" placeholder="검색" id = "search-field"> <div class="fake_field"> <span class="sprite_small_search_icon"></span> <span>검색</span> </div> </div> <div class="right_icons"> <div class="sprite_camera_icon"></div> <div class="sprite_compass_icon"></div> <div class="sprite_heart_icon_outline"></div> <div class="sprite_user_icon_outline"></div> </div> </section> </header> </section> </body> </html> ------------------------------ .sprite_insta_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -53px -235px; width: 22px; height: 22px; } .sprite_write_logo { display: inline-block; background: url('../imgs/background01.png') no-repeat -94px -72px; width: 103px; height: 29px; } .sprite_compass_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -130px -286px; width: 23px; height: 23px; } .sprite_user_icon_outline { display: inline-block; background: url('../imgs/background01.png') no-repeat -272px -182px; width: 22px; height: 24px; } .sprite_heart_icon_outline { display: inline-block; background: url('../imgs/background01.png') no-repeat -52px -261px; width: 24px; height: 22px; } .sprite_small_search_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -337px -246px; width: 10px; height: 10px; } .sprite_more_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -301px -218px; width: 15px; height: 3px; } .sprite_bubble_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -239px -202px; width: 24px; height: 24px; } .sprite_share_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -324px -52px; width: 21px; height: 24px; } .sprite_bookmark_outline { display: inline-block; background: url('../imgs/background01.png') no-repeat -237px -286px; width: 19px; height: 24px; } .sprite_bookmark_outline.on { background: url('../imgs/background01.png') no-repeat -159px -286px; width: 19px; height: 24px; } .sprite_small_heart_icon_outline { display: inline-block; background: url('../imgs/background01.png') no-repeat -323px -274px; width: 12px; height: 11px; } .sprite_camera_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -271px -104px; width: 24px; height: 22px; } .sprite_insta_big_logo { display: inline-block; background: url('../imgs/background02.png') no-repeat -98px -150px; width: 175px; height: 51px; } .sprite_plus_icon { display: inline-block; background: url('../imgs/background01.png') no-repeat -187px -202px; width: 23px; height: 23px; } body{ background: #fafafa; } #header{ width: 100%; position: absolute; left:0; top:0; z-index: 999; background: white; border-bottom: 1px solid rgba(0,0,0,0.1); } #header .inner{ width: 975px; height: 77px; margin: auto; display:flex; justify-content: space-between; align-items: center; } #header .inner .logo > a { color: transparent; } #header .inner .logo .sprite_insta_icon { position: relative; margin-right: 30px; } #header .inner .logo .sprite_insta_icon:after{ /* :을 찍으면 가상선택자 after는 그 후에 뭔가를 만들겠다. 콘텐츠를 받아야함.*/ content: ''; width: 1px; height: 28px; background: #000; position: absolute; right : -15px; top : 0; } #header .inner .logo div{ vertical-align: middle; } #header .search_box{ position: relative; } #search-field{ width: 185px; height: 28px; background: #fafafa; border: 1px solid #dbdbdb; border-radius: 3px; padding: 3px 30px; color: #999; font-weight: 400; text-align: left; font-size: 14px; outline: none; } #header .search_box .fake_field{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); } 이 코드인데 문제를 찾을 수 가 없어용..
-
미해결윤재성의 처음 시작하는 파이썬
본거 안본거 확인 할수있는 방법 없습니까?
교육과정을 분명히 다 들었는데 강의가 한개 비어서 95%로 표기되는데요. 들은거 안들은거 구분되는 마크도 없고 어떻게 해야하는건지요?
-
해결됨코알못에서 웹서비스 런칭까지 : 2021 제주 코딩 베이스캠프(Django)
each반복문 활용한 부분에서 질문 있습니다.
$.each(data, function(i, field){ $("#result").append("<p>" + field + "</p>"); }); 이게 each 반복문을 이용해서 배열 data를 화면에 넣은 것이라고 하셨는데요. 여기서 i와 field는 무엇을 뜻하는 건가요??
-
React로 NodeBird SNS 만들기
회원 가입 버튼 누르면 한참 빙글빙글 하다 에러가 발생해요
삭제된 글입니다
-
미해결React로 NodeBird SNS 만들기
me 가없을때 0을 대신넣어주는 로직 질문
const user = await db.User.findOne({ where: { id: parseInt(req.params.id, 10) || req.user.id || 0 } }); 1. 이부분에서요 req.params.id가 0이면 내정보를 요청한걸로쳐서 req.user.id를찾는것은 이해하고있습니다. 근데 로직에서 req.params.id가 0이면 parseInt()가 0을 반환 하잖아요? 그럼이렇게될텐데 where:{id: 0 || req.user&&req.user.id || 0} or연산자에 의해서 0 이 false로 처리되어서 두번째값인 req.user 가 대입되는건가요? 2. 그렇다면 req.user역시도 undefined라면 마지막값도 0이니 where:{false||false||false}가 되서 sequelize가 에러를일으키지않나요?sequelize가 undefined값을받았을때 오류를 일으킨다고 다른댓글에 답변하신거를 봐서요
-
미해결홍정모의 따라하며 배우는 C++
그래픽스 공부 질문드립니다!
안녕하세요. 교수님. 게임 엔진과 게임 개발자가 꿈인데 그래픽스 공부는 어떻게 해야 될까요? 전공자라 기본기는 있는 편인데, 그래픽스 수업은 들은 적도 없고 진입 장벽도 높은 편인 것 같아서 어떻게 공부해야 될지 잘 모르겠습니다. 수학과 개발은 꾸준히 공부중인데 opengl 과 directx 중 뭐부터 공부해야될까요 ? 또한 그래픽스 책이라도 추천해주시면 감사하겠습니다.
-
미해결코알못에서 웹서비스 런칭까지 : 2021 제주 코딩 베이스캠프(Django)
반복문 each에서 잘 모르겠는 줄 질문합니다
const original_contetnt = $(this).html(); 이 줄이 무슨 뜻인지 잘 모르겠습니다..ㅠㅠ 원래의 컨텐츠 내용이 무엇을 의미하는건지, html()이라는 함수가 td의 html을 가져오는게 무슨 의미가 있는건지 잘 모르겠습니다..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
atom에서 autocomplete-python 설치했는데 업그레이드 하라고 뜹니다
내용을 보니까 추가적으로 kite를 깔라고 나오는데 설치해도 되는지요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
현재 최신버전이 3.8.0인데 영상의 3.7.3과 다른점이 있는지요?
19년 10월 18일 강의구입하여 듣고있는 중인데, 현재 파이썬 홈페이지에 올라온 최신 버전이 3.8.0 버전인데, 3.8.0버전으로 다운해도 괜찮은지 궁금합니다.
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
49강 slot 강의 중 질문
안녕하세요. 강의를 듣다가 제가 중간에 놓친 부분이 있는지 궁금해서 질문드립니다. 지금까지 따라 온다고 따라왔는데요 ListItem에서 title 영역과 username 영역을 클릭하면 보이는 유저정보를 구성하는중에 <template v-else> <router-link v-bind:to="`item/${item.id}`"> {{ item.title }} </router-link> </template> 이렇게 되어있는데 강의 영상 페이지 url은 /item/21289201 이런 형태인데 실제로는 /item?id=21289201 이렇게 구성되면서 강의내용대로 구성한 페이지가 로딩되지 않고 있어요. 제가 뭐 놓친 부분이 있나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
안녕하세요~
혹시 중급 강좌에서 예시로 보여주셨던 정리된 ppt 파일은 공유 받을 수 없나요? 정리가 잘 되어 있어서, 마지막 리뷰하고 고급 강좌로 넘어 가려 하는데 비슷한 정리 파일이라도 공유 된 사이트가 있는지 궁금합니다!
-
미해결OpenCV + WebApp (얼굴 눈 검출 웹앱만들기)
강의 자료???
강의자료 링크로 가보니 아무것도 없네요. 물론 github 주소로 가봐도 자료가 없네요. 강의자료나 프로젝트 소스를 어디서 다운 받을 수 있을까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
(질문) 다음 프린트 결과값이 나오지 않습니다
안녕하세요, 선생님. 좋은 강좌 감사합니다. 수업을 따라하다가 어느 순간이 되면 다음 프린트 결과값이 나오지 않고 일정 구간에서 멈춰 있는데 왜 이런 현상이 일어나는 것인가요? 만약에 중간에 오류가 생기면 그 다음 프린트 결과값이 출력이 되지 않는 것으로 이해할 수 있는데, 딱히 입력을 잘못하거나, 오류가 있는 것도 아닌데 [Finished in ...] 이 나오고 다음 프린트 값이 출력되지 않습니다..
-
미해결Firebase 서버를 통한 IOS앱 HowlTalk 만들기
ChatRooms 설정이 갑자기 바뀌었어요
강의가 누락된 것 같습니다
-
미해결React로 NodeBird SNS 만들기
bcrypt 설치 오류
> bcrypt@3.0.6 install D:\Project\test\bb\back\node_modules\bcrypt > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.6/bcrypt_lib-v3.0.6-node-v72-win32-x64-unknown.tar.gz node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.6 and node@12.3.1 (node-v72 ABI, unknown) (falling back to source compile with node-gyp) gyp ERR! UNCAUGHT EXCEPTION gyp ERR! stack Error: spawn D:\Visual Studio\MSBuild\15.0\Bin\MSBuild.exe ENOENT gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19) gyp ERR! stack at onErrorNT (internal/child_process.js:456:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:84:9) gyp ERR! System Windows_NT 10.0.18362 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "build" "--fallback-to-build" "--module=D:\\Project\\test\\bb\\back\\node_modules\\bcrypt\\lib\\binding\\bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=D:\\Project\\test\\bb\\back\\node_modules\\bcrypt\\lib\\binding" "--napi_version=4" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72" gyp ERR! cwd D:\Project\test\bb\back\node_modules\bcrypt npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bcrypt@3.0.6 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bcrypt@3.0.6 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\User\AppData\Roaming\npm-cache\_logs\2019-10-18T08_33_22_379Z-debug.log bcrypt를 인스톨하면 이런 오류가 뜹니다.
-
미해결스프링 웹 MVC
강좌 내용은 아니지만 Java final 관련해서 궁금한점이 있어서 질문드립니다.
안녕하세요 기선님 최근에 한번만 값이 할당되는 변수에는 실수를 줄이기 위해서 명시적으로 final을 붙여주면 좋다는 글을 봤습니다. 저도 그 말이 맞다고 생각해서 실제로 코딩할 때 붙이는 습관을 들이려 하는데, 제 생각이 맞는지 궁금하기도 하고, 실제로는 어떻게 사용되는지 궁금해서 질문드립니다. 기선님은 평소에 final을 어떤식으로 사용하시나요? 변수 말고도 메소드나 클래스에도 어떤식으로 사용하시는지 공유해주시면 정말 감사드릴 것 같습니다.