본문 바로가기
728x90

프로젝트/토이 프로젝트) 오늘도 휴일6

Service 를 테스트해서 오류를 잡아내다! 자세한 테스트 방법은 https://hyuil.tistory.com/212 Junit5 Test ) Service 를 테스트 해보자! Junit5 를 사용하는 service 를 테스트 해보자! 참고로 난 스프링 3.0, JAVA 17을 사용중이므로 junit5 를 사용 중이다 ! 스프링부트 3.0 을 사용하면 hyuil.tistory.com https://hyuil.tistory.com/213 Junit5 Test ) Controller 를 테스트 해보자! 이번엔 Controller 를 테스트 해보겠다 Controller 는 HttpServletRequest 도 사용하고 값도 원래는 프론트에서 넣어줘야하는데 어떻게~~~할까용? @SpringBoot.. 2023. 7. 1.
보안을 위해 닉네임 대신 id 검증으로 코드를 리팩토링 하자! 팬레터 게시물에 들어가면 글쓴이 본인일 경우 수정 / 삭제 버튼이 보이게 하기 위해 model 에 닉네임 값을 넣어 보내서 닉네임 값이 왔을 경우 수정/삭제 버튼을 보여주도록 했다 그런데, 닉네임은 변경 가능한 값이기 때문에 닉네임으로 검증할 경우 추후 다른 사람이 자기 게시물이 아닌데도 수정/삭제 버튼이 보이는 경우가 발생할 수 있다 그래서 닉네임 값이 아닌, id 값으로 본인 게시글 검증을 하도록 코드를 변경해보았다! 원래코드 @GetMapping("/{num}") public String fanLetter(@PathVariable Long num, Model model, HttpServletRequest request) { // 글 Map map = fanLetterService.readLetter.. 2023. 6. 22.
NullCheck 를 @Valid 로 손쉽게 ^__^ Validation 라이브러리가 제공하는 애노테이션들을 사용하면 일일히 널체크 코드를 쓰지 않아도 자동 널체크를 해준다고 한다! 이런 방법이 있는 걸 안 이상 사용해보지 않을 수 없지 ! ! @Data public class CommentWriteDto { @NotNull private Long boardNum; // 부모 댓글 번호 @NotNull private Long commentNum; @NotBlank private String content; } 일단 DTO 에 널을 받지 않는 변수들에 @NotNull @NotBlank 등의 애노테이션을 넣어준다 @NotBlank 는 널 뿐만 아니라 공백도 체크해주기 때문에 String 에서 자주 이용한다 @PostMapping("/write") public .. 2023. 6. 22.
Spring Security ) Spring 3.0 에 맞춰 SecurityConfig 를 수정하자! 기존 프로젝트를 스프링 3.0 으로 마이그레이션하려고 결심 후 기존 코드를 몇가지 수정해줘야 했는데 그 중 SecurityConfig 설정이 좀 달라져서 몇 가지 수정해주었다 스프링 2.0 까지는 WebSecurityConfigureAdapter 클래스를 상속받아 구현했는데 3.0 에서는 해당 클래스를 지원하지 않아서 SecurityConfig 에서 사용하던 코드들을 일부 수정해야한다 기존 코드 @EnableWebSecurity @Configuration public class SecurityConfig extends WebSecurityConfigureAdapter { private final WebService webService; private final MemberJoinService member.. 2023. 6. 14.
좀 더 객체 지향에 걸맞게 메일 서비스를 수정해보자 ! 오늘도 휴일을 개발하며 느낀 점은 아 이렇게 하면 좀 더 맛깔나게(유지보수와 확장에 유리한) 코드를 작성할 수 있지 않을까? 이렇게 하니까 내가 해당 로직을 수정하려고 할 때 어렵구나 등등 객체지향을 이해하고 잘 사용하는 것이 스프링의 꽃이 아닐까? 그런 생각 그래서 해당 프로젝트에서 아쉬웠던 부분을 내가 생각한대로 한 번 리팩토링하는 시간을 가져보고 왜 일케 했는지 설명을 좀 해보겠다(난 이런 거 설명하는 거 좋아함ㅋㅋ) 일단 원래 코드와 수정 코드를 각각 비교해보겠다 원래 서비스 인터페이스 public interface MailService { String joinCodeSend(String toEmail); MimeMessage joinMailForm(String toEmail); String co.. 2023. 6. 13.
토이 프로젝트 ) 휴일 팬사이트 "오늘도 휴일" : 사이트 소개 및 설명 오늘도 휴일 : 휴일이 팬사이트 2023.03.07 ~ 2023.05.15 개발 인원 : 백엔드 1 명 (1인 개발) 오늘도 휴일은 언젠가 유명해져서 유퀴즈에 나간 후의 날들을 대비한 휴일이의 팬사이트다. 팬레터를 쓰거나 굿즈를 살 수 있는 기능들로 이루어져있다. (기타 기능들은 개발 예정) github _ https://github.com/h0l1da2/always_also_holiday GitHub - h0l1da2/always_also_holiday: 휴일이의 팬들을 위하여 휴일이의 팬들을 위하여. Contribute to h0l1da2/always_also_holiday development by creating an account on GitHub. github.com 휴일 페이지에서는 휴일이의.. 2023. 5. 26.
728x90