🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [60]일차🚀60일차에는 JWT를 통해 DB 혹은 쿠키에 토큰 저장, JWT Authentication, Filter 등을 적용해보는 실습을했다.학습 목표 : JWT를 더 활용하여 쿠키 적용, JWT 인증에 필터 적용, 권한 부여 등을 학습 가능학습 과정 : 회고를 통해 작성 토큰 정보 얻어오기 Refresh Token : 서버가 저장하고 있다가 유저가 로그인하면 서버가 이 Refresh Token을 통해서 재로그인이 가능Refresh Token과 Access Token은 일반적으로 같이 사용public Claims parseToken(String token, byte[] secretKey){ return Jwts.parserBuilde..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [59]일차🚀59일차에는 Spring Security에서 세션을 설정하는 방법과 세션을 관리하는 방법인 JWT에 대해 실습할 수 있었다.학습 목표 : JWT의 개념과 사용 방법에 대해서 배우고 인코딩, 디코딩 과정 실습학습 과정 : 회고를 통해 작성CustomUserDetailsServiceSpring Security의 사용자 인증 정보를 관리하는 UserDetailsService 인터페이스를 직접 커스텀해서 구현한 사용자 인증 정보 로드 클래스.csrf(csrf -> csrf.disable()) .authorizeHttpRequests(auth -> auth .request..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [58]일차🚀58일차에는 Spring Security와 데이터베이스를 연결하여 유저세부정보를 직접 설계하지 않고 DB로 연결해보는 실습을 하였다.학습 목표 : DB 명세를 통해 관계 테이블을 설계할 수 있어야함학습 과정 : 회고를 통해 작성UserDetailsService + Database기존에 UserDetailService를 직접 구현하여 유저에 대한 세부정보들을 직접 넣어주었다면DB의 User 테이블의 Role에 관련된 내용을 넣어줄 수 있도록 구현해야할 것@Beanpublic UserDetailsService userDetailsService(PasswordEncoder passwordEncoder){ UserDetails us..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [57]일차🚀57일차에는 Spring Security에서 사용자 별 권한을 부여하는 것과 쿠키에 대한 정보를 로그아웃을 통해서 실습해보았다.학습 목표 : Spring Security 사용자 권한 부여 및 그에 따른 인가된 URL 페이지 실습 가능학습 과정 : 회고를 통해 작성Spring Security 로그인 ▶️실습 - 로그인 페이지 리다이렉트 (loginPage())// 2. 인증없이 접근 가능한 URL 지정 및 (.requestMatchers())// 로그인 페이지와 로그인 성공 시 이동할 페이지 설정 (.formLogin())http .authorizeHttpRequests( auth -> auth .requestMa..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [56]일차🚀56일차에는 Thread, ThreadLocal과 함께 Filter의 동작흐름에 대해 학습하고 Spring Security 설정에 대해서도 학습하였다.학습 목표 : Filter에 대한 전반적인 이해와 Spring Security를 사용하는 이유 공부학습 과정 : 회고를 통해 작성Filter Filter는 Bean으로 등록해주어야하므로 @Component로 등록필터의 설정은 복잡해질 경우 application.yml 설정 이외로@Configuration 클래스를 작성해주어도 설정 적용이 가능Builder빌더 사용의 목적 ➡️ 메소드 체이닝을 통해 객체 생성을 편리하게 도와줌➡️new 로 초기화해서 생성하는 것이 아닌 Builder를..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [55]일차🚀55일차에는 DTO를 Product 프로젝트에 적용해보고, Spring Boot Security에 대해 학습할 수 있었다.학습 목표 : Entity뿐만 아니라 DTO를 통해서 데이터를 담는 방법을 구현 가능학습 과정 : 회고를 통해 작성파일 업로드 - 파일 정보 추가 (INFO)// 파일 업로드@PostMapping("/upload")public ResponseEntity uploadFile( @RequestParam("file") MultipartFile file, @RequestPart(name = "info", required = false) UploadInfo uploadInfo ){ ..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [54]일차🚀54일차에는 REST API + CURL 명령어로 Todo 프로젝트를 실습해볼 수 있었다.학습 목표 : @RestController를 활용한 다양한 실습 진행으로 @RestController의 흐름 익히기학습 과정 : 회고를 통해 작성▶️실습 - Todo 프로젝트 TodoService 생성@Service@RequiredArgsConstructorpublic class TodoService { private final TodoRepository todoRepository; // 4개의 비즈니스 만들기 // 1. 전체 할 일 조회 @Transactional(readOnly = true) public List..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [53]일차🚀53일차에는 REST API개념을 복습하고 CURL 명령어에 대해 개념을 공부하였다.휴가로 인해 미처 배우지 못한 부분들의 중요 개념들을 짚고 넘어가고자한다.학습 목표 : CURL 명령어에 대한 이해와 POST 방식 실습학습 과정 : 회고를 통해 작성Rest APIRest(Representational State Transfer) API 에서는 HTTP 메소드를 통해서 자원에 대한 행위를 하는지 결정한다. 주요 HTTP 메소드와 역할- GET : 자원을 조회 (READ)- POST : 새로운 자원을 생성 (CREATE)- PUT : 기존 자원을 전체 수정 (UPDATE)- PATCH : 기존 자원을 부분 수정 (UPDATE)- D..
🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [52]일차🚀52일차에는 RESTful API 에 대해 배워보고 @RestController어노테이션을 통해 웹에서 보여지는 것을 실습해볼 수 있었다. 또한 DB와의 연결을 통해 Service, Controller를 설계할 수 있었다.그 전 JOIN, EAGER, LAZY 등 Fetch 종류, 트랜잭션의 개념에 대해 공부하였다.학습 목표 : RESTful API를 통해 DB와 연결 및 아키텍처 설계하기학습 과정 : 회고를 통해 작성조인 JOINDB에서 두 개이상의 테이블을 연결하여 데이터를 조회하는 방법 내부조인 INNER JOIN가장 일반적인 형태로 두 테이블의 “교집합”만을 결과로 반환즉 두 테이블 간 일치하는 데이터의 해당 데이터만 표시..