공부메모 & 오류해결 37

[Spring Boot + AWS] Spring Boot + S3를 활용한 이미지 업로드 하기 (프로필 사진)

1. AWS S3 생성 1-1 버킷 생성 AWS 사이트에 들어가 로그인을 해준 후 S3탭에 들어가서 [버킷 만들기] 버튼을 누른다. 설정은 위의 설정만 똑같이 해주고 다른 설정은 건들 필요 없이 [버킷 만들기] 버튼을 눌러준다. 1-2 버킷 생성 확인 위와 같이 버킷이 생성이 되었다면 [다음]으로 넘어간다. 2. IAM 설정 2-1 사용자 생성 IAM을 검색해서 들어간후 [사용자 생성] 버튼을 누른다. 사용할 이름만 작성 후 [다음]으로 넘어간다. 다음 버튼을 누르면 이 화면이 뜬다. 세 번째 직접 정책 연결 버튼을 누른 뒤, 검색 창에 s3 full을 쳐서 AmazonS3 FullAccess 버튼을 체크 후 [다음]으로 넘어간다. [사용자 생성]을 눌러 주면 된다. 2-2 액세스키, 시크릿키 저장 2-..

[Spring Boot + Swagger] Swagger 적용하기 [SpringBoot 3.x.x 버전]

1. Swagger API를 설계, 빌드, 문서화하고 테스트하는 데 사용되는 강력한 프레임워크. 주로 RESTful 웹 서비스의 API를 문서화하는 데 사용되며, 다양한 언어와 플랫폼 간의 통합을 용이하게 만들어 준다. 1.1 Swagger 주요 기능 - API 문서화 - API 시각화 - 테스트 기능 - 다양한 포멧 지원 2. 사용 버젼 - Spring Boot 3.1.3 - SpringDoc-OpenApi v2.1.0 3. 프로젝트에 Swagger 적용하기 3.1 의존성 추가 // swagger implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.1.0' build.gradle에 의..

[SSE] 알림기능에 SSE (Sever-Sent Events)를 사용한 이유?

개요프로젝트에서 SSE를 사용해 실시간 알림 기능을 구현하였다. 가볍게 스쳐 지나갔지만 다시 보니 조금 더 공부해보고 싶어서 찾아봤다. SSE의 장단점, WebSocket의 장단점을 비교하여 SSE를 사용이 적합했던 이유를 작성. 1. SSE서버로부터 보낸 메시지를 클라이언트 측에서 받을 수 있는, 단방향 메시지를 지원하기 위한 웹 기술이다. 주로 웹 애플리케이션에서 실시간 업데이트를 제공하는 데 사용되며 서버에서 클라이언트로 데이터를 전송할 수 있게 해 주며, 클라이언트는 이를 수신하여 웹 페이지의 동적 업데이트나 실시간 정보 표시에 활용할 수 있다. 이벤트 스트림(Event Stream) 형태로 데이터를 보내므로, 연결이 한 번 만들어진 후 서버에서 주기적으로 데이터를 전송할 수 있다. 1.1 SSE..

[SpringBoot + Redis] Refresh Token은 왜 Redis를 사용할까?

Redis 오픈 소스 기반의 인 메모리 데이터 저장소. 키-값 형태의 DB로 주로 메모리 내에서 데이터를 저장하고 액세스 하는 데 사용된다. Redis의 주요 특징 1. 주로 메모리에 데이터를 저장하고 조회하기 때문에 빠른 응답시간을 기대할 수 있다. 2. 데이터 만료일을 지정할 수 있다. Redis의 특징이 Refresh Token에 적합한 이유 1. RDB와 다르게 Redis는 만료될 날짜를 정해서 토큰을 자동으로 삭제할 수 있다. 토큰의 만료일과 Redis에서 토큰이 삭제되는 날을 일치시키면 데이터를 더 효율적으로 관리할 수 있다. 2. Refresh Token을 사용하는 이유는 JWT Access Token을 새롭게 갱신하기 위해 사용한다. Access 토큰은 Refresh 토큰에 비해 유효기간이..

[Java] 자바 계산기 알고리즘

개인 프로젝트를 진행 중 계산기 기능을 추가하려고 로직을 구현 중이었는데 생각보다 생각할게 많았다. 나는 중위 표기법으로 표현된 수식을 후위 표기법으로 변환시켜 계산하였다. 중위표기법이란 흔히 아는 연산자가 피연산자들의 가운데 위치하는 형태이다. 예 ) 3 + 5 * 4 진행 중인 웹프로젝트의 계산기 기능이다. 간략하게 기능을 설명하자면 C버튼은 Clear를 뜻하고 누르면 입력했던 숫자들이 초기화된다. 계산할 식을 입력 후 "=" 버튼을 누르면 계산된 값을 반환받는 방식으로 제작하였다. 계산기 하단에는 계산했던 기록이 남아있도록 했다. 코드 설명 public double calculator(CalculatorRequestDto calculatorRequestDto) { String calContents ..

[Spring Boot + Redis] Spring Boot에서 리프레시 토큰 사용하기(Redis)

Redis 설치하기 Redis 설치 방법 Redis NoSQL DB의 한 종류이며 우리가 흔히 사용하는 MYSQL, Orcal DB, PostgreSQL 등 RDBMS와 다르게 NoSQL DB이다. 그렇다면 무슨 차이이고 어느 상황에 사용해야 할까? RDBMS와 NoSQL의 차이 RDBMS (관계형 DB) - 데 ngwdeveloper.tistory.com Refresh Token의 목적 - Access Token의 유효기간을 짧고, 자주 재발급하도록 만들어 보안을 강화하면서도 사용자에게 잦은 로그아웃 경험을 주지 않도록 하는 목적으로 만들어졌다. Access Token은 리소스에 접근하기 위해서 사용되는 토큰이라면, Refresh Token은 기존에 클라이언트가 가지고 있던 Access Token이 만..

[Redis] Redis 설치 방법

Redis NoSQL DB의 한 종류이며 우리가 흔히 사용하는 MYSQL, Orcal DB, PostgreSQL 등 RDBMS와 다르게 NoSQL DB이다. 그렇다면 무슨 차이이고 어느 상황에 사용해야 할까? RDBMS와 NoSQL의 차이 RDBMS (관계형 DB) - 데이터 : 정해진 구조를 갖는 테이블로 데이터를 저장하고 각 테이블은 관계를 가질 수 있다. - 확장 : 주로 수직정 확장을 사용하며, DB 서버 자체를 업그레이드 하거나 강력한 하드웨어로 대체 - 스키마 : 고정된 스키마를 사용, 데이터의 구조를 사전에 정의해야 한다. - 데이터 복잡성 : 복잡한 관계를 가질 수 있고, JOIN 연산을 사용하여 데이터를 결합한다. - 활용 : 정형화된 데이터와 각 데이터 간의 관계가 중요한 업무에서 주로..

[Spring Boot + OAUTH2.0] Spring Boot 소셜로그인(네이버) 구현법(Oauth2.0)

Oauth2.0 사용자가 애플리케이션 또는 웹 사이트에 로그인할 때 사용되는 프로토콜 중 하나. 이 프로토콜은 보안된 방식으로 사용자의 정보를 제공하고, 다른 웹 사이트나 애플리케이션에서 해당 정보를 사용할 수 있도록 한다. - 자주 사용하지 않는 웹사이트에 개인정보를 입력해서 회원가입을 해야 하나? 할 때 간단하게 소셜 로그인을 사용해서 이용할 수 있다. 네이버소셜로그인을 위한 준비가 안되었다면 아래 링크를 통해 설정한 뒤 본 게시글을 따라 해야 한다. 네이버 소셜로그인을 위한 설정 네이버 소셜로그인을 위한 설정(Spring + Oauth2.0) 1. 네이버 앱 등록 https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers devel..

[Spring Boot + OAUTH2.0] Spring Boot 소셜로그인(구글) 구현법(Oauth2.0)

Oauth2.0 사용자가 애플리케이션 또는 웹 사이트에 로그인할 때 사용되는 프로토콜 중 하나. 이 프로토콜은 보안된 방식으로 사용자의 정보를 제공하고, 다른 웹 사이트나 애플리케이션에서 해당 정보를 사용할 수 있도록 한다. - 자주 사용하지 않는 웹사이트에 개인정보를 입력해서 회원가입을 해야 하나? 할 때 간단하게 소셜 로그인을 사용해서 이용할 수 있다. 구글소셜로그인을 위한 준비가 안되었다면 아래 링크를 통해 설정한 뒤 본 게시글을 따라 해야 한다. 구글 소셜로그인을 위한 설정 구글 소셜로그인을 위한 설정(Spring + Oauth2.0) 1. 구글 API 콘솔 들어가기 https://console.cloud.google.com/projectselector2/apis/credentials/consen..

[Spring Boot + OAUTH2.0] Spring Boot 소셜로그인(카카오) 구현법(Oauth2.0)

oauth2.0 사용자가 애플리케이션 또는 웹 사이트에 로그인할 때 사용되는 프로토콜 중 하나. 이 프로토콜은 보안된 방식으로 사용자의 정보를 제공하고, 다른 웹 사이트나 애플리케이션에서 해당 정보를 사용할 수 있도록 한다. - 자주 사용하지 않는 웹사이트에 개인정보를 입력해서 회원가입을 해야 하나? 할 때 간단하게 소셜 로그인을 사용해서 이용할 수 있다. 카카오 소셜로그인을 위한 준비가 안되었다면 아래 링크를 통해 설정한 뒤 본 게시글을 따라 해야 한다. 카카오 소셜로그인을 위한 설정 카카오 소셜로그인을 위한 설정(Spring + Oauth2.0) 1. 카카오 개발자 사이트 들어가기 https://developers.kakao.com/console/app 카카오계정 accounts.kakao.com 위..

프로필사진

남건욱's 공부기록

반응형