본문 바로가기

반응형

Server Programming/Spring Boot Full-Stack Programming

(45)
[스프링 풀스택 클론 코딩 - 회원가입] (1-8) 회원가입 패스워드 인코딩 암호를 평문으로 저장하지 않기 위해 해시 함수를 이용해 인코딩해서 저장 -> 해싱 알고리즘 스프링 시큐리트가 제공하는 bcrypt를 이용하는데, 솔트를 사용 -> 해커가 규칙성을 파악하기위해 여러번 인덱싱 해서, 복호화가 가능하도록 하는 것을 쓰레기값을 추가해 방지하는 방법 -> 즉, 같은 암호를 가지고도 새로운 값을 추가하므로, 안전한 저장이 가능하다. AccountControllerTest package com.demo.account; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static..
[스프링 풀스택 클론 코딩 - 회원가입] (1-7) 회원가입 리팩토링 및 테스트 1. 메일 발송 테스트 실제로 이메일을 보내는지 확인하기에는 어려움이 있기 때문에 가짜객체를 이용해 콘솔창에 띄우는 방식을 일단 사용했는데, 그렇기 때문에, 해당 메일을 발송했는지 확인하는 테스트를 하기 위해서 외부연동을 통해 목업 객체를 이용해 테스트를 수행한다. 해당 테스트처럼 간단하게 하는 이유는 나중에 코드를 변경할 경우에 테스트 코드도 모두 변경을 해줘야하는데 그때 똑같이 변경을 해줘야하는 어려움이 따르기 때문이다. 2. 리팩토링 리팩토링이 필요한 이유는 먼저 기능이 성공적으로 수행할 수 있도록 작성한 코드를 간결하게, 가독성있게 변경해주는 작업이다. (1) 함수화 Extract Method (2) 컨트롤러 최소화 컨트롤러가 의존성을 많이 가지게 되는것을 줄이기 위해 -> 서비스로 이전한다. -..
[스프링 풀스택 클론 코딩]목업 테스트 mokito 이용하기 https://www.inflearn.com/questions/516740 then(javaMailSender) 에서 import가 되지 않습니다. - 인프런 | 질문 & 답변 11분 40초 쯤에서 then(javaMailSender).should().send(any(SimpleMailMessage.class)); 이 부분에서 then이 임포트가 되지 않습니다..org.mockito.core 를 따로 쳐서 임포트 해보려 했지만 ... www.inflearn.com https://www.inflearn.com/questions/142458 회원 가입 리팩토링 및 테스트 영상 질문입니다. - 인프런 | 질문 & 답변 @DisplayName('회원 가입 처리 - 입력값 정상') @Test void signUp..
[스프링 풀스택 클론 코딩 - 회원가입] (1-6) 회원가입 폼 서브밋 처리 AccountController package com.demo.account; import javax.validation.Valid; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.Errors; import org.springframework.web.bind.WebDataBinder; import org.springframework.web...
[스프링 풀스택 클론 코딩 - 회원가입] (1-5) 회원가입 폼 서브밋 검증 회원가입시 중복 닉네임, 중복 아이디인지 검증하고, 해당하는 조건에 충족한지 검증한다. 또한, 프론트엔드에서 한번 검증하고, 혹시모를 경우를 대비해 백엔드에서 검증하는 절차를 거친다. AccountController package com.demo.account; import javax.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.Errors; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind...
[스프링 풀스택 클론 코딩] @Valid @Length 어노테이션 의존성 추가 https://www.inflearn.com/questions/36139 javax.validation 패키지에 대한 질문입니다. - 인프런 | 질문 & 답변 안녕하세요. Spring REST API 'Bad Request 처리' 강의 내용 중 javax.validation 패키지를 사용하여 @Valid, @NotEmpty, ... 등과 같은 어노테이션을 사용하는 것을 볼 수 있었습니다. 다만, 직접 코딩했을 때 위 어 www.inflearn.com 스프링부트 버전 2.3.0부터는 starter web에 디펜던시로 spring-boot-starter-validation 이 제외되서, 별도로 추가해야만 했던 문제였습니다. https://www.inflearn.com/questions/74893 안녕하세요,..
[스프링 풀스택 클론 코딩 - 회원가입] (1-4) 회원가입 뷰 AccountController package com.demo.account; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class AccountController { //sign-up 페이지에 연결된다면 @GetMapping("/sign-up") public String signUpForm(Model model) { //model.addAttribute(new SignUpForm()); 생략 가능 model.addAttribute("signUpForm",..
[스프링 풀스택 클론 코딩] 회원가입 페이지 만들기 (+ 부트스트랩, 자바스크립트, 롬복, 타임리프) 이클립스에서 html 코딩하는데 자동완성이 제대로 안될때 https://hgu-can.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-html-%ED%8C%8C%EC%9D%BC%EC%97%90-%EC%BD%94%EB%93%9C-%EC%93%B0%EB%8A%94%EB%8D%B0-%EC%9E%90%EB%8F%99%EC%99%84%EC%84%B1%EC%9D%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%95%88-%EB%90%A0-%EB%95%8C-Tip [이클립스] html 파일에 코드 쓰는데 자동완성이 제대로 안 될 때 Tip 휴 이거땜에 며칠을 고통받았는지... 이클립스 자동완성 관련 글을 검색하면 보통 자바 에디터 기준으로만 나오는데 h..

반응형