묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
db가 이미 존재한다는 오류가 뜹니다
graphql 방식이 아닌 rest로 변경하면서 다시한번 복습중인데 rest의 경우 app.module.ts에서 TypeOrmModule.forRoot({})에서 synchronize: true, 가 되어있을 시 db오류가 나는데 제가 다른 것을 잘못 설정한 것인가요?
-
미해결따라하며 배우는 NestJS
auth 컨트롤러 파일에서 signUp은 ": Promise<~>"를 붙이는데 signIn은 왜 안 붙이시나요?
auth 컨트롤러 파일에서 signUp은 ": Promise<~>"를 붙이는데 signIn은 왜 안 붙이시나요?" : Promise<string> "를 붙여줘야 하는 거 아닌가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nodejs express에서 type(commonjs,module) 관련 질문
서버작동을 위한 node app.js를 실행할때에 dotenv를 require, import를 하면서 문의점이 발생했습니다. //server.js import { creatApp } from "./app.js"; import database from "./models/database.js"; const startServer = async () => { try { await database; const app = creatApp(); const PORT = process.env.PORT; app.listen(PORT, () => { console.log(`server is listening on ${PORT}👌`); }); } catch (err) { console.log(`Failed server connect❌`); database.destroy(); } }; startServer(); //database.js import { createConnection } from "typeorm"; import dotenv from "dotenv"; dotenv.config(); const database = createConnection({ type: process.env.DB_CONNECTION, host: process.env.DB_HOST, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, port: process.env.DB_PORT, database: process.env.DB_DATABASE, }); export default database; 이렇게 진행하면 정상적으로 서버가 정상적으로 작동하지만 database.js에서의 dotenv import 부분을 require방식으로 server.js에 옮겨놓으면 에러가 발생합니다.근본적으로 commonJS(require)방식과 module(import)방식에 대해서 dotenv를 불러올때에 require를 쓰면 server.js에 적용할때는 정상적으로 작동하는데 import를 똑같은상황에서 적용하려면 왜 database.js로 넘어가야하는지 그게 궁금해졌습니다!require와 import를 해올 때 전반적으로는 rquire는 동기적이고 import비동기적인 성질(?)때문이라고 하기에 영향이 있는건지.. 근본적인 이해가 되지 않아서요..ㅠㅜ 도움 부탁드리겠습니다 ㅠㅜ!!!!
-
미해결따라하며 배우는 NestJS
createBoard() 완성과 주입후 POST요청 오류 문제입니다!
createBoard()를 controller에 주입한 후 postman을 통해 post요청을 보내는 부분인데요. 그림과 같이 title과 description이 undefined로 나오고 있습니다.자세한 코드는 아래에 저장소 링크로 첨부하도록 하겠습니다.https://github.com/peanutyumyum/nest-study
-
미해결타입스크립트의 모든 것
undefined형식 에러
undefined를 변수로 받지를 못합니다. 왜그런걸까요..??
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
postgresql 연결 오류
안녕하세요. postgreSQL 셋업 과정 중에서 오류가 발생하여 질문 드립니다.강의대로 pg admin에 연결하면 다음과 같은 오류가 발생합니다.Unable to connect to server: FATAL: password authentication failed for user "mslee"아래 stackoverflow에서 확인한 결과 인증문제 같은데요.pg_hba.config 파일을 수정하면 인증문제를 해결할 수 있다고 해서 시도해봤지만 컨테이너에서 vi, vim으로 config 파일을 수정할 수 없어서 문제를 해결하지 못했습니다.문제 해결에 도움을 요청드립니다!https://stackoverflow.com/questions/7695962/password-authentication-failed-for-user-postgres컨테이너는 잘 띄워진 상태입니다.env파일도 잘 입력되어 있습니다.# app NODE_ENV=development PORT=5000 ADMIN_USER=mslee ADMIN_PASSWORD=1234 SECRET_KEY=sdafasdfasd DB_USERNAME=mslee DB_PASSWORD=1234 DB_HOST=localhost DB_PORT=5433 DB_NAME=inflearn # db POSTGRES_DB=inflearn POSTGRES_USER=mslee POSTGRES_PASSWORD=1234
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
mongo 실행 불가
안녕하세요 몽고디비를 다시 복습하고자 공부하던중 저번에 brew update를 통해 해결 된줄 알았지만 또 다시 같은 오류가 발생하였습니다... 이 에러는 어떠한 에러인지 찾아보고 gpt에다가 물어봐도 안나오는데.. 혹시 무엇 때문에 몽고가 brew services start mongodb-community 를하게 되면 이 오류가 발생하게 됩니다.. 도와 주세요..ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
axios를 활용한 데이터 통신
핸드폰 번호를 입력하면 페이지 상에서는개발자 도구에서 이렇게 잘 나오지만vscode console에 찍어보면 myphone 번호가 아니라 undefined로 나옵니다.아래는 phone.js 코드입니다. (length에서 자꾸 에러가 나서 그 부분만 수정된 코드입니다.)function checkPhone(myphone) { //1. 휴대폰 번호 자릿수 맞는지 확인하기(10-11자리) if (myphone && myphone.length < 10 || myphone && myphone.length > 11) { console.log("에러 발생!!! 휴대폰 번호를 제대로 입력해주세요."); return false; } else { return true; } } //2. 인증번호 6자리 만들기 function getToken() { const result = String(Math.floor(Math.random() * 1000000)).padStart(6, "0"); console.log(result); return result; } //3. 핸드폰 번호에 토큰 전송하기 function sendTokenToSMS(myphone, result) { console.log(myphone+ "번호로 인증번호" + result + "를 전송합니다."); } module.exports = { checkPhone, getToken, sendTokenToSMS };이건 signup.html<!DOCTYPE html> <html lang="ko"> <head> <title>회원가입 연습하기</title> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script> function zzz(){ //1. 입력한 휴대폰 번호 가져오기 const myphone = document.getElementById("myphone").value console.log("나의 핸드폰 번호 : ", myphone) //2. 해당 휴대폰 번호로 인증번호 API 요청하기 axios.post("http://localhost:3000/tokens/phone", { qqq: myphone }).then((res) =>{ console.log(res.data) document.getElementById("result").innerText = res.data }) } </script> </head> <body> 휴대폰 번호 : <input id="myphone" type="text"/><button onclick="zzz()">인증하기</button> <div id="result">인증상태</div> <button>회원가입하기</button> </body> </html> index.js const express = require('express'); const { checkPhone, getToken, sendTokenToSMS } = require('./phone.js'); const swaggerUi = require('swagger-ui-express'); const swaggerJsdoc = require('swagger-jsdoc'); const {options} = require('./swagger/config.js'); const swaggerSpec = swaggerJsdoc(options); const cors = require('cors'); const app = express(); //use : 모든 메소드에서 작동한다. app.use(express.json()) app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec)); app.use(cors()) //GET 방식의 API를 만들겠다. //endpoint는 /로 하겠다. // /qqq이쪽 endpoint로 누군가 요청을 하면 아래 함수를 실행을 시키겠다. app.get('/boards', function (req, res) { //1.DB에 접속 후, 데이터를 조회. 조회한 데이터를 객체로 담아온다. const result = [ {number : 1, writer: "철수", title : "제목입니다.", contents: "내용이에요."}, {number : 2, writer: "영희", title : "제목입니다.", contents: "내용이에요."}, {number : 3, writer: "훈이", title : "제목입니다.", contents: "내용이에요."}, ] //2.DB에서 꺼내온 결과를 브라우저에 응답(response)으로 주기 res.send(result) }, function (req, res){ }) app.post('/boards', function (req, res) { //1. 브라우저에서 보내준 데이터 확인하기 console.log(req) console.log("=====") console.log(req.body) //2. DB에 접속 후, 브라우저에서 받은 데이터를 디비에 저장해야 함. //3. DB에 저장된 결과를 브라우저에 응답(response) 주기 res.send('게시물 등록에 성공하였습니다.') }) app.post('/tokens/phone', function(req, res){ const myphone = req.body.phone //1. 휴대폰번호 자릿수 맞는지 확인 (10-11자리) const isValid = checkPhone(myphone) if(isValid === false) return //2. 핸드폰 토큰 6자리 만들기 const myToken = getToken() //3. 핸드폰 번호에 토큰 전송하기 sendTokenToSMS(myphone, myToken) res.send("인증완료!!!") }) //포스트맨에서 send 버튼 누르는 것 = 기다린다 = listen app.listen(3000)
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
한글파일명 업로드시 파일명 깨짐 현상
안녕하세요.강의를 듣고 포스트맨으로 파일을 올리고 있습니다.영어파일명은 파일명이 정상적을 변환되는데한글파일명은 파일명이 깨져서 변환됩니다.-물리적 파일명도 깨지고 디비에도 깨진파일명이 저장됩니다. 깨진파일명으로 크롬에서 불러오면 에러가 납니다.한글파일명을 해결할수 있는 방법이 있을까요?
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
virtual 필드 만드는 과정에서 id를 찾을 수 없습니다.
보시다시피 id값을 찾지를 못하네요.혹시 해결하시분 계실까요
-
미해결따라하며 배우는 NestJS
구현 완료 후 not a function 오류
구현완료후 postman에서 localhost:3000/auth/signup 에 post 했더니 this.userRepository.createUser is not a function이라는 에러가 납니다. 정확히 모두 따라했는데 왜 에러가 나는지 모르겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
문의 드립니다
안녕하세요 백엔드쪽로 준비하는 사람이면 로드맵으로 두개다 구매해도 우선 백엔드쪽 강의 수강만 집중하는것이 나을까요?아님 프론트-> 백엔드 순으로 하면 더 도움이될까요?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
axios로 http 요청시 req,res 로깅하는 방법을 찾고있습니다.
안녕하세요 nest.js 로깅 관련해서 질문 넣을게요 axios로 http 요청 주고받을때 req, res에서 로깅을 하고 싶은데요...검색해보면 https://stackoverflow.com/questions/55431189/nestjs-logging-the-request-response-from-httpservice-callsthis.httpService.axiosRef.interceptors.request.use(config => console.log(config)); 이렇게 사용하라고 추천해주셨는데, 혹시 req,res 로그를 보거나 쌓을 수있는 다른 방법이 있을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
graphQL에서 @apollo/server의 port번호는 4000번으로 default가 되어있는것 같습니다.
v3버전 이후로는 server.listen에 대한 값이 없는것같아서 port번호를 4000번으로 기본설정해놓는걸 console.log로 확인할 수 있는 방법과 혹시 port번호를 변경하고자 할때는 어떻게 해야하는지 알 수 있을까요?계속 해메고 있네요,,,
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
VSCode 백틱(``) 내의 글자 색상
안녕하세요.강의를 보면 강의자님의 VSCODE 에서는 백틱 내에서도변수, 함수 등이 글자 색상이 각각 다르게 표현됩니다.그런데 제 VSCODE에서는 백틱 내에서는 모두주황색으로 나옵니다.이 부분은 어떻게 옵션을 바꿔야하나요?구글링해도 못 찾겠네요.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
학습 자료 ver.2의 링크는 어디서 확인할 수 있을까요?
강의를 듣다보니 새로운 업데이트 된게 있어서 그쪽을 들으려고 하는데 혹시 학습 자료 ver.2의 노션 링크는 어디서 확인할 수 있을까요? 아니면 기존의 [Backend] 학습 자료 ver.1이 업데이트 된건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
노션 과제에 대한 해설을 볼 수 있는 곳이 있나요?
안녕하세요.이번 강의를 신청하고 듣고있는데요.과제를 풀어보려고 하는데 그에대한 정답이나 해설에 대해서 안내되어있는것이 있는지 궁금합니다.
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
Pipe와 middleware와의 차이가 무엇일까요 ?
Pipe와 Middleware 둘다 클라이언트로부터 데이터를 받는다면, 데이터를 중간중간 가공하여 처리하는것으로 이해하고있습니다.허나 Pipe는 주로 유효성검사같은 타당성 검사에 촛점을 맞춘것일까요 ?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
getResponse() 메소드 질문입니다.
해당 강의에서 'api broken' 메세지를 내보낼때, throw가 에러를 인위적으로 에러를 던지는것은 알고있으나, 여기서 던진 에러를 어떻게 받아서 'api broken'을 출력시키는지 감이 올듯 안올듯 한데,exception 안에 getResponse()라는 메소드가 그 던진 에러를 받아주는 역할을 하는게 맞는것일까요 ?
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
테이블 관계 질문한가지 있습니다!
안녕하세요. 강좌를 바탕으로 개인적으로 토이 프로젝트를 만들어보려고 하고있는데요.지도에 마커로 위치를 표시할수 있고, 마커 하나당 게시글 하나를 포함합니다. 게시글에는 제목, 설명, 사진이 들어갑니다. 프론트에서 지도화면에서는 마커들을 표시하고 마커 하나를 눌렀을때 해당하는 게시글과 사진을 보여주고 싶습니다. 마커 테이블과 게시글 테이블을 만들어서 one to one 관계가 좋을까요, 아니면 이런경우 하나의 테이블에 마커와 게시글 정보를 넣으면 될까요? chatGPT를 사용해봤는데 답변이 두가지입니다.Marker와 Post 테이블 간에 일대일 (one-to-one) 관계를 설정하는것이 좋다. Marker와 Post 테이블을 조인하여 필요한 정보를 가져올 수 있다.하나의 테이블에 마커와 게시글 정보를 함께 저장하고, 해당 정보를 조회할 때는 필요한 컬럼들만 선택하여 조회하는 것이 좋다. 마커 정보와 게시글 정보가 함께 저장되므로, 마커를 클릭하여 게시글 정보를 조회할 때 JOIN 연산이 필요하지 않아 성능상 이점이 있다. 테이블 구조를 어떻게 짜는것이 맞는것인가요? 그리고 테이블 구조 짜는것이 어려운데 이런것을 판단하기 위해 어떻게 학습하면 좋을까요?