묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
에러처리 질문
6:25에서 POST /v1/token 요청시 성공인 200응답이 아니면 401응답으로 등록되지 않은 도메인이었거나 500응답으로 기타 에러였는데 그런 응답을 받았다면 else문 건너뛰고 바로 catch문으로 이동하게 되는 것 아닌가요? 6:25에 작성한 else문은 어떤 상황에 작동되는 건지 궁금합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
시퀄라이즈안쓰고 mysql연결하려고 합니다.
기존에 mysql에 연결은 이런식으로 했습니다. 코드가 너무 지져분해서 mvc패턴으로 나눠보려고 하는중입니다.아래처럼 바꾸고 db연결하고 로그인하려고 하는데 이렇게 오류가 발생하고있습니다.구글링해봤는데 대부분은 처음에했던 위에것처럼 많이 나오는거 같아요. db를 models폴더에 mysql.js에 정의하고 controller에서 연결해서 사용하고싶습니다.혹시 controller에서 쿼리문입력하면 너무 지저분한거 같아서 강사님이 models의 user.js에 시퀄라이즈를 이용해서 db에 정보넣는것처럼 쿼리문 따로 폴더를 만들어서 가져오고 사용할수있나요?(쿼리문을 밖으로 빼서 사용하고싶습니다.) 자세히 설명해 주시면 감사하겠습니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
res.render 질문
사용자 이름을 누르면 사용자의 게시글이 출력되는 기능 구현중 res.render가 동작하지 않아 질문 드립니다.아래가 컨트롤러 부분이고 console.log(posts[0].User.nick); 이부분도 출력 되는걸 확인했습니다.그런데 title 안에 posts[0].User.nick 이 부분에서 오류가 뜨는데 위 console.log에서 출력이 되는데 왜 여기선 오류가 뜨는지도 모르겠고 title과 twits 부분을 지우고 main을 다른 페이지로 바꿨는데도 아예 동작을 하지 않는걸 확인했습니다. title 부분에서 오류가 안떠도 페이지가 제대로 로드 되지도 않습니다. exports.renderUpost = async (req, res, next) => { try { console.log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); let posts = []; if (req.params.userId) { const posts = await Post.findAll({ include: [ { model: User, where: { id: req.params.userId }, attributes: ["id", "nick"], }, ], }); console.log(posts[0].User.nick); } res.render("main", { title: ` ${posts[0].User.nick} | NodeBird`, twits: posts, }); } catch (error) { console.error(error); next(error); } }; 제가 작성자 이름을 a 태그로 해서 아래 코드처럼 수정해서 했는데 혹시 이 a태그에 넣은것들이 잘못된건가요? 위 코드에서 console.log 까지 출력 다 되는거 보면 문제가 없을것 같은데 그나마 생길것 같은게 이부분뿐이라 올려봅니다.<a href="#" onclick="findUpost(this);return false;" class="twit-author">{{twit.User.nick}}</a>
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 생성자와 필드의 타입에 관련하여 질문있습니다
위의 코드에서 jpa 때문에 protected로 기본 생성자를 만들어주어야 한다고 하셨는데, 이게 무슨 의미인가요??왜 id는 Long 타입인데, userId는 long타입인가요?왜 id = null;로 해준건가요? sql ddl문은 작성해주지않고 자바 class만 작성해준 후 jpa 어노테이션을 붙여주면 db에 자동으로 테이블 생성이 안되나요? 입문자인데 눈높이에 맞춰 잘 설명해주시는 덕분에 재밌게 배우고 있습니다😄
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
JWT 시그니처, 비밀키 부분 질문
1:49 책 내용을 보면 시그니처 자체는 숨기지 않아도 되고, 비밀 키만 숨기면 된다고 적혀있는데 시그니처 안에 비밀 키가 들어있으니 이것도 유출되면 안 되는게 아닌가요? 비밀 키를 찾지 않고 그냥 바로eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.he0ErCNloe4J7Id0Ry2SEDg09lKkZkfsRiGsdX_vgEg이런 JWT문자열을 가로채서 API서버로 보내면 변조는 아니지만 그냥 그 사람인 척 할 수 있는게 아닌가요?
-
미해결@시코 - MySQL 제대로 배우기 (완벽한 기본기)
MYSQL 설치방법이 없어요
아무리 windows 에서 설치한다지만 서버, 워크벤치, 쉘, 라우터, 도큐먼트, 샘플들 이렇게 제품이 여러개인데, 전부 설치하는것인지등에 대해서 나와있질 않습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
이러한 상황에서는 복합키와 대리키 중 어느것을 사용해야 하나요?
안녕하세요 현재 한 사용자가 한 상점에 대해서 특정 유형의 주문을 몇 번 했는지 조회하는 기능을 구현하고 있습니다.처음에는 주문 테이블의 모든 튜플을 조회하면서 shopid, userid, orderType이 일치하는 경우 값을 누적하는 방식으로 구현을 했는데요,테이블이 갈수록 커지고 이러한 조회가 기획 상 굉장히 빈번하기 때문에 한 유저가 한 상점에 대해 특정 유형의 주문을 몇번 했는지 기억하는 별도의 테이블을 생성하기로 하였습니다.테이블은 userId, shopId, reservationCount, pickupCount, noShowCount 를 필드로 갖도록 구현했습니다.그런데 여기서 기본키를 설정해야 하는데 저는 userId, shopId를 복합키로 하는 것이 좋다고 생각했습니다. 그 이유는 이러한 통계성 테이블이 join을 하는 상황이 없고, 한 유저가 특정 샵을 처음 이용할 때만 튜플이 생기고 이후에는 필드 값만 변경이 이루어지며, 조회가 매우 빈번하기 때문에 userId, shopId를 기본키로 하여 인덱싱을 활용하면 좋다고 생각했기 때문입니다.근데 강사님이 설명하시기를 실무에서는 복합키를 거의 사용하지 않는다고 말씀해주셨는데 이러한 상황에서도 그냥 대리키를 쓰는 것이 낫나요?복합키를 활용한 인덱싱 vs 대리키 + shopId, userId 추가 인덱싱이 둘 중 하나를 적용할 거 같은데 무엇을 기준으로 어떻게 판단해야 할 지 잘 모르겠습니다. 도움 주시면 감사하겠습니다. 참고로 db는 mysql사용중입니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강에서 막혀서 문의드립니다
13강에서 이러한 오류가 떠서 해결해보려고 이것저것 시도해봤는데 영 안되서 문의드립니다 ㅠ해결방법에 대해 도움주시면 감사하겠습니다
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
아랫글 질문자입니다.
구체적인 에러코드 알려달라 하셔서 대답글에 알려드렸는데 못보신거 같아서 다시 올려봅니다.fatal: unable to access 'https://github.com/깃유저명/깃프로젝트명.git/': Failed to connect to {EC2 PUBLIC IP} port 3000: Connection timed out이라는 에러메시지 발생했으며, 위 사진에서는 git clone으로 인한 에러이지만 pull로 당겨도 동일 에러가 발생합니다. 답변 기다리는동안 틈틈히 찾아봤는데 결국 해결이 안돼서 다시 여쭤보는점 죄송합니다 ㅠㅠ
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
좋아요 기능 구현중 에러 질문입니다.
첫번째 부터 순서대로post모델,user모델 passport.index의 deserializeUser부분 route.page 부분 입니다.User is associated to User multiple times. To identify the correct association, you must use the 'as' keyword to specify the alias of the association you want to include. 위 같은 오류가 뜨는데 어떤게 문제인지 아무리 찾아봐도 모르겠습니다..
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
블로그 포스팅 관련 문의
안녕하세요 강사님먼저 좋은 강의 만들어주셔서 감사드립니다. 다름이 아니라 혹시 강의 내용과 pdf 강의 자료를 개인 블로그에 정리해서올려도 되는지 여쭙고자 글 남겨드렸습니다.다른 분들과 공유보다는 스스로 복습하는 용도로 글을 작성하는 목적이 크지만 인터넷에 올라오는 내용인 만큼 먼저 허락을 구하고자 합니다.최대한 지양하겠지만 가끔씩 강의 혹은 pdf 파일 속 그림이나 사진을 올리는 경우가 있을 수도 있을 것 같습니다만 이 때는 당연히 출처를 남기겠습니다.만약 불가하시다면 비공개 처리하여 공유 및 열람이 안 되도록 조치해놓겠습니다.감사합니다.
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
include의 as옵션 질문
include의 as옵션으로 넣은 가명이 belongsToMany의 as옵션으로 설정한 가명을 찾는 것인가요?chatGPT 는 include의 as옵션이 그냥 찾은 객체에 가명을 붙이는 것 뿐이라고 하던데 include: [ { model: User, attributes: ['id', 'nick'], as: 'Followers', }, { model: User, attributes: ['id', 'nick'], as: 'Followings', }, ] })여기서 model옵션으로 똑같이 User를 넣었는데 두 개의 결괏값이 다르게 나온다는 게 이해가 안 돼요
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
좋아요 기능 구현중 시퀄라이즈 add함수 질문
3번째 사진의 post.addliked(parseInt~~ 이 부분에서 addliked 라는 함수가 존재하지 않는다고 하는데 s를 붙여봐도 as에 해당하는 부분으로 교체해봐도 전부 오류가 뜨네요왜그럴까요....
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
GET /cart.json 404 4.349 ms - 2902 에러
게시글 업로드시 다른 요청/응답은 다 정상이고 게시글 업로드와 DB생성도 다 정상적으로 작동되던데 마지막에 GET /cart.json 404 4.349 ms - 2902 에러가 뜨던데 이번 코드에서 /cart.json 요청을 한 코드가 있었나요? 신경을 안 써도 되는 부분인지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다
강사님이 올려주신 파일이 아니라 Spring Initializr여기서 직접 생성한 다음에 프로젝트를 진행하려고 하는데 이노테이션 ?에노테이션이 안먹습니다.. 아마 그래들 파일 문제인것 같은데 강사님 올려주신 동영상에는 그래들파일 수정하라는 말은 없었거든요 ;; 빠른답변 부탁드립니다 그리고 MYSQL 설치할떄도 디폴트디벨로퍼 항목이 없습니다;; 강좌 왜이런지 ;;
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
mysql 설치 중 질문
mysql 설치 중 developer default라는게 안떠서 custom을 눌러서 connector들을 직접 추가해주려고 하는데 현재 8.0.34 버전은 안뜨네요 혹시 connector는 다른 버전을 설치해도 될까요? 그리고 만약 설치한다면 x86으로 돼있던데 제 컴퓨터는 64비트인데 설치해도 되는건가요??아 그리고 제가 예전에 mysql을 설치했었다가 오류가 떠서 완전히 지우고 이번에 다시 설치하는겁니다.
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
시퀄라이즈 실습 강의 : CREATE 가 아니라 SELECT가 출력됩니다.
-C:\Users\ysm65\learn-sequelize>npm start> learn-seuqellize@0.0.1 start> nodemon app[nodemon] 3.0.1[nodemon] to restart at any time, enter rs[nodemon] watching path(s): .[nodemon] watching extensions: js,mjs,cjs,json[nodemon] starting node app.js3001 번 포트에서 대기중Executing (default): SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME = 'users' AND TABLE_SCHEMA = 'nodejs'Executing (default): SHOW INDEX FROM users FROM nodejsExecuting (default): SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME = 'comments' AND TABLE_SCHEMA = 'nodejs'Executing (default): SHOW INDEX FROM comments FROM nodejs데이터베이스 연결 성공 --개정 3판 7장 내용 실습 중 마지막에 브라우저 창에 띄우는 것 까지 확인을 했지만 이름을 클릭 시 comment 내용이 뜨지 않아 하나씩 확인하면서 오류를 찾고 있습니다. 그 과정에서 3판 교과서 344page에서 소개된 내용과 다른 점을 찾았고 강사님과 다르게 CREATED가 아니라 SELECTED 로 뜨는 게 문제의 원인이지 않을까 생각하고 있습니다. 코드의 오타는 확인한 상황인데, 다른 원인이 어떤 게 있는지 고민을 하다가 이렇게 질문 글을 남깁니다. 어떻게 해결을 하는 게 좋을 지 조언을 구하기 위해서 질문을 남깁니다.
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
https 이후 git clone 도는 git pull
certbot을 통해 https를 적용한 뒤에 front 파일에 변경, 추가할 파일이 있어서 git pull origin main으로 시도해 봤지만 타임 아웃 에러가 걸리고 혹시 clone으로 하면 될까 해서 해봤지만 역시 타임아웃 에러가 걸렸습니다. 방법을 찾아보려고 열심히 구글링 2일간 해봤지만 도무지 개선이되질 않아서 ㅠㅠ 혹시 문제원인이나 해결방안 귀뜸해 주시면 감사하겠습니다.
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
req.session 질문
16:19의 3번에서 세션 객체를 찾아서 req.session으로 만든다고 했었는데 이전에 처음에 로그인 했을 때 req.session으로 등록된 세션 객체(13:40의 6번)는 사라진 건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
war 파일로 tomcat 배포 방법 문의?
jar 파일이 아닌 war 파일로 빌드하여, tomcat에 배포하고 싶었습니다.tomcat 배포 방법을 알려주시면 감사하겠습니다.사실 검색하여 해보았으나, 이상하게 404 에러가 계속 나오고 있습니다. ㅜㅜintellj에서는 문제 없고, jar 파일 생성후, 실행해도 문제는 없는데, war파일을 tomcat 배포시 문제가 있습니다.강사님의 많은 경험으로, 답변 주시면 감사하겠습니다.