@Service @RequiredArgsConstructor @Transactional public class UserService { public void createUser(CreateUserRequest request) { Users users = firebaseUsersRepository.findUsersByFirebaseUid(request.getFirebaseUid()) .orElseThrow(() -> new BusinessException("Not Found User", HttpStatus.INTERNAL_SERVER_ERROR)); User user = User.builder() .name(users.getDisplay_name()) .firebaseUid(request.getFirebaseUid()) .build(); userRepository.save(user); } } @Component @RequiredArgsConstructor @Transactional(propagation = Propagation.REQUIRES_NEW) public class BaseEntityAuditAware implements AuditorAware<User> { private final UserRepository userRepository; @Override public Optional<User> getCurrentAuditor() { try { return userRepository.findById(ApiLogger.getRequestCallerId()); } catch (Exception e) { return Optional.empty(); } } } createUser에서 userRepository.save (user)를 호출할때, JpaAudit기능을 이용하기 위해 구현해놓은 BaseEntityAuditAware에서 유저정보를 가져온 후, 실제 쿼리를 날립니다. 이때, 전파속성이 REQUIRE_NEW이며, 발생한 모든 예외를 catch했으므로 이 함수를 호출한 부모 함수로 해당 예외가 전달되지 않을 것이기때문에 rollback이 되지 않으리라 기대했지만 실제로는 unexpectedrollbackexception이 발생하며 롤백이 되었습니다. null을 반환하는건 문제가 아닌것이, 실제로 예외를 발생시키지 않으려고 위 코드를 아래와같이 변경하였더니 null값으로 정상적으로 insert쿼리가 날라갔습니다. @Override public Optional<User> getCurrentAuditor() { Long callerId = ApiLogger.getRequestCallerId(); if (callerId == null) return Optional.empty(); return userRepository.findById(ApiLogger.getRequestCallerId()); } 어느부분이 잘못된것이며 제가 오개념을 잡고있는 부분이 어디일까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 인터셉터는 필터에 비해 다양한 기능을 제공한다고 하였는데 왜 Spring Security는 필터로 구현되었을까요? Spring Security가 MVC 뿐 아니라 다른 애플리케이션에도 활용되기 때문에 의존성을 줄이기 위함일까요? 그 외에도 인터셉터가 필터에 비해 갖는 이점이 궁금합니다!
<p th:text="'안녕하세요.ddd ' + ${data}" >안녕하세요. 손님</p> 이 부분에서, 정작 p태그의 사이 공간에 들어가는 내용 즉, "안녕하세요. 손님" 이 부분은 아예 화면에는 렌더링이 안 되는 걸로 보이는데 이 부분은 그러면 개발자 입장에서는 주석처럼 사용하는 건가요? 타임리프에서 p 태그의 사이공간은 어떻게 활용되는지 궁금합니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 섹션1의 6번째 강의(출력 포멧과 입력) 수업 자료를 다운 받았는데 1번째 강의와 같은 예제파일이 들어있습니다(python-question1-web.ipynb) 해당 강의에 맞는 예제 파일로 바꿔주셔야 할 것 같습니다!!
두 가지 방법 (groups, 폼 객체 분리)에 대해 groups는 조건문 처럼 느껴졌고, 그래서 Item 클래스 하나만 이용해서 조건적 로직을 통해 각 컨트롤러에 입맛에 맞게 Item 객체에 검증을 수행하는 것 처럼 느껴졌습니다. 이러한 조건문 적인 특징은 Item에 무언가 추가될 경우 수 많은 조건문들을 수정해야하는 느낌을 받았습니다. 또한 Item이 계속해서 바뀔 수 있겠다는 생각이 들었습니다. 이러한 과정에서 인터페이스로 연결된 수많은 컨트롤러에서 에러가 발생할 가능성이 있지 않을까 생각했습니다. 반면 폼 객체 분리는 상황마다 Item과 비슷하지만 더욱 규제가 추가된, 입맛에 맞는 새로운 클래스를 구성해서 활용하는 . 데 있어서 더 확장적이라고 생각했습니다. 제 이해가 맞을까요?
아무리 코드를 봐도 잘못된게 없어서 백준 사이트 확인해보니 단맛 입력인 A 끼리는 곱하고 짠맛인 B 끼리는 더해야 해당 입력에 대한 올바른 출력값 (문제에서는 1) 이 나옵니다. 그냥 recur(idx+1, dan+ingre[idx][1], zzan*ingre[idx][0], use+1) 이렇게 인덱싱만 바꿨습니다. 아니면 제가 혹시 문제를 잘못 이해한걸까요..?
강의 내용 대로 코드를 짰는데 localhost ::8080으로 연결하면 static 폴더에 있는 html이 아닌 template 폴더에 있는 html이 뜹니다. static 폴더에 있는 html을 실행시키면 localhost ::63342로 정적 페이지가 뜹니다. thymeleaf를 이용한 template 폴더에 있는 파일은 localhost ::8080/hello를 하면 제대로 뜹니다. 무엇이 문제인걸까요
class_score = [30,20,10] class_score 라고 입력하니 아래와 같이 나오는데 뭐가 잘 못 됐을까요?^^ --------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[3], line 1 ----> 1 class_score NameError: name 'class_score' is not defined
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 순수 jdbc 강의 16분내용으로 코드실행하는데 매핑한 주소 모두 file not found가 뜹니다.. Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.라고 콘솔에는 뜨는데 톰캣포트랑 h2포트랑 같아서 생기는 문제일까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] MemberServiceIntegrationTest 에서 회원가입 코드를 실행하면 MemberController 에서 오류가 발생합니다. 이유가 무엇일까요?
영상을 보면서 진행을 했는데 이미지 등록 부분에서 에러가 발생하길래 확인해 보니 깃허브에 수정된 코드들은 있지만 수정과 관련된 영상들은 누락되었네요 깃허브 코드 복붙해서 혼자 해보긴 했는데 업로드가 오래된 강의이긴 하지만 분명 검수 과정이 있었을텐데 인식을 못하셨다는게 아쉽네요 다른 부분들은 보면서 많이 도움이 되었습니다
현재 문제 자동적으로 여러개의 선택상자를 입력하고 어떤것이 체크되었는지 확인하여 리턴할 것을 정해야하는 함수를 구현하려 합니다. 1번, 3번이 선택 되었다면 1, 3을 리턴하는 방식을 구현하려 했습니다. 제가 질문드린 내용을 구현하려면 [HwpAutomation.hwp 내부 사진] 다음사진에서 IHwpObject - IXHwpDocuments - IXHwpFormCheckButtons의 IXHwpFormCheckButton:양식 개체 체크 버튼 오브젝트에서 caption값을 수정하는 방법 value 값을 리턴하는 것 여기에서 사실 XHwpDocuments.XHwpFormCheckButtons를 해야한다고 생각했는데 안되는거 같아서 혹여 이 부분을 참고하여서 개발을 하려면 어떻게 이해를 해야할까요 ㅠㅠ
섹션2의 Grid Search 예제에서 학습/테스트 데이터 분리시 train_test_split()함수에서 stratify옵션없이 사용되었는데요, 계층 분할을 위해 stratify=iris _data.targe t 옵션을 넣어야 하는거 아닌가요? stratify옵션 넣고 테스트해보니 학습데이터 score는 강의동영상의 점수보다 낮았는데, test data에 대한 스코어는 강의 동영상과 동일하게 나왔습니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요. 패턴으로 실습하며 익히기: 네이버 Open API로 클롤링하기 강의를 듣고 있습니다. 강의들 듣다 보면 JSON을 '데이터 포맷'이라고 부릅니다. Q1 그런데 이 데이터 포맷이 파이썬 에서 나왔던 변수를 표현하는 데이터 구조인 딕셔너리, 튜플과 비교하면 어떻게 정리할 수 있을까요? 인터넷에 찾아보고 다음과 같이 정리했는데, 코멘트 해주시면 감사하겠습니다. 딕셔너리는 파이썬에서 일반적인 데이터 구조의 한 종류입니다. JSON은 자바스크립트에서 데이터 교환의 상황에서 쓰이는 데이터 포맷입니다. 데이터 구조와 데이터 포맷의 공통점은 둘다 문자열로 표기된다는점입니다. 차이점은 데이터 포맷은 포맷 즉 껍데기 이기에 딕셔너리 이외 형태로 불러올 수 있습니다. 이에 반해 데이터 구조는 다른 데이터 형태로 불러올 수 없습니다.