전체 글(78)
-
Spring Security
오늘부터 Spring security를 시작했습니다. 아직 이해가 가진 않지만 코드 deprecate된 부분을 수정해나간 부분 위주로 정리하겠습니다. 1. authorizeRequests() deprecated @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // CSRF 설정 http.csrf().disable(); http.authorizeRequests().antMatchers("/api/user/**").permitAll() .anyRequest().authenticated(); // Custom 로그인 페이지 사용 http.formLogin().loginPage("/api/user/..
2022.12.26 -
UML(Unified Modeling Language)
오늘부터 JAVA 객체지향 디자인패턴(정인상, 채홍석 저) 책을 읽과 객체지향 및 디자인 패턴을 공부해볼 예정입니다. 소프트웨어를 설계할 때 모델링이 필요하다. 이때 모델을 표현해주는 언어가 UML(Unified Modeling Language)이다. 시스템 개발 과정에서 개발자 사이의 의사 소통이 원활하게 이루어지도록 표준화된 통합 모델링 언어이다. UML 다이어그램 종류 구조 다이어그램(Structure Diagram) 클래스 다이어그램(Class Diagram) 객체 다이어그램(Object Diagram) 복합체 구조 다이어그램(Complex Structure Diagram) 배치 다이어그램(Deployment Diagram) 컴포넌트 다이어그램(Component Diagram) 패키지 다이어그램(..
2022.12.22 -
Spring 숙련 과제(최종)
오늘은 미처 하지 못했던 예외 처리와 엔티티 맵핑을 완성하였습니다. 예외 처리 토큰이 필요한 API 요청에서 토큰을 전달하지 않았거나 정상 토큰이 아닐 때는 "토큰이 유효하지 않습니다." 라는 에러메시지와 statusCode: 400을 Client에 반환하기 토큰이 있고, 유효한 토큰이지만 해당 사용자가 작성한 게시글/댓글이 아닌 경우에는 “작성자만 삭제/수정할 수 있습니다.”라는 에러메시지와 statusCode: 400을 Client에 반환하기 DB에 이미 존재하는 username으로 회원가입을 요청한 경우 "중복된 username 입니다." 라는 에러메시지와 statusCode: 400을 Client에 반환하기 로그인 시, 전달된 username과 password 중 맞지 않는 정보가 있다면 "회원을..
2022.12.21 -
Spring 숙련 과제(2)
오늘은 댓글 기능 수정/삭제 를 추가하였습니다. package com.nbcamp.myserver.service; import com.nbcamp.myserver.dto.CommentRequestDto; import com.nbcamp.myserver.dto.CommentResponseDto; import com.nbcamp.myserver.dto.SignupLoginResponseDto; import com.nbcamp.myserver.entity.Board; import com.nbcamp.myserver.entity.Comment; import com.nbcamp.myserver.entity.User; import com.nbcamp.myserver.jwt.JwtUtil; import com.nbc..
2022.12.20 -
Spring 숙련 과제
회원 가입 API username, password를 Client에서 전달받기 username은 최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다. password는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9), 특수문자로 구성되어야 한다. DB에 중복된 username이 없다면 회원을 저장하고 Client 로 성공했다는 메시지, 상태코드 반환하기 회원 권한 부여하기 (ADMIN, USER) - ADMIN 회원은 모든 게시글, 댓글 수정 / 삭제 가능 참고자료 https://mangkyu.tistory.com/174 https://ko.wikipedia.org/wiki/정규_표현식 https://bamdule.tistory...
2022.12.19 -
WIL(7)
이번주 목표 jpa 기본 구성을 이해하고, 관계설정에 대해 이해할 수 있다 jwt를 이용한 로그인 동작을 이해하고 구현할 수 있다 JPA 심화 영속성 컨텍스트 엔티티 맵핑 심화 My Select Shop 강의 실습 MySelectShop 프로젝트의 기능 및 흐름을 파악한다. NAVER Open API 기능을 파악하고 사용법을 습득한다. 프로젝트 생성 및 UI 사전 작업 Product 관련 API들을 하나의 AllInOneController에 만들어 본다. ALLInOneController 의 한계점을 이해한다. 프로젝트 생성 및 UI 사전 작업 AllInOneController를 Refactoring 하며 계층분리에 대해 이해한다. IoC, DI 에 대한 이해와 사용법을 습득한다. 인증/인가에 대해 이해..
2022.12.18