묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
nestjs 자료 다운로드 받을 수 있다고 하는데, 찾아봐도 도저히 못찾겠네요 어디서 찾을 수 있나요?
nestjs 자료 다운로드 받을 수 있다고 하는데, 찾아봐도 도저히 못찾겠네요 어디서 찾을 수 있나요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
클래스 라이브러리 추가시
클래스 라이브러리를 추가하면 계속해서 클래스 라이브러리에 대한 폴더가 생성 되는데 이것이 정상인가요?강사님이 올려주신 코드, 강의를 보면 클래스라이브러리 폴더가 추가가 되지 않던데.. 어떻게 설정을 해야 하는건가요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
onDelete 실행 시 대상 entity 가 null, 관계 Entity가 삭제되지 않는 현상
typeORM은 0.3.17 입니다. 말 그대로 UserModel 에서 OneToOne 의 relation option "'onDelete: CASCADE'" 로 profile entity 를 삭제했을때 UserModel 이 삭제되지 않고, profile 이 null 로 표기되는 현상입니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
액세스 토큰 재발급 관련하여 질문이 있습니다.
안녕하세요 강의 잘 듣고 있습니다.액세스 토큰이 만료되었다고 가정했을 때 프론트에서 특정 API(예시. post 조회)를 호출하면 토큰이 만료되었다는 에러 메시지를 받죠.그러면 앱에서 토큰만료 리스폰스가 도착하면 토큰을 재발급 받은 후 다시 post를 조회하는 API를 호출하는건가요??고객의 입장에서는 위 내용을 알 필요가 없을 것 같아서요.(c. 클라이언트, s.서버)C.API 호출 -> [ S.만료되었다는 익셉션 -> C.재발급 요청 -> S.토큰 재발급 -> C.다시 API호출 ] -> S.응답 반환위 순서도에서 대괄호 친 부분은 클라이언트에서 알아서 다시 처리하는건지 궁금합니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
맞는 의존성 주입
저는 Maven이 아닌 gradle을 사용하고 있습니다 근데 31강에서 오류가 발생했습니다.Maven이 아닌 gradle이라 바꿔서 의존성주입을 하면서 강의를 진행했는데 트러블 슈팅이 되지 않아 올립니다 도와주세요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션26 FileIntercepter 업로드 파일 질문
다른것은 다 문제가 없다만, 업로드 public/post파일에 이미지가 안들어옵니다일부러 폴더이름과 변수명은 다르게 했습니다@Module({ imports: [ TypeOrmModule.forFeature([Event]), MulterModule.register({ fileFilter: (_req, file, cb) => { extname(file.originalname) return cb(null, true) }, storage: multer.diskStorage({ destination: (_req, _res, cb) => { cb(null, EVENT_IMG_PATH) }, // 파일 이름이 겹치지않게 고유한 uuid값을 이미지 고유 이름 앞에 붙여줌 filename: (_req, file, cb) => { cb(null, `${uuid()}${extname(file.originalname)}`) } }) }) ], controllers: [EventController], providers: [EventService] }) export class EventModule {} import { join } from 'path' //서버 프로잭트 루트 폴더 export const ROOT_PATH = process.cwd() // 외부에서 접근가능한 파일들 모아둔 폴더 이름 export const PUBLIC_FOLDER_NAME = 'upload' //위클 이벤트 사진들이 저장된 폴더 이름 export const EVENT_FOLDER_NAME = 'event' //실제 공개폴더의 실제 위치 export const PUBLIC_FOLDER_PATH = join( ROOT_PATH, PUBLIC_FOLDER_NAME ) //위클 이미지를 저장할 폴더 export const EVENT_IMG_PATH = join( PUBLIC_FOLDER_PATH, EVENT_FOLDER_NAME ) // upload/event/이미지 export const EVENT_PUBLIC_IMG_PATH = join( PUBLIC_FOLDER_NAME, EVENT_FOLDER_NAME )
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션26 FileIntercepter
@Module({ imports: [ TypeOrmModule.forFeature([Event]), MulterModule.register({ fileFilter: (_req, file, cb) => { extname(file.originalname) return cb(null, true) }, storage: multer.diskStorage({ destination: (_req, _res, cb) => { cb(null, EVENT_IMG_PATH) }, // 파일 이름이 겹치지않게 고유한 uuid값을 이미지 고유 이름 앞에 붙여줌 filename: (_req, file, cb) => { cb(null, `${uuid()}${extname(file.originalname)}`) } }) }) ],
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
relation Selection 관련
Image 의 특정 컬럼만 select 하고 싶어서 find 옵션에 아래와 비슷하게 적용했더니, transform 데코레이터가 적용이 되지 않네요. chatGPT 에게 물어보니 transform 데코레이터 적용을 받으려면 QueryBuilder 를 쓰라는데, 가독성이 떨어질 것 같아서 찜찜하네요. 다른 방법은 없을까요? 아니면 일단 그냥 인강대로 쭉 진행한 다음 Prisma 로 빠르게 마이그레이션 한 다음에 이런 고민을 진행하는 게 나으려나요? export const POST_FIND_OPTIONS: FindManyOptions<PostsModel> = { select: { id: true, ..., images: { path: true } }, relations: ['images', 'author'], };
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
public/posts가 붙는이유
좋은 강의 감사합니다! DB에는 파일명만 저장되어있고 post POST 요청보낼때도 파일명만 보내는데, 어떻게 post get요청을할때 public/posts가 붙는건가요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
yarn add express 를 해도 Cannot find module 이슈
yarn add express 을 여러번 하고,구글링을 통해 현재는 node_modules 가 생성되지 않는 것까지 파악했습니다.{ "name": "NestJS", "packageManager": "yarn@4.2.2", "dependencies": { "express": "^4.19.2" } } 현재 의존성이 다음과 같이 세팅되어 있는데 맨 위 사진처럼 cannot find modules 가 나오는데, 방법이 있을까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 통합 링크https://links.codefactory.aiFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
DB에서 조회된 다건의 데이터를 처리할 때
안녕하세요 강사님저 강의를 다회차 보면서 궁금한 점이 생겨서요.기존 코드 public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO) { var configuration = new MapperConfiguration(cfg => { }); //Response..DTO 생성후 Controller로 전달 // Perform mapping Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc=mapper.Map<GetUserDTO,Dictionary<string, object> >(getUserDTO); dc.Remove("Password"); ProcCall procCall= new ProcCall(); DataTable dt = await procCall.RequestProcedure("sp_login", dc); GetUserResponseDTO dto = new GetUserResponseDTO(); dto.Id = (int)dt.Rows[0]["id"]; dto.Userid = dt.Rows[0]["userid"].ToString(); dto.Username = dt.Rows[0]["Username"].ToString(); dto.Point = (int)dt.Rows[0]["Point"]; return dto; }로그인 서비스의 관련하여 dto의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
기간별 조회가 안되고 있습니다.
안녕하세요. 강의 잘 듣고 있습니다.막히는 부분에서 부분별로 강의를 들으면서 하는데, 개념 잡기에는 좋은데.. 실무에서 변형하면서 사용하려니 막히는 부분이 생기네요.. ㅡ.ㅜ; 우선 주문 데이타를 기가별로 조회를 하려고 하는데, 안되고 있습니다.구글링과 스택쪽을 찾아봐도 딱히 잡히는것도 없고.. gpt가 알려준대로 해도 안되네요.. db는 postgreSQL로 최신버전이며.. 구성은 nest.js + prisma + swagger + graphQL로 구성되어 있으며, 버전은 최신버전으로 현재 구성된 상태입니다.// schema.prisma model Order { .... order_date DateTime? } // orders.controller.ts async getOrdersByDateRange( @Query('start_date') start_date: string, @Query('end_date') end_date: string, ): Promise<Order[]> { const startDate = new Date(start_date); const endDate = new Date(end_date); if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) { throw new BadRequestException('날짜 형식이 잘못되었습니다.'); } return this.ordersService.getOrdersByDateRange(startDate, endDate); } // orders.service.ts async getOrdersByDateRange( start_date: Date, end_date: Date, ): Promise<Order[]> { const orders = await this.prisma.order.findMany({ where: { order_date: { gte: new Date(start_date.setHours(0, 0, 0, 0)), // 시작일 00:00:00 lte: new Date(end_date.setHours(23, 59, 59, 999)), // 종료일 23:59:59.999 // gte: start_date, // 이것도 안됨 // lte: end_date, // 이것도 안됨 }, //order_date: Between(start_date, end_date), }, }); if (!orders || orders.length === 0) { throw new NotFoundException( `기간 내에 주문 데이터가 없습니다.`, ); } 디비쪽 데이타를 이와 같습니다. 입력 값은 start_date : 2024-05-01end_date : 2024-06-05이렇게 전달해서 조회하는데, 아무런 데이타를 못 가져오고 있습니다.request url : http://localhost:3000/orders/dateRange?start_date=2024-05-01&end_date=2024-06-05response body:{ "message": "Order with ID dateRange not found.", "error": "Not Found", "statusCode": 404 }이처럼 출력되고 있습니다.아무리 해 봐도 안되어서 질문 드립니다.알려주시면 감사하겠습니다.. ㅜ.ㅜ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
선생님 그러면 만약에 도커로 백엔드 실행하지말고 구냥..
만약 도커로 백엔드 실행하기싫고,내 로컬에서 백엔드 실행한다고하면 mongoose .connect("mongodb://my-database:27017/mydocker") .then(() => { console.log("DB 연결 성공"); }) .catch((err) => console.log("DB 연결 실패", err));connect부분을 로컬호스트:27017로만 변경하면 되는거는 알겠는데..너무 번거로운거같은데 혹시 .env에 설정하는 방식같은게 없을까요? 예를들면 프로덕션, 개발모드에 따라서env를 바꿀수있잖아유그런것처럼 도커컨테이너 환경 혹은 그냥 로컬에서 백엔드 실행했을때환경 이런걸 구분할수있는 방법은없나유?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
cshtml.css, cshtml.cs 비하인드 코드 추가 방법
아래와 같이 css를 추가 했는데 적용이 되지 않습니다.asp.net core mvc로 했을 때 아래와 같이 추가를 하면 적용이 되는데 asp.net core 비어있음으로 생성 후 아래와 같이 추가를 하면 동작이 되지 않아요cshtml.css, cshtml.cs를 추가하고 싶으면 어떻게 해야 하나요? 관련 강의도 추가를 해주시면 감사하겠습니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
Schemaless 특성을 재생시 검은화면이 나와요
Schemaless 특성을 재생시 검은화면이 나와요 새로고침해도 같은 현상이 나오네요 ㅠ
-
해결됨차세대 Node.js 백엔드 서버 개발(Fastify & Prisma & Typescript와 함께하는)
Prisma 환경 설정 질문있어요!
안녕하세요 강의를 듣다가 궁금한 부분이 있어서 질문드립니다!!User에 대한 모델을 정의할 때 comments, likes도 정의하는 데 이 둘은 각각의 articles 모델에 대한 comments, likes라고 생각되는 데 왜 User 모델에도 정의되어 있는지 궁금합니다!!각각의 articles 모델에 대한 comments, likes라도 User에서 정의해야 하는 건가요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
TypeORM-Column annotation 강의 중 UserModel typing 관련 질문
안녕하세요. UserModel 엔티티 작성할 때, 아래와 같이 타입을 엉뚱하게 적어도 컬럼 값의 타입이 제대로 들어가는 문제로 질문드립니다.https://orkhan.gitbook.io/typeorm/docs/entities#primary-columns해당 Docs를 보니 어노테이션에 타입이 정해져 있어 그런거 같은데, 아래 코드가 타입 오류가 안나는게 맞는건가요? @PrimaryGeneratedColumn() id: string; @Column() @Generated('uuid') additionalId: number;
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
쿼리문 질문입니다
안녕하세요 comments module을 진행하고 있습니다.pgadmin에서 SELECT *FROM users_model aINNER JOIN comments_model bON a.id = b.authorId위의 쿼리로 테이블을 조회해보려고 했는데 ERROR: column b.authorid does not exist LINE 4: ON a.id = b.authorId ^ HINT: Perhaps you meant to reference the column "b.authorId". SQL state: 42703 Character: 74 이런 오류가 나옵니다 혹시 어떻게 해야 코멘츠 테이블과 유저 테이블을 조인해서 조회해볼 수 있을까요?? 그리고 pgadmin이 시간이 좀 지나면 자꾸 연결이 끊기는지 쿼리를 날려도 아무 응답이 없는데 혹시 연결을 refresh해주는 방법이 있을까요? 매번 쿼리창을 새로 열기가 너무 불편하네요
-
해결됨ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
로그인에서 받아온 Session을 활용하고 자 할 때
안녕하세요 선생님자주... 문의드려 죄송합니다.로그인에서 가져온 Session 값을 활용하는 방법DAL 부분의 활용 여부로그인에서 가져온 Session 값을 활용하는 방법 public async Task<IActionResult> GetUser(GetUserDTO getUserDTO) { if (ModelState.IsValid) { } else { return Redirect("/login/SearchUserId"); } GetUserResponseDTO dto = await loginService.GetUser(getUserDTO); HttpContext.Session.Set("LoginUser", dto); return Redirect("/home/index"); } "LoginUser"으로 세션값을 사용하는 것은 이해했습니다. controller public async Task<IActionResult> GetUserList () { if (ModelState.IsValid) { } else { return Redirect("/home/UserList"); } GetUserResponseDTO ? user = HttpContext.Session.Get<GetUserResponseDTO>("LoginUser"); GetUserListResponseDTO dto = await UserListService.GetUserList(); return Redirect("/home/index"); }service public async Task<GetUserListResponseDTO> GetUserList(GetUserListDTO getUserListDTO) { var configuration = new MapperConfiguration(cfg => { }); Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc = mapper.Map<GetUserListDTO, Dictionary<string, object>>(getUserListDTO); ProcCall procCall = new ProcCall(); DataTable dt = await procCall.RequestProcedure("SP_UserList", dc); GetUserListResponseDTO dto = new GetUserListResponseDTO(); return dto; }구현하고자 하는 내용.로그인 해서 나온 데이터를 활용하여 조회 화면을 구성하고자 함A 등급을 가진 사람한테 -> A-1 화면만 조회하도록 구현하고자 합니다.Session 값을 가져와서 구현하고자 했는데.. 그럼 DTO를 거치면 안 될까요...? DAL 부분의 활용 여부SP_ 형식을 차용하는데 DAL.Mapper와 DAL.Model 추가적인 사용은 필요가 없을 것 같습니다...?DB와 소통하는 부분으로만 남겨도 될까요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
Request.Query는 배열로는 받을 수 없나요?
queryString으로 데이터를 받아오는 것에서 매개변수에 string[] datas를 해주면, datas Name을 가진 input 태그에서는 받는 값들은 이 배열에 모인다는 걸 이해 했습니다. 근데 Request.Query로는 그게 불가능한가요?