묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
노드와 three.js import 오류
node로 서버를 연결해서 만들고 있는데 서버를 실행하면 아래와 같은 오류가 뜹니다.강의에 나온 것처럼이렇게 import 하면 안 된다는 것 같아서이렇게 바꿔도 봤는데 또 같은 오류가 뜨더라구요..어떻게 해결해야 할지 아무리 찾아도 나오지 않아서 질문합니다.간절해요..(노드와 index.html을 연결했고, html 안에 three.js를 연결지었습니다)
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
dood mac
dood방식으로 구성하기 위해 명령을 docker run --privileged --name docker-server -itd -p 10022:22 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /var/run/docker.sock:/var/run/docker.sock --cgroupns=host edowon0623/docker-server:m1 /usr/sbin/init다음과 같이 작성하였지만 docker-server 안에서 docker images를 확인할 수 없었습니다. (아무 이미지도 없다고 나옵니다, ps -a 도 마찬가지)mac m1을 사용할 때 DOOD 방식 사용하는 법을 알려주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대일 양방향에 대한 정리와 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래는 제가 강의를 듣고 직접 변형 코드를 작성하면서 정리한 내용입니다.강의 중 member - team의 관계가 comment - team 으로 변경 되었다고 생각하시면 되겠습니다.제일 아래에 제 질문이 있습니다. 요약하자면, findByXXX 등으로 다대일 단방향 관계에서도 원활하게 데이터를 가져올 수 있는 것 같은데, 굳이 양방향을 사용하는 이유는 객체 지향적으로 코드를 짜기 위함인지, SQL 등에서 이점이 있는 지에 대해 궁금합니다.양방향 연관관계가 필요한가?댓글 같은 경우는 commentRepository에서 findByWriter로 가져오는 게 효율적인가? 아니면 Post 엔티티에서 comments에 대한 List 연관관계를 설정하고 가져오는 게 효율적인가?편한 건 post.getComments 로 가져오나, commentsService.findByWriter(Post post) 를 호출시켜서 가져오나 비슷한 것 같다.그런데 전자로 할 땐 account와 post 에만 select 문이 나가고, 후자로 할 땐 comments에 대한 select 문이 추가로 나간다.좋아요같은 경우는 자주 조회되니 post.getComments를 해두는 게 좋은건가?아래와 같은 연관관계 편의 메소드는 왜 필요할까?public void setPost(Post post) { this.post = post; post.getComments().add(this); } 어차피 em.persist(comment)에서 외래 키 값을 comment의 post에서 꺼내서 넣으면서 DB에 반영이 되며, JPA에서 실제 Post의 데이터를 사용하는 시점에 쿼리를 날린다. (지연로딩) 그래서 값을 세팅해주지 않아도 값이 출력이 된다.그러나 객체지향적으로 생각해보면 양쪽 다 값을 입력하는 것이 맞다.또한 post.getComments().add(this); 를 넣어주지 않으면 2군데서 문제가 생긴다.em.flush와 em.clear를 하지 않는 상황flush와 clear를 하면 1차 캐시에 아무것도 없으므로 DB에서 다시 조회해온다. 그래서 JPA가 FK가 있다는 것도 알고, 매커니즘이 동작한다.em.find해서 post을 가져올 때, 해당 post은 영속 컨텍스트의 1차 캐시에 있다. 위에 코드에서 세팅된 값 그대로 메모리에 올라가 있다.comments 컬렉션에 값이 있을까? 없다. 순수한 객체 상태이다.테스트 케이스 작성테스트 케이스를 작성할 때는 JPA 없이도 동작하도록 순수한 자바 단위로 테스트를 작성한다. 이때, 에러가 발생한다.양방향 연관관계 주의사항순수 객체 상태를 고려해서 항상 양쪽에 값을 설정하자.JPA에서의 설계는, 단방향 매핑만으로도 이미 연관관계 매핑은 완료테이블과 객체를 매핑한다는 관점에서만 보면, 단방향만으로도 설계가 완료된다.양방향 매핑은 반대방향으로 조회(객체 그래프 탐색) 기능이 추가된 것 뿐객체 입장에서는 양방향으로 설계해서 좋을 게 없다. 연관관계 편의 메서드 등 고민거리만 많아진다.그러나 실무에선, JPQL에서 역방향으로 탐색할 일이 많다. 그때 양방향으로 하면 된다.단방향 매핑을 잘하고 양방향은 필요할 때 추가해도 됨. (테이블에 영향을 주지 않음. 그냥 반대방향에서 컬렉션만 추가된 것.)즉, 설계할 때는 단방향 매핑만으로만 설계하고, 개발에 들어가서 양방향을 고민해도 늦지 않다. 객체 입장에서는 양방향 매핑에 대한 이득이 없다. 필요하다면 연관관계 편의 메서드로 양방향을 설정해주자.질문JPQL에서 역방향으로 탐색할 일이 많을 때 양방향으로 설정해야 하는 이유는 뭐지?코드를 객체지향적으로 짜기 위함인가, 아니면 SQL 쿼리에서 이점을 얻을 수 있는 건가?만약 둘 중 하나를 선택한다면, 나머지 하나는 없어도 되는 건가?양방향 연관관계 설정하고 post.comments로 JpaRepository의 findByWriter 역할을 대체한다면, findByWriter는 없어도 되는건가?영속 컨텍스트 1차 캐시에 없는 상태에서 post.getComments()로 가져올 때, Comment 에 대한 SQL에 select 문이 나가지 않는 이유는? 영속 컨텍스트 1차 캐시에 없는 상태에서 post.getComments()로 가져올 때, Comment 에 대한 SQL에 select 문이 나가지 않는 이유는?// Comment Select문 실행됨. @Transactional(readOnly = true) public List<Comment> findByPost(Long postId) { Post post = postService.findById(postId); return commentRepository.findByPost(post); } // 연관관계 편의 메소드를 사용한 코드 // Comment Select문 실행되지 않음. 값은 정상적으로 출력됨. @Transactional(readOnly = true) public List<Comment> findByPostObj(Long postId) { Post post = postService.findById(postId); List<Comment> commentList = post.getCommentList(); log.info("post.getCommentList = {}", commentList); return commentList; }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
고수분들의 도움이 필요합니다.
11~12강에서 로그인기능을 구현할때 User.comparePassword is not a function라는 타입에러가 뜹니다.stackoverflow, google등 여러 방책을 찾아봤지만 도대체 왜 User.comparePassword가 function으로 인식이 안되는지 모르겠습니다.method명이 중복되어있지도 않고 User.js를 server.js에서 잘 받아오고 User객체로 접근하는 것인데 왜 함수가 아니라고 뜨는 걸까요. 제가 뭔가 착각하고 있는것 같은데 그게 뭔지 잘 모르겠습니다. 생각보다 간단한 오류인것 같은데 말이죠... 이러한 오류가 뜹니다.node:events:491 throw er; // Unhandled 'error' event ^ TypeError: User.comparePassword is not a function at /Users/choeeunchong/Documents/develop/react_node/server.js:70:10 at /Users/choeeunchong/Documents/develop/react_node/node_modules/mongoose/lib/model.js:5207:18 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) Emitted 'error' event on Function instance at: at /Users/choeeunchong/Documents/develop/react_node/node_modules/mongoose/lib/model.js:5209:15 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) Node.js v18.11.0 server.js(index.js)[nodemon] starting `node server.js` listening on 8888 MonogeDB Conneted... compare 들어가기전. asd12345디버깅을 통해서 server.js에서 로그인 기능 중, comparepassword으로 들어가기 직전까지는 잘 들어가는 것으로 확인을 했습니다. const { User } = require("./models/User"); //로그인 기능 app.post("/login", function (req, res) { //console.log(req.body); //1. 입력된 이메일이 db에 있는지 확인한다. User.findOne({ email: req.body.email }, (err, user) => { if (!user) { return res.json({ loginSuccess: false, message: "입력된 이메일에 해당하는 유저가 없습니다.", }); } console.log("compare 들어가기전."); //2. 이메일에 해당하는 패드워드가 일치하는지 확인한다. console.log(req.body.password); User.comparePassword(req.body.password, (err, isMatch) => { console.log("comparePassword 안."); if (err) return res.status(400).send(err); if (!isMatch) { return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다.", }); } console.log(req.body); //3. login 된경우 토큰생성 user.generateToken((err, user) => { if (err) return res.status(400).send(err); //token을 쿠키에 저장한다. res .cookie("x_auth", user.token) .status(200) .json({ loginSuccess: true, userId: user._id }); console.log(req.body); }); }); }); });User.jsuserSchema.methods.comparePassword = function (plainPassword, callback) { bcrypt.compare(plainPassword, this.password, function (err, isMatch) { if (err) return callback(err); return callback(null, isMatch); }); };
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한요청드립니다
인프런 ID/email : jemin1947@nate.comgirhub ID : dudrn1947@gmail.com (username: HanJaemin-kr )
-
미해결유니티 Addressable 을 이용한 패치 시스템 구현
안녕하세요.. 다름이아니라
유니티 프로그래머 현업자의 기본 스킬들이강의를 구매하고 질문을 남긴지 1주일이 다되가는데 아직 답변이없으셔서요.. 프로파일링 강의에서스트링을 사용할때 어떻게하면 이거를 줄일수있는지 옵티마인 세션에서 하신다고 하셨는데 해당내용이 어디에있나요.. 새로운 강의에나오는걸까요??
-
미해결다양한 사례로 익히는 SQL 데이터 분석
함께 가장 많이 주문된 상품 추출에서의 order by
세션 4에서 order별 cross selling을 진행할 때 상품별로 함께 주문된 상품의 건수를 count한 후 order by desc를 통해 건수가 가장 많은 순으로 순위추출을 하는 과정과 관련하여 질문이 있습니다.함께 주문한 건수가 동일한 경우 실무적으로는 두 데이터 모두를 가지고 있는지, 혹은 부가적인 분석 과정을 거쳐 한 개의 데이터만을 가지고 있는지 여쭤보고싶습니다.강의의 코드에 따르면 단순 order by를 하는데, A의 경우 AC와 AD가 동일한 건수로 구매되었지만 order by의 과정에서 AC가 우선시 되었지만 반대로 BA와 BD의 경우 BD가 우선시되는 것을 확인할 수 있었습니다. cnt를 기준으로 order by를 할 때 cnt가 동일한 경우 이후 상품명으로 order by를 하게 되는지, 혹은 랜덤하게 결과가 도출되는 것인지 여쭤보고싶습니다. 감사합니다 :)
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
질문
git에 올라온 파일을 사용했는데 이렇게 오류가 나오고 있습니다. servlet-context.xml에 <resources mapping="/resources/**"location="/resources/" />이렇게 설정이 되어 있는데 혹시 이것 때문인지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
17143 낚시왕 문제 질문
안녕하세요 17143 낚시왕 문제 풀다가 질문 생겨서 글 올립니다.http://boj.kr/086861b125384b6caf2d251eb1c186ef저는 위와 같이 코드를 작성하였는데, 답은 맞는 것 같지만 시간 초과가 납니다.제 코드 중 시간 초과를 일으킬만한 부분 혹시 알려주실 수 있을까요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
시멘틱 태그 조건에 대해서
타 국비 지원 학원을 다니면서 강의를 듣고 있는데저는 시멘틱 구조가 반복되는 div를 방지하기 위해서 사용함으로 알 고 있었는데저희 학원 선생님 경우에는 section 태그 아래에 h1, h2 등등 제목 태그가 있어야 된다 배웠는데 5:34) 강사님 같은 경우는 .inner div로 묶고 h1로 쓰시는데 section뿐만 아니라 정확한 조건이 궁금합니다
-
미해결직접 활용할 수 있는 Git과 Github - 기초부터 협업까지
깃헙에 코드를 올릴때!
깃헙에 코드를 올릴때 깃헙 레파지토리의 이름과 저의 디렉토리 이름이 꼭 같아야 하나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
postman에서 no environment
postman에서 우측 상단의 no environment를 클릭해도다른 항목이 나오지 않습니다.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
도커 허브
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 도커 허브라는 것은..?예를 들어 로컬의 node의 npm registry가 외부 https://www.npmjs.com/ (정확한 사이트x)에 연결되어 필요한 모듈을 받아오는 것처럼 도커 허브도 로컬 내에 없으면 위와 같은 npm 모듈을 찾는 것처럼 가져온다고 생각하면 되나요?그럼 만약 맞다면 verdaccio 처럼 private한 registry를 구성하고 해당 registry에 없을 시, npmjs.com에서 찾도록 하는 환경을 구성할 수도 있겠네요.?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
예제 파일이 비어있습니다.
아래 주소로 예제 파일을 보내주시면 감사드리겠습니다. wontae.choi@khu.ac.kr
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
디자인 패턴 질문
안녕하세요 냉동코더님보강이론 전 책 검색 만들기까지 수강하였는데요,영상에서 제작한 책 검색 어플은 MVVM패턴으로 제작한 거로 알고있는데 디자인패턴을 적용하지 않고 개발하였을경우에 따로 부르는 명칭이 있나요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
Git 권한 요청
Git 권한 요청드립니다.인프런 아이디 : iplus74@naver.com인프런 이메일 : iplus74@naver.com깃헙 아이디 : iplus74깃헙 Username : iplus74감사합니다.
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
폴더 구조에 대해 질문드립니다.
강사님의 강의를 통해 클린 아키텍처를 조금씩 도입하는 중인데,domain - model에 모든 model을 넣다보니 한 폴더에 너무 많은 파일들이 있어서 보기에 좋지 않더라구요.혹시 domain이 많아 지는 경우, 폴더 구조를 다르게 잡는 방법이 있으신지 궁금합니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
stock decrease에서 synchronized 키워드가 없어도 비관적 락 이후 부터는 동시성문제는 해결이 되는건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
FAILURE: Build failed with an exception 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 다른 질문들 보면서 말씀하신것들 다 해봤는데도 계속 에러가 나오네요..어떻게 해야하나요..??마지막 3번째 사진에 Gradle JVM에도 2번째 사진과 똑같은 파일 경로의 JDK11 로 했는데도 똑같은 오류가 계속 발생합니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.radle 에러..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Plugin [id: 'io.spring.dependency-management', version: '1.0.15.RELEASE'] was not found in any of the following sources:3번째 라인에서 plugin에러가 계속 나옵니다 ㅜ