묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션 20 이메일 템플릿 질문합니다
섹션 20. 01-07 이메일 템플릿 생성 4 , 23분 35초에서createUser은 객체를 중괄호에 넣어줬는데sendTemplateToEmail 하고 checkPhone은 왜 중괄호 안 넣어주나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
리스토어엑세스토큰할때 질문있습니다.
리프레시를 이용해 엑세스를 재발급할때 메서드가 Post인데 Post를 쓰는 이유가 있을까요? 새로운 리소스를 생성하는것이니까 Post를 쓰는것으로 이해하면될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker 실행시에 에러발생 질문드립니다!
위에 이미지처럼 에러가 계속 발생하는데 원인을 모르겠습니다 ㅠ..ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
restapi사용시에는 gql-auth.guard와 같이 별도로 가드폴더에 파일을 만들필요없이 그냥 스트레티지폴더에있는거 그대로 쓰면 되는건가요?
restapi사용시에는 gql-auth.guard와 같이 별도로 가드폴더에 파일을 만들필요없이 그냥 스트레티지폴더에있는거 그대로 쓰면 되는건가요?restapi사용시에는 contxet 변환이 필요가 없어서 이럴경우 가드를 별도로 만들지않고 그냥 스트레티지 그대로 쓰면 되나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker 관련 질문 드립니다
Dockerfile 에 FROM node 또는 FROM mongo 를 입력하여 도커를 만드는 걸로 배웠습니다.그런데 FROM node나 FROM mongo라는 명령어를 통해 어떤 운영체제에 어떤 것이 설치되고 실행되는지지 등 해당 명령어에 대한 정보를 어떻게 알 수 있나요?예를 들면 Dockerfile.mongo 파일에서는 따로 RUN과 같이 프로그램을 실행시키는 명령어를 입력하지 않더라구요. FROM node에서도 따로 yarn이나 우분투를 설치하지 않고서도 이미 포함이 되어있었구요.도커허브 사이트 들어가서 mongo를 검색해봐도 그냥 mongo 자체에 대한 설명만 있더라구요 ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
String cannot represent value 에러 여쭤봅니다!
강사님 파일 업로드 시에 파일은 정상적으로 다 업로드가 되는데 에러메시지가 계속 표시되서 여쭤봅니다!!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
로드밸런서 관련 질문
안녕하세요.로드 밸런서 관련 질문드립니다.현재 구글 클라우드로 배포를 진행하며 하나의 인스턴스만 사용 중인데 로드밸런서로 어떻게 부하를 분산시켜줄 수 있나요?강의에서는 그냥 로드밸런서의 사용법을 학습하기 위해 큰 의미는 없지만 사용한 것인지 아니면 인스턴스가 하나라도 로드밸런서를 적용하면 좋은 점이 있는 것인지 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
장고로 웹뷰앱 가능할까요?
안녕하세요 강사님,대전에서 강의를 열심히 듣고 있는 수강생입니다 :)모바일 서비스로 창업을 준비하고 있는데... 과연 장고로 커버가 될까 여쭈어봅니다. 우선은 허접한 웹사이트는 만들어두었습니다. (jasol.co.kr)궁극적으로는 유저들에게 푸시 알림을 보내고 싶기 때문에 웹이 아니라 '앱' 환경으로 나아가야겠지요. [질문1]C, Java언어가 친숙한 저에겐 react문법은 너무나 해괴해서 빠르게 시작을 못 하겠더라고요;javascript와 django로만 구현을 했고, 최종적으로는 flutter를 이용해서 웹뷰로만 구현을 하려고 합니다. 근데 제가 해보질 않아서, 이게 될 지 궁금하더라고요. flutter로 겉 껍데기만 만들고, 결국 웹브라우징을 하되, 앱 푸시 기능은 있게 만드는 거죠(장고의 REST framework를 사용하면 구현은 가능할 거 같은데, 맞죠? 제가 거기까진 못 가봐서 ㅠㅜ) 제가 자주 이용하는 yes24 서점앱도 보면 순수 자바스크립트에다가 웹뷰로 싸놓은 것 같았어요. 하지만 푸쉬 알림도 잘 오고요. 이렇게 구현하는 경우도 흔한가요? 토스앱도 대부분 웹뷰로 알고 있는데, 제가 생각하는 서비스는 성능이 중요하지 않은 서비스라서...(예전엔 PWA를 써서 웹을 앱으로 만들었던 거 같은데 요즘은 또 그렇게 하지 않은 것 같더라고요.)요약하자면, django로 웹사이트 구현하고, flutter나 RN으로 웹뷰 구현, 충분히 가능한 얘긴지? [질문2] 웹앱을 꼭 써야하는 지...요즘은 리액트가 대세라는 걸 정말 잘 알고 있습니다. 웹앱이 주는 편리함이 뭘까 생각해봤을 때, 화면전환할때 '깜빡'하는 게 없고 로딩을 초반에 다 해놓는다는것 말고는 크게 와닿는게 없더라고요. 거꾸로 제가 리액트를 새롭게 배워서 구현하기엔 시간이 지연되는 것 같아 괴롭습니다. 웹앱을 꼭 써야만 하는걸까요? yes24 앱도 화면전환할 때 깜빡~ 하고 페이지 로딩하던데 저는 크게 불편함을 못 느끼거든요. [질문3] 혹시 ask컴퍼니에...가끔 서대전역에 갈 일이 있는데, 강사님께 얼굴 비추러 가도 되나요? 바쁘신분 붙잡고 시간 뺏고 싶지는 않고 가끔 조언같은거 구할 때 10분만이라도 얘기하면 길이 생길 거 같은데 ㅠㅜ... 네이버지도에 있는 ask컴퍼니 전화번호에 미리 전화드리고 방문드려도 괜찮을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
쿠키 세팅하고 return할때 질문이 있습니다.
import { Body, Controller, Post, Res } from '@nestjs/common'; import { AuthService } from './auth.service'; import { LoginUserValue } from './dto/cats.request.dto'; import { Response } from 'express'; @Controller('auth') export class AuthController { constructor(private readonly authService: AuthService) {} @Post() async login(@Body() val: LoginUserValue, @Res() res: Response) { const result = await this.authService.login(val); //cookie에 토큰을 담아서 보내줌 다음과 같이 console.log(result.refreshToken); console.log('여기서 못나가네'); res.setHeader( 'Set-Cookie', `refreshToken=${result.refreshToken}; path=/; `, ); console.log('뭐야 여기오네?'); // res.setHeader( // 'Set-Cookie', // `refreshToken=${result.refreshToken}; path=/; domain=localhost; SameSite=None; Secure; HttpOnly`, // ); // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000'); res.json({ accesstoken: result.accessToken }); } } 먼저, 저는 지금 그래프큐엘을 사용하지않고restAPI를 사용하며 진도를 따라가고 있습니다.질문드릴 코드는 위와같이 되어있습니다. 원래는 return을 해주고있었는데 res설정하고 쿠키세팅하고나니까 return이 안먹고 클라이언트에서는 무한대기에 빠집니다. 그래서 혹시나해서 res.json으로 하니까 응답이 또 정상적으로 가더라구요..그래서 일단 다음과 같이 코드를 수정해두고 원래대로 return을 사용하고있는데혹시 정석은 어떻게 해야하는지 알려주시면 감사하겠습니다.임시 수정 코드import { Body, Controller, Post, Req, Res } from '@nestjs/common'; import { AuthService } from './auth.service'; import { LoginUserValue } from './dto/cats.request.dto'; import { Response } from 'express'; @Controller('auth') export class AuthController { constructor(private readonly authService: AuthService) {} @Post() async login( @Body() val: LoginUserValue, @Res({ passthrough: true }) res: Response, ): Promise<any> { const result = await this.authService.login(val); //cookie에 토큰을 담아서 보내줌 다음과 같이 res.setHeader( 'Set-Cookie', `refreshToken=${result.refreshToken}; path=/; `, ); // res.setHeader( // 'Set-Cookie', // `refreshToken=${result.refreshToken}; path=/; domain=localhost; SameSite=None; Secure; HttpOnly`, // ); // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000'); return { accesstoken: result.accessToken }; } }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
질문이있습니다.
현 시점에서 nest공식문서 가보면어센틱케이션에 passport는 없어지고그냥 @nestjs/jwt만 있는것으로 바뀌어있고passport는recipes카테고리로 이동되어있고install 도 $ npm install --save @nestjs/passport passport passport-local $ npm install --save-dev @types/passport-local이렇게 나와있는것으로 보이는데그냥 위 passport따라가면되나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
비주얼스튜디오코드 폴더 복사 붙이기 문제
폴더 복사 붙여넣기 후 이름 변경시아래와 같은 에러가 뜬다면뭘 점검해 봐야 하나요?복사 붙이기로 새로 생성된 폴더 안의,파일을 열거나 하지 않았는데,복사 완료 후 폴더명 변경시 왜 오류가 나는 걸까요?답변 주시면 감사하겠습니다. Error: '03-04-rest-api-with-express-board-'을 (를) 'section03'(Error: EBUSY: resource busy or locked, rename 'c:\study\node_codecamp\class\section03\03-04-rest-api-with-express-board-' -> 'c:\study\node_codecamp\class\section03\03-04-rest-api-with-express-swagger')(으)로 이동할 수 없습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션22 과제5번 질무이있습니다
아래 코드를 실행할때마다 오류가 발생해서 여쭤봤습니다. 그전에 startStandaloneServer가 없을때에는 오류는 안나왔지만 grapql페이지로 접속하였을때 빨간불이 들어오고 서버가 제대로 접속되지않아서 방법을 바꾸니 typeerror가 발생했는데 어디에서도 server.addPlugin을 작성하지않았고 공식페이지에서의 방법도 해봤는데 왜 오류가 나는지 찾지를 못했습니다import { ApolloServer } from "apollo-server"; import { startStandaloneServer } from "@apollo/server/standalone"; const typeDefs = `#test # Board에 관한 Query는 # 로직 내에 Query가 없는 채로 실행했을 때 나타나는 # "Error: Query root type must be provided." 에러 방지를 위한 것입니다. type BoardReturn { number: Int writer: String title: String contents: String } type Query { fetchBoards: [BoardReturn] } type Mutation { # 1. 아래에 createTokenOfPhone API의 요청 데이터 타입을 지정해 주세요. createTokenOfPhone(phone : Int) : String } `; const resolvers = { Query: { fetchBoards: (_, args) => { return [ { number: 1, writer: "철수", title: "제목입니다", contents: "내용입니다", }, { number: 2, writer: "영희", title: "좋은 날씨입니다", contents: "내용입니다", }, ]; }, }, Mutation: { createTokenOfPhone: (_, args) => { // 2. 아래 로직을 만들어 주세요. // (힌트: phone.js 내에 존재하는 함수들을 사용해서 로직을 완성해 주시면 됩니다. // 로직 구성이 어려우신 분들은 rest_api 폴더 내에 존재하는 index.js 파일을 참고해 주세요.) // 2-1. 휴대폰번호 자릿수 맞는지 확인하기 const phone = args.phone; if (phone.length > 10 || phone.length < 10) { return "핸드폰 번호 재확인 해주세요"; } // 2-2. 휴대폰 번호 자릿수가 맞다면 핸드폰 토큰 4자리 만들기 const result = String(Math.floor(Math.random() * 1000)).padStart(4, "0"); // 2-3. 만든 토큰을 핸드폰번호에 토큰 전송하기 return `token : ${result}`; }, }, }; const server = new ApolloServer({ typeDefs, resolvers, }); await startStandaloneServer(server); // server.listen(3000).then(({ url }) => { // console.log(`🚀 Server ready at ${url}`); // });
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nodejs import 시 확장자 생략시 오류
//index.js import express from "express" const app = express() import { checkPhone } from "./phone.js" app.get("/", function (req, res) { res.send("Hello World") }) app.get("/phone", (req, res) => { const p = checkPhone() res.send(p) }) app.listen(3000) //phone.js export function checkPhone() { return true } 확장자를 생략해도 되는걸로 알고있었는데,확장자를 생략하면 왜 에러가 날까요?ERR_MODULE_NOT_FOUND에러가 나는 이유가 궁금합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Git의 하나의 Repository 안에서 branch별 배포가 가능한가요?
안녕하세요. 저는 IT 교육 프로그램에서 5명의 팀원과 프로젝트를 진행하고 있습니다. GitLab에서 하나의 Repository 안에서 작업을 하고 있습니다. 테스트 서버와 실환경 서버를 분리해서 진행해보려고 합니다. 그러기 위해 master 브랜치에 Push 될 때는 테스트 서버에 배포를 하고, master 에서 테스트 이후에 안정적인 코드를 production 이라는 브랜치에 Push 하려고 합니다.이때 하나의 Repository에서 브랜치별로도 다른 서버로 배포를 진행할 수 있나요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
MySql Lock을 사용하지 않는 이유
강의에서 설명해주시기로는 쿠폰 개수를 가져오는 것부터 쿠폰 생성까지 lock을 걸어야 한다고 설명 주셨는데 이전 강의인 재고 관리 이슈와는 다르게 row가 아닌 table에 lock을 걸기 때문에 성능 이슈가 발생한다고 보면 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section22 의 CORS 관련 질문
안녕하세요!해당 수업에서 CORS 에러가 발생한 이유를 다른 작성자 분께서 질문해주셨는데, 강사님께서 프론트엔드와 백엔드의 포트가 달라서 그렇다고 대답해주셨습니다. 백엔드에서는 app.listen을 통해 포트를 설정을 해주었지만, 프론트엔드에서는 포트를 설정한 적이 없는데 포트번호를 어떻게 알 수 있나요..?설정하는 방법이 따로 있는건가요?그리고 이전수업에서 한 컴퓨터에서는 프론트엔드와 백엔드의 포트번호가 달라야한다고 말씀하셨는데, 그렇다면 하나의 컴퓨터에서는 same origin이 될 수 없는건가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
데이터베이스 연결 부분 오류
이 오류때문에 지금 다음으로 넘어가지를 못하고있습니다...환경변수 쪽 문제인거같은데 어떻게 해도 해결이 안되네요 ㅠㅠ
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
윈도우로 volume 적용 실패할 때
아래 n 번째에 윈도우에서 %cd% 로 경로 설정해도 안되는 증상이 같아서 해결방법을 알려주신 분이 계신데, 그 방법으로 해결해서 글 남깁니다. docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v "/$(pwd)/server.js:/usr/src/app/server.js" thdqudgns/node처럼, 마운트 할 앞 경로 전체를 큰 따옴표로 감싸주고,앞쪽에는 /${pwd}/server.js 를 적어서 파일을 명시해주고, 뒤쪽에도 /usr/src/app/server.js로 파일을 명시해주니 예제는 잘 해결되었습니다. 그러나 고민이...실제로 프로젝트를 진행하면서 배포를 하고 빌드를 할 때에는 폴더 단위로 작업이 이루어져야 하는데, 파일 단위로만 되는 것을 확인하여서 앞이 막막합니다... ++ 터미널을 우분투 (wsl) 로 열어서 $(pwd)docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app thdqudgns/node 로 하니까 잘 되네요.. 터미널이 이상한 걸로... 조만간 토이프로젝트를 AWS에 올릴 예정인데 문제가 없기를...
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
w1 컨테이너 런타임 중지 이후 deployment 생성 시 해당 w1생성되는 이유 문의
안녕하세요. 다름이 아니고 추가 보충 실습 중에워커노드1 컨테이너 런타임 중지 이후 deployment 생성 시 워크노드1에는 pod가 생성되지 않는다고 해주셨는데,저는 실습을 해보니 워커노드1에도 생성이 되는게 확인되는데어떤 부분때문에 생성이 된걸까요? 워커노드1에 컨테이너런타임은 확실하게 죽였습니다. (아래 캡쳐확인부탁드립니다.)-> active 상태에 inactive상태 확인이후 scale replica =6으로 늘린 이후 아래 pod 세개 생성 되었는데, w1-k8s도 생성됨이 확인됨 감사합니다.!
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
58강 static 파일 적용 안됨
58강 에서 어디를 잘못해서 staic 파일이 적용이 안되는지 잘 모르겠네요git 주소 : https://github.com/Kimhyuntae9665/pragmatic.gitportainer 스크린샷 입니다문제가 보이면 댓글 부탁 드려요 ㅠㅠ 혹시 aws 로 하고 있는데 aws 라서 문제가 생긴걸까요? 찾아 주시는 분에게는 사례하겠습니다 !!!!! 정말 모르겠네요ㅠㅠㅠㅠㅠㅠ