들어가며파일 업로드의 이미지를 로컬에서 저장하지 않고 Aws S3에 이미지를 저장하기 위해서 accessKey, secretKey 발급받았다. 하지만 나의 실수로 인해 accessKey가 노출되어서 무작위 인스턴스과 요금이 발생하였다. 현재 나는 2개의 서버를 돌리고 있고 프리티어로 사용하여 천 원대의 요금을 내고 있다. 주위에 해커들이 있다는 것을 인지하기 위해서 글을 남기기로 마음먹었다. 1. Aws S3 클라이언트에서 여러 개의 파일을 서버로 보내고 MultipartFile 타입으로 받아서 고유 식별자 이름으로 S3 스토리지에 저장한다. S3 스토리지를 연결하기 위해서 accessKey, secretKey, region 필요하다. 이 정보들은 application.yml 파일 안에 설정 값들을 저장..
2022.04 ~ 2022.05 진행 - 김영한 님의 인프런 스프링 핵심 원리 강의 정리 - 스프링의 본질과 객체 지향의 필요성을 느끼게 되는 강의였다.1일차 - 스프링과 객체지향설계 시작스프링 핵심- 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크- 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크스프링 vs 스프링부트 차이- 스프링은 톰캣 설정해야 하는 번거로움이 있지만 스프링 부트는 톰캣이 웹 서버에 저장- 라이브러리 버전 자동 설정- 메트릭, 상태확인, 외부 구성 같은 프로덕션 준비 기능 제공- 세팅하는 시간이 감소SOLID - 클린 코드로 좋은 객채 지향 설계의 5가지 원칙1. SRP : 단일 책임 원칙- 한 클래스는 하나의 책임만 가진다. - ex) UI 변경,..
들어가며새로운 프로젝트를 하면 첫 번째 기능이 JWT Token 활용해서 만드는 로그인, 로그아웃 페이지이다. 항상 할 때마다 흐름과 각 클래스마다 역할을 까먹어서 중간중간 구글링 하는 것보다 정리하는 게 낫다고 생각이 들어서 정리하기로 마음 먹었다. 일단 스프링 부트에서 제공하는 Security와 Jwt 토큰에 대해 알아보자 1. Security 역할웹 사이트에서 관리자 페이지와 사용자 페이지가 필수이다. 그로 인해서 특정 페이지를 조회와 데이터 요청을 권한에 따라 주거나 막아야 한다. 해커가 관리자 페이지에 들어가서 정보를 약탈하거나 게시글을 삭제하면 아주 큰 문제가 발생한다. SpringBoot Security는 이러한 부분을 제어할 수 있도록 도와주는 역할을 한다. 2. JWT 구조구조는 3개..
● 프로세스란- 프로그램을 실행하면 OS로부터 실행에 필요한 메모리를 할당받는 것으로 프로세스의 자원을 이용해서 실제로 작업하는 수행하는 것이 쓰레드이다.예시작업 관리자를 보면 각 프로세스가 실행되는 것을 볼 수 있다. 이렇게 프로세스가 실행중인 프로그램이 될려면 점유 시간, 메모리, 파일, 입출력 장치 같은 자원이 필요하고 또 현재 활동을 나타내는 프로그램 카운터, 프로세스이 현재 활동도 포함하고 있다.프로그램은 컴파일한 코드와 초기화 전역변수, 문자열과 문자열 상수 등 정적 데이터를 포함하는 정적인 개체이다. 그리고 이 프로그램일 실행이 되면 프로세스가 되는 것이다. 1. 프로세스 메모리 구조스택 스택 영역은 함수를 호출할 때 지역변수, 매개변수들이 저장되는 공간이다. 메인(main) 함수 안에..