묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
임베디드 모드(메모리 모드)
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.3장의 14페이지의 부분입니다. 위의 url의 방식을 사용하면 임베디드(메모리 모드)로 동작한다고 적혀있습니다.그런데 db의 모드를 공부하다 보니 궁금증이 생겨 질문드립니다. db 모드에는 3가지 모드가 있습니다.server mode는 url: jdbc:h2:tcp://localhost/~/myShopProject이런 url 예시가 있으며 tcp 방식을 통해 네트워크 통신을 이용하여 서버의 디스크에 저장하는 것으로 이해했습니다.위의 경우는 localhost이므로 저의 로컬 컴퓨터의 디스크에 저장될 것 같습니다.만약 위의 localhost가 다른 ip라면 그 ip의 디스크에 저장될 것 같습니다. 임베디드 모드(Embedded Mode)는jdbc:h2:<databasePath> 이런 url 예시가 있으며 위의 경우는 데이터 베이스가 애플리케이션과 함께 하나의 프로세스 내에서 실행합니다.위의 databasePath에 데이터페이스 파일이 저장됩니다.로컬 컴퓨터의 애플리케이션에서 실행되므로 tcp 통신은 발생하지 않습니다. 인메모리 모드(In-Memory Mode)는jdbc:h2:mem:mydb 이런 url 예시가 있으며 위의 경우에는 데이터베이스가 메모리에만 저장되고, 따라서 파일의 경로를 지정할 필요가 없습니다.이렇게 하면 데이터베이스가 메모리에만 생성되며 디스크에 저장되지 않습니다. 그런데 위의 교재에서는 임베디드 모드는 위처럼 메모리 모드로 동작하는 기능이라고 설명해주고 있습니다. 하지만 제가 공부했던 임베디드 모드는 파일의 경로를 지정해서 영구히 저장해 주는 것으로 알았습니다.위의 임베디드 모드에 대한 설명이 잘 이해가 되지 않았습니다.=================================================================================정리하자면->jdbc:h2:mem:db 이므로 인메모리 모드로 동작하는 H2 데이터 베이스이다. 라고 바꿔야 하지 않을까요..? 임베디드 모드(메모리 모드) 라는 표현이 잘 이해가 안된다 -> 두개는 별개의 모드로 이해하고 있습니다. (메모리 모드와 인메모리 모드가 같은 의미라고 이해하고 있습니다.) + 위의 임데디드 모드에 대한 정의와 설명이 잘 이해되지 않았습니다. 좀 설명이 중구난방하고 제가 학습이 부족하여 잘 이해하지 못한 것 같습니다! 설명해주시면 감사하겠습니다!!
-
해결됨코드로 배우는 React with 스프링부트 API서버
섹션7에 이름 없는 강의가 2개 있는데 오류인가요?
눌러봐도 강의 재생이 되진 않네요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
1:N 을 N:1로 바꿔 페이지네이션을 할 시 데이터 개수를 어떻게 기대한 1쪽에 맞출 수 있을지 궁금합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.1:N 관계에서 1을 기준으로 페이지네이션 조회에 대해 질문드립니다.강의에서는 N을 기준으로 조회lazy loading을 이용한 성능을 포기한 조회@BatchSize를 이용한 방법 이 세 가지가 제안되었습니다.만약 이 페이지네이션에서 강의 초반부 예시처럼 N쪽에 조건문이 걸려야 해서 그에 대한 결과물을 가져와야 하는 경우E.g. where m.age = 10 1번 방법으로 조회를 해야할 것 같은데1번 방법에서 N:1임에도 1 입장에서 페이지네이션 개수 그대로 데이터를 추출할 수 있는 방법이 떠오르지 않아 질문드립니다. N:1로 바꿔서 PAGE_SIZE를 10이라고 가정할 때 조회 (memberId가 10개가 나온다) teamId:1, memberId:1 teamId:1, memberId:2 teamId:1, memberId:3 teamId:2, memberId:4 teamId:2, memberId:5 teamId:2, memberId:6 teamId:2, memberId:7 teamId:3, memberId:8 teamId:3, memberId:9 teamId:3, memberId:10 실제 기대하는 조회 (team 이 10개가 나오기를 기대) teamId:1, memberId:1 teamId:1, memberId:2 teamId:2, memberId:3 teamId:2, memberId:4 teamId:3, memberId:5 teamId:3, memberId:6 teamId:4, memberId:7 teamId:5, memberId:8 teamId:5, memberId:9 teamId:5, memberId:10 teamId:6, memberId:11 teamId:6, memberId:12 teamId:7, memberId:13 teamId:7, memberId:14 teamId:8, memberId:15 teamId:8, memberId:16 teamId:8, memberId:17 teamId:9, memberId:18 teamId:9, memberId:19 teamId:10, memberId:20 teamId:10, memberId:20
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 url을 찾을 수 없다고합니다.
Caused by: java.lang.RuntimeException: Driver com.mysql.cj.jdbc.Driver claims to not accept jdbcUrl, jdbc:h2:tcp://localhost/~/jpashop라고 에러메세지가 뜹니다.apllication.yml대신 properties에 spring.datasource.url=jdbc:h2:tcp://localhost/~/jpashop spring.datasource.username=sa spring.datasource.password= spring.datasource.driverClassName=org.h2.Driverjpa.hibernate.ddl-auto=create jpa.properties.hibernate.format_sql=true logging.level.org.hibernate.SQL=debug logging.level.org.hibernate.type=trace 이렇게 작성했는데 왜 안되는걸까요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
기본 키 매핑
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]기본 키 매핑에서 @GeneratedValue 전략으로 IDENTITY, SEQUENCE, TABLE, AUTO의 특징은 이해했습니다. 하지만 어떤 경우에 어떤 전략이 유리할지 모르겠습니다. AUTO를 사용하지 않고 명시적으로 IDENTITY 또는 SEQUENCE 전략을 채택해야하는 경우가 있을까요?
-
미해결코드로 배우는 React with 스프링부트 API서버
github 링크
화면 html 소스 같은 것들 때문에 github 주소는 없나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
갑자기 코드가 실행이 안됩니다. Edit Configuration
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]View 환결설정 강의를 시청하는중 아무런 문제없이 코드들은 잘 작성하고있엇습니다. dev tools 추가해서 recompile로 간편하게 해보는걸 하는중 윈도우 단축기는 crtl shift f9이라고 나왔고 그래서 몇번 계속 해보던중 갑자기 코드가 실행이 안되기 시작했습니다. 우선 HelloController, JpaShopApplication 마크가 클래스에서 자바 커피 모양으로 바뀌면서 .java가 붙엇고 실행하려고하면 Edit Configuration 이 나오면서 사진과 같은 창이 나오고 Cannot snapshot C:\Users\juny2\OneDrive\Desktop\study\jpashop\jpashop\build\resources\main\static\index.html: not a regular file 이라는 경고문이 나옵니다. build.gradle 다시 세팅햇더니 다시 클래스 마크로 돌아오긴했는데 여전히 같은 경고문 , Edit configuration이 뜨면서 실행이 안됩니다. (수정) 저기 Edit Config 설정하고 다른 글에서 snapshot 에러뜨면 Onedrive 밖으로 프로젝트 옮겨보라고 하셔서 프로젝트 옮겻고 정상적으로 돌아는가네요. 근데 문제는 index.html파일이 없는 상태에서 이렇게 초기화면에 뭐가 주르륵 뜨는데 어떻게 해결하는지 모르겟습니다. ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
main함수 실행 시 무한 로딩이 걸립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.처음에 spring boot세팅하고 JpashpApplcation의 메인 함수를 실행하면 강의 영상과 달리 로딩 버튼이 뜨는데 계속 기다려도 사라지지 않습니다. 그리고 중간에 그냥 stop하면 Execution failed for task ':JpashopApplication.main()'.> Build cancelled while executing task ':JpashopApplication.main()'* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 1m 4s3 actionable tasks: 1 executed, 2 up-to-date 이렇게 뜨네요. 하지만 localhost:8080은 정상 실행되는데 문제 없는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
ec2서버에서 user예약어 관련 오류이신분
현제 45강까지 완료했고구글링해서 user라는 키워드가 현제 제가 쓰고있는 버전에서는 예약어이기때문에 사용아 안된다는것까지 인지했습니다.그래서 yml에 dev에 해당하는 url에 NON_KEYWORDS=USER까지 입력했고User class에 @Table(name ="USER")까지 적용해서git을 이용해서 ec2서버에 적용했지만 동일한 오류가 발생합니다.2일정도를 해결하려했는데 안되어서 질문 남깁니다.저의 github 는 https://github.com/Jo-Jun-Yeong/library-app입니다.그리고 제가 사용하는 hc2 ip는54.180.104.239입니다 다른 인프런에 답글달아주신 글도 봤지만user가 예약어이니 nonkeyword적용해라 이상의 해결을 못봤습니다..///////////////////////////////////////////라고 질문하려했는데마지막으로 ./gradlew build가 적용되지않아서 그런거지않을까? 해서 ./gradlew clean 후 build했더니 적용되었습니다.특히 User.class에 @Table(name="user")적용을 해야 하는것 같습니다. 저처럼 2틀동안 삽질하지 않으셨으면 좋겟네요
-
미해결실전! 스프링 데이터 JPA
스프링 부트 3.x버전은 쿼리가 다르게 나오나요?
slice 설명해주시는 부분인 16:30 부분에 쿼리가 저는 아래와 같이 나오는데 하이버네이트6 버전이여서 다르게 나오는 걸까요?selectm1_0.member_id,m1_0.age,m1_0.team_id,m1_0.usernamefrommember m1_0wherem1_0.age=?order bym1_0.username descoffset? rowsfetchfirst ? rows onlyList로 테스트 하는 경우도(18:57) 아래와 같이 다르게 나옵니다.selectm1_0.member_id,m1_0.age,m1_0.team_id,m1_0.usernamefrommember m1_0wherem1_0.age=?order bym1_0.username descoffset? rowsfetchfirst ? rows only
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
식별자의 의미
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]값타입에는 식별자가 없다고 하는데그래서 식별자가 뭔가요? 식별하는 id같은거라고 생각하고 있는데 정확히 무슨의미로 넣어뒀는지 그리고 식별자의 의미를 모르겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
member.getAddressHistory().add(new ~~~) 는 getter는 조회용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]member.getAddressHistory().add(new ~~~) 는 getter는 조회용으로 쓰는걸로 아는데 .add해서 값을 변경할 수 있나요?getAddressHistory()는 AddressHistory()를 조회한다. 근데.add를 통해서 넣는다.... 뭔가요?뭔가 생략된 부분이 많아서 해깔리네요.. 이번강의는 굉장히 어렵네요
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
RestaurantApi 컨트롤러 개발 질문
안녕하세요 쥬쥬님 RestaurantApi 컨트롤러 개발 시 프론트로부터 파라미터를 받고 서비스로 바로 넘겨주셨는데 현업이나 일반적으로 보통 컨트롤러에서 파라미터를 받으면 그대로 서비스 단으로 넘겨주는지 궁금합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
mapped by 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]mapped by를 one to many에서 해줘야하는지many to one에서 해줘야하는지 계속 해깔리는데이걸 쉽게 생각하는방법이 없을까요? 만약에 외래키로 가지고 오는건 many to one 이니외래키로 가지고 온건 실체고 반대쪽은 one to many이니 mapped by를 해줘야 한다.인거 같은데 만약에 mapped by를 안쓰면 어떻게 되는건가요? mapped by의 정의가 뭔가요?
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
@Transactional 질문 있습니다!
안녕하세요@Transactional 어노테이션을 클래스에다가 붙이면 안에 있는 메서드에 전부 적용되는 것으로 알고 있는데쥬쥬님께서는 메서드 하나하나에 적용을 하시더라구요 혹시 메서드에 하나하나 달아주는 이유를 알 수 있을까요??
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
lombok 인식이 안됩니다
안녕하세요수강시작으로 프로젝트 세팅중에 있는데 롬북 인식이 안되서 문의드립니다 ㅠplugin 설치하였고아래 사진과 같이 dependencies 세팅도 되어있고상단 이미지처럼 체크하고 restart를 아무리해도.....강의 예제 처럼 Hello class에도 main/java 아래 임으로 생성한 class에서도 롬북이 인식이 안됩니다 ㅠ어떻게 해야할까요?
-
해결됨
스프링 오류 질문
package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; @RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() { Member member = new Member(); member.setUsername("memberA"); Long savedId = memberRepository.save(member); Member findMember = memberRepository.find(savedId); Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); Assertions.assertThat(findMember).isEqualTo(member); //JPA 엔티티 동일성 보장 } } 김영한 강사님의 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 강의를 수강중입니다. C:\study\jpashop\src\test\java\jpabook\jpashop\MemberRepositoryTest.java:4: error: package org.junit does not existimport org.junit.Test; 위와같은 오류가 나왔는데 어떻게 해결하나요?
-
미해결코드로 배우는 React with 스프링부트 API서버
장바구니 컨트롤러 처리 @PreAuthorize 부분 오류
@PreAuthorize("(#itemDTO.email == authentication.name)") @PostMapping("/change") public List<CartItemListDTO> changeCart(@RequestBody(required = true) CartItemDTO itemDTO) { log.info("itemDTO : {}", itemDTO); if (itemDTO.getQuantity() <= 0) { return cartService.remove(itemDTO.getCino()); } return cartService.addOrModify(itemDTO); }위코드에서 #ItemDTo 값이 null 설정되는것같습니다.아무리 찿아봐도 원일을 알수없는데 확인좀 부탁드릴수 있을까요? 우선 오류로그는 아래와 같습니다.jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)' at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022) ~[spring-webmvc-6.1.5.jar:6.1.5] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.5.jar:6.1.5] Caused by: java.lang.IllegalArgumentException: Failed to evaluate expression '(#itemDTO.email == authentication.name)' Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'email' cannot be found on null at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:224) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:111) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorValueRef.getValue(PropertyOrFieldReference.java:416) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:98) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:42) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.OpEQ.getValueInternal(OpEQ.java:32) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:119) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:309) ~[spring-expression-6.1.5.jar:6.1.5] at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:30) ~[spring-security-core-6.2.3.jar:6.2.3]
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 질문있습니다!
안녕하세요! 수업 너무 잘들었어요 ~이번 수업 프로젝트를 수동 배포를 해보고 CI/CD 공부를 하고싶어서 찾아보던중EC2서버에 docker를 사용해서 JENKINS를 설치하고 CI/CD작업을 하던 와중에 백엔드 코드는 빌드하고 배포를 하였습니다.1. JENKINS포트를 9090 으로 변경하고(스프링 부트 서버가 8080이라 )맞는걸까요?2. 화면도 나오게 배포를 하려면 따로 리액트도 배포를 해줘야 할까요? 같은 서버에 있어서 안해줘도 된다고 생각했는데... 조언부탁드려요 ㅠㅠ!많은 블로그들을 보면 ec2서버를 여러대 사용하고 배치하고 있던데 어떨때 ec2서버를 여러대 사용해야하고 mysql mastr-slave구조도.. redis 서버도 어디다 배치하고 감이 안잡혀서 강사님께 조언부탁드렸습니다 ㅠㅠ!저의 질문이 강의와 맞지 않아서 무례할지 고민하다가.. 조언을 부탁드렸습니다 . 감사합니다
-
미해결Practical Testing: 실용적인 테스트 가이드
강사님 유효성 검증의 분리에 대해 궁금한점이 있습니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 저희만의 서비스에 특화된 비즈니스 검증로직은 따로 서비스나 도메인에서 분리해서 검증하라고 하셨는데, 정확히 이해가 가지 않아서 좀더 질문 드립니다.예를 들어, 패스워드 검증 로직이 있다고 하면, 저희만의 서비스는 패스워드 검증을( 영문,특문 혼합 8자이상)이라고 정했을때, 컨트롤러의 요청 부분에서는 @NotBlank를 처리하고, 서비스나 도메인에서 위의 패스워드 검증 로직을 진행하라는 말씀인가요??