히카리 프록시 커넥션 객체를 커넥션을 반환할 때 생성해서 반환하는건가요? 4분 5초와 5분 30초 설명부터 커넥션을 반환할 때 히카리 프록시 커넥션 객체를 생성해서 커넥션을 내부에 감싸서 반환하는 것으로 이해됩니다. 이 객체가 조회할 때 생성되는 것이 아니라 반환할 때만 생성해서 반환해 주는 것인가요? 즉 커넥션을 조회할 때는 그냥 커넥션을 그대로 조회하고 반환할 때만 프록시 객체를 생성해서 감싸 반환하는 것인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 10분00초에서 클래스레벨에서 테스트, save와 findByName을 각각 테스트 하는 것을 보여주셨는데 저는 클래스를 테스트 할 때는 둘다 정상적으로 완료가 되는데, 이상하게 하나씩 테스트를 하면 아래의 에러가 납니다 Exception in thread "main" java.lang.NoSuchMethodError: 'java.lang.String org.junit.platform.engine.discovery.MethodSelector.getMethodParameterTypes()' at com.intellij.junit5.JUnit5TestRunnerUtil.loadMethodByReflection(JUnit5TestRunnerUtil.java:127) at com.intellij.junit5.JUnit5TestRunnerUtil.buildRequest(JUnit5TestRunnerUtil.java:102) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:43) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) (근데 잘 썻는지 모름 ) [질문 내용] 안녕하세요 궁금증이 생겨서 질문을 드립니다. 질문1 select 박스 버튼에서 <option value="">==배송 방식 선택==</option> 이렇게 코드를 작성 하셨습니다. 근데 저가 보기에는 이게 선택에 포함 되어야 한다는 생각 및 예전에 "배송방식 선택" 을 선택 optgroup 못하게 했던 것이 떠올라 찾아봐서 optgroup 이라는 키워드를 찾을 수 있었고 적용할 수 있었습니다. 그래서 질문은 왜 optgroup 이라는 태그? 를 안쓰고 value로 하셨는지 궁금합니다. 이렇게요. (사진 수정 적용된 부분이 안보여서) 질문2 하다 보니까, 상품을 판매하는 관리자 및 상품을 사는 사용자 가 같이 있는 것 같다는 생각이 듭니다. 전체적으로 한 곳에 만들어 놓고, 사용자 및 관리자 에 따라서 어떤것 들은을 안보여 주고 어떤것은 보여지게 처리할수 있을것 같다는 생각이 드는데요. 사용자일 경우 배송방식 만 남겨 주고, 상품 수정을 - 구매 버튼으로 수정 판매하는 관리자일 경우 그대로 놔둠 방법 -> th:if 로 관리자일 경우 이것을 출력 아니면 미출력 이런식으로 생각해 보았는데 이게 맞는 방법 인가요? + 질문2처럼 적용하지는 않았고, 그냥 물어 봤는데요 이렇게 질문해도 되는것인가요? 답변 부탁 드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] private static final Map store = new HashMap<>(); Item items = store.put(item.getId(), item); return items; 이렇게 하면 항상 반환값이 기존값 반환, 없으면 null이 나올 가능성이 있나요? 그래서 store.put(item.getId(), item); return item; 이런식으로 코드를 작성하는건가요? 영한님강의를 다 샀는데 혹시 해당 하는 내용이 어떤 강의 어디쯤 나오는지 알수 있을까요? 그부분 다시 보충 해서 공부를 해야 할거 같아서요
ItemRepository 클래스에서는 store를 static final 로 선언하셨고 MemberRepository 클래스에서는 store를 final이 빠진 static으로만 선언하셨는데 제가 알기로는 final까지 선언해야 다른 곳에서 참조가 변경될 위험을 방지할 수 있는 것으로 알고 있는데 MemberRepository에서는 final을 의도적으로 빼신 이유가 있는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. helloMessage테스트를 진행하였는데 사진과 같은 오류가 발생하였습니다. 찾아보니 lombok버전이 안맞는 것 같다고하여 변경하여 다시 시도해보았지만 해결되지 않았습니다. 혹시 실습을 따라하는 과정에서 실수가 있었는지 몇번이고 확인하였지만 강의와 다른 점은 찾지못했습니다.
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
var configuration = new MapperConfiguration(cfg => { }); 이 부분 오류가 나던데 var configuration = new MapperConfiguration(cfg => { }, NullLoggerFactory.Instance); 저는 이렇게 해서 오류 해결했습니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 소스에 있는 코드를 그대로 임포트 해서 회원가입을 했는데 로그인이 안되네요.. 뭔가 잘못된건지 모르겠습니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 강의 수강 중 질문이 생겨 여쭤봅니다. public UploadFile storeFile ( ... ) { ... } 메서드에서 multipartFile이 비어있다면 null을 반환하는 검증 if문이 처음에 있습니다. 실무에서 사용한다면 보통 이런 경우에 리턴타입을 optional로 감싸서 보내는게 일반적일까요 ?
서비스 계층을 순수한 비즈니스 로직만 남도록 하고, 특정 기술에 의존하지 않도록 하는 과정을 배우면서 많은 영감을 얻었습니다! 그런데, @Transactional은 과연 순수한가 하는 의구심이 듭니다. 내부 코드에서는 깔끔하게 지웠지만, 순수한 자바 환경에서는 여전히 특정 예외상황에서 불완전하게 동작하고, 어노테이션을 통해 프록시 기술에 의존하게 되는데요. 테스트 시에도 순수한 자바테스트가 아니라 스프링 컨테이너에서 관리되도록 해야하니 순수하지 않다고 느껴집니다. 이런건 트랜잭션을 순수한 자바코드만으로 깔끔하게 구현하기 어렵기때문에 현실적으로 타협한건가요? 여전히 찝찝한 마음이 남아있습니다 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원 서비스 테스트 강의 5:27에 member와 findMember의 getName을 통해서 맞는지 확인을 했는데 왜 객체가 아닌 이름을 통해 비교를 하는건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 파일 업로드/다운로드 강의 내용 중, 스프링EL 표현식으로 Item의 필드에 접근할때 getter를 직접 호출하셨는데요, ${item.attachFile.uploadFileName}로 프로퍼티 접근법을 쓰지 않은 특별한 이유가 있을까요? 직접 해보니 둘 다 동작되는것은 확인했는데 혹시 getter 메서드를 써야하는 특이사항이 있는건지 궁금해서 질문드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 테스트를 돌리는 과정 속에서 자꾸 h2 디비로 접속하지 못하고 새로운 메모리 테이블로 접근하는 거 같습니다. 3_3테스트까지는 문제없이 작동이 되는데 자동 리소스 등록을 하는 부분부터 문제가 생겨요. 다운 받은 예제를 돌릴 때는 또 제대로 실행이 되는데 이거 왜 이러는 걸까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. public Member save(Member member){ member.id(++sequence); log.info ("save: member={} ", member); store.put(member.getId(), member); return member; } 이부분에서 id만 설정해주는데 name,loginId, password 값이 정상적으로 세팅되는게 맞는건가요? 저는 build 패턴을 이용해서 공부를 하고있는데 id말고도 다른 필드도 세팅을 해줘야하는게 맞지 않나 싶어서요. id만 세팅하니까 save할 때 나머지 필드에는 null이 들어갑니다. public Member save(Member member){ member = Member.builder() .id(++sequence) .loginId(member.getLoginId()) .password(member.getPassword()) .name(member.getName()) .build(); log.info ("save: member={} ", member); store.put(member.getId(), member); return member;
이번 강의에서는 DispatchType을 설정해주지 않았는데 어떻게 dispatchType=ERROR 가 나오는 걸까요? 8분 28초경에 getDisPatcherType() 해서 dispatchType 값을 출력해보는데 ERROR가 출력됩니다. 그런데 다음 강의에서 기본값은 REQUEST 인 것으로 배우는데요 따라서 이번 강의에서는 아무것도 설정을 안해줬으므로 기본 값은 REQEUST이므로 중복 호출이 제거되어 에러 페이지 호출시 필터가 호출되지 않아야 한다고 생각했는데 아닌 것같아서요.. WebConfig의 필터에 setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR) 하여 ERROR 값을 설정하는 것도 다음 강의에서 하는 것으로 알고 있는데 이번 강의에서는 아무 값도 설정 안해 준것 아닌가요? 제가 어떤부분을 잘못 이해하고 있을까요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 강의 수강전 질문 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 DB를 듣기전에 데이터베이스에 대한 공부를 하고 해당 강의를 수강하라고 하셔서 강사님의 최신 데이터베이스 강의를 수강중입니다. 해당 강의에서는 MySQL을 사용중인데 이 데이터베이스를 사용해서 스프링 DB 강의를 수강할 수 있을까요? 아니면 H2데이터베이스를 별도로 추가 다운로드 해야할까요?