분류 전체보기(71)
-
배포 스크립트 작성
본 포스팅에서는 프로젝트를 EC2에서 배포하고, 스크립트를 작성하는 과정을 적었습니다. CI/CD를 구현하기 전, 배포 스크립트를 짜본 것에 의의를 두려 합니다. CI/CD 구현 과정은 다음 포스팅에 담겨있습니다. EC2 서버 구성 과정을 자세히 살펴보겠습니다. 1. 톰캣 웹서버 설치하기 저희는 깃허브에서 Spring boot 프로젝트를 다운받아 실행할 것이기 때문에 톰캣이 내장되어 있습니다. 따라서 해당 부분은 건너뛰어도 무방합니다. apt-cache search tomcat sudo apt install tomcat8 tomcat8 패키지가 없다고 다른 패키지를 이용하라는 문구가 나옵니다. 기존의 ubuntu repository 저장소가 tomcat8을 들고 있지 않기 때문에 추가적으로 저장소를 추가..
2024.03.05 -
[JWT] Access Token 과 Refresh Token 저장 및 관리에 대한 고민
본 포스팅에서는 프로젝트에서 채택한 JWT 를 통한 토큰 교환 방식에 대한 생각을 적어보려고 합니다. 설명하기 앞서, 간단히 JWT에 대해 알아보겠습니다. JWT 란? header typ : JWT (토큰의 종류를 지정. 이 경우 JWT로 고정) alg : 암호화 알고리즘 payload 토큰에서 사용할 정보들의 조각인, Claim 이 담겨 있다. 클레임은 JSON(Key, Value)의 형태로, 다수의 정보를 넣을 수 있다. Signature (서명) 서명은 토큰의 유효성 검증을 할 때 사용되는 곳으로, 무결성을 보장한다. 헤더 + 페이로드를 BASE64로 인코딩 한 값을 지정된 비밀 키를 이용해 헤더에 적혀있는 alg 으로 암호화한다. 서명은 데이터를 암호화 하는 것은 아니고, 토큰의 데이터가 변조 ..
2024.02.02 -
Spring Security를 이용한 인증/인가
본 포스팅에서는 프로젝트에서 구현한 사용자 인증 및 인가 구현 과정을 살펴보고자 합니다. 이를 통해 회원가입, 로그인, 로그아웃 기능을 구현하였습니다. [프로젝트 URL] https://github.com/devridge-team-project/devridge-server/pull/15 로그인 기능 구현 (인증, 인가) by Jungsu-lilly · Pull Request #15 · devridge-team-project/devridge-server Description ✍️ Spring Security를 사용해 로그인 기능을 구현했습니다. 회원 가입, 회원 탈퇴, 로그인, 로그아웃 API를 개발했습니다. JWT(Json Web Token) 방식으로 엑세스, 리프레시 토큰을 발급합니다. Scr gith..
2024.02.01 -
웹 서버 & WAS
웹 서버와 WAS에 대해 공부하고 블로그에 적어보겠습니다. 유명한 주제이기도 하고, 이 시점에서 관계와 용어 정리를 확실하게 정리하고 싶어 작성합니다. 웹 서버란? 웹 서버란 인터넷을 통해 사용자의 요청에 따라 HTML 문서나 다른 종류의 리소스를 제공하는 서버이다. 웹 서버는 주로 정적 컨텐츠를 제공하는 데 사용되며, 가장 대표적인 예는 Apache, Nginx, Microsoft IIS 등이 있다. 주요 기능 1. 정적 컨텐츠 제공 HTML, CSS, JavaScript, 이미지 파일과 같은 정적 리소스를 클라이언트에게 전송한다. 외부의 접근이 가능하도록 개방하여 지정된 URL로 접속하면 자원을 받아갈 수 있도록 하는 것이 웹서버의 기본적인 역할임. 2. 로드 밸런싱(Load Balancing) 사용..
2024.01.30 -
[오류 해결 - swagger] Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
Spring Boot에서 swagger를 사용하기 위해 아래와 같이 의존성을 추가하고, 서버를 실행하니 하니 오류가 발생했다. //swagger implementation 'io.springfox:springfox-boot-starter:3.0.0' 에러 로그 org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException 우선 위 에러를 대략 해석하자면 다음과 같다. org.springframework.context.ApplicationContextException : 스프링..
2023.08.01 -
[SQL 에러] You have an error in your SQL syntax; check the manual...
에러 로그 Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'uuid char, updated_at datetime, username varchar (16) not null, primary key (id)' at line 1 개발 중 위와 같은 오류를 마주했다. 위 상황은 디버거가 DDL을 생성하던 도중 문법 오류를 발견했다는 뜻이다. => SQL syntax 오류 에러 로그 중에서 다음처럼 near ~~~ 로 해당하는 부분을 살펴보자...
2023.07.31