Backend
Algorithm
Project
codesche’s blog
/
Education
/
최종 프로젝트 사전 준비 기간(9.3 ~ 10.4)
Backend
Algorithm
Project
codesche’s blog
/
Education
/
최종 프로젝트 사전 준비 기간(9.3 ~ 10.4)
Share
Backend
Algorithm
Project
⏳
최종 프로젝트 사전 준비 기간(9.3 ~ 10.4)
생성일
2025/01/24 05:52
태그
KOSTA
게시일
Tik Tok Tik Tok …
최종 프로젝트 사전 준비
Search
Rest-api를 활용한 블로그 구현
기능 구현
•
React
•
SpringBoot
•
다운로드 (react)
2024. 9. 3 (rest-api)
실습
1.
Favorite 엔티티 생성
2.
Repository 생성
3.
Service 생성
4.
FavoriteController 생성
•
엔티티 생성
•
Repository 생성
•
FavoriteController
2024. 9. 4 (rest-api)
rest-api 관련 실습 진행 (blog 예제)
•
react
•
springboot - 회원가입 인증 관련 내용 진행
2024. 9. 5 (rest-api)
토큰 기반 인증
•
사용자 인증 확인 방법을 두 가지로 나누면, 세션 기반 인증(서버 기반 인증)과 토큰 기반 인증이 있다.
•
토큰은 서버에서 요청을 받을 때, 요청을 보낸 클라이언트를 구분하기 위한 유일한 값이다.
•
서버
가
토큰을 생성
해서
클라이언트에게 제공
하면, 클라이언트는
해당 토큰을 보관
하고 있다가
여러 요청을 토큰과 함께
보낸다 (토큰 = 신분증)
•
서버는 토큰을 확인 후 해당 클라이언트가 유효한 사용자인지 검증하고, 요청을 처리해준다.
토큰 기반 인증 특징
•
무상태성
•
확장성
•
무결성
JWT
•
발급받은 JWT를 이용해 인증을 하려면 HTTP 요청 헤더 중에 Authorization 값에 Bearer + JWT토큰값 을 넣어서 보내야 한다.
•
JWT은 . 을 기준으로 헤더(Header), 내용(Payload), 서명(Signature)으로 구성되어 있다.
2024. 9. 9 (JWT 토큰)
Spring 코드
LoginCustomAuthenticationFilter 작성
•
로그인 인증 필터를 위해 LoginCustomAuthenticationFilter 작성 (WebSecurityConfig 쪽에서 로그인 필터 내용 제거해도 됨)
토큰 처리 위한 TokenUtil 생성
RefreshToken 적용
•
controller
2024. 9. 10 (JWT 토큰)
토큰 관련 내용 참고링크:
https://www.notion.so/quiettcoding/JWT-3a06bca2e42248dd855d7bf4c8bea28a
)
JWT 토큰 발행 절차
•
RefreshToken 관련 코드
React
cookie 관련 패키지 설치
패키지 설치 후 코드 작성
2024. 9. 11 (JWT 토큰)
•
SQL(Structured Query Language)
•
RDBMS(관계형 데이터베이스) : MySQL, OracleDB, MSSQL, MariaDB, PostgreSQL, DB2
•
RDBMS 특징
•
SQL에서 테이블의 모든 데이터를 조회하기
•
SQL에서 특정 열(job)의 중복된 값을 제거하기 위해서는
•
특정 조건을 만족하는 데이터만 조회하기 위해서는
•
WHERE 절에서 조건을 만족하는 첫번째 행만 조회하기 위해서는
2024. 9. 12 (SQL)
Springboot (패키지별로 정리)
•
config
•
controller
•
domain
•
entity
•
repository
•
security
•
service
•
util
React
•
패키지 설치
2024. 9. 13 (JWT 실습)
REST TEMPLATE
•
Spring Framework 에서 HTTP 요청을 보내는 클래스
•
해당 페이지 접속
•
Spring 5.0 → WebClient 를 사용할 것을 권장
•
방식
•
rest template 실습
oAuth (Google Login 기준)
2024. 9. 19 (REST TEMPLATE, OAuth)
SpringBoot
•
oAuth 계정 생성
React
•
OAuthLogin.jsx
•
oauthAPI.js
•
LoginPage.jsx
2024. 9. 20 (oAuth 실습)
컨테이너
•
컨테이너는 개별 소프트웨어가 실행되기 위한 환경을 독립적으로 운용할 수 있도록 해주는 운영체제 수준의 격리 기술을 의미한다. (소프트웨어가 독립적으로 실행될 수 있게 해줌)
•
컨테이너는 기본적으로 리눅스 커널의 기능을 바탕으로 만들어졌다.
•
Windows 기반에서 컨테이너를 동작시키려면 Hypervisor를 활성화시켜, 리눅스 커널의 기능을 지원할 수 있어야 한다.
Ubuntu
•
시간 동기화 - 한국, 서울 시각으로 변경
•
Linux 명령어
•
도커 명령어 정리
2024. 9. 24 (Docker)
Dockerfile 생성
Nginx.conf 생성
docker 액세스 토큰 만들기
react 빌드하기 위한 명령어 실행
JPA 프로젝트 실행
2024. 9. 25 (Docker, CI/CD)
front(폴더)
nginx.conf 생성
Dockerfile 생성
VM에서 git pull 이후에 docker run
•
로그 찍어보기 + 경로 확인
2024. 9. 26 (Docker, CI/CD)
Docker 실습 (rest_product 프로젝트 배포)
기존에 설치되어 있는 Docker Container, Docker image 삭제
Front
•
Dockerfile
•
docker-compose.yml
Back
•
Dockerfile
2024. 9. 27 (Docker, CI/CD)
Github Action 실습 (복습)
•
구조도
•
Github Actions
•
Github Actions의 구성
•
Github Action work-flow 예제
•
AWS 설정
2024. 9. 30 (Github Action)
EC2 연결 (기본 설정 완료 되었다고 가정)
•
해당 경로에 pem 파일이 있어야 하며 권한을 400으로 해줘야 정상 연결 됨
Docker 설치
Front
Organization 생성 후 Front Repository 생성
2024. 9. 30 Docker-Github Action 실습 복기