-
[Spring] AWS S3 FileUpload 하여 URL로 관리하기
오늘은 AWS S3에 파일 업로드를 하는 예제를 다뤄보려한다. 구글에서 여러가지 블로그를 돌아다니며 학습했고 순서와 코드에 대해 정리해보려한다. 내가 작성한 코드는 GitHub 레포지토리로 공유해본다. ✅ 작업 환경 AWS S3 버킷 Spring Boot 2.7.7 Java 11 macOs Monterey 12.6 버전 로컬환경에서 테스트 진행 📌 작업 순서 및 준비 내가 구상하려고 생각하는 아키텍처를 그려보았다. 순서를 간단히 짚고 넘어가자 1). 클라이언트에서 이미지파일을 업로드 요청 -> multipart/form-data 타입으로 요청 -> Key=file / va... Read More
-
Redis JWT Refresh Token 관리 및 재발행
Redis에 대한 간단한 CS지식과 Redis 설치 및 CLI 사용법을 알아보았었다. 오늘은 이제 나의 사용 목적인 프로젝트에 도입을 해보려한다. JWT Refresh Token관리와 좋아요,조회수 등 빈번히 update가 일어나는 항목에 대해서 관리하는 차원에서 캐시서버인 Redis를 사용해보려한다. 그 중에서도 Redis 사용에 대한 코드와 JWT 토큰을 Redis에 어떻게 관리하고 재발급받는지에 대해 초점을 두고 작성했기에 많은 코드들이 생략되어 있다는점 참고 부탁드린다. ✅ 작업환경 Spring Boot 2.7.7 java 11 macOS Ventura 13.1 로컬 환경에서 테스트 진행 ... Read More
-
Git 이전 Commit Message 수정하기
📌 CLI로 변경 만약 이전에 커밋메세지를 실수로 잘못 올렸다고할 경우 git rebase -i HEAD~3 를 입력해서 커밋메세지가 수정이 가능하다. ~3은 가장최신부터 수정하고자하는 커밋 수량이다 Pick이라고 되어있는 부분을 reword로 변경한 다음 커밋메세지를 수정해주면 반영된다. 📌 IntelliJ로 변경 IDE를 사용하면 vi,nano 편집기를 이용하는 것보다 훨씬 수월하게 작업할 수 있다. 하단의 Git 탭에서 커밋메세지를 변경하고자하는 커밋을 눌러 오른쪽 클릭을하자 Interactively Rebase from Here를 눌러주자 그러면 Rebasing ... Read More
-
Git Cherry-Pick으로 Commit 옮기기
📌 Cherry-Pick 작업을 하던중 다른 브랜치에 Commit을 해버렸다… 팀원 모두가 개발 중인 브랜치 : develop 현재 내가 개발하는 브랜치 : feat/BE/ljh 이렇게 두가지로 운영중이었다. 사진에서 볼 수 있듯이… develop 브랜치에 커밋을 두개나 해버린상황 #14, #3 으로된 제목의 커밋이다.. feat/BE/ljh 브랜치로 커밋을 옮겨야하는 상황이다. 해당 커밋을 복사해서 옮길 수 있는 방법이 Cherry-Pick이다. 본격적으로 사용법을 알아보자 📌 Commit Hash 값 첫번째로 내가 잘못올릴 커밋의 해쉬값을 알아야한다. 내가 커밋을 잘못올린 브랜치(deve... Read More
-
Redis CLI 설치 및 사용방법
Redis는 Remote Dictionary Server의 약자로 key:value로 값을 저장하는 NoSQL이다. 인-메모리(In-Memory) 데이터베이스로 메모리에 데이터가 저장된다.. 비관계형 데이터 베이스 관리 시스템(DBMS)이며 캐시서버로 많이 이용된다. 캐시는 한번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때는 빠르게 결과값을 받을 수 있도록 도와주는 공간이다. 학습의 목적은 JWT Refresh Token 관리 목적과 좋아요,혹은 조회수 같은 자주 업데이트가 일어나는 데이터를 RDBMS에서 계속 쿼리를 날리고 싶지 않기때문이였다. 본격적으로 알아보기전에 CLI를 통해 ... Read More
-
Jekyll Github IO 블로그 코드 하이라이트
현재 내가 운영중인 Github.io 블로그의 테마는 YAT 이라는 테마이다. 이전에 YAT 테마 댓글 기능, 파비콘 추가하는 방법까지 알아보았다. 이제 기본으로 제공하는 Code Highlight(코드 하이라이트) 변경하는 법을 알아보려한다. Jekyll 코드 하이라이트 적용 코드 하이라이트 적용은 매우 간단하다. 나와 같은 경우에는 highlight.js demo 사이트에서 마음에 드는 코드하이라이트의 이름만 설정해주면 된다. _includes -> extensions -> comments -> code-highlight.html 해당 경로의 code-highlight.html... Read More
-
Oracle Cloud Ubuntu 22.04 1GB 램 성능 개선
Oracle Cloud Free Tier 무료 인스턴스 생성과 접속을 통해서 오라클 평생 무료 인스턴스를 직접 만들어 보았다. 하지만 인스턴스를 만들면서 느낀건데 램이 1GB로 여러가지 설치를하고 사용하기에는 너무 무리가 있어보이는 사양을 확인할 수가 있다. AMD 기반으로 만들었기 때문에 사양이 낮은 무료 인스턴스를 사용하고 있지만 몇 가지 설정을 통해 시스템을 원할히 돌아가게 셋팅을할 수가 있다. 한번 알아보자 📌 현재 인스턴스 사양 이미지 : Ubuntu 22.04 구성 : (AMD) VM.Standard.E2.1.Micro / 1 core OCPU, 1GB Memory 📌 기초 셋팅 sud... Read More
-
Oracle Cloud Free Tier 무료 인스턴스 생성과 접속
오늘은 Oracle Cloud 무료 서버를 생성해보려한다. 회원 가입과 카드 등록은 되어있다 가정하고 인스턴스 생성전에 구획생성과 VCN 네트워크 생성 그리고 인스턴스를 생성하는 과정을 적어보려한다. Oracle 무료 인스턴스 참고 레퍼런스를 토대로 작업하였습니다. 📌 구획 생성 VM 생성 전에 구획을 먼저 생성해야한다. 구획은 리소스를 포함하고 관리할 수 있는 가상의 공간/영역이다. 📌 VCN 네트워크 생성 먼저 아까 생성한 구획을 먼저 선택한다음 VCN 마법사를 시작한다. VCN 마법사 시작 클릭 VCN 이름을 설정하고 다음 클릭 생성 버튼을 눌러 리소스 생성을... Read More
-
AWS EC2 NginX 클라이언트 배포
✅ NGINX 이용하여 클라이언트 배포하기 클라우딩 컴퓨터 배포 참고레퍼런스를 토대로 공부하고 테스트해본 기록을 적어보려한다. 우리 코스에 한분이 작성하신 글이고 헤매고있는 나에게 빛줄기를 내려주셨다…🥹 우선 우리팀에서 생각한 아키텍처이다. 정확히 맞는지는 모르겠지만, 우리가 아는 지식을 모아 그려봤다. AWS 클라우딩 컴퓨터를 이용한 S3 - EC2 - RDS를 운용하고 싶었지만… 프리티어를 사용하는 우리에게 혹시나 비용문제가 걸림돌이 될 수 있을 것 같아 꼼꼼히 홈페이지 사양을 읽어보긴했지만,,, 아직 미숙한 우리들에게 사고를 미연에 방지하고자 EC2만 빌린다음에 진행하려고한다. 📌 작업 환경... Read More
-
MySQL EC2에 설치후 WorkBench 접속하기
EC2에 MySQL을 설치한다음 WorkBench로 접속하려는데 설정한 내용을 정리해보려한다. MySQL 설치과정은 생략하겠다. 📌 yml 파일 설정 우선 EC2에 배포한 스프링 .yml 파일 설정이다. 기존과 동일하게 localhost:3306으로 설정을 해주었고 스키마 이름은 stackover라는 이름으로지 지정했다. spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/stackover?serverTimezone=Asia/Seoul # 포트넘버, 스키마이름 ... Read More