✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡 평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. 강의화면에서 코드를 읽는데 클릭하실 때 화면이 울렁거려 심히 신경쓰이고 더구나 클릭하면 주변 크기가 늘어나는게 아니라 오히려 줄어드니까 글 읽기가 더 힘드네요...반드시 개선해주셨으면 합니다.
react 19 버전에 대한 관련 이슈 도 있더라구요 버전을 낮추려고 해도 3년 전 업데이트가 가장 최근 거라서 이것도 아닌 거 같아서.. 강의에서는 잘 설치되는 것 같은데 어떻게 해야할까요? yarn으로 하셨던데 npm으로 하는 것과 차이가 있는 걸까요? 아니면 그냥 npm install react-native-fast-image --legacy-peer-deps 를 사용하는 게 나을까요?
강의에서 비밀번호 입력하는 SQL Shell은 무슨 역할을 하는 건가요? SQL Shell을 켜서 비밀번호 입력을 하는데 이렇게 비밀번호까지 입력을 함으로써 어떤 일이 일어나는 건가요?? 해당 부분을 생략하면 어떤 일이 생기는 건가요 그리고 매번 서버를 킬 때 SQL Shell도 켜야하는 건가요? 안키고도 서버 동작은 잘 됩니다!
강의를 다 듣지 않은 상태에서 빠르게 실행을 해보고 싶습니다. 서버 실행, 데이터베이스 연결 이런 건 잘 했는데 지도 라이브러리 다운 및 설정 등 일부 강의만 듣고 설정해서 실행하려고 하니 문제가 생기네요. 필요한 라이브러리 버전 등 실행에 필요한 정보가 한꺼번에 나와있는 글은 없나요? ❗ 질문 작성시 꼭 참고해주세요 에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다. 질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github 을 첨부해주세요. 개발중인 OS, ReactNative, Node 버전 등의 개발환경 을 알려주셔야합니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. (에러 일부만 자르거나 일부만 복사하지말아주세요 )
개발 환경 window node 18 기타 wifi 인터넷 환경 애뮬레이터를 띄워서 확인하고 싶은데요. npm start 안드로이드 스튜디오에서 안드로이드 애뮬레이터 실행 npm run andriod > matzip@0.0.1 android > react-native run-android info A dev server is already running for this project on port 8081. info Installing the app... > Task :app:installDebug Installing APK 'app-debug.apk' on 'Medium_Phone(AVD) - 16' for :app:debug Installed on 1 device. [Incubating] Problems report is available at: file:///C:/Users/hangy/Desktop/matzip/android/build/reports/problems/problems-report.html Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.13/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 30s 58 actionable tasks: 9 executed, 49 up-to-date info Connecting to the development server... info Starting the app on "emulator-5554"... Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.matzip/.MainActivity } 애뮬레이터 반응 없이 아래 하면 표시함. 도움 부탁드립니다. 환경 설정이 되어야 진도를 나가는데. 애뮬레이터가 아무런 반응이 없네요. 좋은 강의 감사합니다.
Custom Repository 부분에서 에러가 나서 해결 하긴 하였으나 맞는 과정인지는 잘 몰라 문의드립니다. 강의에서 사용하는 @EntityRepository방식은 구버전(0.2.x) 방식으로 최신버전에서는 제거되었습니다. 강의 코드를 그대로 따라하면 ... is not a function같은 에러가 발생합니다. 그래서 user.repository.ts, auth.modules.ts 수정, auth.service.ts를 수정 1. user.repository.ts 수정 1. user.repository.ts 수정 Repository를 일반 서비스로 만들기 위한 핵심 작업입니다. 수정 내용: @EntityRepository(User) 데코레이터를 삭제하고 @Injectable()을 추가했습니다. Repository 클래스를 초기화하기 위해 constructor (생성자)를 추가하고, 그 안에서 super()를 호출했습니다. // src/auth/user.repository.ts import { Injectable } from '@nestjs/common'; import { DataSource, Repository } from 'typeorm'; import { User } from './user.entity'; // ... @Injectable() // ✅ 변경 export class UserRepository extends Repository<User> { // ✅ 생성자 추가 constructor(private dataSource: DataSource) { super(User, dataSource.createEntityManager()); } async createUser(/* ... */): Promise<void> { // ... } } 2. auth.service.ts 수정 -> providers 배열에 UserRepository를 추가했습니다. 이유: providers 배열에 등록해야만 AuthModule이 "아, UserRepository라는 서비스를 모듈로 포함시켰습니다. // src/auth/auth.module.ts import { UserRepository } from './user.repository'; // ... @Module({ imports: [TypeOrmModule.forFeature([User])], controllers: [AuthController], providers: [ AuthService, UserRepository, // ✅ UserRepository를 providers에 등록 ], }) export class AuthModule {} 3.auth.service.ts 수정 > 서비스에서 Repository를 주입받는 방식을 변경합니다. 수정 내용: @InjectRepository(User) 데코레이터를 삭제하고, 생성자에서 UserRepository를 직접 타입으로 선언하여 주입받습니다. 이유: UserRepository는 이제 마법 같은 존재가 아닌 일반 서비스이므로, 다른 서비스를 주입받을 때와 똑같이 클래스 이름만으로 간단하게 주입받을수 있습니다. // src/auth/auth.service.ts import { Injectable } from '@nestjs/common'; import { UserRepository } from './user.repository'; // 🗑️ import { InjectRepository } from '@nestjs/typeorm'; <- 삭제 @Injectable() export class AuthService { constructor( // 🗑️ @InjectRepository(User) <- 삭제 private userRepository: UserRepository, // ✅ 직접 주입 ) {} async signUp(/* ... */): Promise<void> { return this.userRepository.createUser(/* ... */); } } 일단 이런식으로 수정했는데 이 과정이 맞는지는 잘 모르겠습니다! 강사님이나 따로 혹시 올라와 있는 코드가 있다면 참고해보겠습니다!
상위 레이어의 정보를 알면 안되기 때문에, repository에서는 dto가 아니라 모델을 받아야 한다고 하는데, 모델의 타입이 어떻게 되는 건가요? 그리고 위의 예제에서 service의 create 메서드는 아래와 같이 dto를 인자로 넘겨주고 있는데, 그러면 dto로 타입을 맞춰야 하지 않나요? async create(createPostDto: CreatePostDto): Promise<Post> { const post = this.postRepository.create(createPostDto); return this.postRepository.save(post); } 그리고 글 수정 api 컨트롤러에서 put 메서드를 사용하신 것 같습니다. @Put(':id') update( @Param('id', ParseIntPipe) id: number, @Body(ValidationPipe) updatePostDto: UpdatePostDto, ) { return this.postService.update(id, updatePostDto); } 제가 생각했을 때는 일부분을 수정하는 케이스니까 restful 하도록 바꾼다면, patch 메서드가 적합하다고 생각이 드는데, 이해한게 맞을까요? 감사합니다.
nest.js에서의 레이어드 아키텍처 구조 에 궁금한 점이 생겨 질문을 남깁니다 각 계층별 실제 구현 파일을 아래와 같이 이해하면 될까요? repository 와 entity 가 정확히 어떤 계층에 속하는지 궁금합니다. Presentation Layer controller.ts Application Layer service.ts Domain Layer repository.ts entity.ts Data Transfer Object dto.ts
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요. nestJS강의를 잘 시청하고있습니다. 진행하는 과정에서 Socket Connect 연결 요청시 Error: socket hang up 오류가 발생하며 연결이 되지 않는 문제가 발생 하였습니다. 저는 현재 NestJS최신버전인 11.1.6버전을 이용해 진행중입니다. PostMan에서 Connect 시도시 아무런 로그가 남지 않습니다. 혹시 아래 문제에 대해서 도움을 받을 수 있을까요?
안녕하세요 강의 잘 듣고 있습니다. DTO에 대한 궁금증이 있어 질문 남깁니다. DTO에서 Class-Validator를 통해 유효성 검사를 하는데, 섹션5까지 학습했을 때는 Schema에서 검사를 진행했습니다. DTO에서 PickType Request로 전달되는 데이터만 명시만 하고 Schema에서 유효성검사를 하는 이유가 있는지, 아래 내용처럼 DTO에서 유효성 검사를 분리해서 하는게 이상적인 형태인지 궁금합니다. // src/cats/dto/cats.request.dto.ts import { PickType } from '@nestjs/swagger'; import { IsEmail, IsNotEmpty, IsString } from 'class-validator'; import { Cat } from '../cats.schema'; export class CatRequestDto extends PickType(Cat, [ 'email', 'name', 'password', ] as const) { @IsEmail() @IsNotEmpty() email: string; @IsString() @IsNotEmpty() name: string; @IsString() @IsNotEmpty() password: string; }
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Spring(Java)을 약 1~2년 정도 공부하다가, 최근 입사 후 NestJS를 새롭게 배우고 있습니다. 공부하기 위한 강의를 듣던 중 문득 궁금증이 생겨 이렇게 질문을 남깁니다. NestJS를 사용하는 이유가 무엇일까요? 제가 지금까지 배워온 관점에서 보면, Spring은 생태계가 훨씬 풍부하고 레퍼런스도 많으며, 엔터프라이즈 환경에서 안정성이 매우 높다고 느껴졌습니다. 반면 NestJS는 비동기 I/O 처리에 강점이 있어 성능적으로 빠르다는 인상을 받았지만, 단순히 그 이유만으로 NestJS를 선택해야 할까 하는 의문이 들었습니다. 물론 기술 선택에는 여러 요소가 있겠지만, 실무적으로나 기술적으로 Spring 대신 NestJS를 선택하는 명확한 이유가 무엇인지 궁금합니다. 단순 궁금증이었습니다...!
프론트엔드와 백엔드는 따로 나눠서 개발하는 경우가 많다고 알고 있습니다. 이럴 때, NestJS는 직접 화면을 만들어서 보여주지 않고 프론트엔드에 데이터를 주기만 하면 되는 것으로 이해하고 있는데 그렇다면 백엔드 안에서 MVC 패턴을 적용할 때 화면의 역할을 하는 View 부분이 모호해지는 것 같습니다. 해당 경우에 MVC를 백엔드에서 어떻게 주로 활용하게 되나요?