묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
CodeFactoryWidget이 StatefulWidget인 이유에 대해서
안녕하세요?초보자라서 질문을 어떻게 해야될지 모르겠어서 횡설수설인 점 미리 죄송합니다. 세번째 라이프사이클을 설명하실 때 사용하신 코드에 대해서 질문이 있습니다.홈스크린 위젯을 StatefulWidget해서 클래스를 2개 만드는것은 변하는 화면을 보여주기 위해서 사용한것이겠죠? 그런데 CodeFactoryWidget은 버튼을 보여주는 위젯인데 왜 StatefulWidget을 상속받아 만드신 것일까요?CodeFactoryWidget은 상태를 관리하지 않으므로 StatelessWidget을 상속받아도 되지 않을까요? 궁금해서 잠이 오지 않습니다.
-
미해결주문시스템으로 알아보는 분산트랜잭션
노트에 노션페이지 공유가 없습니다.
설정값 복사해서 넣으려고 하는데, 물론 따라 칠 수야 있습니다만 모든 학습자에게 불편할 수 있으니노션페이지 노트에 공유 부탁드립니다.
-
해결됨[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
코드캠프 백앤드 답변이 안달려서 여기 남깁니다.
안녕하세요~백앤드 소스 코드 요청 드립니다.[부트캠프에서 만든 고농축 백엔드 코스] 메일로도 요청드리고,코드캠프 백앤드 게시판에도요청드렸는데,답변이 안달려서여기 한번더 남깁니다. 부분적으로필요한 부분만 수강하고 싶은데,앞부분을 수강하지 않으면수강하기 곤란한 부분이 있어서소스코드좀 보내주시면 감사하겠습니다~sunshinew@naver.com
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
이상적인 공부 방법
강사님이 추구하시는 생각하는 공부에 대해서 많이 고민해보게 되었습니다.그렇다면 강사님이 생각하셨을 때, 이 강의를 보고 공부하는 이상적인 방법은 어떤게 있다고 생각하시나요?예를 들면, 하나의 섹션을 먼저 다 보고 요구 사항 정리부터 다시 시작해보기 아니면 각 강의마다 끝나고 요구사항을 정리해보고 다음 넘어가기.. 등등 강사님도 커리큘럼을 만드실 때 이런식으로 하면 좋을 것 같다가 있으셨을 것 같은데 궁금합니다.
-
미해결[연재형] WE CAN ChatGPT! - 챗gpt 우리도 할 수 있습니다.
13강이 수료가 안됩니다.
13강 수료가 안됩니다. 고급과정 연결도 안되구요 빠른 확인 부탁드립니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
puts 함수 자동개행 관련
배열과 문자열 챕터로12:23에 서 2.puts 함수로 출력(자동 개행)puts("2. ");puts(st); 위 코드가 확인되는데, 2. 하고 뒤에 공백 1칸 있는 이유와 puts(str)인데 puts라는 함수가 \n 없어서 자동개행된다는 의미일까요?
-
미해결
이글좀 지워주세요(그리고 이글도 지워주세요)
야심차게 영문워드프레스 1일 5포스팅 시작합니다. 구경와주세요해결된 질문2025. 10. 05. 22:11 작성·50구글검색에 사이트가 떠서 그럽니다. 계속 요청하고 있는데 못보시나봐요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다 ㅠㅠ
길게 안해주셔도 괜찮고한 1주일만 되어도 충분할 것 같습니다 !부탁드립니다 ㅠㅡㅠ
-
해결됨따라하며 배우는 NestJS
회원가입 기능 구현 버전 변경에 따른 코드수정(해당 사항은 업데이트 예정이 없나요?)
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(/* ... */); } }일단 이런식으로 수정했는데 이 과정이 맞는지는 잘 모르겠습니다! 강사님이나 따로 혹시 올라와 있는 코드가 있다면 참고해보겠습니다!
-
해결됨Cursor AI로 만들면서 배우는 Web & Javascript
질문드립니다.
정보처리기사 실기를 선생님과 함께 하고, 시험 합격에 이어서이제 본격적으로 취업을 위한 저만의 프로젝트를 만들어 보겠다는 생각이 들었습니다.마침 Cusor AI의 첫 개강 때 할인 이벤트가 있어서저만의 첫 프로젝트를 시작하기 전에이번 기회에 다시 한번 더 선생님과 함께 나아가고자현재 선생님의 새로운 강의를 수강하고 있습니다. 그리고 어제 새벽에 처음 시작해서 정신을 차려 보니지금 벌써 4강을 진입하는 상황이 되어버렸습니다..결론은 또 엄청난 강의를 만들어 주신 것 같습니다....! 이제 정말 질문인데요.프론트 엔드의 영역이라 생각하고 지금 재미있게 공부 중에 있습니다만백엔드나 전체적으로 다뤄서 풀스택 관련 강의 제작도 목표가 있으실지 해서질문 남겨드립니다. 현재 독학으로 Spring을 공부 중에 있습니다만, 선생님의 자바 백엔드수업도 있다면 재미있게 제가 원하는 개발을 이어나갈 수 있을 것 같아조심스럽게 이 자리에 질문을 남겨드립니다. 아무쪼록 이번에도 놀랍고 대단한 몰입력을 유도하는 강의를 만들어 주셔서정말 감사합니다. 정보처리기사 합격에 이어서 이번에는 선생님 강의를 듣고 취업 성공까지 힘내 보겠습니다!ㅎ(ps 시험 때문에 듣던 선생님의 ppt 자료가 이제는 시험이 아니라 재밌는 창작 같은 공부에 쓰이니까 모든 게 감회가 새롭네요ㅋㅋㅋ)
-
미해결프론트 개발자를 위한 백엔드 101 (NestJS, TypeORM)
PostRepository 구현
상위 레이어의 정보를 알면 안되기 때문에, 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 메서드가 적합하다고 생각이 드는데, 이해한게 맞을까요? 감사합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
포인터 작성요령
21:09지금 까지 이해한 포인터의 방법은 주소 사용할때는 & 또는 생략, 값을 사용할때는 *로 이해하고 있습니다.해당 printf("%s\n", arr[0][0]); 라는 구문에 질문이 있습니다.포인터 변수로 해당 문자열의 주소를 각 맵핑하였고 배열에 맞게 출력하는걸로 해석이 되는데 이때 왜 값을 안 가져오고 주소를 가져오는지 궁금합니다. 또한 %s로 출력하고 해서 주소대신에 값으로 가져오는지 궁금합니다.
-
미해결프론트 개발자를 위한 백엔드 101 (NestJS, TypeORM)
Nest.js와 레이어드 아키텍처
nest.js에서의 레이어드 아키텍처 구조에 궁금한 점이 생겨 질문을 남깁니다각 계층별 실제 구현 파일을 아래와 같이 이해하면 될까요?repository와 entity가 정확히 어떤 계층에 속하는지 궁금합니다. Presentation Layercontroller.tsApplication Layerservice.tsDomain Layerrepository.tsentity.tsData Transfer Objectdto.ts
-
미해결
코드 파일을 못 찾겠습니다.
어디서 학습자료를 받을 수 있는지 알 수가 없습니다.. ㅠㅠ
-
해결됨<밑바닥부터 만들면서 배우는 LLM> 완독 챌린지
강의 쿠폰 관련 문의드립니다.
안녕하세요 강사님, 공지를 늦게 확인하고 쿠폰을 확인하지 못해 문의 남깁니다.이전 문의 글들을 보니 가입한 이메일로 지난주 및 이번주에 쿠폰이 지급될 것이라 안내 해 주셨더라구요.하지만 저 같은 경우 지난주에도 메일이 오지 않았고 현재도 수신된 메일이 없기에 확인할 수 있는 방법이 있을지 문의 드립니다.감사합니다!
-
해결됨KotlinConf 2025 발표 세션
쿠폰 관련 문의드립니다.
이미 Ultimate를 구독한 계정에 해당 쿠폰을 사용해서 기한을 연장하는 것도 가능한가요?
-
미해결[유니티6] 따라하면서 배우는 고박사의 Top-Down Shooting 게임
behavior 패키지 관련
#30 behavior영상중 2:57현 사용 unity 버전6000.0.32f1behavior가 패키지 매니저에 없어서add package by name으로 com.unity.behavior를 추가하였습니다.해당 패키지는 packages - unity에 들어가 있습니다.완전 처음 설치하는 사람에게 안뜨는건지저만 오류가 있는지는 향후 설치 이력이 없는컴퓨터에서 확인해봐야하지 않을까 싶습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이번 시험일 까지만 강의 연장가능할까요?
안녕하세요. 작년에 결제하고 취준으로 시간이 마땅하지 않아,,,미루고 미루다 이번 11월 29일 빅분기 실기 시험 준비하려고합니다..강의가 10월 31일까지인데,, 11월 28일까지 연장가능할까요? ㅜㅜㅜ제 이메일 주소는 pibi22@naver.com 입니다.
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
Controller에서 비즈니스 로직 흐름이 나타나는 것에 대하여..
안녕하세요.결제 부분 강의를 보니 payments API를 보면 컨트롤러에서 주문을 조회하고, 사용 할 쿠폰을 조회하고, 포인트를 조회하고, 조회 된 데이터를 PaymentService로 전달하는 스타일이더라구요. 제가 진행중인 사이드 프로젝트도 커머스가 주제입니다. 제 프로젝트도 처음에는 강의 코드 스타일대로 컨트롤러에서 필요한 데이터를 조합하고, 결제를 처리하는 Service 쪽으로 넘기는 형식이었는데, 이게 점점 결제 기능이 고도화되면서 뭔가 컨트롤러에서 비즈니스 로직의 흐름이 보이는게 맞나? 라는 생각이 들게 되었고 어느 순간부터 웬만한 Controller에서는 1개의 xxxService.method()만 호출하고 이 method가 요청에 대한 비즈니스 로직을 전부 담당하게 되었습니다.@Service class QuestionPaymentService( private val questionOrderGenerator: QuestionOrderGenerator, private val promotionApplier: PromotionApplier, private val orderCouponApplier: OrderCouponApplier, private val paymentCouponApplier: PaymentCouponApplier, private val questionPaymentRecorder: QuestionPaymentRecorder, private val pointCommandAPI: PointCommandAPI, private val eventPublisher: EventPublisher, ) { @Transactional fun payment(command: QuestionPaymentCommand): QuestionPayment { val order = questionOrderGenerator.generateQuestionOrder(command.userId, command.questionIds) val questionPayment = QuestionPayment.create(command.userId, order) promotionApplier.apply(order) orderCouponApplier.apply(questionPayment, command) paymentCouponApplier.apply(questionPayment, command) pointCommandAPI.usePoint(questionPayment.userId, questionPayment.realAmount) questionPaymentRecorder.record(questionPayment) eventPublisher.publish(toEvent(questionPayment)) return questionPayment } }위 코드는 제 프로젝트의 결제 부분인데요. 강의에서 말씀하신 것처럼 Service가 너무 많은 걸 알게되더라구요.(주문도 생성하고, 쿠폰도 적용하고, 프로모션도 적용하고...)지금 이 글을 작성하다보니, 갑자기 제 코드가 못생겨보이네요..강의 코드와 비슷한 방식으로 위 코드를 바꿔본다면, 컨트롤러에서는 orderService를 이용해서 주문을 생성하고, couponService, promotionService 등을 이용해서 전처리를 한 뒤 PaymentService을 이용해 실 결제 금액만큼 금액을 지불하도록 하는 로직과 결제 내역을 저장하는 로직만 있을 것 같아요. 반대로 제 프로젝트 방식대로 강의 코드의 payments API를 만들어본다면, Payment를 만들기 위해서PaymentCreateService와 같은 곳에서, orderReader, ownedCouponReader, pointReader 등을 조합해서 Payment를 생성하는 방식이 될 것 같아요.결국 Service가 적은 책임만 가지게 된다면, Controller 입장에서는 복잡한 요청을 처리하기 위해선 다양한 Service를 조합하게 되고 Controller가 비즈니스 로직의 흐름을 보여주는 형태가 될 수 있다고 생각이 드는데요.(사실 Controller가 비즈니스 로직의 흐름을 보여주면 안된다는 걸 어디서도 듣지 않았지만 뭔가 어색한 것 같아요.)물론 계속 말씀하시는것 처럼 정답은 없다는 것은 알지만, 그냥 단순히 재민님은 주로 많은 책임을 가지는 Service보다는 Controller에서 작은 단위의 Service로 조합해서 처리하는 것을 선호하시는지 궁금합니다.재민님을 지속 성장 가능한 소프트웨어 포스팅으로 알게되었고, 유튜브에서도 많은 도움이 되었어요.그렇게 얻은 다양한 인사이트들을 개인 프로젝트에도 적용해보면서 다양한 시도를 하고 있는데 마침 제 관심사인 커머스 주제로 강의가 나와서 정말 행복합니다.
-
미해결
이번 시험일 까지만 연장가능할까요?
안녕하세요. 작년에 결제하고 취준으로 시간이 마땅하지 않아,,,미루고 미루다 이번 11월 29일 빅분기 실기 시험 준비하려고합니다..강의가 10월 31일까지인데,, 11월 28일까지 연장가능할까요? ㅜㅜㅜ 제 이메일 주소는 pibi22@naver.com 입니다.