묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Rest-API 작명
안녕하세요 현제 스터디 중인 대학생입니다. Rest-API 작명 때문에 궁금해서 질문을 남겼습니다.// 관리자 회원관리 GET /v1/admin/members// 전체 회원 조회 GET /v1/admin/members/1// 회원 상세 조회 PUT /v1/admin/members/1// 회원 수정 // 관리자 매장관리 GET /v1/admin/restaurants// 전체 매장 조회 GET /v1/admin/restaurants/1// 매장 상세 조회 POST /v1/admin/restaurants현제 이런 식으로 URL 정보를 미리 작성하고 규약을 따라 코드를 작성하는데, 궁금한 점이 GET /v1/admin/restaurants/search 이 방식과 GET /v1/restaurants/가게 이름 둘 중 어는 것이Rest API가 맞는지 궁금합니다.
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
장고 프로젝트 질문
안녕하세요 강사님 ! 강사님께서 좋은 강의 올려주셔서 올려주신 강의 기반으로 프로젝트를 진행하려고 계획을 하고 있습니다. 계획 중에 몇가지 궁금한게 있어서 이렇게 질문 드립니다. 프로젝트 내용 : OPENAPI 데이터를 수집, 저장설명 : OPEN API로 데이터를 받는 수집 모듈이 있고 받은 데이터를 필요한 값만 정리 해서 DB에 저장하고 그것을 모니터링 하는 프로그램을 만들려고 합니다. 질문1 : 모든 모듈(수집,가공,모니터링을) 안정성을 위해서 이중화 하려고 하는데 Docker의 컨테이너를 두개씩 실행시키면 이러한 것이 안정성와 이중화 개념에 적합한가요? 질문2 : 모든 모듈(수집,가공,모니터링)을 아마존 AWS에 클라우드에서 실행하려고 하는데 서버 하나를 빌려서 사용하면 한 서버 안에 수집, 가공,모니터링이 같이 존재하는데 서버가 죽게 되면 모니터링하는 부분도 같이 죽게 되는데 이 방법을 해결하려면 모니터링 서버를 따로 구축해서 해야 할까요? 질문3 : 수집은 스크립트로 작성하고 가공은 장고 프레임워크를 이용해서 구축하려고 하는데 수집도 장고 프레임워크로 하는게 전체적으로 안정성이나 여러 방변으로 효율적일까요? 아직 모르는게 많은 쥬니어개발자라 질문이나 정보가 잘못 되더라도 많은 양해부탁드립니다 ㅠㅠ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
마지막 followee 감소 강의 누락
안녕하세요. 코드팩토리님강의 너무나 잘 들었습니다.허나 마지막 강의 followee 부분이 누락되었습니다.이 부분 추가 해주시면 감사하겠습니다. 이전에 질문이 된 기록을 확인해봤는데 11월 달에 같은 질문을 받으시고 바쁘셔서 잊어버리신것 같아요.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
14-04 Redis에서 cacheModule을 위한 @nestjs/common버전 업데이트
다른분이 질문주셨던 'app.module.ts에서 redis연결하는데 @nestjs/common에 CacheModule이 없습니다' 에 대한 답변대로 "@nestjs/common": "^9.0.0" 버전으로 업데이트해서 node_modules도 yarn install 해서 설치했습니다. yarn.lock 확인했는데 버전이 바뀌지 않아 "@nestjs/common": "9.0.0" 로 바꿔서 다시 yarn install 했구요.그런데 @nestjs/common 버전을 9.0으로 바꾸면 계속 mybackend-1(백엔드컴퓨터)에서 오류가 생깁니다. 기존버전 10.0.0이었을 때는 오류가 발생하지 않았었습니다. 실은 강의를 들으며 코드를 따라 치다 마지막에 docker-compose build후 up 했을 때 어디서 오류가 발생하는지 모르겠어서 처음부터 yarn add로 redis랑 cache-manager라이브러리 설치하는 것 부터 docker-compose build,up 하면서 확인을 해봤었는데 @nestjs/common 버전을 9.0으로 바꿨을 때 위 사진처럼 오류가 발생했습니다. package.json파일도 올려보내드립니다.@nestjs/common 버전을 바꿔야 될까요? 아님 다른 오류 원인이 있을까요..?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
typeorm primary key 커스텀 질문드립니다!
import { nanoid } from 'nanoid'; import { PrimaryColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, } from 'typeorm'; export abstract class BaseModel { @PrimaryColumn({ length: 21 }) id: string = nanoid(10); @CreateDateColumn({ name: 'created_at', type: 'timestamp' }) createdAt: Date; @UpdateDateColumn({ name: 'updated_at', type: 'timestamp', nullable: true }) updatedAt: Date | null; @DeleteDateColumn({ name: 'deleted_at', type: 'timestamp', nullable: true }) deletedAt: Date | null; } 기존 express 플젝이 pk가 nanoid라서 nest에서 똑같이 적용하려고 했지만 유저 생성 (save)까지는 nanoid가 잘 들어가지만 외래키로 연결된 role 테이블에 user id를 주입시키는 순간 Field 'id' doesn't have a default value 에러가 발생합니다. user 테이블 role 테이블 둘다 baseModel을 상속받아 구성했고 @PrimaryGeneratedColumn() 으로 변경하면 해결이 되긴 하는데... nanoid를 저렇게 주입시켜서 생기는 문제일까요?
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
복습
이제 section 3 까지 학습완료했습니다.이제까지 만들어본걸 강의나 제공된 소스코드 없이 다시 만드는 방식으로 복습하려고 하는데 혹시 추천하는 복습 방법이 있으신가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
yarn install이 안 되는 문제가 있어 남겨봅니다.
Node.js v20.11.1NestJS 10.3.2npm 10.4.0 Yarn 4.1.0강의와 같이 폴더 생성 후 nest new . 로 생성했을 때 yarn install --silent 가 실패했습니다.모두 삭제 후 프로젝트를 만들 폴더에서 nest n cf_sns 로 시도했으나 동일하게 yarn install --silent 가 실패했습니다.nest 로 새 application을 생성 후 해당 폴더 내 yarn.lock 을 만들고 yarn install 을 실행한 후 yarn start:dev 를 실행할 수 있었습니다.저만 그런 건지 모르겠지만 혹시 몰라 기록을 남겨봅니다.---폴더 구성은 이렇게 되던데 최근 뭔가 달라진 걸까요? yarn을 처음 써봐서 잘 모르겠습니다. 🤔---https://yarnpkg.com/features/pnpPnP 때문인가 봅니다.---https://yarnpkg.com/getting-started/editor-sdksPnP 사용 시 VSCode에서 TypeScript가 제대로 작동하지 않는 문제는 이 문서를 통해 해결했습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
객체 createBoardInput을 왜 한번 더 { } 객체로 감싸서 보내는지 궁금합니다.
boards.resolver.ts 파일에서 createBoard 함수에서 boardsService클래스에 인자를 전달할때createBoardInput 객체를 보내는데낱개로 된 writer,title,contents 도 아닌데왜 굳이 한번 더 {createBoardInput} 객체로 감싸서 보내는지 이해가 잘 되지 않습니다. @Mutation(() => String) createBoard( @Args('createBoardInput') createBoardInput: CreateBoardInput, ): string { return this.boardsService.create({ createBoardInput }); //**차이점?? return this.boardsService.create(createBoardInput); } boards.service.ts 파일에서는create({ createBoardInput }: IBoardsServiceCreate): string { //**차이점?? create(createBoardInput: CreateBoardInput): string { //1.브라우저에서 보내준 데이터 확인하기 console.log(createBoardInput.writer); console.log(createBoardInput.title); console.log(createBoardInput.contents); //2. DB에 접속 후, 데이터를 저장 => 데이터 저장했다고 가정. //3. DB에 저장된 결과를 브라우저에 응답(response) 주기. return '게시물 등록에 성공하였습니다.'; }굳이 IBoardsServiceCreate의 인터페이스를 안만들어도이미 CreateBoardInput 이라는 Class를 타입으로 적용해서 받으면 되는데createBoardInput을 왜 한번 더 { } 객체에 감싸서 보내는지 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
로그인 인증 관련하여 질문이 있습니다.
안녕하세요 Basic 토큰을 통해 로그인 인증을 하는 강의를 듣고 나서 생긴 의문점이 있어 질문 남깁니다.현재 강의 내용 중 사용자의 이메일과 비밀번호 그리고 Basic 토큰을 입력 받아서 login 함수를 실행하는 로직이 있는데, 제가 강의를 제대로 들은 것이 맞다면 해당 로그인 로직 상 이메일과 비밀번호를 Basic 토큰으로 변환하는 로직이 없는 것 같습니다.그렇다면 이 경우 로그인 로직을 검증하면서 Basic 토큰으로 변환을 해야하는 것인지, 아니면 이러한 경우에는 이메일과 비밀번호만 입력받아 데이터베이스에서 검증을 해야하는 것인지 이도 아니라면, 따로 특정 기능이나 로직을 통해 자동으로 검증하는 방법이 있는지 궁금합니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
두가지 질문이있습니다.
게시글이 20개 배수로존재할때(ex 총 게시글수가 60개일때) 3페이지에서 다음페이지 정보가 url에 같이 올것같은데 이 부분은 어떻게 보완이 가능할까요? if (dto.where__id_more_than) { where.id = MoreThan(dto.where__id_more_than); } else if (dto.where__id_less_than) { where.id = LessThan(dto.where__id_less_than); } const posts = await this.postsRepository.find({ where, order: { createdAt: dto.order__createdAt, }, take: dto.take, });위 코드에서 where의 조건을 dtd의 order__createdAt 이 'ASC'인지 'DESC'인지를 체크하는것도 괜찮으까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
spring security 문제
강의를 따라 pom.xml과 application.yml에 작성했던 spring security 관련 내용들을 주석 해제한 후 SecurityConfig.java에 webSecurityCustomizer()를 추가하고 실행했는데 사이트에 연결할 수 없다고 합니다. pom.xmlapplication.yml SecurityConfig.java사이트에 연결할 수 없음 상태가 지속되다가 어느 순간 console에 올라오는 에러 메시지는 다음과 같습니다.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService' defined in class path resource [kr/co/joneconsulting/myrestfulservice/config/SecurityConfig.class]: Failed to instantiate [org.springframework.security.core.userdetails.UserDetailsService]: Factory method 'userDetailsService' threw exception with message: null 강의와 동일하게 작성한 것 같은데 원인을 잘 모르겠습니다.
-
해결됨차세대 Node.js 백엔드 서버 개발(Fastify & Prisma & Typescript와 함께하는)
똑같이 따라하고 오류나서 다시해보고 다시해보고 올려주신 코드 확인해봐도 계속 에러가 뜨는대요 ㅠ.ㅠ
PS C:\Users\ohdaesung\Desktop\study\fastify> npm start> sample@1.0.0 start> npm run build:live> sample@1.0.0 build:live> nodemon --watch 'src/**/*' --exec ts-node --esm src/main.ts --verbose[nodemon] 3.0.3[nodemon] to restart at any time, enter rs[nodemon] or send SIGHUP to 12892 to restart[nodemon] watching path(s): 'src\**\*'[nodemon] watching extensions: ts,json[nodemon] starting ts-node --esm src/main.ts[nodemon] spawning[nodemon] child pid: 17216[nodemon] watching 4 filesTypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\Users\ohdaesung\Desktop\study\fastify\src\main.ts at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:160:9) at defaultGetFormat (node:internal/modules/esm/get_format:203:36) at defaultLoad (node:internal/modules/esm/load:143:22) at async nextLoad (node:internal/modules/esm/hooks:750:22) at async nextLoad (node:internal/modules/esm/hooks:750:22) at async Hooks.load (node:internal/modules/esm/hooks:383:20) at async handleMessage (node:internal/modules/esm/worker:199:18) { code: 'ERR_UNKNOWN_FILE_EXTENSION'}[nodemon] app crashed - waiting for file changes before starting... ㅠ.ㅠ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
NodeJS 의 single thread 와 event loop 에 대해 자세하게 알아 봤는데 제가 이해한 것이 맞는지 확인하고 싶어서 질문드렸어요!
동작하는 원리와 각 키워드의 역할에 대해 제가 알고 있는 점을 정리해 봤습니다.어디가 틀리고 맞는지 확인하기 어려워서 질문드렸습니다! 원리모든 task는 Call Stack(Execution Context Stack) 에 쌓인다. main thread는 Call Stack에 있는 작업을 순차적으로 진행한다.그런데 오래 걸리는 요청이 들어오면 main thread가 blocking 된다. 그래서 nonblocking 이 되도록 event loop 와 background, event queue, micro task queue 등 막히는 작업을 해결 해줄 공간이 존재한다.사용자가 요청을 보내면 오래 걸리든 아니든 우선은 Call Stack 에 쌓이게 된다.main thread 가 요청을 하나씩 해결 하는데 오래 걸리는 task를 해결할때 blocking 되지 않도록 CPU의 가용 가능한 main thread 이외의 다른 Thread(background)에 Task를 던진다. 그 후 다음 동작을 진행한다.main thread 와 background 는 동시에 task 를 동작하기에 nodejs 는 그 자체로 single thread 는 아니다. 사용자의 요청과 응답을 하는 task를 실행하는 thread가 1개라는 의미이다.이 background thread에서 작업이 완료된 task는 event queue와 micro task queue 에 순차적으로 들어가게 된다. promise, nextTick 등 우선순위가 높은 작업들은 micro task queue에 쌓인다.Event Loop는 Call Stack에 모든 요청이 실행 완료되면 micro task queue, event queue에 있는 작업을 순서대로 Call Stack에 하나씩 담는다. micro task queue 에 task 가 있으면 event queue 보다 우선순위가 높아서 먼저 Call Stack 으로 이동한다.event loop는 non-blocking을 위해서 task를 background에 던지고 반환되면 event queue, micro task queue에 던지고, call stack을 observing 하다가 비어 있게되면 task를 순서대로 하나씩 넣는다.main thread는 call stack에 있는 task를 실행한다. 역할main thread는 call stack에 있는 task를 실행한다. (얘는 이것만 하는 놈이다.)background는 event loop에서 오래 걸리는 작업을 던짐 당한 곳이고 작업이 완료되면 event loop 에게 알리는 작업을 한다.여기서 Stack과 Queue는 모두 작업이 저장되는 공간인 메모리이다.(call stack, event queue, microtask queue)이 메모리의 작업을 수행하고 던지고 받고 등의 작업을 하는 thread는 main thread와 background 이다.background 는 CPU 에서 가용 가능한 모든 thread 를 말하고 1개일 필요는 없다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
followers and followees 프로퍼티 생성하기 질문
안녕하세요 코드 팩토리님!너무 기본적은 질문이 많아 죄송합니다.혹시나... 제가 이해를 못하고 있는건지 모르겠는데...여기에서 followers, followees 의 property 정의가 주석에 바뀌지 않았는지 여쭤 봅니다. followers 가 나를 follow 하는 사람이 아닌지요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
Uri함수 파라미터 주소에 sslport번호를 넣으면 무한 로딩이걸림
여기 sslPort 번호를 가져와서Uri함수 파라미터에 주소를 입력했더니이렇게 무한 로딩이 걸려서 해결하고 싶어서 중단점 걸어보고 실행해봤습니다.여기서여기로 들어가면 var resultContent = await result.Content.ReadAsStringAsync(); 이 부분 전에 있는 중단점에는 잘 걸리는데 이 중단점에는 안 걸리고 함수 안에 있는 코드들이 전부 실행 되지 않고결국 _gameResults 는 정상적으로 함수가 실행 되지 않아서 값을 못 받아서 계속 null인 상태로 있어서 무한 로딩이 걸렸습니다. 그래서 처음에는 비동기 함수가 실행을 완전히 끝내기 전에 그 전에 있던 함수가 종료 되었나? 생각하면서 이것저것 만지다가 그런 문제는 아닌 것 같고 그냥 무지성으로 Uri 파라미터에 sslPort번호 말고여기에 "applicationUrl": "https://localhost:7146이 부분을 Uri파라미터 주소에 넣었더니 잘 실행됩니다 그런데 강사님은 sslPort번호를 넣어서 잘 작동시켰는데 왜 저는 sslPort를 넣었는데 이상하게 작동되는지 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
이미지 s3 업로드 관련 질문드립니다!
안녕하세요 코팩님!다름이 아니라 현재 제가 프로젝트에서 presigned url 방식으로 프론트단에서 이미지를 s3로 업로드하고 람다가 트리거 돼서 이미지 리사이징을 해주고 있습니다. 현재 업로드 방식은 s3 잉여 데이터들이 쌓이는게 걱정돼서 매번 s3로 바로 올려놓는게 아닌 최종 업로드 버튼시에 모든 이미지가 한번에 업로드 되는 구조입니다. 그런데 용량이 좀 큰 이미지는 람다 리사이징이 좀 걸려서 딜레이 때문에 프론트단에서 로딩을 걸어놓긴 하는데 사용자 경험이 좋지 못합니다. 그리고 게시물 작성 중 임시저장 기능을 새롭게 추가하려고 하니깐 이미지 처리를 어떻게 가져가야하나 싶더라고요.혹시 강의에 나오는 temp 폴더에서 post 폴더로 옮겨가는 로직을 이용해서 s3에 적용을 한다면 좋을까요? 아님 더 좋은 해결방안이 있을까요?그리고 리사이징 부분이 람다로 작동되다 보니 사용자가 게시물을 업로드 하지도 않고 계속 이미지를 수정하는 상황이 발생하면 람다 비용 문제도 고민되기도 합니다... 고민이 많다보니 횡설수설 질문드렸는데 현업에서는 기획에 따라 다르겠지만 이런 상황에선 어떻게 하는지가 좀 궁금합니다! 항상 감사드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swagger 실행 오류
swagger 실행시 No operations defined in spec!라는 오류가 발생하는데 왜그럴가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
post에서 타입
authorId의 타입은 number인데,포스트맨에서 return받는 newPost의 id의값은 스트링으로 들어오는 이유는 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
강의 질문입니다.
안녕하세요.typeOrm 에 관한 질문입니다.댓글과 포스트에 관한 ManyToOne의 관계에서 commentRepository에 save할때 포스트와 연결하고 싶을때 포스트 모델 객체를 넣어도 되고 post : {id:postid} 값만 넣어줘도 되는지 궁금합니다. comment post 요청 작성시 author은 모델로 save 하고 post는 id로 save 해서 궁금해서 여쭤 봅니다.미리 감사합니다
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
온라인 ide
The terminal process failed to launch: Access was denied to the path containing your executable "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe". Manage and change your permissions to get this to work.방금 vs code를 이용하여 터미널을 이용하려고 했는데 다음과 같은 오류가 나와 터미널 실행이 안되는 것 같습니다 오류를 보니 군대 보안특성상 powershell에서 사용을 막은 것 같습니다.그래서 이런 온라인 ide를 이용하려고 하는데 괜찮을까요?? 가상환경은 설치 만들 수 있는걸로 알고 있습니다.레플릿: https://replit.com/구름: https://ide.goorm.io/?_gl=1*1oawf9g*_ga*ODI1MzYwNDc5LjE3MDc4Mjg2MTg.*_ga_7BMX792Y7W*MTcwNzgyODYxOC4xLjEuMTcwNzgyOTc4Mi42MC4wLjA.&_ga=2.209210519.446475569.1707828619-825360479.1707828618