개인 포트폴리오 13

TodoList 프로젝트 - Spring Security, JWT 설정

Spring Security 설정 Spring Security를 활용한 인증 및 인가 JWT(JSON(JavaScript Object Notation) Web Token)를 이용한 로그인 및 회원 가입 처리 WebMvcConfig, WebSecurityConfig 를 이용한 SecurityFilterChain 설정 1. JWT(JSON Web Token) 생성 및 인증 처리 유저 정보를 받아서 JWT 를 생성해준다. 생성된 토큰값으로 사용자 인증 진행 1-1 인증 토큰 생성 @Service public class TokenProvider { private static final String SECRET_KEY = "무작위 난수"; byte[] keyBytes = SECRET_KEY.getBytes(); ..

TodoList 프로젝트 - AWS 배포

AWS 배포 프리티어 1인스턴스 이므로 백엔드 배포는 개인서버에 진행하였으며 프론트 배포만 진행함 1. EC2 인스턴스 생성 free tier 우분투 22.04LTS 로 진행 SSH 접속용 키 생성 후 인스턴스 생성 pem 으로 생성 한다. SSH 설정 및 프리티어 용량 최대치인 30 으로 설정뒤 인스턴스 생성 진행 인스턴스 대시보드로 생성한 인스턴스가 실행중인지 확인한다. 2. SSH 접속 키등록 후 다운로드 받은 pem 파일을 putty 접속을 위해 putty key 파일로 변경진행 puTTy key Generator 로 pem 을 ppk 로 변환한다. key 파일을 putty에 등록 해준다 등록 후 계정@주소 로 접속한다. 3. Nginx 설치 4. CORS 설정 백엔드 WebMvcConfig 파일..

TodoList 프로젝트 - Spring Security, JWT 설정

Spring Security 설정 Spring Security를 활용한 인증 및 인가 JWT(JSON(JavaScript Object Notation) Web Token)를 이용한 로그인 및 회원 가입 처리 WebMvcConfig, WebSecurityConfig 를 이용한 SecurityFilterChain 설정 1. JWT(JSON Web Token) 생성 및 인증 처리 유저 정보를 받아서 JWT 를 생성해준다. 생성된 토큰값으로 사용자 인증 진행 1-1 인증 토큰 생성 @Service public class TokenProvider { private static final String SECRET_KEY = "무작위 난수"; byte[] keyBytes = SECRET_KEY.getBytes(); ..

TodoList 프로젝트 - User 로그인/회원가입 API

TodoList 프로젝트 - User 로그인/회원가입 API 1. User 로그인/회원가입 API 1-1. Entity @Data @Entity @Builder @NoArgsConstructor @AllArgsConstructor @Table(name = "member",uniqueConstraints = {@UniqueConstraint(columnNames = "email")}) public class UserEntity { @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy = "uuid") private String id; // 유저에게 고유하게 부여되는 id. @Column(nulla..

TodoList 프로젝트 - Todo메인 API

TodoList 웹 애플리케이션 - Todo메인 API 1. Todo메인 API 1-1. Entity @Data @Entity @Builder @NoArgsConstructor @AllArgsConstructor // 데이터 베이스에 매핑 // Table을 추가하지 않거나 Entity에 이름을 지정 하지않은 경우 // 자동으로 클래스의 이름을 테이블 이름으로 간주 @Table(name = "Todo") public class TodoEntity { // 테이블의 기본키가 될 필드에 @Id 지정 // 커스텀 Generator // id 자동생성 @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid",strat..

TodoList 포트폴리오

TodoList 웹 애플리케이션 프로젝트 Github : Projact-TODOLIST 배포 페이지 : TodoList 배포 페이지 1. 개요 프로젝트 명 : TodoList 웹 애플리케이션 개발 인원 : 1명 개발 기간 : 2023.06.14 ~ 2023.07.20 주요 기능 : 메인페이지 : CRUD 기능 사용자 : Spring Security를 이용한 회원가입 및 로그인 기능 개발 언어 : Java17 개발환경 : Spring Boot 3.1.0, Gradle, JPA, Spring Security, Javascript, React, node.js 데이터베이스 : MariaDB 간단 소개 : 간단한 TodoList 웹 애플리케이션을 만들고 AWS을 이용하여 배포한다. 참고자료 : React.js, ..

후기(그리고 보완리스트)

후기 1. 프로젝트 보완사항 중복된 API 정리 필요 테스트로 작성한 불필요 print문 제거 파일 업로드 좀 더 나은 방법이 있는지 찾아보기 구글 로그인시 사용자 정보 추가 입력 처리 회원가입 이메일 중복체크(구글로그인과 기존등록된 이메일 충돌로 인한 에러) 비밀번호 변경 시 기존 비밀번호 재사용 불가 처리 yml, env 파일 등을 암호화나 spring cloud 를 이용한 암호화 처리 공유기 사용으로 인한 https 미적용 -> 개인서버 os재설치가 필요한 부분이라 진행 못함 Restfull api로 작성해보기 /2023.11 백엔드 단의 동시성 처리 설정 해보기 /2023.11 2. 후기 팀장으로 진행하였으며 팀원이 정해지고 Spring boot 강의 및 AWS 등 교육이 조금 부족한 상태로 프로..

술렁술렁 프로젝트 - DB 구축, 백엔드 배포, 프론트 배포

술렁술렁 프로잭트 - DB 구축, 백엔드 배포, 프론트 배포 1. 구성도 1-1. 배포 전 테스트 시 AWS, NCP 를 이용하여 아래와 같이 구성함 프리티어 기준이 1개의 인스턴스 기준이다보니 여러대를 생성하면 프리티어도 같이 분산되어 프리티어 사용량이 빨리 채워진다. 프리티어 항목이 좀있는데 생각보다 깐깐하게 체크해서 결국 프리티어를 사용하면서도 비용이 청구되는 상황발생함 엘리스틱 빈스톡을 이용하여 배포,업로드 시 네트워크 사용을 하기때문에 프리티어 사용량이 빨리 소모된다. NCP의 경우 10만원 금액권과함게 1년 서버한대 무료 조건이나 디비를 올려서 사용해봤지만 AWS 와달리 서버 상태가 너무 나쁘다. 전통주 데이터 삽입 시 대략 쿼리가 대략 550줄 정도되는데 처리속도가 생각보다 느리다. 이점도 ..

술렁술렁 프로젝트 - 개인 백엔드 작업, 전통주 데이터 크롤링, DB 데이터 삽입

전통주 데이터 크롤링 작업 및 DB 데이터 삽입 해외의 경우 술에 관련된 API 가 다수 존재 국내의 경우 각제조사별 술 데이터만 있을 뿐 한곳에 모여있는 데이터가 없음. 프로젝트를 진행하려면 술, 전통주에 대한 데이터가 필요한 상황이 였기 때문에 데이터를 어디서 가져와되는 상황 네이버 백과사전의 전통주에 대한 데이터가 있어 정보를 가져오기 로 결정하였음 1. 데이터 크롤링 1-1.파이썬을 이용한 데이터 크롤링 import requests from bs4 import BeautifulSoup as bs import pandas as pd # 담아 둘 배열 links = [] titles1 = [] titles2 = [] contents = [] parts = [] alcs = [] prices = [] ..

술렁술렁 프로젝트 - 개인 백엔드 작업, 이미지 호출 API

술렁술렁 프로젝트 - 전통주 컨트롤러 처음에는 프론트에서 불어오나 했었는데 디비에 경로를 등록하고 백단에서 처리 후 이미지를 리턴하는 방식으로 확인하였음 실제 타 팀 프로젝트 중 프론트에 이미지 쌓고 있다가 제대로 동작을 못하는 경우가 생겼었다. 이미지 호출의 경우 이미지 컨트롤러에서 로컬 데이터를 찾아서 넘겨주는 것이기 때문에 컨트롤러단에서 처리가 끝난다. 도메인의 경우 DB에 저장한 도메인값이 들어오도록 설정한다. 프론트 단하고 맞춰놔야 이미지 불러오기가 수월해지기 때문 1. 컨트롤러 설정 @RequiredArgsConstructor @RestController public class ImgController { @Autowired ImgService imgService; 컨트롤러에서 요청에 참조할 ..

반응형