일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 검증 실패 예외처리
- 중첩클래스
- 공유기작동방식
- multipart바인딩
- 클라이언트요청반응
- 동등성동일성
- HTTP프로토콜
- Wrapper class
- java enum
- rest api
- DispatcherServlet
- fcm데이터구조
- 프로세스 생성
- fcmv1
- 래퍼클래스
- biblecash
- fcm성능비교
- 데이터베이스파서
- 옵티마저
- 왜불변객체인가
- multiparfile데이터
- equals
- HttpServlet
- rest api 검증
- 스프링요청반응
- httpservlet기술
- 디스패처서블릿
- 동기비동기블로킹논블로킹
- 옵티마이저
- 불변객체
- Today
- Total
목록분류 전체보기 (49)
개발은 아름다워
[ 발단 ]서버 컴퓨터에 문제가 생겨서 was가 종료 될 경우 알람을 받아야 겠다는 생각이 들었습니다. 알람을 어떻게하면 무료로 받아 볼 수 있을까 찾아 보던 중 구글의 smtp를 이용해서 서버 종료 알람을 받으면 되겠다고 생각했습니다. [ 구현 ]- 기본적으로 구글 stmp를 이용하는 방법은 참고 링크를 보시면 되겠습니다. - spring-boot-starter-mail 을 추가하여 JavaMailSender를 이용하였습니다.- @PreDestroy를 활용하여 서버가 종료되기 전에 메일을 보내도록 구현하였습니다. [ 코드 ]- application.ymlspring: mail: host: smtp.gmail.com port: 587 username: 구글이메일 password: ..
[ 요구 사항 ]주일 ~ 토요일까지 가장 많이 읽은 순위를 보여주는 기능을 추가 해달라고 하였습니다. [ 구현 ]- 매주 읽은 양을 각자가 읽은 양이 업데이트 되는 weeklyRankingBoard entity를 만들었습니다.- 스케쥴러로 weeklyRankingBoard의 읽은 양은 매주 주일 00:00분에 0이 되도록 했습니다.- 기존 읽은 양 저장할 때 로직에 weeklyRankingBoard 에도 읽은 양이 저장되도록 했습니다.- 조회 당시의 기준 날짜로 해당 주에 주일날짜와 토요일 날짜 안에서 데이터를 조회 되도록 하였습니다.- 스케쥴러로 읽은 양이 초기화 되어 0이 된 경우, 화면에서 읽은 양이 0인 경우는 보이지 않도록 만들었습니다.[ 코드 ]- weeklyRankingBoard entit..
MemberController@PostMapping("/login")public String login(@ModelAttribute LoginForm loginForm, Model model, HttpSession session){ log.info("loginForm : {}",loginForm); Member findMember = memberRepository.findByUserId(loginForm.getUserId()); if(findMember == null){ model.addAttribute("loginError","해당 아이디는 존재하지 않습니다."); return "index"; } session.setAttribute("member",..
GroupReadCountDto@Getter@NoArgsConstructor@AllArgsConstructorpublic class GroupReadCountDto { private Group memberGroup; private int totalReadCount;} RankDto@Getter@NoArgsConstructor@AllArgsConstructorpublic class RankDto { private String name; private Group memberGroup; private int ranking;} MemberRepository @Query(value = """ WITH Ranked AS ( SELECT name, member_gro..
@Slf4j@Service@RequiredArgsConstructorpublic class RangeScheduler { private final RangeRepository rangeRepository; private final ContentRepository contentRepository; private final int EVERY_READ_CHAPTER = 5; //@Scheduled(cron = "0 0 0 * * MON-FRI") // 평일(월~금) 자정에 실행됨 @Scheduled(fixedRate = 1000) // 10초마다 실행 public void updateFiveChapter(){ // 가장 최근 등록된 range를 가져온다 ..