inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

네이버 API | '검색 - 책' API 제공 중단

미해결

서버개발자 과제전형 완벽가이드 - 1편

안녕하세요. 강의를 열심히 들으면서 따라해보고 있는데 강의에서 나오는 네이버 API의 '검색 - 책' API 제공이 중단된 것 같습니다. 앞으로 강의가 계속 도서관련해서 나오는 것 같은데 어떻게 하면 좋을까요..? 관련 링크 첨부해드립니다. https://developers.naver.com/notice/article/32564 https://developers.naver.com/notice/article/32530

  • java
  • spring
  • spring-boot
  • database
nick 댓글 0 좋아요 0 조회수 11

ArticleReadService 관련 질문

미해결

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 64강 17분쯤 ArticleReadService의 count 메서드 구현하신 코드를 보면 아래 코드블럭과 같이 작성하셨습니다. private long count(Long boardId) { Long result = boardArticleCountRepository.read(boardId); if (result != null) { return result; } long count = articleClient.count(boardId); boardArticleCountRepository.createOrUpdate(boardId, count); return count; } 그런데 BoardArticleCountRepository의 count 메서드는 아래와 같이 작성하셨는데 이 경우 boardArticleCountRepository.count(boardId);는 Redis에서 데이터가 조회되지 않은 경우 0L를 반환하여 ArticleReadService의 count 메서드에서는 항상 client에서 조회하는 케이스가 발생하지 않을거 같습니다. public Long read(Long boardId) { String result = redisTemplate.opsForValue().get(generateKey(boardId)); return result == null ? 0L : Long.valueOf(result); }

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
threekkk 댓글 0 좋아요 0 조회수 8

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

해결됨

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

안녕하세요! 강의 잘 듣고 있습니다. 아래 issue 메서드 관련해서 질문드립니다. @Transactional fun issue(couponId: Long, userId: Long): Issuance { val policy = couponIssuePolicyReader.get(couponId) val now = LocalDateTime.now() if (!policy.isBookingOpen(now)) { throw NotStartedException() } val expiresAt = now.plusDays(policy.validityDays.toLong()) couponIssuer.tryIssue(couponId, userId) issuanceRequestProducer.publish( IssuanceRequested( couponId = couponId, userId = userId, issuedAt = now, expiresAt = expiresAt, ) ) return Issuance( userId = userId, couponId = couponId, issuedAt = now, expiresAt = expiresAt, ) } 해당 코드에서 couponIssuer.tryIssue() (Redis)는 성공했는데 바로 다음 issuanceRequestProducer.publish() (Kafka)가 실패하는 경우 재고는 차감됐는데 이벤트는 유실된 불일치 상태가 될 수 있을 것 같습니다. 만약 재고를 DB로 관리한다면 아웃박스 패턴으로 같은 트랜잭션 안에서 이벤트를 아웃박스 테이블에 적재하고 별도 워커가 Kafka에 발행하는 방식으로 원자성을 보장할 수 있을 것 같습니다. 그런데 지금처럼 재고 자체를 Redis로 관리하는 구조에서는 Redis와 Kafka 각각에 대한 이중 쓰기 문제가 생기고 아웃박스 패턴을 그대로 적용하기는 어려워 보입니다. 만약 해당 구조에서 at-least-once를 보장하려면 어떤 전략을 택해야 하는지 궁금합니다!

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
이찬원 댓글 1 좋아요 1 조회수 28

이론 공부법 요약본 버전 업데이트 문의

미해결

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

이론 공부법 안녕하세요 3회차 준비하고자 하는데 v버전 이론 통합 요약본 v1.3 언제쯤 업로드 되는지 알수 있을까요?

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
스리 댓글 1 좋아요 0 조회수 11

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

해결됨

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

Domain 패키지에 Coupon 같은 @Entity 와 CouponRepository 를 함께 두셨더라고요! 영속성을 storage(또는 Infrastructure) 로 따로 분리하는 구성도 있는데, 여기서는 엔티티와 레파지토리 모두 domain 에 두신게 궁금했습니다. 혹시 이 서비스 규모에서는 db가 바뀔 가능성이 낮고, 엔티티를 밖으로 빼면 도메인 <-> 엔티티 매핑 비용만 늘어난다고 보셔서 의도적으로 domain 안에 함께 두신걸까요? 아니면 다른 기준이 있으셨는지 궁금합니다.

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
바나나 댓글 1 좋아요 1 조회수 20

Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.

미해결

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

안녕하세요 토비님! 오랜만에 강의를 복습하다가 궁금한 점이 생겨 질문드립니다. 제가 헥사고날 아키텍처를 외부 서비스나 인프라 연동이 많은 시스템에서 주로 사용하는 구조 라고 이해하고 있었는데요. 강의에서는 비교적 작은 시스템에도 헥사고날 아키텍처를 적용하셔서, 제가 잘못 이해하고 있었던 건지 궁금합니다. 현재 작은 규모의 신규 프로젝트를 준비하고 있고, 도메인 모델 패턴과 풍부한 도메인 모델을 적용해보려고 합니다. 다만 외부 서비스 연동은 거의 없을 예정이라, 이런 경우에도 헥사고날 아키텍처를 적용하는 것이 적절한지, 아니면 오버엔지니어링이 될 수 있는지 판단이 잘 서지 않습니다. AI에게 물어봤을 때는 헥사고날 아키텍처 도입을 고려할 수 있는 기준으로 외부 연동의 수뿐만 아니라, 하나의 Port에 대해 구현체가 둘 이상 존재하거나 향후 교체 가능성이 있는지​ 도 이야기하더라고요. 강의에서 DDD와 헥사고날 아키텍처가 잘 맞는다고 설명해주셨는데, 결국 헥사고날 아키텍처를 선택할 때 외부 서비스 연동이 많은지 Port의 구현체가 여러 개이거나 교체 가능성이 있는지 도메인을 기술적인 의존성으로부터 분리할 필요가 큰지 같은 요소 중 무엇을 주요 기준으로 봐야 할까요? 작은 시스템이고 외부 연동도 거의 없다면 레이어드 아키텍처로 시작하는 것이 나은지, 아니면 풍부한 도메인 모델과 DDD를 적용한다는 이유만으로도 헥사고날 아키텍처를 선택할 충분한 이유가 있는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
차니 댓글 2 좋아요 0 조회수 25

테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.

미해결

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

평소에 인터페이스와 구현체를 만들때 테스트를 어디에 만드는게 맞을까란 고민을 했었는데, 마침 토비님이 강의에서 언급해주셔서 너무 반가웠는데요. 테스트는 인터페이스에 만들라는 말씀 잘 이해했습니다. 스펙을 테스트하기에 인터페이스를 대상으로 테스트를 만들어야하는것도 이해를 했는데요. 구현체가 2개 이상이 되면 어떻게 하시는지 궁금합니다. 각 구현체들이 스펙을 준수하는지 테스트 코드를 작성해야할텐데 인터페이스를 대상으로 테스트를 작성하면 구현체가 1개일땐 문제가 없는데 2개 이상일땐 좀 난감해지더라고요.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
LichKing 댓글 1 좋아요 0 조회수 13

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

해결됨

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

MacOs 사용자 분들이시고 cat ~/.docker/config.json 의 결과에 credsStore 필드가 osxkeychain이고 auth 필드의 값이 비어있으신 경우 인증정보가 keychain으로 관리되고 있고 이걸 jib이 가져오지 못하고 있는 겁니다. 방법 1 (가장 추천합니다) jib 내부의 from과 to 블록의 image 선언 다음 credHelper { helper = "osxkeychain" } 해당 코드를 추가해 keychain에 접근할 수 있도록 해주면 좋습니다. + auth {}로 인증정보를 주입하는 방법으로도 대체 가능합니다. 방법 2 (문제 회피) java 25 이미지를 docker pull 받아 로컬에 두고 ./gradlew jibDockerBuild 하시면 됩니다. 나중에 redis를 받던데 그때로 같은 방법으로 해결하면 될 것같습니다. 방법 3 (keychain 필드깨서 강제로 base64쓰게 하기) credsStore 필드를 훼손시켜 강제로 auth에 암호화된 내용을 저장하도록 하는 것같습니다. 정말 추천하지 않으며, 위 방법이 모두 실패하면 시도해보세요.

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
Wyatt 댓글 1 좋아요 1 조회수 56

리뉴얼 시기

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

‘자바 ORM 표준 JPA 프로그래밍 - 기본편’ 강의가 올해 안으로 리뉴얼될 예정이라고 들었는데, 혹시 대략적인 리뉴얼 시기를 알 수 있을까요? 현재 강의를 바로 수강할지, 우선 프로젝트를 진행하면서 기다렸다가 리뉴얼된 강의를 수강할지 고민 중이라 문의드립니다. 감사합니다.

  • java
  • jpa
전성민 댓글 2 좋아요 0 조회수 32

스크립트에 대해 질문 있습니다.

해결됨

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

안녕하세요 강의 잘 듣고 있습니다! 혹시 강의에서는 스크립트를 많이 사용하시는데 테스트 코드로는 못하는건가요? 실무에서도 스크립트를 많이 사용하시나요?

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
정인호 댓글 1 좋아요 1 조회수 50

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

미해결

트래픽 급증을 견디는 서버 시스템 설계 - Coupon 발급 서비스

안녕하세요 강의 잘 듣고있습니다 강의를 듣다가 궁금한게 생겨 질문을 드립니다! 같은 사용자가 따닥으로 중복 호출 했을 때 unique 제약 조건에 걸려 예외가 발생할텐데 redis에 있는 쿠폰 재고는 어떻게 되는지 궁금합니다!

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
케시 댓글 1 좋아요 2 조회수 51

조건 검색 질문

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 쿠케님 강의 너무 잘 보고 있습니다. 해당 내용 수강중에 궁금한 점이 생겨 질문 드립니다. 혹시 제목이나 내용을 검색한다고 했을때는 redis에서 조건을 통해 조회를 하는것인지 다른 전략이 있는지 궁금합니다!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
azosi 댓글 1 좋아요 0 조회수 31

JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문

미해결

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

안녕하세요. 강의 잘 듣고있습니다. 오늘 수강한 "엔티티 식별자와 JPA 엔티티" 에서 JPA 엔티티로 만들었다고해서 달라진게 없다 라고 표현하셨는데요. 애노테이션을 붙여서 컴파일 단계의 의존성은 생겼지만 해당 클래스가 다른 기술적 종속이 생긴건 아니라고 말씀하신거에 질문이 있습니다. 일단 애노테이션을 붙인 것을 용인할 수 있다는건 이해했고, 저도 동의합니다. 그런데 JPA 엔티티가 됨으로써 해당 클래스는 final 로 만들 수 없고, 생성자도 기술적 요구사항에 의해 최소 protected 로 공개할 수 밖에 없는데요. 이번 강의에서도 기존 의도는 private 이었지만 기술을 도입함으로써 애노테이션을 붙이는 것 이상의 작업이 있었습니다(생성자의 접근 수준 변경). 정말 애노테이션만 붙이고 아무것도 하지 않았다면 납득할 수 있지만 애노테이션 외에 다른 변경이 발생했는데도 기술적 종속이 없다고 볼 수 있을까요? 이정도 수준의 변경과 의존은 트레이드오프로 용인할 수 있다고 생각하면 할수는 있지만 엄밀히 따진다면 객체 설계에 영향을 줬다고 생각하는데, 어떻게 생각하시는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
LichKing 댓글 3 좋아요 0 조회수 46

클로드코드 명령어-대화&세션관리 수업 자료

해결됨

클로드 코드의 정석: 실전 에이전틱 엔지니어링

수업 자료를 다운로드 받았는데, 압축이 안풀립니다. 확인 부탁드려요

  • java
  • spring
  • 소프트웨어-설계
  • 인공지능(ai)
  • ai-agent
  • claude
  • 바이브코딩
나인바틀스 댓글 1 좋아요 0 조회수 37

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요 과거 주말코딩님 강의 듣고 정처기 실기 합격했던 학생입니다. 공기업 준비로 정처기 필기파트를 다시 준비해야 하는데, 이 이론집을 다시 외워도 될까요?

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
정유민 댓글 2 좋아요 0 조회수 52

PlatformTransactionManager, ResourcelessTransactionManager 질문

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

아직은 어색하고 서먹서먹하니 존댓말로 질문드립니다. 인프피니까 이해좀.. 1장. 작전1: 바이너리 초이스 - 스프링 배치의 두 가지 스텝 유형 요걸 지금 읽고 있는데 중간에 이런 내용이 있습니다. [시스템 주의] 예시와 같이 ResourcelessTransactionManager 인스턴스를 직접 생성해 tasklet() 메서드에 전달해도 되지만 애플리케이션 내의 여러 스텝에서 재사용할 수 있도록 별도의 Bean으로 정의하고 싶을 수도 있다. 그러나 PlatformTransactionManager 빈을 직접 정의할 땐 주의가 필요하다. 뭔가 문장이 좀 어색한데 처음엔 ResourcelessTransactionManager인스턴스를 Bean으로 정의하고 싶을 수 있다고 하시고는 갑자기 PlatformTransactionManager 빈을 직접 정의할 땐 주의가 필요하다고 하셨습니다. 이게 말 그대로 PlatformTransactionManager 빈을 직접 정의할 때 주의 하라는 뜻인건지, 아니면 ResourcelessTransactionManager 빈을 직접 정의할 때 주의 하라는 뜻인건지, 아니면 둘 다 빈을 집적 정의할 때 주의 하라는 뜻인지 조금 헷갈립니당 뒤에 따라오는 문장들을 읽어보면 아마도 PlatformTransactionManager 빈을 직접 정의할 때 주의하라는 말 같은데 그럼 ResourcelessTransactionManager 빈을 직접 정의 할 때의 주의사항은 없나용?

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
counterchord89 댓글 2 좋아요 1 조회수 58

자료 한번에 다운받기

해결됨

20,000+ RPS 병렬처리를 위한 네이버 면접관이 알려주는 Reactive 프로그래밍

자료 한번에 다운받아서 열고 싶은데요.. 매번 다운 받고 압축풀고 하는게 귀찮네요 ㅠ

  • java
  • spring
  • spring-boot
  • 병렬-처리
  • webflux
노희석 댓글 1 좋아요 0 조회수 29

스프링 빈 등록 방법 2가지 다 알아야하는 이유

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 스프링 빈 등록 방법 중 @Autowired를 사용해 자동으로 등록하는 방법과 자바 코드로 직접 스프링 빈을 등록하는 방법 두 가지를 모두 알아야 한다고 하셨는데, 그 이유가 무엇인가요?

  • java
  • spring
  • mvc
  • spring-boot
주지성 댓글 1 좋아요 0 조회수 54

인기 태그

인프런 TOP Writers

주간 인기글