묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프론트 개발자를 위한 백엔드 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 입니다.
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
DBeaver와 supabase connection
host, port, username, password 다 제대로 적었는데, test connection을 하려고 하면"no route to host"라고 뜹니다.구글링 해봐도 해결이 안되네요.이런 오류가 뜰 때는 보통 어떻게 해결하나요??
-
미해결[CS 기술면접 2] 말이 트이는 운영체제
Suspend는 Ready 나 Blocked 상태에서 가능한거 아닌가요?
이전 프로세스 상태 파트에서, Suspend는 Ready 나 Block 상태에서 가능하다고 배웠는데요! 중기 스케줄러에 보시면 "실행 중인 프로세스를 메모리에서 디스크로 이동(Swap out)하거나 디스크에서 다시 메모리로 복구함" 이라고 나와있습니다. 실행 중인 프로세스는 실행 데이터가 메모리에 적재되고 CPU 자원을 할당받은 상태 아닌가요..?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java: 상속을 정리하는 문제 10개에서 유형 9번
유형 9번에서 처음에 Child obj = new Child(); 의 뜻이 Child 타입의 새로운 생성자를 생성하는 것이고, 이 생성자의 자식 class로 갔는데, 생성자가 없고, 부모에도 생성자가 없어서 출력되는 값은 없는 것이고, 그 뒤의 obj.display()코드를 실행해 display의 메서드에서 부모로부터 상속받아 Parent display, Child display가 답이 되는것이 맞을까요?
-
미해결
part 1은 어디에있나요..
제목그대로입니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
소스 코드 부탁드립니다~
안녕하세요~강의 듣는데,소스코드가 필요해서,소스코드 보내주시면 감사하겠습니다~sunshinew@naver.com
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
spring initializr generate문의
1강 2:59 와 3:56 같은 내용인가요? 중복되는 것 같은데요. demo를 두 번 만드시는건지 헷갈립니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka 강의
kafka 강의 부터는 아직 최신 버전으로 영상이 업데이트 되지 않은거 같은데 혹시 올해 업데이트 될 예정일까요??업데이트가 된다면 이 후에 강의를 듣고 싶어서요!!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘교안(C++) 질문이 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.취준생 조돌이입니다! _ _)최근 알고리즘 공부를 위해서 수강했고, 재밌게 C++ 교안을 읽어보면서 공부하는데 궁금한 부분이 있어서 2가지 질문드립니다!#1. 암시적 형변환문서 : 알고리즘교안.pdf페이지 : 64해당 페이지에서“~. vector의 size()라는 메서드는 unsigned int를 반환합니다. ~”라고 적혀있습니다. 아래는 예시 코드입니다.#include <bits/stdc++.h> using namespace std; int main(){ vector<int> a = {1, 2, 3}; cout << a.size() - 10 << '\\n'; // 18446744073709551609 return 0; } 교안에서는 v.size()를 unsigned int 타입으로 설명하고 있습니다. 18446744073709551609 값은 2^64 범위가 되어야 나오는 값으로 알고 있는데, 그렇다면 v.size() 타입은 unsigned int 타입이 아닌 unsigned long 타입이 되어야 하는거 아닌가? 궁금합니다!#2. vector (2차원 배열)문서 : 알고리즘교안.pdf페이지 : 113#include<bits/stdc++.h> using namespace std; vector<vector<int>> v; vector<vector<int>> v2(10, vector<int>(10, 0)); vector<int> v3[10]; int main(){ for(int i = 0; i < 10; i++){ vector<int> temp; v.push_back(temp); } return 0; } 예시 코드에서 v3 변수는 1차원 벡터로 선언되었음을 확인할 수 있었습니다.vector<int> v3[10]; 하지만 아래 그림에서 v3 변수는 {{}, {}, …, {}} 빈 벡터를 10개가진 2차원배열(벡터)로 설명되는 것으로 이해했습니다.이런 경우에 위 코드에서vector<vector<int>> v3[10];처럼 코드가 작성되어야 하는게 아닌가? 궁금합니다!
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
포르테이너를 도메인으로 접속할때 ERR_SSL_PROTOCOL_ERROR 에러
안녕하세요, 강의 잘 보고 있어요 4강을 진행중인데, 실은 6강까지 진행 했다가 n8n에서 connection lost가 해결이 안되서내가 뭔가 놓친게 있지 않을까 해서 처음부터 다시 진행 했습니다 처음부터 진행 하기 전에 콘타보 서버 옵션에서 Reinstall 이라는 항목이 있어서 그거로 한번 초기화를 시켜줬구요 4강까지 진행 하는데 문제는 없어보였는데, 제가 설정한 도메인으로 제대로 접속이 안 되고 있어요.예를 들어 내 도메인이 mydomain.kr 이라고 가정 했을때4강 17분 14초부터 http://mydomain.kr:9000 으로 접속 하면 접속이 되어야 하는데,제쪽에서는 '사이트에 보안 연결을 할 수 없음' 이라는 문구와 함께ERR_SSL_PROTOCOL_ERROR 에러가 뜨고 있어요.쿠키 삭제 해서 다시 접속해도 똑같아요.cmd에서 ping으로 mydomain.kr 을 찍어보면 패킷 주고받는게 보이는걸 보면분명 도메인은 잘 되고 있는거 같은데 접속이 안 되고 있어요.http://mydomain.kr:9000 으로 접속 하면 에러가 나고, http://123.123.123.123:9000 으로 접속하면 잘 접속 됩니다 connection lost가 해결이 안되서 처음부터 다시 했다고 말씀 드렸잖아요?거기까지 진행이 했을때는 nginx 설정까지 했다가 서버를 콘타보에서 Reinstall로 초기화를 시킨건데혹시 nginx쪽 찌꺼기가 남아 있을수가 있는건가요?SSL 이라고 하니까 인증이나 보안쪽 같은데, 그럼 nginx 밖에 안 떠올라서요잘 모르겠네요
-
미해결
🎨 포토샵·일러스트 같이 해요
🎨 포토샵·일러스트 같이 해요혼자 하면 금방 늘어지니까,같이 작업하고 이야기 나누면서 배우면 훨씬 재밌어요.실력 상관없어요.그림 좋아하고, 배우고 싶은 마음만 있으면👌📍 서울🕒 시간은 같이 정해요