전체 글 55

docker와 github action으로 cicd 배포하기

들어가기에 앞서 참고한 포스팅 목록은 글 하단에 모두 기재하겠습니다. 이전에 ec2 서버 배포를 해본 적이 있는데 develop에 머지할 때마다 새롭게 서버를 열어줘야 해서 정말 불편했다.그래서 무중단 배포 cicd를 구현하려고 했고, 이때 도커와 함께 사용하면 편리하다고 해서 적용해봤다! 도커가 무엇인지는 이전 포스팅 참고!  1. SpringBoot 프로젝트를 Docker Image로 만들기1) JAR 파일 생성하기IntelliJ 우측의 Grade을 클릭한 후, Tasks > build > bootJar을 클릭하여 jar 파일을 생성한다! 2) DockerFile 스크립트 생성하기FROM openjdk:17# 타임존 설정을 ENV 설정보다 먼저 수행RUN ln -sf /usr/share/zoneinf..

Spring 2025.03.18

도커(Docker) 이해하기

docker와 github action으로 cicd 배포를 해보려 했다.근데... docker가 뭐지? 이름은 많이 들어봤는데 정확히 무엇인지는 몰라서 이번 기회에 알아보려고 한다.  1. 도커란?도커란 쉽게 말해, 서버에 설치되어 있는 다양한 프로그램과 데이터를 각각 독립된 환경에 격리시키는 소프트웨어다. 도커는 '도커 엔진'이 있어야 컨테이너를 생성하고 구동할 수 있다.  사실, 엔진만 필요한 것은 아니고 '컨테이너 이미지'라는 것도 필요하다.'컨테이너 이미지'란 모든 파일과 환경 설정을 지니고 있는 파일을 말한다.도커의 핵심적인 역할서버 환경을 격리시키는 것이다. why?대부분의 프로그램은 단독으로 동작하지 않고, 특정 실행 환경이나 라이브러리, 다른 프로그램을 이용해 동작한다.위의 사진처럼 한 쪽..

Spring 2025.03.18

JWT & 전반적인 로그인 과정 이해

저번 포스팅에서 spring security를 설정하며 "인증" , "인가" 과정에서 인증에 대해 알아봤다.https://oyatplum.tistory.com/55 interceptor의 과정을 거쳤다. 하지만.. 생각해보니 spring security를 쓰면 되는 거 아닌가? 인증" data-og-host="oyatplum.tistory.com" data-og-source-url="https://oyatplum.tistory.com/55" data-og-url="https://oyatplum.tistory.com/55" data-og-image="https://blog.kakaocdn.net/dna/ipkEs/hyXWs6emrg/AAAAAAAAAAAAAAAAAAAAAEcbjPW3cAKbcc3cya_UPeEbD_RfsjBqS67wfWijbZVw/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1753973999&allow_ip=&allow_referer=&signature=zF752JY7qtskaYWXruSDer4N1iQ%3D

Spring 2025.01.11

Spring Security 사용하기

문제 상황https://oyatplum.tistory.com/54토큰 처리를 전역적으로 하기 위해aop를 사용한 커스텀 어노테이션 -> interceptor의 과정을 거쳤다. 하지만.. 생각해보니 spring security를 쓰면 되는 거 아닌가? 인증 인가를 내가 담당하지 않아서 리팩토링하다가 발견했다.그런김에 spring security와 토큰에 대해 정확히 알아보면 좋겠다싶어 공부함Spring Security란, 동작과정spring에서 제공하는 인증(Authentication)과 인가(Authorization)에 대한 처리를 위임하는 프레임워크이다.spring securiy는 '인증'과 '인가'에 대한 처리를 filter흐름에 따라 처리한다. filter는 위와 같이 요청이 dispatcher s..

Spring 2025.01.09

Interceptor로 토큰 전역 처리하기

문제 상황https://oyatplum.tistory.com/53 이전 포스팅을 참고하면,AOP를 사용하여 토큰 검증을 커스텀 어노테이션을 통해 처리했다.매 controller마다 토큰을 검증하는 과정이 사라져 효율적이라고 생각했지만, 이 역시 로그인이나 회원가입과 같은 소수의 api를 제외하면 모두 커스텀 어노테이션을 컨트롤러에 작성해야 했다. 더 효율적으로 토큰을 전역 처리할 수는 없을까?  Interceptor로 토큰 전역 처리하기Interceptor란, 말 그대로 "낚아채다"라는 의미이다.즉, 서버로 들어온 Request 객체를 controller의 handler(요청한 url에 따라 실행되어야 할 메서드)로 도달하기 전에 낚아채서 추가적인 작업을 한 뒤, 헨들러로 보내주는 것이다. @Compon..

Spring 2025.01.07