inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

어디까지 모니터링으로 커버하고, 어디까지 테스트로 커버해야할까요?

미해결

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

모니터링이란, 테스트로 잡지 못한 버그들이 발생했을 때 그 버그의 원인들을 빠르게 알게 해주는데 목적이 있다고 생각합니다. (비즈니스 지표 모니터링은 여기에선 고려하지 않겠습니다.) 그런데, 어디까지 테스트로 해결해야하고 어디서부터는 모니터링으로 해결해야 할까요? 버그를 꼼꼼히 잡겠다고 가능한 모든 루트를 테스트 하려는 것도 생산성 측면에서 옳은 방법은 아니라고 생각합니다. 또한, 서비스의 규모가 작을 때와 서비스의 규모가 클 경우 어떻게 테스트하고 모니터링 할 지 또한 바뀐다고 생각합니다. 제가 생각하는 방법은 중요하거나 복잡한 도메인 로직은 유닛테스트로 꼼꼼히 테스트한다 프레임워크 및 외부 장치들과 잘 통신하는지는 통합테스트로 happy path 정도만 테스트한다. 그 외에 못잡는 버그들은 모니터링을 통해 해결한다. 이렇게인데요, 제가 맞는 방향으로 생각하고 있는건지 궁금합니다. 또한 서비스의 규모의 차이에 따라 어떻게 테스트하고 모니터링 하는 방법이 달라지는지가 궁금합니다.

  • spring
  • spring-boot
  • prometheus
  • grafana
박하탕 댓글 1 좋아요 0 조회수 345

프로젝트 생성 시 gradle 호환

미해결

백엔드 개발을 위한 필수 강의 - 스프링 부트3

안녕하세요. STS설치 후 파일을 만들려고 하는데 콘텐츠를 가져오는데 문제가 생겼다는 오류창이 계속 뜹니다. 처음에 jdk 17버전으로 진행했는데 gradel이 7.3버전부터 지원을 한다고 해서 21버전으로 재설치했는데도 오류가 발생합니다. Gradle이 호환 가능한 걸 찾으라는 말 같은데 어떻게 접근해야할지 모르겠습니다. 혹시 아시는 분 계실까요..? 첫번째 사진에서 OK하고 넘어가면 2번째 사진에 나온 것 처럼 폴더 생성이 강의에 나온 것과 다르게 나와서 그대로 진행해도 괜찮을지 모르겠습니다...

  • java
  • aws
  • spring-boot
둘둘이 댓글 2 좋아요 0 조회수 363

포트, http 체크 질문

해결됨

인프라공방 - 그럴듯한 서비스 만들기

어떤 부분이 port체크이고 어떤 부분이 http 체크를 한건가요? ping 체크는 명확이 알겠는데 2개가 좀 헷갈리네요

  • 네트워크
  • linux
  • aws
  • mysql
  • spring-boot
admin 댓글 2 좋아요 0 조회수 333

BlindingResult Validate 질문입니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원등록 강의 18분 쯤에서 강사님께서 설명 주시는 사이트에서 입력칸에 공백 발생시 return "members/createMemberForm"; 으로 다시 되돌려보내면서 오류화면으로 넘어가지 않으며 입력값은 그대로 유지 하되, 사용자에게 "OO 입력은 필수 입니다."라고 글자가 나타나게끔 설계를 해주셨습니다. 그런데 createMemberForm.html 파일을 보니 그 "~은 필수입니다."하는 문장은 찾아보기가 어려워서 어떤 코드에서 이 기능이 작동해서 "~은 필수입니다." 의 문장이 완성되고 출력이 되는지 궁금합니다. name값?을 줄 때 '이름'이라고 준 것 같은데 사이트에서는 어떻게 '회원 이름'이라고 출력이 되나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
오현우 댓글 1 좋아요 0 조회수 328

비대칭 암호화를 사용하는 이유

미해결

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

강의 내용에서는 통합된 키로 암호화와 복호화를 하고 있어, 사실상 대칭 키와 같은 방법이라고 느껴집니다. 강의 내용에서는 비대칭 암호화의 필요성을 못느끼는데 스프링 클라우드 컨피그서버에서 비대칭 암호화에 대한 필요성과 사용하는 이유는 무엇인가요?

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

MemberServiceIntegrationTest질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MemberServiceIntegrationTest을 수행하다가 자꾸 한정자 관련 오류가 떠서 처음부터 다시 진행하였는데요, 이번에는 MemberServiceIntegrationTest에서 import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; 의 import하는 부분에서 인식이 안됩니다.. 위와 같은 오류의 원인을 알고싶습니다 ㅜㅜ

  • java
  • spring
  • mvc
  • spring-boot
enaak 댓글 1 좋아요 0 조회수 217

영상 소리가 작아졌습니다.

해결됨

실전 jOOQ! Type Safe SQL with Java

Sakila DB를 기반으로 DB 구성하기 챕터 영상의 소리가 앞선 영상에 비해 매우 작네요!

  • java
  • sql
  • spring-boot
  • jooq
  • dsl
hayden.yoon 댓글 1 좋아요 0 조회수 380

REST API 방식 강좌

해결됨

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

이 강좌말고 또 다루는 강좌있나요?

  • java
  • spring
  • spring-boot
  • jpa
임다정 댓글 2 좋아요 0 조회수 312

영상 화면이랑 UI가 조금 다릅니다

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 영상에서 나오는 UI랑 제 화면에서 띄운 UI랑 틀이 조금 달라보여서 질문 드립니다. 문제 없는 건가요? 왜 다르게 구현이 되었는지 이유가 있을까요?코드 문제 일까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
오현우 댓글 2 좋아요 1 조회수 771

회원가입 테스트를 실행해보았는데요

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] h2 데이터베이스에 테스트한 spring이 올라가지 않습니다. 약 6분 58초 강의 내용인데 따로 테스트 앞에 transaction을 하지도 않았는데 되지 않네요 ㅜ. 빨간색 글자가 뜨긴했는데 이 경고 때문일까요?

  • java
  • spring
  • mvc
  • spring-boot
손민성 댓글 1 좋아요 0 조회수 489

MemberserviceIntergration 회원가입 에러

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용 그대로 했는데 에러가 나옵니다. ㅠ 16:54:35.080 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [hello.hello_spring.service.MemberServiceIntegrationTest]: MemberServiceIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 16:54:35.185 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration hello.hello_spring.HelloSpringApplication for test class hello.hello_spring.service.MemberServiceIntegrationTest . ____ _ /\\ / ___'_ __ ( _)_ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.3.0) 2024-06-03T16:54:35.496+09:00 INFO 6290 --- [hello-spring] [ main] h.h.s.MemberServiceIntegrationTest : Starting MemberServiceIntegrationTest using Java 17.0.11 with PID 6290 (started by pearlinezero in /Users/pearlinezero/Spring_study/hello-spring) 2024-06-03T16:54:35.497+09:00 INFO 6290 --- [hello-spring] [ main] h.h.s.MemberServiceIntegrationTest : No active profile set, falling back to 1 default profile: "default" 2024-06-03T16:54:35.966+09:00 INFO 6290 --- [hello-spring] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2024-06-03T16:54:35.981+09:00 INFO 6290 --- [hello-spring] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 10 ms. Found 0 JPA repository interfaces. 2024-06-03T16:54:36.277+09:00 INFO 6290 --- [hello-spring] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2024-06-03T16:54:36.309+09:00 INFO 6290 --- [hello-spring] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.2.Final 2024-06-03T16:54:36.329+09:00 INFO 6290 --- [hello-spring] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2024-06-03T16:54:36.531+09:00 INFO 6290 --- [hello-spring] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2024-06-03T16:54:36.549+09:00 INFO 6290 --- [hello-spring] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-06-03T16:54:36.605+09:00 INFO 6290 --- [hello-spring] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/test user=SA 2024-06-03T16:54:36.606+09:00 INFO 6290 --- [hello-spring] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2024-06-03T16:54:37.187+09:00 INFO 6290 --- [hello-spring] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2024-06-03T16:54:37.188+09:00 INFO 6290 --- [hello-spring] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2024-06-03T16:54:37.315+09:00 WARN 6290 --- [hello-spring] [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2024-06-03T16:54:37.330+09:00 INFO 6290 --- [hello-spring] [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2024-06-03T16:54:37.609+09:00 INFO 6290 --- [hello-spring] [ main] h.h.s.MemberServiceIntegrationTest : Started MemberServiceIntegrationTest in 2.299 seconds (process running for 3.18) Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended java.lang.IllegalArgumentException: id to load is required for loading

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

--spring.profiles.active=prod 가 실행이 안됩니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] "C:\Program Files\Java\jdk-17\bin\java.exe" --spring.profiles.active=prod -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2023.2\lib\idea_rt.jar=58809:C:\Program Files\JetBrains\IntelliJ IDEA 2023.2\bin" -Dfile.encoding=UTF-8 -classpath C:\study\spring-boot\external\build\classes\java\main;C:\study\spring-boot\external\build\resources\main;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.24\13a394eed5c4f9efb2a6d956e2086f1d81e857d9\lombok-1.18.24.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\3.0.2\a9426629b5a83ad64fbe4e1d24081cccf4cdab14\spring-boot-starter-3.0.2.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\3.0.2\42ad589ec930e05a2ed702a4940955ff97b16a8c\spring-boot-autoconfigure-3.0.2.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\3.0.2\69d2e0a07f7df180a4aacdc47c47a3db656857dc\spring-boot-3.0.2.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\3.0.2\1c5c71058a0297534d5c5f33a5d125bbbdb6a390\spring-boot-starter-logging-3.0.2.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\2.1.1\48b9bda22b091b1f48b13af03fe36db3be6e1ae3\jakarta.annotation-api-2.1.1.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\6.0.4\8e24ad493887023cf5fac93541c72516f8ed9f6a\spring-core-6.0.4.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.33\2cd0a87ff7df953f810c344bdf2fe3340b954c69\snakeyaml-1.33.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\6.0.4\4fffcbb7eb4f1e9f1a4c9d3ca60098f7c063fc05\spring-context-6.0.4.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.4.5\28e7dc0b208d6c3f15beefd73976e064b4ecfa9b\logback-classic-1.4.5.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.19.0\30f4812e43172ecca5041da2cb6b965cc4777c19\log4j-to-slf4j-2.19.0.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\2.0.6\c4d348977a83a0bfcf42fd6fd1fee6e7904f1a0c\jul-to-slf4j-2.0.6.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\6.0.4\2d6523d00fc40cdb2c2f409113447940d2c872b5\spring-jcl-6.0.4.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\6.0.4\c47b65c09a5a6fc41293b6aa981fcbe24a3adcd0\spring-aop-6.0.4.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\6.0.4\7d903607ecfcdefccd0d48aea8724632479b3e83\spring-beans-6.0.4.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\6.0.4\a908e6d3c46fcd6b58221d8427bbaf284bbbee0c\spring-expression-6.0.4.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.4.5\e9bb2ea70f84401314da4300343b0a246c8954da\logback-core-1.4.5.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.6\88c40d8b4f33326f19a7d3c0aaf2c7e8721d4953\slf4j-api-2.0.6.jar;C:\Users\lgh80\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.19.0\ea1b37f38c327596b216542bc636cfdc0b8036fa\log4j-api-2.19.0.jar hello.ExternalApplicationUnrecognized option: --spring.profiles.active=prodError: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Program will exit.Process finished with exit code 1다음과 같은 에러가 뜨는데 Chat GPT로 해도 이해가 안돼서 질문 남깁니다.

  • spring
  • spring-boot
  • prometheus
  • grafana
lgh8079 댓글 2 좋아요 0 조회수 991

소스코드 전체 볼수 있을까요?

해결됨

Spring Boot JWT Tutorial

spring 3.3.0, java 17에 적용 중인데 deprecated된 것들 거의다 고쳐놨고 거의다 왔는데 아주 아쉽게 막바지에서 안되고 있어요 ㅎㅎ 전체 코드만 볼 수 있으면 바로 해결 할 수 있을 것 같아서요 전체 소스코드를 볼수 있는지 확인 부탁드립니다.

  • spring-boot
  • jwt
stygj59 댓글 2 좋아요 0 조회수 431

5강 중, 생성자 class 만들어 진행하면 parameter 인식이 안됩니다.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.] with root cause 계속 위와 같은 에러가 떠서 gpt랑 구글링을 하니까 생성자 클래스에 @ConstructorProperties ({"number1", "number2"}) 어노테이션을 추가하라고 해서 추가했더니 값이 출력되는데 이 어노테이션을 작성하는게 맞나요? 또 다른 글에는 java compiler를 수정하라고 하는데 맞는지 궁금합니다 ! 저는 sts4로 진행중입니다 !

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
조하영 댓글 1 좋아요 0 조회수 335

강의를 듣고 문득 궁금한 점이 생겼습니다.

미해결

견고한 결제 시스템 구축

현재 강의는 핵사고날 아키텍처를 사용하여 결제 시스템을 구축하고 있습니다. 어니언 아키텍처로도 충분히 의존성을 안쪽으로 향하게 하여 entity와 usecase를 외부 변경으로 부터 보호가 가능하지 않나 생각이 들었습니다. (결정적으로 핵사고날은 구조가 좀 복잡했습니다.) webflux를 쓰신 이유가 궁금합니다. 강의에서 내세운 견고한 시스템을 만들기위한 요구사항을 읽어봤을 때 반응성이 아니더라도 충분히 무리가는 상황이 아니기도 했고 성능보단 견고함이 중요한 상황인데 webflux를 쓰신 이유가 궁금합니다! 제 역량이 모자라 이해 못하는 부분이 있을 수 있어 배우고자 질문드립니다. 감사합니다!

  • spring
  • spring-boot
  • dbms/rdbms
  • backend
  • payments
GOLF 댓글 1 좋아요 0 조회수 492

혹시 정적 팩토리 메서드에 대해 의견을 물어도 괜찮을까요??

미해결

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

안녕하세요 선생님! 프로젝트 코드를 작성하던 중 클라우드와 직접적인 상관이 있는 부분은 아니지만 현직자의 시각에서 정적 팩토리 메서드에 대한 의견을 묻고 싶어서 질문 드립니다..! 혹 선생님께서는 정적 팩토리 메소드의 역할이 어디까지라고 생각하실까요? 저는 팩토리 메소드이기 때문에 1. 단순히 파라미터를 받아 생성자를 통해 인스턴스를 생성하는 것 뿐만 아니라, 인스턴스를 생성하기 위해 2. 파라미터 valiation을 확인하고, 인스턴스 생성을 위한 데이터들을 가공하는 과정 또한 포함해도 괜찮은 것이 아닌가 하였는데, 저와 다른 의견 중에서는 팩토리 메소드는 가공이 전부 완료된 값을 단순히 받아서 인스턴스를 new 하기만 해야 한다는 의견이 있더라구요. 가공은 서비스 클래스에서 수행하구요! 예를 들면 아래와 같은 메소드가 validation과 데이터 가공을 처리하는 팩토리 메소드의 예시입니다 : public static SearchRequest from( AnotherRequest request) { 55 //AnotherRequest 클래스로부터 SearchRequest 클래스를 생성함. if(request.get고객리스트().size() > 9) { 56 //validation? 혹은 비즈니스 로직? throw new Exception(); 57 } 58 //아래부터 데이터 가공 List<Passenger> 새로운 고객리스트 = request.get고객리스트().stream() 59 .map(p -> new Passenger(p.get생일(), p.get성별()) ) 60 .collect(Collectors.toList()); 61 62 //인스턴스 생성 후 return return new SearchRequest(새로운 고객리스트); 63 } 코드 스타일에 따라 정답은 없겠지만, OOP의 입장에서 의견을 여쭙고자 합니다! 답변 해주시면 정말 감사하겠습니다!

  • spring-boot
  • 아키텍처
qpal1zm23 댓글 1 좋아요 0 조회수 213

Assertions.assertEquals의 첫 칸 String 내용

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. assertEquals 첫 칸에 들어가는 "" message 내용은 어디에 출력되는 메시지 내용 인가요? 밑에 실행 결과창에서 Ctrl + F로 찾아봐도 안 나오는데 단순히 주석의 역할을 하는 메시지로 적는 것 인가요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
오현우 댓글 2 좋아요 0 조회수 523

상품주문() 테스트 내용 질문 드립니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. book.setPrice(10000) 에서 궁금증이 생겼는데요, int bookPrice = 10000; 처럼 변수를 만들어서 book.setPrice(bookPrice)를 하면 밑에 assertEquals에서 expected 값에 10000 * orderCount가 아닌 expected : bookPrice * orderCount로 할 수 있지 않나요? 왜 Price값만 10000로 해서 직접 기입하는 방법을 사용하신건가요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
오현우 댓글 3 좋아요 0 조회수 586

mappedBy로 연관관계의 거울인 인스턴스에 수정을 가하면..

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

mappedBy로 연관관계의 거울인 인스턴스에 수정을 가하면 데이터베이스에 변경 사항이 적용되지 않고 연관관계의 주인 엔티티를 수정해야 데이터베이스에 적용되는걸로 알고 있습니다. 하지만 Order 클래스의 orderItems가 mappedBy 속성으로 연관관계 거울로 설정되었는데 Order 클래스의 비즈니스 로직인 cancel 함수에서는 orderItem.cancel()을 호출하는데 이때 orderItem의 변경사항이 데이터베이스에 적용되나요? 그렇다면 mappedBy 속성으로 연관관계 거울 인스턴스라도 해당 인스턴스에 수정을 가하면 데이터베이스에 적용되는건가요? 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
hongjunehuke 댓글 1 좋아요 1 조회수 209

인기 태그

인프런 TOP Writers

주간 인기글