전체 글
-
이거 왜 안됨..? (2) 해결오늘/Error 2024. 11. 18. 18:47
could not initialize proxy [com.spartaordersystem.domains.UserAddress.entity.UserAddress#059b97ba-1884-4694-984e-6aa523add7e0] - no Session 라는 에러가 터졌고 그래서 categoryRepository.save(category); 이걸할 수 없다고 한다. Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [com.spartaordersystem.domains.UserAddress.entity.UserAddress#059b97ba-1884-4694-984e-6aa523add7e0] - no Session..
-
이거 왜 안됨..?오늘/Error 2024. 11. 15. 13:20
오더 생성 중에 user.getUserAddress가 계속 null로 입력되었다.주석된 코드처럼 Hibernate 초기화도 해보고 유저주소 생성 메서드에서 체크도 해보았으나 계속 null 이 들어왔다. db 확인 결과 user에 user_address_id가 들어가지 않음을 확인아래와 같이 바꿔주었다. 그 결과 user에 user_address_id는 잘 들어갔으나 카테고리 생성에서jakarta.servlet.ServletException: Unable to handle the Spring Security Exception because the response is already committed. 에러가 터졌다. userRepository.save(user); 이 코드 한줄 때문에. 대체 ..
-
GITHUB API를 활용한 커밋 기록 조회 (4) 커밋 히스토리 로직 구현devRace 2024. 11. 14. 19:52
지난 글에서커밋 카운트를 스케줄러로 6시간마다 업데이트하여전체 기간, 현재 월, 현재 주, 오늘의 커밋 카운트를 증가시키는 로직을 구현하였다. 이 글에서는10월 커밋기록이 11월이 되면 해당 기록은 날아가야하는가?11월 1주차의 커밋기록이 2주차 월요일이 되면 해당 기록은 지워져야하는가?오늘한 커밋기록이 내일이 되면 사라져야하는가?에 대해 고민하다 결정한 커밋 히스토리이다. 또한 이렇게 캘린더에 커밋과 알고리즘, TIL 제출 여부를 체크해야 하고, 시간이 지나서도 볼 수 있어야 하므로히스토리 스케줄러를 통해 매월 1일, 매 주 월요일, 매일 0시가 조금 넘은 시간에 이전 기간에 대한 커밋을 저장하도록 하였다. @Transactional @Scheduled(cron = "0 15 0 1 ..
-
GITHUB API를 활용한 커밋 기록 조회 (3) 커밋카운트 로직 적용devRace 2024. 11. 13. 17:18
private long totalCommits; private long monthlyCommits; private long weeklyCommits; private long dailyCommits; 전체 기간 커밋갯수현재 월간 커밋 갯수현재 주간 커밋 갯수오늘 커밋 갯수를 저장하는 엔티티 컬럼을 작성하였다. 간단히 오늘 커밋 갯수를 저장하는 로직만 표시해보겠다. private long getCommitCountFromGithub(String githubName, ZonedDateTime fromDate, ZonedDateTime toDate) { try { return githubApiClient.getCommitCountInperiod(githubName..
-
GITHUB API를 활용한 커밋 기록 조회 (2) GithubApiClient 작성devRace 2024. 11. 12. 16:25
@Componentpublic class GithubApiClient { private final GitHub github; public GithubApiClient(@Value("${github.oauth.token}") String oauthToken) { try { this.github = new GitHubBuilder().withOAuthToken(oauthToken).build(); github.checkApiUrlValidity(); } catch (Exception e) { throw new CustomException(ErrorCode.FAIL_TO_CONNECT_GITHUB); }..