묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
PaymentValidator와 PaymentProcessor에서 주문과 결제를 중복 조회하는 구조에 대한 질문이 있습니다 !
제미니님 안녕하세요!30강 5분쯤에서 나온 결제 구조 관련해서 질문이 있습니다. 검증과 처리 책임을 모두 가지고 있던 PaymentManager를 Validator와 Processor로 분리한 의도는 이해했습니다.그리고 Validator와 Processor 각각에서 주문과 결제를 다시 조회하도록 구현하신 이유가 컴포넌트를 명확하게 분리하고 재사용성을 높이기 위함이라고 이해했습니다. 여기서 말씀해주신 “명확하다”는 표현이 PaymentService에서 비즈니스 흐름을 더 명확하게 드러내기 위한 설계 의도라고 이해해도 괜찮을까요? 한편으로는 다른 방식도 떠올랐는데, Validator에서 검증하면서 조회한 주문/결제 정보를 PaymentContext 같은 객체에 담아서 Processor.success로 전달하는 구조는 어떻게 생각하시는지 궁금합니다. 이런 방식이 책임 분리나 구조적인 측면에서 문제가 생길 여지가 있는지, 혹은 실제로는 어떤 트레이드오프가 있는지도 함께 알고 싶습니다!
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
ERD 질문
안녕하세요 ~ 강의 잘 수강하고 있습니다 !ERD 부분에서 질문이 생겨 여쭤보게 되었습니다 !! chat_participant 부분에서 전용 pk를 하나 두고 chat_room_id와 member_id를 두셨는데, 혹시 이런 경우에는 pk 자체를 chat_participant_id 라는 전용 pk 말고 chat_room_id, member_id 복합 pk로 사용해도 괜찮을까요 ? message_read_status 테이블을 따로 정규화시킨 이유가 있을까요 ?chat_message와 거의 비슷한 외래키를 쓰고 있는데 chat_message 테이블 안에 isRead 컬럼 자체를 두는 것이 더 적절하지 않은지 강의를 수강하다 궁금해서 여쭤보게 되었습니다 !! 또, 혹시 강의 내용을 공부한 부분에 대해서 학습 목적으로 블로그에 공부한 것들을 정리해서 업로드하는것이 괜찮을까요 ? 좋은 강의 제공해주셔서 너무 감사드립니다 ~~~ 오늘 설 연휴인데 새해복 많이 받으셔요 ~~
-
미해결스프링 부트와 리액트로 구현하는 보안 JWT 로그인
JJWT 0.12버전 이상 Jwts.parserBuilder deprecated
안녕하세요. 20강 클레임 미검증 주의 강의를 듣다가JJWT 0.12 버전에서Claims claims = Jwts.parserBuilder() .setSigningKey(key) .build() .parseClaimsJws(token) .getBody();위의 예제 코드에서 parserBuilder, setSigningKey는더 이상 0.12 이상 버전에서는 지원하지 않는 메소드라고 나와서요Claims claims = Jwts.parser() .verifyWith(key) .build() .parseSignedClaims(token) .getPayload();위의 코드로 대체하면 될지 문의 드립니다...!
-
해결됨SpringAI + React로 만들어보는 나만의 감정일기 서비스
혹시 git 주소 혹은 소스코드 공유될까요???
강의보면서 하나하나 따라적는게 좀 불편한데, 소스코드도 제공가능한지 문의드립니다.
-
해결됨Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
batch_db 생성 관련 문의 드립니다.
안녕하세요우선 강의 잘 들었습니다~batch 를 실무에 적용해보고자 하는데요spring batch의 경우 batch_db에batch_job 관련 테이블이 자동 실행되는 걸로 보이는데요실무에서는 dba를 통해 테이블을 생성해야되는데요batch_job 관련 스키마를 모두 반드시 생성을 해야 되는 건가요??
-
해결됨AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편
질문 드립니다!
혹시 선생님께서 수업 중 사용하신 ppt 파일이 있으실까요? 복습할 때 꼭 필요해서 질문드립니다!
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
결제 개념 컴포넌트 분리 기준과 네이밍 전략에 대한 질문있습니다 !
안녕하세요 ! 결제 개념 쪽 강의 내용 중 궁금한 부분이 있어 질문 드립니다 ! 1. PaymentCreator를 별도 컴포넌트로 분리한 이유결제 개념에서 PaymentCreator를 별도의 컴포넌트로 추출하신 이유가 궁금합니다.결제 생성 또한 결제 개념을 처리하는 기능의 일부라고 생각해서, PaymentProcessor 내부에서 함께 처리할 수도 있지 않을까 생각했는데 Creator를 분리하신 설계 의도가 무엇인지 알고 궁금합니다!2. Manager vs Processor 네이밍 전략 기준다른 개념 영역에서는 Manager라는 네이밍을 사용하시다가결제 영역에서는 Processor라는 네이밍을 채택하신 이유가 궁금합니다.두 네이밍 사이에 역할적/의미적 차이를 두고 설계하신 것인지, 혹은 도메인 특성에 따른 네이밍 전략인지 궁금합니다 !
-
해결됨AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편
프론트 API 작업
안녕하세요!AI로 개발하는 대략적인 방법에 대해서 알 수 있어서 재밌게 잘 듣고 있습니다!! 다만, 프론트에서 React 훅을 만드는 작업(API 작업)을 다루는 부분이 많이 스킵되어 이 부분을 어떻게 처리해야 할 지 고민이 됩니다.이전에 AI로 프로젝트를 진행할 때에도, 이미 만들어진 UI/UX에 API 추가하는 것이 항상 어려움이 있었던 작업이라..혹시, API를 연결할 때 조금 더 수월하게 할 수 있는 팁 같은 것이 있을까요?감사합니다!
-
미해결최신 Spring AI 기초부터 MCP까지
gpt 대답에 대한 궁금한점
강사님 학부 기준으로 프로젝트를 하는데OCR 기술을 이용하여 영수증및 음식을 인식하고 이거에 대한 음식이 DB에 저장이 되고DB에서 추천 레시피를 만듭니다. (사용자가 채팅창에 입력을 할 경우) 여기서 만약 추천 레시피를 DB에 저장해서 나중에 북마크 형태로 볼수 있게 만들려고 생각중에 있습니다.문제는 안드로이드 폰으로 볼 때 북마크 화면에서 상세보기를 보면 너무 길게 나올 수도 있고 중간에 잘릴 수도 있어 가지고 형식에 맞게 Db에 저장하고 보여주는 걸 생각하고 있습니다. 조금 형식에 맞게 만들려면 Few Shot 이정도면 되는건가요?
-
해결됨[Lv1] 면접에서 설명할 수 있는 Spring Boot - 경험으로 답변하는 백엔드 개발
postman request url {{baseURL}} 어떻게 하신걸까요?
3-5 강의 14:34 에 요청 URL 을 var 로 선언해두셨는데, 어떻게 하는걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
project JDK is misconfigured
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.뭐가 문제일까요,,
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 실행오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)MemberRepositoryTest가 실행이 안됩니다.실행 시 Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/%EC%9D%B8%ED%94%84%EB%9F%B0_%EC%8A%A4%ED%94%84%EB%A7%81JPA_%EC%8B%A4%EC%A0%841/jpashop/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.BUILD FAILED in 2s4 actionable tasks: 1 executed, 3 up-to-date라는 오류가 계속 뜹니다.https://drive.google.com/file/d/1LNpdY4Fqk9nXDHT11tj0hEyGf_zKRgVr/view?usp=sharing
-
미해결최신 Spring AI 기초부터 MCP까지
localhost/go/setting/postgresql
강사님 혹시 이파일이 어디에 있는지 알 수 있을까요?
-
미해결[4주 과정] 『부트캠프 백엔드 개발자 편 with 스프링 부트』 완독 챌린지
ProductController 생성 위치
책 99페이지에서 만든 ProductController는 src/test/java 하위에 만들어져있는데, 이곳에 파일을 그대로 둔 채로 책 107페이지 스프링 빈 실습을 진행하면 제대로 진행이 되지 않았습니다.혹시나 하여 test가 아닌 src/main/java 하위로 옮기고 진행하니 책의 결과와 같은 결과가 나왔습니다. 책 어디에도 ProductController의 파일 위치를 옮긴다는 말이 작성되어있지 않은데 옮기고 진행하는 것이 맞는지 궁금합니다!
-
해결됨Next.js with Spring Boot
강의 자료 수정 요청 - Next.js 16 버전의 파일 업로드 사이즈 제한 설정
Next 최신 버전으로 수업 듣고 있습니다. 강의 자료에 이 파일이 들어가있는데 오히려 이 설정을 적용하면 1MB 제한이 걸려 업로드 되지 않습니다 발생된 오류 메시지Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413 } ⨯ uncaughtException: Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413 } ⨯ uncaughtException: Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413 } ⨯ Error: Body exceeded 1 MB limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit at ignore-listed frames { statusCode: 413, digest: '2270266421@E394' }강의에서 알려주는 설정으로 해야 1MB 이상 이미지가 정상 업로드 되었습니다. experimental: { // 'experimental' 아래에 serverActions를 정의해야 합니다. serverActions: { bodySizeLimit: "1000mb", // 원하는 크기로 조절하세요 (예: '50mb', '100mb') }, }, 강의 자료 수정이 필요할 것 같습니다.
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
AI 를 적용시 브랜치를 다루는 팁 같은게 있을까요?
AI로 코드를 분석해보거나레거시의 수정 포인트를 느껴보거나 하는 부분은많이 와닿았는데요.AI 가 코드를 수정한 이후에코드를 비교해보는 영역에서 브랜치를 어떻게 관리하는게 좋을 지 의문이 들었습니다.AI 가 다수의 코드를 변경하고 있는데, 실제 실무에서는 한 꺼번 에 코드를 바꿔버리면 diff가 너무 많아서 개발시 우려되는 부분이 많이 생깁니다.gpt에 물어보면 ai/product-draft 와 같이 실험용 브랜치에서 작업 이후에 선별하여 수정하라는 답변을 받았는데요.아직 섹션3을 수강하고 있어서, 이른 질문일지 모르지만 해당 사항 관련하여 실무적인 관점에서 실제로 어떻게 하는게 좋은 방법일 지 조언 한 번 부탁드립니다.
-
해결됨이거 하나로 종결 - 32시간 고품질 스프링 풀스택 웹 개발
안녕하세요.
기존 40시간 강의 영상은 32시간 강의로 대체된걸까요? 비공개로 변경돼서 아쉽습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, 강사님! 강의를 듣다가 리포지토리 추상화와 관련하여 실무적인 고민이 생겨 질문드립니다. ( java 학습 전에 안드로이드 kotlin 개발 중에 겪었던 문제)현재 인터페이스를 통해 리포지토리를 추상화하고, 향후 데이터 저장소가 바뀌어도 MemberService 등 비즈니스 로직을 보호하는 설계를 공부하고 있습니다. 그런데 만약 외부 시스템이나 DB의 ID 규격이 바뀌어 데이터 타입 자체가 달라지는 경우에는 어떻게 대처하는 것이 정석인지 궁금합니다.1. 타입 불일치 및 형변환의 한계 예를 들어, 현재 우리 시스템의 도메인(Member) ID는 Long인데, 나중에 도입할 외부 API의 ID가 2131293e-r1232... 같은 UUID(String) 형태라면, 물리적으로 Long으로의 형변환 자체가 불가능합니다.2. 이 경우 어떤 방식이 가장 권장되는 '정석'인가요?방안 A: 도메인 모델은 우리 시스템의 기준(Long)을 유지하고, 리포지토리 구현체 내부에서 외부 ID(String)를 별도의 필드에 매핑(저장)하며 우리만의 PK를 새로 생성한다.방안 B: 인터페이스와 도메인의 ID 타입을 처음부터 가장 범용적인 String으로 변경하여 외부 규격에 맞춘다.방안 C: 기타 실무에서 주로 사용하는 별도의 전략이 있는지 궁금합니다.3. 고민의 요지 구현체 내부에서 '임의로 타입을 가공하거나 재조립'해서 서비스에 넘겨주는 것이 도메인의 순수성을 지키는 올바른 방향인지, 아니면 애초에 이런 타입 변경의 가능성까지 고려하여 인터페이스를 더 유연하게(예: Generic 사용 등) 설계해야 하는 것인지 강사님의 실무 노하우를 듣고 싶습니다!
-
미해결[4주 과정] 『부트캠프 백엔드 개발자 편 with 스프링 부트』 완독 챌린지
스프링공식문서에 어노테이션 페이지가 있나요?
어노테이션 뭐가 있는지 궁금했습니다. 스프링 공식 문서(https://docs.spring.io/spring-framework/reference/index.html)에 Annotation 검색해보니까 여러가지가 나오네요. 어떤 걸 봐야 어노테이션 전체를 볼 수 있나요?어노테이션 페이지가 따로 없나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단위/통합 테스트 버전충돌 문제
취준생으로서 아주 유용하게 강의를 듣고있습니다. 그런데 테스트코드를 실행할 때 현재상황에서 기본설정된 junit6이 지원되지않는 상황이고 build.gradle 의존성에서 junit5로 지정변경하고 테스트 케이스를 작성하고 실행할때 junit5와 6이 버전충돌해서 테스트코드가 실행이 안됩니다. 어떻게 해결해야 할까요?