inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

프로덕트와 프로덕트카테고리 사이의 삭제 정책

해결됨

제미니의 개발실무 - 커머스 백엔드 기본편

안녕하세요, 선생님! 좋은 강의 제공해주셔서 감사합니다. 덕분에 단순히 구현에만 집중하기보다, 설계와 개념에 대해 더 고민하면서 코드를 작성하게 되었습니다. 섹션 2의 ‘개념 느끼기’ 부분에서 Product가 Product Category보다 더 상위의 개념이라고 말씀해주셨던 것으로 기억합니다. 저도 그렇게 이해했습니다. 그런데 코드 구현 파트에서 Product와 Product Category 사이의 삭제 정책을 두 가지 예시로 설명해주셨는데, 그 부분에서 한 가지 궁금증이 생겼습니다. 제 생각에는 개념적으로 Product가 더 상위 개념이라면, Product가 삭제될 때 Product Category도 함께 삭제되는 정책이 조금 더 자연스러운 흐름처럼 느껴졌습니다. 이 부분에 대해 제가 개념을 잘못 이해한 것인지, 아니면 실무적인 관점에서 추가로 고려해야 할 부분이 있는지 궁금합니다. 혹시 제가 놓치고 있는 관점이 있다면 조언 부탁드립니다!

  • kotlin
  • spring-boot
  • 도메인
  • dbms/rdbms
  • backend
신준호 댓글 2 좋아요 1 조회수 144

MCP 연동관련

해결됨

Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복

CLAUDE 에서 json 파일 수정하였고, { "mcpServers": { "jetbrains": { "command": "npx", "args": ["-y", "@jetbrains/mcp-proxy"] } }} 인텔리제이는 2025.2.6.1 버전 다운로드 후, MCP 서버 활성화 해둔 상태입니다. 하지만 계속 프로그램 재실행 하여도, Claude 부분이 활성화되지 않네요. 윈도우 10 사용중입니다. 추가로 어디를 확인하면 될까요?

  • kotlin
  • spring-boot
  • intellij-idea
  • 클론코딩
  • mcp
김완수 댓글 4 좋아요 0 조회수 261

클로드 개발자 구성편집 설정시 문제점

해결됨

Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복

{ "mcpServers" : { "jetbrains" : { "command" : "npx" , "args" : [ "-y" , "@jetbrains/mcp-proxy" ] } } } 이거설정하면 클로드 앱 화면자체가 안나오네요. ㄷㄷ

  • kotlin
  • spring-boot
  • intellij-idea
  • 클론코딩
  • mcp
Minkoo Lee 댓글 2 좋아요 0 조회수 178

2025.3.3 인텔리제이 버전에서 MCP설정하는 방법

해결됨

Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복

정보가 조각조각 되어있어서 처음 시작 부터 어렵네요. 윈도우11 환경입니다. 인텔리제이 MCP서버 클라이언트 자동구성 쪽에 claude가 안뜹니다. 현재 강의에서 claude설치후 구성편집 들어가서 노션에 있는거 복사후 claude종료 후 재실행한 상태입니다.

  • kotlin
  • spring-boot
  • intellij-idea
  • 클론코딩
  • mcp
Minkoo Lee 댓글 2 좋아요 0 조회수 587

service 를 interface 로 두는 이유

해결됨

실시간 채팅 서버 구축: 분산 처리부터 성능 최적화까지

안녕하세요 강사님. 서비스 계층을 설계할 때 인터페이스를 두고 구현체를 만드는 패턴을 사용하는 이유가 궁금합니다. 현재 프로젝트에서는 구현체가 하나뿐인데, 이런 상황에서도 인터페이스를 분리하는 것이 가지는 실질적인 이점이 무엇인지 알고 싶습니다. 특히 구현이 하나로 고정되어 있다면, 바로 구현 클래스를 빈으로 등록해도 되지 않을지 고민이 되었는데요. 설계 관점에서 인터페이스를 미리 분리해두는 이유와, 실무에서 어떤 장점이 있는지 설명해주시면 감사하겠습니다

  • spring
  • kotlin
  • spring-boot
  • websocket
쵸잉 댓글 1 좋아요 0 조회수 125

23강 5:38 부분 질문 있습니다!

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략

m=32MB짜리 10개와 m=512MB짜리 1개의 경우를 비교해주셨습니다. 그런데 이는 샤딩을 통해서 메모리 효율적으로 됐다기 보다는 메모리 총량이 512MB->320MB로 감소했기 때문에 오차율이 조금 증가하는 대신 메모리를 덜 쓸 수 있는 것 아닌가요? 예를 들어 320MB 짜리 1개인 경우와 32MB짜리 10개인 경우의 오차율이 똑같지 않나 하는 생각이 들어서 질문드립니다!

  • spring-boot
  • redis
  • backend
  • 시스템-디자인
  • cache
발그레지는개발 댓글 1 좋아요 0 조회수 94

23강 17초 부분 질문있습니다~

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략

"Split 전략에서 항상 모든 Split을 조회한다." 요 부분이 이해가 가지 않아서 질문드립니다! findSplitIndex로 계산한 split에만 접근하는 것 아닌가요? 아니면 모든 스플릿이 단일 redis 내에 존재하는 것이 문제라는 의도로 말씀하신걸까요?

  • spring-boot
  • redis
  • backend
  • 시스템-디자인
  • cache
발그레지는개발 댓글 2 좋아요 0 조회수 108

mcp 사용 여부

미해결

최신 Spring AI 기초부터 MCP까지

안녕하세요 강사님 spring ai 9강 까지 거의 다 들은 학생입니다. 1) 만약에 ocr 을 이용해서 영수증과 음식을 구분하는 ai 모델을 aws에서 사용을 하고 이걸 스프링 으로 연결해서 저장할려 면 mcp를 거의 필연적으로 사용해야 할 꺼 같습니다. webflux 랑 쿠버네티스 EKS 를 이용해서 만들려고 하는데 이게 프로젝트 수준에서 괜찮은 수준인지 궁금해서 질문 드립니다. 참고로 아직 앱 설계 단계라 사진을 찍으면 인식이 되고 db에 저장되고 추천 레시피도 나오는 정도로 생각하고 있습니다. 그리고 채팅 같은 형태에 추천 시스템 같은 경우에는 사용자가 선호하는 음식에 따라 나눈다고 가정했을 때 만약에 처음 음식 선호도를 받는다고 가정을 했을 때 도메인을 통해 구분을해서 type이 아닌 jdbc 또는 pgvector 로 처리를 하나요? 현업에서도 이러는지 궁금해서 질문드립니다. 그리고 채팅을 저장하는 경우 예를 들면 채팅기록 같은 경우 postgresql로 영구 저장을 하고 redis 정도로 해서 빠른 캐싱 정도를 생각하고 있는데 이 정도면 프로젝트 수준에서 괜찮은 수준인지 궁금하여 질문드립니다.

  • spring-boot
  • chatgpt
  • rag
  • springai
  • mcp
KMC 댓글 2 좋아요 0 조회수 159

강의 교안

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

강의 교안 지금은 받을수있을까요

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
jyoung7988 댓글 2 좋아요 0 조회수 159

어댑터에서 도메인에 직접 의존하는 경우에 대해

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

안녕하세요. 좋은 강의 잘듣고 많이 배우고 있습니다. 좋은 강의 만들어주셔서 감사합니다. 다름이 아니라, 어댑터에서 엔티티에 의존성을 가지는 것이 크게 문제되지 않는다고 말씀주신 내용에 의문이 있어 질문드립니다! 어댑터에서 도메인에 직접 의존하는 것을 막기 위해서 변환 역할을 하는 매퍼 클래스나 DTO에서 엔티티를 자기 자신으로 변환하는 로직을 가지는 것은 어떨까요? 타이트하게 룰을 잡는 케이스를 가정한다면, application layer 내부에 port가 존재할 것이고 이 port에서 return 하는 dto도 application layer일 것이고, 이 dto 안에서 Entity를 받아서 자기 자신으로 변환하는 로직을 가진다면 entity가 application 밖으로 나가지 않을 수 있지 않을까요? (controller, repository 등 마찬가지입니다) 그리고 dto를 application에서 변환하는 것이 로직의 침투라고 표현하시기도 했는데, 그렇다면 provided port 역시 어댑터의 요구가 침투하는 구조라고 볼 수도 있을 것 같기도 합니다.. (생각해보니 이상적으로는 계층별로 DTO를 생성하는게 맞다고 생각은 들지만, "엔티티를 반환하는 트레이드오프가 굉장히 효율적이고 정당하다"라고 말씀하신 것 같다고도 생각이 듭니다) 강의에서 항상 기술이 등장한 배경과 사상을 이해하고, 이를 바탕으로 정당하게 규칙을 스스로 정하는 것을 강조하시는 것 같습니다. 그래서 강의에서 말씀하신 내용이 비슷한 맥락으로, "절대 노출되면 안된다"라는 것에 대한 반박이라고 받아들여지긴 합니다만.. 그래도 바깥쪽으로 노출하지 않는 것이 의존성 관리 차원에서 더 좋지 않을까하는 생각에 질문드립니다!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
개발덕후 댓글 2 좋아요 0 조회수 235

Split 전략 강의 중 질문 있어요

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략

@Slf4j @SpringBootTest class SplitBloomFilterRedisHandlerTest extends RedisTestContainerSupport { @Autowired SplitBloomFilterRedisHandler splitBloomFilterRedisHandler; @Test void mightContain() { SplitBloomFilter splitBloomFilter = SplitBloomFilter.create("testId", 1000, 0.01); List<String> values = IntStream.range(0, 1000).mapToObj(idx -> "value" + idx).toList(); for (String value : values) { splitBloomFilterRedisHandler.add(splitBloomFilter, value); } for (String value : values) { boolean result = splitBloomFilterRedisHandler.mightContain(splitBloomFilter, value); assertThat(result).isTrue(); } for (int i = 0; i < 1000; i++) { String value = "notAddedValue" + i; boolean result = splitBloomFilterRedisHandler.mightContain(splitBloomFilter, value); if (result) { log.info("value={}", value); } } } } 위 코드는 SplitBloomFilterRedisHandlerTest 인데요. 강의 중 코드입니다 1000 크기에 0.01 오차율의 Bloom Filter 를 만들고 1000개의 데이터를 넣고 False Positive 까지 검증해보는 코드인데요. 질문입니다 Split 전략을 배우기 전에 순수한 Bloom Filter 구현 강의에서도 위와 동일한 테스트 코드가 있는데요 이 때, 순수한 Bloom Filter 의 한계로써 생성한 Bloom Filter 크기를 초과하여 데이터를 넣으면 비트 1이 많아져 오차율이 증가하고 그로 인해 False Positive 데이터가 많이 조회되는 현상을 살펴보거든요. 그리고 그 해결책으로 처음부터 큰 Bloom Filter 를 만드는 것 이외에 Split / Sharding / Sub Filter 전략이라고 말씀하시는데요 근데 위 Split 전략의 테스트 코드에서 BloomFilter 크기는 1000으로 만들고 데이터를 훨씬 초과하여 2000개 만들어 넣어보면 순수한 Bloom Filter 때처럼 False Positive 데이터가 많이 조회됩니다. 저는 PC 가 느려서 False Positive 를 1000번으로 조회하였고 오차율 (0.01) 에 의하면 약 10개의 False Positive 가 나와야 하는데 데이터 1000개를 저장했을 때는 오차율에 맞게 8개로 떨어지는데 데이터 2000개를 저장했을 때는 오차율을 훨씬 넘어갑니다 제가 코드를 잘못 따라 친건지.. Split 도 원래 그런건지.. 제 질문 의미가 전달될지는 모르겠지만.. 명확하게 개념 정리가 되지 않아 질문드립니다

  • spring-boot
  • redis
  • backend
  • 시스템-디자인
  • cache
SPRING 댓글 2 좋아요 0 조회수 126

Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.

해결됨

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

예제에서는 도메인에 별도 PasswordEncoder 인터페이스를 정의해 사용하고 있습니다. 만약에, Member 도메인이 Spring Security의 PasswordEncoder 인터페이스를 직접 의존한다면, 구현체가 아니라 인터페이스를 참조하더라도 순수 도메인 설계 관점에서 위반으로 봐야 할까요? 저는 인터페이스 의존이라 괜찮을 수 있다고 생각했지만 AI는 도메인에서는 자체 PasswordEncoder 포트만 사용하고, Spring Security PasswordEncoder는 인프라 어댑터에서 위임하는 것이 좋다. 고 제안했습니다. 토비님은 어느 쪽이 더 적절하다고 보시는지, 판단 기준도 함께 듣고 싶습니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
이런개발 댓글 2 좋아요 0 조회수 207

카카오 클라이언트 시크릿

해결됨

카카오,구글 SNS 로그인(springboot3, vue3)

안녕하세요 강사님, 다름이 아니라 강의 들으면서 카카오 oauth 설정 및 테스트 중인데 카카오 REST API 키에도 클라이언트 시크릿이 생긴 것 같습니다. 구글처럼 yaml에 kakao.client.secret 키 넣어주고 요청 바디에 같이 보내니까 그제서야 액세스 토큰 및 프로필 정보 응답이 왔습니다. 강의 촬영 당시와 현재의 카카오 developers UI 및 메뉴 구성이 많이 바뀌어서 제가 모종의 설정을 놓친건지, 아니면 새롭게 카카오 클라이언트 시크릿이 추가되어서 이제는 구글처럼 시크릿 키를 요청 바디에 넣고 보내는 게 맞는 방법이 된 건지 말씀 여쭤보고자 질문 드립니다. 양질의 강의 항상 감사드립니다.

  • vue.js
  • spring-boot
  • oauth
  • jwt
  • oauth2
손은눈보다빠르다 댓글 2 좋아요 0 조회수 514

소스코드 보안

해결됨

제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편

안녕하세요 재미니님 유튜브로 접하게 되어 인프런 강의까지 듣게된 백엔드 개발자(5년) 입니다. 현재 팀의 레거시 시스템을 고도화하는 레거시 시스템을 개편하는데 주력하고 있는 업무를 맡고 있습니다. 저희 회사는 규모가 적지 않고, 팀내에서 담당하는 시스템도 많은데 제 기준으로는 꽤나 보수적인 조직이라 ai 활용하는데 제약이 많은 편이라고 생각합니다. 금융권처럼 로컬 PC에서 외부망을 아예 차단하고 있지는 않지만, chat gpt, gemini 등 각종 llm을 제공하는 웹사이트는 차단이 되어있고 사내 자체 llm 만 사용할수 있는 환경입니다. 운이 좋게도(??) junie 는 아직 차단되어 있지 않아 많이 활용하고 있는데, 신규 구축이 아닌 기존 레거시 시스템을 분석하여 컨버전을 하는 과정에서 사용하기에 보안적으로 이슈가 될 부분이 있을까 싶어서 걱정이 많이 되는데, ai를 활용하면 생산성이 넘사벽으로 높아지는 환경에서 보수적으로는 보안 이슈를 걱정하는 팀원들이 있을경우, 재미니님은 어떤식으로 팀원들을 설득하실지, 보안 이슈가 없도록 방안은 어떻게 마련하고 계신지 궁금합니다. 추가로 극단적인 예시긴 하지만, 비지니스 로직이 프로시저에 녹아져 있는경우, db 에 의존적으로 운영되고 있는 시스템(ex. 트리거, 서버 크론잡 스케줄링 등) 의 경우 ai를 활용하여 레거시를 최대한 개선하고 싶다면 어떤 전략을 활용할 수 있을지도 의견 주시면 감사하겠습니다. 소중한 강의 제공해주셔서 감사합니다.

  • spring-boot
  • 도메인
  • dbms/rdbms
  • backend
  • ai-활용-(ax)
  • 지금-베스트
CUBE 댓글 2 좋아요 1 조회수 313

step 4 - fanout 관련 질문

미해결

RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기

안녕하세요, step 4에 fanout 브로드캐스팅으로 구현한 이유가 궁금해서 질문드립니다. 다른 질문을 찾아보니 아래와 같이 답변을 주셨습니다. "정리하면 Fanout은 모든 큐에 메시지를 브로드캐스트하지만 WebSocket을 이용해 특정 뉴스 타입만 선택적으로 구독할 수 있습니다. (서로 독립적으로 동작합니다) 따라서 Pub/Sub의 성격을 이용해서 브로드 캐스트를 하는 것은 Direct나 Topic 보다 Fanout이 적합하고, 전체 브로드캐스트가 필요하지 않은 Pub/Sub의 일부 제한이 필요한 경우는 WebSocket과 STOMP를 통해서 필터링 .. 여기서 저는 왜 step4에서 Pub/Sub의 성격을 이용해서 브로드캐스팅하는지 이해가 안됩니다. 어차피 WebSocket에서 필터링할 것이라면 왜 비효율적으로 브로드캐스팅하는건가요? fanout보다 topic Exchange가 적합하지 않나요? 어차피 브로드캐스팅하고 모든 큐에 넣을 것이라면, javaQueue, vueQueue, springQueue로 구분할 필요가 있나요? pub/sub 모델은 아니지만, 하나의 newQueue로 관리하고 simpMessagingTemplate의 destination을 구분하는 것은 어떤가요?

  • spring-boot
  • jpa
  • websocket
  • rabbitmq
최재량 댓글 2 좋아요 0 조회수 138

터미널에서 sql작성은 도커라서 그런거죠? 도커 안쓰는데..ㅜ

미해결

[2탄-JPA] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

도커안하고 일반적으로 mysql이나 데이터베이스에서 사용하는거 올려주실순없나여ㅜㅜ이미다 찍으셨겠지만..

  • spring
  • spring-boot
  • jpa
  • dbms/rdbms
  • spring-jpa
ariel123 댓글 2 좋아요 1 조회수 127

Unused property.....

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 여기에 질문 내용을 남겨주세요 왜 자꾸 Unused property 가 뜰까요?.... Gradle 업로드 해도 계속이러네요ㅠㅠ 제미나이와 몇시간을 여러방법을 썼는데 실패해서 처음 질문드려요.... .

  • java
  • spring
  • mvc
  • spring-boot
댓글 2 좋아요 0 조회수 219

정렬, 필터, 검색 등의 조건이 붙을 경우 최적화할 수 있는 방법이 무엇이 있을까요?

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요. 게시판 관련 강의를 듣는 도중 궁금한 점이 있어 질문을 남깁니다. 강의에서는 Snowflake 기반 단순 정렬을 기준으로 커버링 인덱스를 설명해주셨는데요, 실무에서는 여러 정렬 조건과 필터, 검색 조건이 함께 붙는 경우가 많습니다. ✅ 이런 복합적인 조회 패턴에서도 커버링 인덱스를 중심으로 설계하는 것이 적절한지, 아니면 다른 전략을 어떻게 사용해야 하는지 궁금합니다.(설명이 길어질 경우 간단한 힌트라도 부탁드립니다.) 💥 걱정하는 부분 정렬되는 컬럼 전부에 대해 인덱스를 걸면 더 문제가 발생할 것 같아요. 검색 %검색어% 의 경우에는 결국엔 full_scan 이어서 성능 최적화가 불가능하다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
dltkdcksqkqh 댓글 2 좋아요 0 조회수 181

AI 사용 방법에 대하여...

해결됨

제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편

강의 잘 듣고 있는데요. 같은 프로젝트에 대해 다수의 팀원이 개발한다고 가정 할 때 현재의 AI를 사용하는 방식이 어디까지 유효할 지 재미니님의 생각이 궁금하여 의견 여쭙습니다. 예를 들어 저는 AI를 적극 사용하고 싶을 때, 하지만 팀의 문화가 AI를 위와 같이 그닥 사용하지 않을 때, 강의 속에서 AI를 활용하는 방안을 어디까지 얘기하는게 좋을 지 등이 궁금합니다. 제가 느낄 때, 위 강의 과정에서는 md 파일을 꾸준히 업데이트 하며, 히스토리를 쌓아가는 것 같아 의견을 여쭤봅니다.

  • spring-boot
  • 도메인
  • dbms/rdbms
  • backend
  • ai-활용-(ax)
  • 지금-베스트
CodingSoon 댓글 2 좋아요 1 조회수 171

인기 태그

인프런 TOP Writers

주간 인기글