2025/11 6

회원가입 기능 - 컨트롤러단 인풋 검증

로그인과 회원가입 화면 html(타임리프) 파일을 만들어서 resources에 넣어주고 컨트롤러를 만들어서 연결시켜주자.스프링 시큐리티의 필터체인에서 회원가입 url은 permitAll에 넣어줘야 한다.@Controller@RequiredArgsConstructor@RequestMapping("/member")public class MemberPage { private final MemberRegister memberRegister; @GetMapping("/login") public String login(){ return "member/login"; } @GetMapping("/register") public String register(Model mode..

회원가입 기능 - 스프링 시큐리티 커스텀 UserDetailsService + 도커 MySQL 적용하기

기존에 게시판 서비스를 만들 때 스프링 시큐리티를 사용한 내용은https://nimble-ship-2fb.notion.site/f944774f674842c6bb8124000fc3eca2?source=copy_link이곳에 정리해두었다. 그 결과물이 되는 코드로 시작해보자. @Configuration@EnableWebSecurity@Profile("!test")public class WebSecurityConfig { @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Bean public SecurityFilterChain securityFilterCha..

회원가입 기능 - 서비스단 헥사고날화, 회원가입 API

일단 회원가입을 하려면 회원가입 신청 DTO가 있어야 한다.@Data@AllArgsConstructor@NoArgsConstructorpublic class MemberRegisterRequest{ @Email private String email; private String nickname; private String password; private Set roles;}@Data가 getter와 setter까지 포함한다.이걸 record로 선언하게 되면 타임리프의 에러 검증에서 문제가 발생한다.아직 스프링 및 타임리프가 이런 신기능에 대응하는 업데이트를 덜 해서 그런 듯 하다. 챗지피티에 물어보니 스프링의 DataBinder가 필드 단위로 값을 주입하고 검증하기 위해서 빈 생..

회원가입 기능 - 회원 도메인, 이메일 VO 헥사고날화

https://www.inflearn.com/course/토비-클린스프링-도메인모델패턴-헥사고날-part1/dashboard토비님의 강의를 듣고 기존의 게시판 프로젝트를 갈아엎고자 한다.도커 데스크탑 설치하고 스프링 이니셜라이저에서 도커 컴포즈 라이브러리를 추가해서 프로젝트를 만들었다. MySQL은 따로 설치하지 않아도 도커가 만들어준다. 물론 도커를 킨 채로 프로젝트를 실행해야 한다.이 화면은 스프링 시큐리티가 자동으로 만들어주는 화면이다. 따로 설정하지 않으면 기본 아이디는 user, 패스워드는 랜덤하게 생성되어 콘솔 창에 출력된다.다시 여기부터 시작해보자. 아무것도 없는 곳에 컨트롤러를 만들었다. 축약어를 추가해서 편하게 코딩을 할 수 있다.일단 기본적인 회원 클래스를 만들고 그 회원의 권한 클래스..

우테코 8기 프리코스 오픈미션 회고

이번 8기부터는 오픈미션이라는 과제가 추가되었다. 제한 없이 본인이 하고 싶은 것을 2~3주간 수행하고 그 결과를 제출하는 것이다. 심지어 코딩과 관계가 없더라도 상관이 없다. 아니 이게 무슨...이 말을 듣고 느낀 것은, 이전까지의 미션과 같은 프로젝트를 수행하면 안 될것 같다는 느낌이었다. 뭔가 임팩트가 있어야 할 듯 했다. 결과적으로 내 결과물이 임팩트가 있다고 할 수 있을지는 모르겠다. 오픈미션 제출 후에 사람들이 디스코드에서 본인의 프로젝트를 소개한 것을 몇가지 봤는데 단순한 게임을 만든 사람부터, 25년 노벨 물리학상 주제였던 양자회로를 프로그램으로 시각화한 사람, 농구 슛폼 분석, 노래 추천 등 2주만에 했다곤 믿기지 않는 프로젝트들이 꽤 있었기에. https://github.com/exe..

우아한테크코스 프리코스 3주차 회고

이전 주차에서 느낀 점까지 포함해서 회고를 적도록 하겠다.현실적인 부분들과 맞닥트리게 되는 과제우테코 프리코스의 과제는 다른 분들이 짠 코드를 찾아보지 않는다면 눈치채지 못할 만한 부분들이 있다.다른 코딩테스트에 익숙한 분들이라면 과제를 받았을 때 그냥 절차형으로 코드를 나열해서 풀려고 하시는 분들이 많을 것 같다.하지만 프리코스는 말 그대로 성장하기 위한 과정이지 코딩 테스트가 아니다. 다른 코딩 테스트는 재귀, DP, 수학적 기법 등을 사용해서 획기적인 풀이를 찾아내는 것이 목적이라면 우테코 프리코스는 좀 더 현실에 가까운 기능 구현과 코드 구조에 대한 고민이 중점인 것 같다. 어떤 식으로 클래스를 나누는지는 각자의 자유지만 많은 분들이 MVC 구조를 채택한 모습을 보이셨다.이번주에는 이사를 진행해서..