inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

구현 방법에 대한 문의

해결됨

AI 시대 주니어를 위한 시스템 설계 실전: 경험치 대신 채워드립니다

안녕하세요. 강사님, 강의 잘 보고 있습니다. 강의를 보면서 궁금증이 생겨서 질문 남겨봅니다! 강의를 진행하시는 방식이 제공해 주신 스켈레톤 코드 베이스로 설명을 하시다가 구현되어 있는 것을 가져다가 붙여넣기 하시는 방식 같은데요! 이럴 때 수강생들의 입장에서는 강사님의 구현을 손으로 구현해 보는 게 좋을까요? 아니면 AI로 구현을 진행해서 강사님의 구현과 비교해 보는 게 좋을까요? 수강생들이 어떻게 강의를 들었으면 좋겠다는 생각을 하시는지 궁금합니다.

  • kotlin
  • spring-boot
  • kubernetes
  • 아키텍처
  • kafka
  • redis
  • prometheus
김수용 댓글 2 좋아요 0 조회수 85

장애 격리 관련해서 궁금한 부분이 있어요

미해결

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

강사님, MSA의 장애 격리에 대해 강의를 듣다가 궁금한 점이 생겨 질문드립니다. 제가 이해하기로는 모놀리식은 하나의 애플리케이션 안에 여러 도메인/서비스가 함께 구성되어 있고, MSA는 각 도메인별로 서비스를 분리하여 구성하는 것으로 알고 있습니다. 강의에서 MSA의 장점 중 하나로 장애 격리를 말씀해 주셨는데, 실제로는 한 서비스의 장애가 해당 서비스를 의존하고 있는 다른 서비스로 전파될 수도 있지 않을까 하는 생각이 들었습니다. 예를 들어 여러 서비스에서 회원 정보나 회원 상태를 검증하기 위해 회원 서비스에 요청을 보내야 하고, 회원 서비스의 검증 결과가 정상이어야만 해당 서비스를 이용할 수 있는 구조라고 가정하겠습니다. 이 경우 회원 서비스에 장애가 발생하면 회원 서비스에 의존하고 있는 여러 서비스에서도 요청 처리가 불가능해지기 때문에, 결국 장애가 다른 서비스로 전파되는 것처럼 보입니다. 그래서 제가 생각한 것은 MSA의 장애 격리가 '장애가 다른 서비스로 전혀 전파되지 않는다'는 의미보다는, 모놀리식에 비해 장애가 발생했을 때 영향을 받는 범위를 제한할 수 있다는 의미에 더 가깝지 않을까? 하는 것입니다. 예를 들어 모놀리식에서는 하나의 애플리케이션에 장애가 발생하면 전체 기능에 영향을 줄 수 있지만, MSA에서는 특정 서비스의 장애가 해당 서비스 및 이를 직접적으로 의존하는 서비스 정도로 영향 범위를 제한할 수 있다는 의미인지 궁금합니다. 그리고 실제 MSA 환경에서는 이러한 장애 전파를 막기 위해 Circuit Breaker, Timeout, Retry, Fallback, 비동기 메시징 등의 방법을 사용해서 장애 격리 수준을 높이는 것으로 이해하고 있는데, 제가 이해한 방향이 맞는지도 궁금합니다. 결국 MSA에서 말하는 장애 격리의 핵심이 '완전한 장애 격리'라기보다는 '장애 영향 범위를 줄이고 장애 전파를 제어할 수 있다'는 점에 있다고 이해하면 될까요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
감바스 댓글 2 좋아요 0 조회수 63

RunIdIncrementer batch 5랑 6랑

미해결

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

이거 6버전으로 읽고 있다가 문득 이상해서 질문남긴다. RunIdIncrementer <- 이거 지금 5랑 6랑 동작.. 완전 다른거 같은데 맞냐..? (완전 다르다기 보다, 스프링 배치 리드의 이슈에서는 너네가 잘못 쓰고 있던거다 라고 하긴하던데) 전에는 같은 파라미터로 재시작할때도 사용가능했는데, 이제는 이거 안바꾸고 버전업하면 "하위고과" 확정이다.

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
비오 댓글 2 좋아요 1 조회수 66

강의 자료를 받아볼 순 없겠나

미해결

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

강의 자료로 받을 수 없는지 궁금하다

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
최재량 댓글 2 좋아요 1 조회수 82

MSA 통신방식에 대해서 질문 있습니다.

해결됨

AI 시대 주니어를 위한 시스템 설계 실전: 경험치 대신 채워드립니다

안녕하세요 강사님 강의 잘 듣고 있습니다! 서비스가 커지면서 MSA로 전환할때 MSA 통신방식에 대해서도 시니어님의 고민이 궁금합니다! 동기식으로 구현하면 하나의 서비스가 다운되면 다른 서비스도 영향을 받기에 바로 EDA 방식으로 가시는걸까요 ?

  • kotlin
  • spring-boot
  • kubernetes
  • 아키텍처
  • kafka
  • redis
  • prometheus
정인호 댓글 1 좋아요 0 조회수 56

버전 관련하여 문의드립니다

미해결

웹에서 다루는 네트워크 통신 - 기초부터 HTTP, SSE, WebSocket 그리고 WebRTC P2P 통신까지

강의 예제는 Spring Boot 3.5.7 기준인데, 현재 프로젝트를 Spring Boot 4.1.0으로 생성해서 따라가고 있습니다. Jackson 3부터 패키지가 com.fasterxml.jackson.* 에서 tools.jackson.* 으로 변경되고, JsonDeserializer 도 ValueDeserializer 로 변경된 것으로 확인했습니다. 그래서 우선 아래와 같이 수정해서 진행하고 있습니다. import tools.jackson.core.JacksonException; import tools.jackson.core.JsonParser; import tools.jackson.databind.DeserializationContext; import tools.jackson.databind.JsonNode; import tools.jackson.databind.ValueDeserializer; public class JsonStringDeserializer extends ValueDeserializer<String> { @Override public String deserialize( JsonParser jsonParser, DeserializationContext deserializationContext ) throws JacksonException { JsonNode node = deserializationContext.readTree(jsonParser); return node.toString(); } } Spring Boot 4.1.0으로 계속 진행하면서 이런 식으로 변경된 API에 맞춰 수정해도 괜찮을까요? 아니면 이후에도 버전 차이로 수정해야 할 부분이 많이 발생할 수 있어서, 강의에서는 Spring Boot 3.5.x로 맞추는 것을 권장하시는지 궁금합니다. ( 가능하다면 Spring Boot 4 / Jackson 3 기준의 해당 예제 코드도 안내 부탁드려도 될까요? )

  • java
  • spring-boot
아직안팔리는_1인창업자 댓글 1 좋아요 0 조회수 54

코드 깃허브는 없을까요?

해결됨

Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기

코드들 매번 쓰기 힘들어서 혹시 github링크가 따로 있는 것일까요??

  • aws
  • mysql
  • docker
  • spring-boot
  • jpa
hahalove77 댓글 2 좋아요 1 조회수 69

핵사고날 아키텍처 기반으로 멀티 모듈 설계 시 질문드립니다..

미해결

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

안녕하세요! 강의를 열심히 듣다가 돌연 멀티 모듈이라는 주제로 생각하다가 질문을 남깁니다! 현재 강의에서는 application 레이어에서 repository를 가지고 있는데요! 멀티 모듈로 설계 시에도 동일하게 application 레이어에 repository를 가지는 게 일반적인가요? 검색을 하거나 하면 adapter에 persistence 쪽이나 infra 레이어 쪽에 가지고 있어야 한다는 내용이 보이는거 같아서요. 토비님께서는 어떻게 생각하시는지 궁금합니다! 또한, 보통 멀티 모듈로 프로젝트를 구성하실 때 어떤 방식으로 접근하시는지도 궁금합니다! 긴 글 읽어주셔서 감사합니다.

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

인넬리제이 무료버전

해결됨

[Lv1] 면접에서 설명할 수 있는 Spring Boot - 경험으로 답변하는 백엔드 개발

안녕하세요. 인텔리제이 무료버전으로도 가능한거죠? 따로 말씀이 없으셔서 질문 드립니다. 감사합니다.

  • spring
  • spring-boot
  • jpa
  • hibernate
쿼지 댓글 2 좋아요 0 조회수 69

안녕하세요 질문있습니다.!

해결됨

AI 시대 주니어를 위한 시스템 설계 실전: 경험치 대신 채워드립니다

강의 잘 듣고 있습니다 강사님! 큐를 읽는 컨슈머가 DB가 감당할 수 있는 속도 이거이대해서 질문이 있는데요? 1. 수치를 구하기 위해 K6를 활용하여 어떻게 측정해야할지 궁금합니다!!

  • kotlin
  • spring-boot
  • kubernetes
  • 아키텍처
  • kafka
  • redis
  • prometheus
정인호 댓글 2 좋아요 0 조회수 80

DataSourceUtils.releaseConnection 할때요 SQLException e 사용하는 이유등

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] db연결을 close하는 부분에서 conn은 DataSourceUtils에서 왔기 때문에 releaseConnection을 통해서 커넥션을 끊어줘야 트랜잭션 도중 닫히는 문제를 막을 수 있다고 하셨는데요. 근데 그 close하는 함수 부분에서 throws SQLException을 던지셨던데요. utils함수의 releaseconnection함수를 보면 exception 던지지 않고 로그만 직던데요. throws 던질 이유가 있을까요? 저게 없으면 catch에서 에러가 표시되던데 무엇이 올바른지 모르겠습니다.

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

강의 기다리고 있습니다!

미해결

15년차 개발자의 코드 리뷰와 함께하는 4주 실전 MSA 설계 챌린지

혹시 9/15일 8시자 강의에서 다들 기다리고 있는데 따로 어떤 일이 있으신걸까요?

  • java
  • rest-api
  • spring-boot
  • msa
  • ddd
  • backend
  • 소프트웨어-설계
노나아 댓글 0 좋아요 0 조회수 56

@Modifying에 관하여

해결됨

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

안녕하세요 이번 강의에서 @Modifying 이라는 어노테이션을 사용하고 있는데 이 @Modifying을 사용하는 상황이 발생하면 영속성 컨텍스트에 있는 데이터와 차이가 발생하게 되는 것을 알게 되었습니다. 이를 해결하기 위해 clearAutomatically = true, flushAutomatically = true 이런 옵션들이 있는 것으로 알고있는데, 현업에서는 이러한 옵션들을 어떻게 사용하는지 궁금합니다. Modifying을 쓰면 영속성 컨텍스트와 차이가 발생한다는 것을 인지하기 때문에 저런 옵션들을 따로 설정을 안하는지, 아니면 저런 옵션들을 사용하는지 궁금합니다!

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

수업자료 오타

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 수업자료 오타 현재 : 회원 관리용 홈 - resources/templates/hello.html -> to-be : 회원 관리용 홈 - resources/templates/home.html

  • java
  • spring
  • mvc
  • spring-boot
화를참자 댓글 2 좋아요 0 조회수 80

내부 객체 직접 접근에 관하여.

미해결

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

토비님 안녕하세요! 좋은 강의 만들어 주셔서 감사합니다. 객체지향 프로그래밍에서는 객체의 내부 구현이나 구조를 외부에서 직접 알 필요가 없도록 캡슐화하고, 객체의 행동을 통해 상호작용하는 것​이 중요하다고 알고 있습니다. 기존 테스트에서는 Course 내부의 detail 객체에 직접 접근합니다. 이를 아래와 같이 수정해봤습니다. public class Course extends AbstractEntity { public LocalDateTime getPublishedAt() { return detail.getPublishedAt(); } } @Test void publish() { course.submitForReview(); course.publish(); assertThat(course.getStatus()).isEqualTo(CourseStatus.PUBLISHED); //assertThat(course.getDetail().getPublishedAt()).isNotNull(); assertThat(course.getPublishedAt()).isNotNull(); assertThatThrownBy(() -> course.publish()) .isInstanceOf(IllegalStateException.class); } 이러한 판단이 객체지향의 캡슐화, 정보 은닉 관점에서 올바른지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
잉여인간 댓글 2 좋아요 0 조회수 107

9월 8일 세션 진행한 거는 없었을까요

미해결

15년차 개발자의 코드 리뷰와 함께하는 4주 실전 MSA 설계 챌린지

9월 8일 세션 진행한 거는 없었을까요? 그날 다른 행사 운영자로 참여하느라 20시에 세션이 있었던 것 같았는데 뭔가 놓친 느낌이 들어서요... 만약 9월 8일날 세션이 없었다면 다행이고, 있었다면 대략 어느 내용이었는지, 어떻게 진도를 나아가야 할지 살짝이라도 알려주시면 감사드리겠습니다.

  • java
  • rest-api
  • spring-boot
  • msa
  • ddd
  • backend
  • 소프트웨어-설계
Bruce Han 댓글 1 좋아요 0 조회수 82

FlushModeType.COMMIT (12:45) 예시코드 질문

미해결

[Lv2] 현업 개발자의 JPA 완전 정복 - 영속성 컨텍스트부터 실무 패턴까지

안녕하세요, FlushModeType.COMMIT 에 대한 부작용으로 기재하신 예시코드 관련 질문 드립니다. em.setFlushMode(FlushModeType.COMMIT); // 1. 회원 A 저장 em.persist(new Member("회원A")); // 2. 회원 조회 (JPQL) // 플러시가 안 일어남 -> DB에는 '회원A'가 없음 -> 조회 결과 0건 List<Member> list = em.createQuery("select m from Member m where m.name = '회원A'", Member.class) .getResultList(); // 결과: 방금 저장했는데 조회가 안 되는 미스터리 발생 😱 만약 Member 엔티티 클래스의 ID 생성 전략이 IDENTITY인 경우 em.persist(new Member("회원A")); 에 의해 INSERT 쿼리가 실행되므로, 그 아래 코드에서는 해당 데이터가 조회되지 않나요? 데이터 불일치 문제가 발생할 수 있으니 COMMIT 모드는 확실한 이해 하에 사용하라는 것은 확실히 이해했습니다! 다만 예시코드 보다가 급 궁금해져서요ㅎㅎ

  • java
  • spring
  • spring-boot
  • jpa
  • spring-jpa
알 깨는 병아리 댓글 1 좋아요 0 조회수 68

미션1 진행방법 관련

해결됨

15년차 개발자의 코드 리뷰와 함께하는 4주 실전 MSA 설계 챌린지

안녕하세요. 미션1을 수행하려고 하는데 진행 방법이 막연합니다. 내려받은 git소스는 이미 헥사고날아키텍쳐로 구성이 되어있는 상태인거같은데 어떤 소스, 혹은 브랜치를 기준으로 클린아키텍쳐로 리팩터링해서 제출하여야 할까요? 아니면 주문, 상품, 결제 시스템을 처음부터 설계해서 클린아키텍쳐로 작성하라는게 미션의 취지인가요? (이 경우 각 도메인별 요구 기능도 임의로 가정해서 작성해야 하나요?)

  • java
  • rest-api
  • spring-boot
  • msa
  • ddd
  • backend
  • 소프트웨어-설계
현s 댓글 1 좋아요 1 조회수 88

Spock given and가 검증을 하는지

미해결

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

안녕하세요, 첫 질문입니다. 14강 외부 API 연동 - Spock 적용 10분 30초 경에 given 뒤 and 추가로 검증을 할 수가 있게 된다고 하셨는데 given 뒤 and 에는 검증 기능이 없는 것 아닐까요? old() 를 사용하거나 expect 를 사용하라는 얘기가 있는데 확인해 주실 수 있나요? 좋은 강의 감사합니다!

  • java
  • spring
  • spring-boot
  • database
  • spock
나강의듣는다고광고하지마 댓글 1 좋아요 0 조회수 66

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

해결됨

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

안녕하세요. 강의를 들으며 issuance 테이블에 status, coupon_id로 각각 인덱스를 생성하시면서 조회성능을 향상시키기 위함이라 설명하셨는데요. 특히 status를 이용한 인덱스가 꼭 필요한지 궁금합니다. 현재 status는 3가지 타입으로 (추후에도 늘어날 value가 제한적) 선택도가 약 33% 정도로 보입니다. 이렇게 가짓수가 적은 경우에는 인덱스의 효율을 잘 활용하기 어려워 인덱스를 생성하는 것이 비효율적이라고 학습한적이 있는데 지금과는 다른 상황인가요??

  • java
  • kotlin
  • mysql
  • docker
  • spring-boot
  • kafka
  • redis
60jong 댓글 1 좋아요 2 조회수 81

인기 태그

인프런 TOP Writers

주간 인기글