inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

테스트 코드

해결됨

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

안녕하세요 좋은 강의 잘 들었습니다~! 강의를 모두 듣고 제공해주신 프로젝트를 쭉 확인하고 궁금한 점이 생겨서 문의를 남겨봅니다 저는 실무에서 도메인 모델과 엔티티 모델을 구분하지 않고 도메인 모델에 JPA관련 어노테이션을 모두 허용한 상태로 개발해왔습니다 물론 구분해서 개발해본적도 있었지만 컬럼 변경 등 다양한 변경사항에 대응할 때마다 도메인 모델과 엔티티모델을 둘 다 확인하고 변경해야하는 번거러움?이 생겼던거 같아서 클래스가 좀 지저분해지더라도 도메인 모델 하나로 개발하고 테스트 코드를 작성해왔었습니다 이번 강의에서 사용된 프로젝트의 경우 모듈과 패키지가 나눠져있어서 도메인 모델과 엔티티 모델이 분리되어있는듯 보이지만 제가 사용했던 구조와는 다른점이 있었습니다..! 도메인 모델은 강의에서 말씀하신 개념 과 격벽 그리고 행동에 대해 적절하게 표현하기위한 객체이지만 핵심 비즈니스 로직을 모두 포함하고 있는게 아니라 대부분 조회된 데이터를 개념에 맞게 변경하는 DTO? 역할을 하는것 같고 상태변경에 대한 로직은 엔티티에 구현하고 service 레이어에서 호출하는 방식으로 보여집니다 그렇지만 처음 보는 코드가 잘 읽힐정도로 충분히 설득력있는 구조라고 생각이 듭니다.. 다만 테스트 코드가 있어야만 그 설득력이 완벽해질것 같다는 생각이 들었습니다 그래서 해당 프로젝트 구조를 더 이해하고 학습하기위해 테스트 코드를 작성해보려고 합니다 만약 저라면 ~Entity에 작성되어있는 상태변경에 대한 테스트 코드와 ~Service, ~Handler, ~Manager 등에 작성된 로직에 대한 테스크 코드를 작성할 것 같은데 강사님은 이러한 구조에서 테스트 코드를 어디까지 작성하시는지 또는 어떻게 접근하시는지 궁금합니다~!

  • kotlin
  • spring-boot
  • 도메인
  • backend
  • 테스트
  • tdd
정승환 댓글 2 좋아요 1 조회수 157

노션에 cors 문서가 안보입니다!

해결됨

누구보다 빠르게 배우는 Springboot + Flutter RestAPI 게시판 만들기

(사진)

  • flutter
  • java
  • kotlin
  • spring-boot
  • jpa
boll1235 댓글 2 좋아요 0 조회수 78

레디스 설명시작 부분 인코딩깨짐 문제

미해결

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

오타라기 보다는 인코딩이 깨져 보여서 신경이 쓰여서 3장. 작전2: NoSQL 읽고 쓰기 (무법지대 NoSQL, 새로운 처형 방식의 시작 ☠ ) 에서 중간 레디스 설명 시작 부분이야

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

ExitCode 질문

해결됨

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

킬구형 5장. 작전2: Run Squad 장악 작전 공부중인데, Process finished with exit code 0 이라는 문구 자체가 나오질 않아. 혹시나 싶어서 새 프로젝트 만들어서 시도해봐도 마찬가지고,, 윈도우 11, java 17에 org.springframework.boot:spring-boot-starter-batch:3.5.7 환경에서 개발중인데 혹시 버전이나 OS 문제일까?? 아니면 뭔가 설정을 빼먹은건지 모르겠네.. 혹시 몰라서 application.yaml 설정도 첨부해 spring: application.name: demo output.ansi.enabled: always datasource: url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 driver-class-name: org.h2.Driver username: sa password:

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

@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..

해결됨

스프링 부트 - 핵심 원리와 활용

[요약] Spring Boot 3.4 이상을 사용하실 경우 MyDataSourcePropertiesV3의 필드 중 Etc 타입 필드에 @Valid 를 적용해야 Etc 클래스 내부에 적용한 유효성 검증 어노테이션이 정상적으로 동작됩니다... package hello.datasource; import ... @Getter @ConfigurationProperties("my.datasource") @Validated public class MyDataSourcePropertiesV3 { @NotEmpty private String url; @NotEmpty private String username; @NotEmpty private String password; @Valid // 적용 필요 private Etc etc; public MyDataSourcePropertiesV3(String url, String username, String password, Etc etc) { this.url = url; this.username = username; this.password = password; this.etc = etc; } @Getter public static class Etc { @Min(1) @Max(999) final private int maxConnection; @DurationMin(seconds = 1) @DurationMax(seconds = 60) private Duration timeout; private List<String> options; // 생성자 주입 public Etc(int maxConnection, Duration timeout, List<String> options) { this.maxConnection = maxConnection; this.timeout = timeout; this.options = options; } } } ======================================================================================= 스프링 부트 3.4 이전 버전에서는 @ConfigurationProperties가 적용된 클래스에 @Validated만 적용해도 해당 클래스의 필드와 중첩 필드(필드의 타입으로 정의된 클래스 안의 필드)에 대해서도 자동으로 유효성 검증 어노테이션이 동작했다고 합니다. 즉, @ConfigurationProperties가 적용된 MyDataSourcePropertiesV3 클래스에 @Validated를 적용하면 해당 클래스의 필드인 url, username, password, etc 뿐만 아니라 etc 안의 필드인 maxConnection, timeout, options의 유효성 검증 어노테이션이 모두 동작했다고 합니다. 그러나 스프링 부트 3.4 이후 버전에서는 @ConfigurationProperties가 적용된 클래스에 @Validated만 적용할 경우 해당 클래스의 필드에 적용된 유효성 검증 어노테이션만 동작하며 중첩 필드에 대하여 유효성 검증 어노테이션이 동작하도록 하기 위해서는 중첩 필드에 @Valid를 명시적으로 적용해야한다고 합니다. https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.4-Release-Notes#bean-validation-of-configuration-properties

  • spring
  • spring-boot
  • prometheus
  • grafana
쉽지않네 댓글 2 좋아요 0 조회수 134

전체 사용자 조회시 오류

미해결

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

안녕하세요. 11:18분쯤 전체 사용자 조회할 때 강의에서 오류가 나지 않아서 여쭈어봅니다.. apigateway 에서는 yml파일을 바라보는 파일이 ecommerce 이고, user-service에서는 user-service yml파일을 바라보고 있는데 두 개의 secret key 값이 다른데 오류가 안나는 게 정상인가요..? 코드 바뀐 부분을 영상에서 말씀을 안해주셔서 매번 이 강의 깃허브랑, yml 파일들이 들어가있는 깃허브를 확인하면서 진행하는데 깃허브 업데이트가 안된건지 .. 궁금합니다.. 제가 임의로 ecommerce secret key값을 application.yml 파일과 동일하게 하니 오류는 해결되었는데.. 강사님 영상 보면서 할 때 오류가 나지 않아야 한다면 제가 잘못 한건지 궁금해요.. https://github.com/joneconsulting/new-toy-msa/blob/ch10-1/apigateway-service/src/main/resources/bootstrap.yml https://github.com/joneconsulting/spring-cloud-config/blob/master/ecommerce.yml

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
huihui 댓글 1 좋아요 0 조회수 78

게시글 생성 로직에서 오류 발생시 redis 게시글 수 되돌리기

해결됨

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

게시글 생성 로직에서 만약 오류 발생시에 db는 롤백이 되는데 만약 redis에 저장된 게시글수가 이미 증가됐다면 감소를 시켜야 하는데 어떻게 처리하는게 좋을까요

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

강의오류문의

해결됨

[JSP부터 스프링부트까지]포기없는 SpringBoot로 가는길

8. DB에 요청하여 데이터 update와 delete하기 이강좌가 런닝타임이 1시간이 넘는다라 표기됬음에도16분정도 시청하면 화면이 검게 변하면서 재생이 검은화면만 계속나오는데 강좌오류인가요? 아니면 표기상 미스가 난건가요??? 내용상 뒷부분이 끊겼는지 궁금해지네요

  • java
  • jsp
  • tdd
  • spring-boot
  • jpa
pcdo.omco 댓글 2 좋아요 0 조회수 84

강의 자료를 제공해주실 수는 없을까요?

미해결

스프링 부트와 리액트로 구현하는 보안 JWT 로그인

동영상 화면만 보면서 강의 자료를 확인하기에는 제가 원하는 부분을 실시간으로 확인하기가 어려운 점도 있고, 이후 복습하기도 어렵습니다. 강의 자료를 제공해주신다면 학습 하는 데에 시간을 많이 아낄 수 있을 것 같습니다.

  • react
  • java
  • aws
  • spring-boot
  • spring-security
댓글 2 좋아요 0 조회수 165

http://localhost:8080/cache-strategy/{{cacheStrategy}}/items 호출 시 NPE 에러 문의

해결됨

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

------------------------------ 해결 방안------------------------------- 저와 비슷한 이슈가 있으신분은 이렇게 처리 부탁드립니다! 인텔리제이 설정에서 Preferences > Build, Execution, Deployment > Build Tools > Gradle에서 Build and run using : Gradle Run tests using : Gradle 이렇게 수정 하고 다시 시도 부탁드립니다!!! 쿠케님 감사합니다 :) 안녕하세요 우선 좋은 강의 만들어주셔서 정말 감사드립니다. GET - http://localhost:8080/cache-strategy/NONE/items /{{itemId}} 해당 API 를 호출 하게 되면 ItemController -> KukeCacheAspect -> KukeCacheKeyGenerator -> ItemNoneCacheService 대충 이런 흐름으로 가게 되는데요. KukeCacheKeyGenerator 객체에서 for (int i = 0; i<args.length; i++) { context.setVariable(parameterNames[i], args[i]); } parameterNames 객체에 NPE 에러가 발생 되고 있습니다. 코드는 강의 자료실 통해 제공해주신 코드로 실행 해보았습니다. 이 부분 어떻게 수정을 해야 할까요?

  • spring-boot
  • redis
  • backend
  • 시스템-디자인
  • cache
리나 댓글 2 좋아요 1 조회수 171

bitnami/kafka 말고 다른 이미지를 사용하는 방법 알려주세요.

미해결

장애를 허용하는 견고한 시스템 만들기

bitnami/kafka 이미지를 pull하려고 하는데 dockerhub에 해당 이미지의 태그가 없어지는 것으로 보입니다. apache/kafka 이미지로 대체하려는데 docker-compose 파일은 어떻게 변경해야 될까요?

  • spring-boot
  • kafka
  • resilience4j
  • data-consistency
  • transaction
naccoon 댓글 2 좋아요 0 조회수 255

[ typoooo ] 1장. 작전3: Spring Batch Listener

미해결

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

JobListener 를 구현하면서 동적으로 executionContext 를 밀어 넣을때 설명이 내가 이해한게 맞다면 오타가 발생한 듯 하다. 이렇게 InfiltrationPlanListener를 JobBuilder 의 listener() 메서드로 등록해주면 beforeStep() 메서드에서 동적으로 생성한 데이터를 각 Step에서 참조할 준비가 완료된다. 해당 문구의 작업은 JobExecutionListener 로 동작한 부분으로 beforeStep 이 아닌 beforeJob 에 의해서 동적으로 생성되는게 맞지 아니한가?!

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
이상민 댓글 2 좋아요 1 조회수 67

리뷰의 개념도에서 `Product`를 표현하지 않은 이유에 대해서

해결됨

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

안녕하세요, 강사님. 질문 주제 : 리뷰의 개념도에서 "Product" 개념이 표현되지 않은 이유로 "리뷰 대상을 범용적으로 지정할 수 있도록 설계"했다는 점을 짚어주셨는데 저는 "리뷰가 상품 대신 주문에 의존하기 때문"이라 생각합니다. QnA - 개념 정리 수업을 제 식대로 정리한 내용입니다. 개념도에 어떤 개념을 표현할지 기준을 세우자. 코드/스키마 관점보다 개념적/비즈니스적 관점에서 바라보자. 개념도는 운영/기획팀 등 여러 구성원과 소통하기 위한 수단. 코드/스키마 관점으로는 의사소통 어려움. '모든 개념이 클래스로 대응되지 않고, 모든 클래스가 개념으로 대응되지 않는다'는 점에서도 코드/스키마 관점으로 개념도를 그리는 것은 어렵다고 생각합니다. 위의 내용을 기반으로 생각해보니 비즈니스에서 상품에 대해 리뷰가 작성되는데 리뷰 개념과 상품 개념이 연관이 없다고 생각하니 어색하게 느껴집니다. 기획팀 등 누군가와 대화를 가정하여 "상품에 리뷰를 쓸텐데 왜 리뷰 개념이 상품 개념과 연결되지 않나요?"라는 질문을 받았을 때 "리뷰 대상을 범용적으로 지정하도록 설계해 상품 개념을 직접 의존하지 않기 때문"이라 대답하면 코드/스키마 관점의 대답이라 생각됩니다. 그래서 저는 리뷰의 대상이 "상품"이 아닌 "구매한 상품"이기 때문에 "Review"가 "Product" 가 아닌 "OrderItem"을 의존하여 개념도에 "Product"가 표현되지 않고 "Order"가 표현되었다고 생각합니다. 이렇게 생각하면 제가 느꼈던 어색함이 해소되는 것 같습니다. 비즈니스적으로 리뷰의 대상은 상품이니 개념적으로 리뷰와 상품은 연관되어 있지 않는가? 리뷰는 구체적으로 '상품' 대신 '구매한 상품'에 대해 작성하므로 리뷰는 "OrderItem"에 의존하고, 개념도에는 그 상위 개념인 "Order"에 의존하도록 표현함. ("Review"는 "Order"를 거쳐 "Product"와 간접적으로 연결된다는 관점) '리뷰 대상의 범용적 설계'는 코드/스키마 관점 운영/기획팀에게 리뷰는 "구매한 제품"에만 작성할 수 있으니 "Product" 대신 "Order"에 의존한다고 대답함. 제 생각에 대해 강사님의 견해가 궁금합니다. 감사합니다.

  • kotlin
  • spring-boot
  • 도메인
  • dbms/rdbms
  • backend
송진우 댓글 2 좋아요 1 조회수 112

spring batch 오픈소스

미해결

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

킬구형 ㅎㅇ 요즘 형 spring-batch 오픈소스 이슈에서 잘 보고 있어. 진짜 형 대단한 거 같아. 형 그런데 나는 궁금한 게 있어 일단 이번에 나도 간단한 오타 수정으로 기여를 하기는 했는데 나도 이슈를 한번 찾아보고 싶은데 감이 안 잡혀서 형은 보통 이슈를 어떻게 찾는지, 아니면 오픈소스를 볼 때 팁 같은 게 있는지 궁금해.

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

사업자 등록 번호가 없는 경우는 어떻게 하죠?

미해결

스프링 부트와 리액트로 구현하는 소셜 로그인

사용자 등록 번호가 없습니다. 거의 대부분의 수강생이 없을거라고 생각 되는데 이 경우는 어떻게 해야하는지 설명 부탁드립니다.

  • react
  • java
  • spring-boot
  • jpa
  • spring-security
박도현 댓글 2 좋아요 0 조회수 297

OAuthAttributes와 CustomOAuth2User의 차이

미해결

스프링 부트와 리액트로 구현하는 소셜 로그인

OAuthAttributes와 CustomOAuth2User 간의 차이가 궁금합니다. OAuthAttribute는 google로부터 받은 사용자 정보를 우리가 원하는 대로 확장 가능하게 하는 DTO라고 말씀해주셨고, CustomOAuth2User도 google로부터 받은 데이터 외에 별도의 사용자 정보를 추가하는 용도라고 말씀해주셨는데, 두 설명이 같은 의미처럼 느껴집니다. 두 클래스가 어떤 차이가 있는 건가요?

  • react
  • java
  • spring-boot
  • jpa
  • spring-security
박도현 댓글 2 좋아요 0 조회수 133

마리아 db 설치중 포트를 이미 사용중이라고 합니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

TCP Port를 이미 쓰고있어서 다른 포트로 바꾸라고 하는데 포트를 바꿔도 문제가 없나요?

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
dbwjddms36 댓글 2 좋아요 0 조회수 148

Custom 레프직토리 형식

미해결

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

안녕하세요 강사님 취준생으로써 강의 들으면서 궁금한 점 질문 드립니다. 1.CustomRepository형식 과 Impl 형식이 보통 어떨때 자주 쓰이는 지 궁금해서 질문 드립니다. 2.JPA 에서 작성한 것들을 Querydsl 로 바꿀때가 그럼 ByXxx 에서 조인조건이 두개이상 들어가면 무조건 Querydsl 자바코드로 바꾸어 주는 게 좋을까요?

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩터링
KMC 댓글 2 좋아요 0 조회수 92

4장 RetryPolicy 예제 코드 질문이요

해결됨

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

킬구형 RetryPolicy 작동 방식이 policyMap 에서 우선 발생한 에러의 상위 카테고리를 찾고, RetryPolicy 에 들어있는 SimpleRetryPolicy 가 실제로 각 에러에 대해 어떻게 처리할지를 정하는 것 같은데 그러면 두 에러가 상속 관계에 있어야지만 정상적으로 작동하는 거 같은데 맞아? 그런데 예제 코드에 있는 HttpTimeoutException 와 HttpServerErrorException 는 상속 관계가 아니어서 아마 의도대로 작동하지 않을 것 같은데 한 번 검토해봐줄 수 있어? 참고로 나는 java17 + spring-boot-starter-batch:3.5.6 환경으로 진행중이야

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
djccnt15 댓글 1 좋아요 1 조회수 57

Query Dsl Q파일 질문입니다.

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 질문 메뉴얼 링크 따라서 build.gradle을 설정했는데, Q파일이 보이지 않습니다. 사진을 보면 우측 other 파일 밑에 querydsl이 없는데 어떻게 해야 하나요? 현재 저의 build.gradle 입니다.

  • java
  • spring
  • spring-boot
  • jpa
흠냐냥 댓글 1 좋아요 0 조회수 121

인기 태그

인프런 TOP Writers

주간 인기글