학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 항상 좋은 강의 감사드립니다! 강의에 [섹션4] 에서 나오는 강의 자료에서 그림부분에 [세션1 테이블 조회결과]라는 그림이 있는 부분이 있는데 이 부분이Redo 로그에 속하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 매번 좋은 강의 감사드립니다. 강의에서 db 를 사용하는 가장 대표적인 이유가 트랜잭션 사용이라 언급을 해주셨는데 그럼 트랜잭션이 필요하지 않는 상황이라면 다른 구조를 사용하는게 더 효과적일까요? 만약 파일로 저장을 하게 된다면 더 빠른가요? db 는 트랜잭션을 보장하기 때문에 추가적인 작업이 더 들어가기 때문에 insert update 가 파일에 비해 무거울까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스프링부트 프로젝트를 처음 설정할때 java 21버전으로 설정하고 프로젝트를 다운로드 후 실행 했으나 다음과 같은 에러가 발생했습니다. 그리고 제 프로젝트 sdk 버전등 초기 설정은 다음과 같습니다. 보시다시피 build.gradle에는 자바 레벨?이 21버전으로 되어있고 sdk 버전은 22버전으로 되어있습니다. 그런데 build.gradle의 languageVersion = JavaLanguageVersion.of() 을 21 에서 17 버전으로 변경하니 빌드가 에러없이 정상 진행되었습니다. 제가 궁금한것은 강의자료에서 안내하길 17버전 '이상' 사용하라고 그랬고 실제로도 스프링부트 21버전, 자바 sdk 22버전을 사용하는데 왜 에러가 나는걸까요? 그리고 왜 build.gradle에서 자바 언어 레벨을 더 낮은 17버전으로 바꾸는 것만으로 해결이 되는건가요?
안녕하세요 선생님 강의 잘들었습니다.! 강의 이후 복습 하며 사이드 프로젝트를 하며 성장 하고 있습니다. 프로젝트를 하던중 궁금증이 생겨서 블로그 글을 찾아 보았지만 관련된 글을 찾지 못하여 질문을 드립니다. 회원 관련된 API = UserController -> UserService의 흐름으로 사용 하였습니다. 하지만 User API가 너무 많아져 특정 API를 수정할 때 찾기 어려워졌습니다. 그레서 이걸 분리 할수 없을까에 대한 고민이 생겼고 행위에 따라 분리 했습니다. [ Controller 분리 ] 검증 관련한 API를 VerficationController으로 모았습니다. VerficationController에서 필요한 자원에 따라 UserService, EventService를 사용 하였습니다. [ 질문 ] 1. Controller를 행위에 따라 부분적으로 분리 하여도 괜찮나요? UserController / EventController / VerificationController 분리 했을때 통일성이 없다는 느낌이 들어서 고민 입니다. Controller / Service 책임을 어떻게 설정 하시나요? 회원 관련된 요청이면 UserController 회원 로직이면 UserService를 사용 했습니다. 하지만 API가 너무 많아 분리를 할때 어떤 기준으로 분리를 해야 할지 모르겠습니다.
src/main/resources/application.properties ``` groovy spring.profiles.active=local spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username = sa ``` 이렇게 설정만 하면 스프링 부트가 해당 설정을 사용해서 커넥션 풀과 DataSource , 트랜잭션 매니저를 스프링 빈으로 자동 등록한다. (앞에서 학습한 스프링 부트의 자동 리소스 등록 내용을 떠올려보자.) 이 부분에서 자동 리로스 등록내용이 어디 강의에 있나요..?
13:39에 28라인에 return new WebApiExRateProvider(apiTemplate()); 가 아니라 return new WebApiExRateProvider(apiTemplate()); 로 작성되야지 의도대로 코드가 작동하는 것이 아닌지 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Requires_new를 통해 내부 트랜잭션이 시작되고 내부 트랜잭션은 커밋, 외부 트랜잭션은 롤백이라고 했을 때 그대로 동작한다고 이해하면 될까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 질문은 아니지만 저와 같은 오류를 가진 분을 위해 남깁니다. 기본적으로 MessageSource는 locale이 null일때 Locale.getDefault() 의 결과 값을 이용합니다. 이 값은 JVM의 기본 locale을 가져오므로, 만약 이 값이 en_US 등으로 설정이 되어있다면, 안녕이 아닌 hello가 출력되어 test가 실패하게 됩니다. 저와 같은 오류를 겪는 분이 있다면 시스템의 기본값으로 적용되는구나 이해하고, 그 Test에 한해서만 Locale.setDefault(Locale.KOREA) 로 설정하시면 테스트는 통과할겁니다.
외부 설정 쪽을 보고 있는데요. application.yml 에서 설정한 값을 safe 하게 사용하기 위한 코드인데요. 내부 클래스에 static 을 사용한 이유가 있을까요? @Data @ConfigurationProperties("my.datasource") public class MyDataSourcePropertiesV1 { private String url; private String username; private String password; private Etc etc = new Etc(); @Data public static class Etc { private int maxConnection; private Duration timeout private List<String> options = new ArrayList<>(); } }
import javax.annotation.PostConstruct; @PostConstruct public void init(){ itemRepository.save(new Item("testA", 10000, 10)); itemRepository.save(new Item("testB", 20000, 20)); } PostConstruct에 대한 위에 쓴 경로로 import가 안됩니다. 자동으로 import진행하면 아래와 같이 나옵니다. 이렇게 진행했을때 items.html화면에서는 상품ID만 바인딩되고, itemName, price 등 나머지 데이터는 null로 화면에 안 나타납니다. import jakarta.annotation.PostConstruct;
위 사진과 같이 Build 가 자동으로 되도록 세팅을 변경하고 인텔리제이를 리부팅 해도 설정 적용이 잘 되지 않습니다. 코드를 변경 후 Shift + Command + F9 를 눌러 수동으로 Build 하지 않고 그냥 실행할 경우 변경사항이 제대로 적용되지 않은 채 코드가 실행이 됩니다. 해결 방법이 있을까요? 수동으로 Build 하면 잘 실행되는 것으로 보아 코드 문제는 아닌 것 같습니다...ㅠ
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요 우빈님! 테스트 강의 복습 중인데, 다시 들으니깐 너무 재밌네요... 다름 아니라, CQRS 에 따라서 강의를 진행하면서도 Controller와 Service를 CQRS에 따라 분리하고 있습니다. (패키지가 많아지긴하네요..ㅎㅎ..) 그런데 궁금한 부분은 Repsitory쪽인데, JpaRepository를 상속받는 인터페이스들(강의로 예를 들면 ProductRepository, StockRepository, OrderRepository가 있겠네요) 같은 경우인데, sprind data jpa 인터페이스에 CRUD 중에 CD 에 대한 책임을 줄 수는 있겠다 생각했고, U 는 변경감지에 책임을 맡기면 되겠다고 생각했습니다.. 그런데, 쿼리메서드 부분이 모호한데요. 작성했던 쿼리 메서드 같은 경우는 Query에 대한 부분인데 책임을 분리하려고보니, command에 query가 묶여있는 형태더라고요.. 이 부분은 어떻게 나누는지가 궁금합니다.. 제 짧은 지식 선에서는 QueryDSL 로 나눠야 하나 싶지만, 쿼리 메서드라는 편리한 것이 있는데 굳이 돌아가는 것 같다는 느낌이 드네요 제가 굳이 나누려는건지 싶기도 하구요... 조언을 구해봅니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. <form action="item.html" th:action th:object="${item}" method="post"> 이문법에서, th:action의 값이없는데 타임리프로 하면 경로가 어디로가는건가요?