묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Boot TDD - 입문부터 실전까지 정확하게
10년간 CTO 활동을 하신 부분에 대한 질문
안녕하세요.호기심에 질문 드립니다. CTO로 여러 회사에서 활동하셨던걸로 소개를 받았는데 이중에 성공전인 회사에 입사하셔서성공 궤도에 올리신 회사가 있을까요~?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Java JDK 버전 문의의 건
알려주신대로 java jdk 11버전으로 다운받고Gradle 11버전이 없어서 17로 받았는데, 버전 오류가 발생한 것 같습니다. 17버전을 다시 다운받으려고 하는데, 어떤걸 해야하는지 확인 부탁드립니다!
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
AOP 의존성 명칭 변경
스프링 부트 4.0부터 AOP 의존성 명칭 바뀌었으니 참고하세요. https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide 4.0 이전implementation 'org.springframework.boot:spring-boot-starter-aop' 4.0 이후implementation 'org.springframework.boot:spring-boot-starter-aspectj'
-
미해결옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
DI 제가 이해한게 맞는지 궁금해요
강의에선 되게 단순하게 큰 틀 위주로 알려주시는 것 같아서 개인적으로 더 자세한 의미나 추가적인 개념이 궁금할 때 검색해보는 편인데, DI라는 것이 클래스 간의 결합도를 낮추고 객체의 유연성을 높이기 위해 빈 객체를 만들어 주입하는 것을 의미한다고 정리했습니다. 이게 맞게 정리한건지 궁금합니다. 또 추상 클래스와 인터페이스 간의 차이점은 찾아봐도 이해가 어렵길래 선생님의 친절한 설명이 필요할 것 같아서 추가로 여쭤봅니다!
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
가상의컨테이너에 파일생성이 됩니다.
인텔리제이와 MCP를 모두 연결 한것 같은데파일생성이 되지않고 실행시켜달라고하면 가상의컨테이너에 만들었다고 답변을 합니다.어떻게 해결해야할까요?
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
중간 결과물을 다운 받을 수 있는 곳이 있나요?
'섹션 5. 클라우드에서 내 서비스 띄우기: AWS로 배포하기' - '26. AWS EC2 서버에 애플리케이션 배포' 강의를 듣던 중 문제가 생겨 AI를 활용해 문제를 해결해보다가 해결을 못 했습니다. 이미 너무 많이 만져서 원래 상태로 복구하긴 힘들 거 같네요.강의를 처음부터 다시 들으면서 다시 만들어야 할까요? 깃허브 같이 중간 결과물을 다운 받을 수 있는 곳은 없나요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberService와 EmailSender 책임 분리에 대한 질문
안녕하세요, 토비님. 강의 초반에 말씀해 주신 것처럼, 리팩토링 과정에서 “제가 했다면 어떻게 했을까”를 계속 생각해 보며 토비님의 의사결정 과정을 따라가고 있습니다. MemberService.register() 메소드에서 emailSender.send(...)를 sendWelcomeEmail()로 분리하시는 과정을 보며 두 가지 고민이 생겼습니다. 첫째, 환영 이메일의 내용이나 정책이 변경될 때마다 MemberService의 코드가 함께 변경되어야 한다면, 이는 SRP 위반에 해당하지 않는지에 대한 고민입니다. 이 경우 환영 이메일 전송에 대한 책임을 EmailSender 인터페이스 쪽으로 옮기는 것이 더 적절한지 궁금해졌습니다. 둘째, 만약 EmailSender 인터페이스에 해당 메소드를 추가한다면, 구현체가 늘어날수록 인터페이스가 비대해지거나 향후 구현 복잡도가 증가할 수 있다고 느꼈습니다. 이런 경우 default method로 제공하는 방식에 대해서는 어떻게 생각하시는지도 궁금합니다.
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
장바구니 아이템 가격 기준?
강의 잘 듣고 있습니다! 수강중 궁금한 내용이 있어서 남겨요. CartItem 개념객체가 ProductOption을 알고 있지만 CartItemResponse를 보니 장바구니에 노출 시켜줄 때는 오직 Product의 가격으로만 노출 켜주고 있더라고요. 장바구니에 담기는 단위, 기준이 ProductOption이지만 CartItemResponse에서는 product의 가격으로 노출 시키고 있는 이유가 궁금합니다!또한 ProductOption의 Price는 Product의 Price와 별개로 봐야 하는건가요?그리고 ProductOption 단위 하나로 옵션개념이 잡혀있는 것 같은데 (ex: 색상:REDㅣ사이즈:M), 만약 이 옵션들이 하나의 단위가 아닌 개별로 데이터를 가지게 된다면 어떻게 해야할까요?(ex: 색상:RED +3000원 - 사이즈:M +500원)(ex: 색상:BULE +3000원 - 사이즈:M +1000원)
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
22. REST 방식 컨트롤러 만들기(2), 29. 등록처리 부분 질문이 있습니다.
22. REST 방식 컨트롤러 만들기(2)에서포스트맨으로 글 등록 테스트 할 때 complete 필드가 없는 경우 Bad Request 400에러가 나는 걸 확인했습니다. { "title": "Test title", "writer": "testuser", "complete": false, "dueDate": "2026-02-04" }위와같이 complete필드를 추가하니 잘 되었는데, 문제는 29강에서처럼 브라우저 화면에서 테스트 해보니 아래와같이 400에러가 발생합니다.여기도 마찬가지로 입력폼에서 complete필드가 없어서 그런것 같은데 강의에서는 등록이 잘 되는게 이해가 안되네요. 섹션4까지 완성된 코드를 다운받아서 실행해보았지만 위의 사진처럼 브라우저에서 등록 시 400에러가 발생합니다.
-
해결됨The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
1-4 서울이미지 다운시 에러
1-4 이미지 다운받아서 진행하려고 하는데 사진처럼 압축파일 상태에서 더블클릭하면 안에 뭐가들어있는지 확인할 수 있는데 아무것도 없습니다. 압축해제할때도 에러가 발생해요. 윈도우 11 사용중입니다 .
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
claude_desktop_config.json 설정도 해야하는거죠?
- 학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요!- 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요.- 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요.- 서로 예의를 지키며 존중하는 분위기를 함께 만들어가요.- 잠깐! 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요 변경된 Claude 설정법 영상[변경된 Claude 설정법 영상]만 하면 되는건가요? 아니면 claude_desktop_config.json에 "mcpServers": { "jetbrains": { "command": "npx", "args": ["-y", "@jetbrains/mcp-proxy"] } }...이거 복사 붙여넣기하는건 꼭 하고 진행해야 하는건가요? 근데 저게 뭘하는건지 궁금하긴하네요
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
37강. 강의수업듣다 질문드립니다.
음 지금까지 잘 수업따라 오다가 이 부분테스트 하는 부분에서 강사님과 다르게 이렇게 에러가 발생합니다. 그 이전에는 에러가 발생 안했습니다. 이 부분만 가지고 대충 예상이 되실까요.?
-
해결됨AI 다루는 백엔드 설계 기본 - SpringBoot SNS 편
agents와 commands에 대해 궁금한 점이 있습니다!
코드리뷰 실습 부분에서 아래 두가지와 관련된 질문 들이 있습니다!agentscommands질문두 가지는 실제로 클로드 코드에서 제공해주는 각각 다른 기능인건가요? 아니면 똑같은 기능이지만 추상적인 의미만 부여한 건가요?agents.md 파일 코드리뷰에이전트 이외에도 테스트코드작성전용에이전트, 쿼리작성에이전트와 같이 하나의 페르소나를 부여한 별도로 하나의 기능을 가진 객체로 생각해도 될까요?commands 기능은 꼭 agents 파일을 바인딩 할 때만 사용하는 기능인가요?위 기능의 차이점이 단순히 agents.md를 실행하려면 자연어로 명령하고 commands기능은 /xx로 명령하는 차이만 있는건가요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
좋아요 기능 정합성 보장 방법
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 좋아요에 대한 정합성을 (article_id, user_id) 유니크 인덱스로 보장하는 것은 DB의 역할이라고 생각합니다.그렇다면, 다수의 동시 요청이나 사용자의 반복 클릭(예: 좋아요 버튼을 연속으로 누르는 경우) 상황에서 불필요한 DB 부하와 예외 발생을 줄이기 위해 애플리케이션 단에서는 어떤 방식으로 이를 보완하고 처리하는 것이 적절한가요?좋아요에 대한 정합성을 (article_id, user_id) 유니크 인덱스로 보장하는 것은 DB의 역할이라고 생각합니다.다만, 다수의 동시 요청이나 사용자의 반복 클릭(예: 좋아요 버튼을 연속으로 누르는 경우) 상황에서는 애플리케이션 단의 단순한 선행 검증만으로는 이를 제어하기 어렵다고 느꼈습니다.예를 들어, 아래와 같은 코드에서는 다음과 같은 경쟁 상태(race condition)가 발생할 수 있습니다.T1: exists → false T2: exists → false T1: insert T2: insert ❌ (유니크 제약 위반) if (!likeRepository.exists(postId, userId)) { likeRepository.save(...); } 이처럼 애플리케이션 레벨의 exists → insert 패턴이 동시성 문제를 해결하지 못하는 상황에서DB 예외에만 의존하지 않고 불필요한 중복 요청과 예외 발생을 줄이기 위해 애플리케이션 단에서는 어떤 방식으로 이를 보완하는 것이 바람직하다고 보시는지 궁금합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
보안이 엄격한 데이터
보안이 엄격한 데이터(ex) db url, password, aws access/secret key, 관리자 id, password 등) 모두 properties/yaml 파일에서 관리해도 지장은 없을까요? 물론 gitignore에 해당 파일을 명시한다는 전제입니다.
-
미해결스프링 부트 - 핵심 원리와 활용
MyProperties 자체를 클라이언트 코드에서 사용
[질문 내용]여기에 질문 내용을 남겨주세요.행위가 없고, 아예 수정 불가한 읽기 전용 객체 타입인 경우, 별도의 MyDataSource 클래스를 Config 클래스에서 별도로 만들고 그것을 빈으로 등록하는 것보다 아예 MyDataSourceProperties 자체를 클라이언트 코드에서 사용하는 것이 좋을 것 같은데, 혹시 별로일까요?
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
인텔리제이에서 legacy 프로젝트 그레이들 인식 불가
안녕하세요..열심히 강의를 듣고 싶지만 프로젝트가 그레이들 인식을 하지 못해서 코드조차 제대로 못보고 있습니다ㅠ 지금까지 해본 것intellij cache invalidate.idea 파일 삭제 후 그레이들 재빌드gradle.properties jdk 21 버전으로 되어 있어서 프로젝트 구조 및 세팅 모두 jdk 21로 동일하게 맞춤세팅에서 gradle default로 되어 있는거 intellij로 옵션도 변경 시도인텔리제이 업그레이드 (2023년 버전 -> 2025년)./gradlew build clean 명령어는 정상적으로 되는 것을 확인마음 잡고 오랜만에 공부하려 했는데 시작조차 안돼서 답답하네요 흑흑 ,,,어떻게 하면 좋을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.
수업자료 최신화좀 해주세요.pdf 자료 보면서 하다가 하다 하다 안되서 커뮤니티랑 찾다보니까 버전 안맞아서 설치 안되고 있엇네요.자료 최신화 하면 좋을것 같습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
api gateway 에서 인증 처리
api gateway 에서 jwt 검증을 해서 분기를 시키는데, 세션-쿠키 방식일때도 api-gateway에서 처리 하나요 ?만약 세션-쿠키 방식일 때,user-service 에서 인증 처리한다고 하면, order 서비스에서 인증이 필요한 경우, user-service로 http 통신으로 인증을 확인하나요 ?
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
Batch 패키지 설계 — 실무에서 Job 단위 구조
킬구형 ㅎㅇ 요즘에 배치 다시 학습하면서 좀 고민인 부분이 있음. 현재 회사에서 배치 Job이 좀 많이 늘어나면서 코드 관리가 너무 어렵더라고. Spring MVC에서는 Controller-Service-Repository 같은 레이어드 아키텍처나 클린 아키텍처처럼 널리 쓰이는 구조가 있는데, 배치 쪽은 이런 패키지 구조나 설계 방식에 대한 레퍼런스가 상대적으로 적은 것 같아서. 최근에 클린 아키텍처를 배우면서 배치에도 이런 구조를 적용할 수 있는지 궁금해졌거든.지금 나는 대략 이런 식으로 구성하고 있어:batch/ ├── order/ │ ├── confirm/ │ │ ├── OrderConfirmJobConfig.java │ │ ├── OrderConfirmReader.java │ │ ├── OrderConfirmProcessor.java │ │ ├── OrderConfirmWriter.java │ │ └── OrderConfirmJobListener.java ├── payment/ │ ├── settle/ │ └── cancel/ ├── support/ ├── domain/ ├── application/ └── infrastructure/ 하나의 Job을 하나의 큰 애그리게이트처럼 보고 있어서, 관련 클래스를 패키지별로 분리하기보다 한 폴더 안에서 로우 레벨로 관리하는 게 더 편하더라고.근데 Job이 계속 많아질수록 이게 맞는 건지, 더 나은 방법이 있는 건지 잘 모르겠어서. 혹시 형은 실무에서 Job이 많아졌을 때 패키지 구조나 코드 구성을 어떻게 가져가? 객체 간 위계나 import 의존성 방향 같은 것도 신경 써서 설계하는지도 궁금해. 물론 사람마다 차이가 있겠지만 시간 괜찮으면 경험 공유해주면 도움이 많이 될 것 같아!