목록2024/09 (7)
Just Do IT!
Docker소프트웨어 컨테이너 기술을 제공하는 플랫폼으로, 애플리케이션과 그 의존성들을 격리된 환경에서 실행할 수 있게 해준다.애플리케이션을 효율적으로 개발, 배포, 실행할 수 있다.다양한 운영 체제 및 클라우드 환경에서 동일한 방식으로 동작하므로 개발 환경과 프로덕션 환경 간의 일관성을 제공한다 Docker의 주요 개념, 구성 요소이미지 (Image)애플리케이션과 그 실행에 필요한 모든 것을 포함하는 가볍고 독립적인 패키지파일 시스템, 라이브러리, 실행 환경 및 애플리케이션 코드 등을 포함하고 있다.컨테이너 (Container)이미지의 실행 가능한 인스턴스격리된 환경에서 동작하며, 호스트 시스템과는 독립적으로 실행된다.각 컨테이너는 자체 파일 시스템, 프로세스, 네트워크를 가지며, 호스트 및 다른 컨테..
요즘 docker 실습을 가상머신에서 하고 있다.가상머신 설치 관련은 TIL 레파지토리에 이미 정리해서 블로그에도 정리해야 하나 고민 중이라,우선은 내가 진행했던 프로젝트를 빌드해보는 걸 정리하려고 한다.가상머신 설치 관련 정리:https://github.com/seoyeon-jung/kosta-study-log/blob/master/16%EC%A3%BC%EC%B0%A8/240924/README.md kosta-study-log/16주차/240924/README.md at master · seoyeon-jung/kosta-study-logKOSTA TIL. Contribute to seoyeon-jung/kosta-study-log development by creating an account on Gi..
트래픽이 많은 웹사이트의 서버(AWS)를 도와주는 비동기 이벤트 기반 구조의 경량화 웹 서버 프로그램클라이언트로부터 요청을 받았을 때, 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용된다Reverse Proxy Server로 활용하여 WAS의 부하를 줄일 수 있는 로드밸런서 역할을 수행할 수 있다 이러한 특징을 이해하기 위해서는 아래의 흐름을 먼저 이해해야 한다. 클라이언트서비스를 이용하기 위해 네트워크를 통해 요청을 보내는 주체웹 개발 영역에서는 보통 크롬, 사파리, 익스플로러 등 웹 브라우저를 의미한다. 웹 서버클라이언트와 서버 간의 통신을 처리하며 웹 애플리케이션을 호스팅할 수 있게 해주는 소프트웨어클라이언트의 HTTP 요청을 받아 정적 or 동적으로 웹 페이지를 제공해주는 ..
OAuth2 로그인 과정 (예시에는 google이지만 다른 소셜 서비스도 가능) 구글 로그인google cloud에서 앱 생성하기OAuth 동의 화면에서 앱 등록범위 설정OAuth Client ID 만들기 서버에 올리지 않았기에 localhost:3000을 추가해주었다. 카카오 로그인kakao develop에 앱 추가redirect URI 추가REST API key, 보안 키 설정 위의 과정을 거치고 나면, 해당 프로젝트에 필요한 것들을 모두 세팅할 수 있게 된다.그리고 이제 코드로 구현하면 된다. Java 코드 구현 [백엔드]User entity 수정public class User implements UserDetails { @Column(nullable = true) priva..
@Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final. 실습을 하면서 User entity를 생성하는데, 이러한 warning이 뜨고 있었다.생성자를 사용하여 초기화하는 방법 대신에 lombok 어노테이션 중 하나인 @Builder를 사용했는데 이것 때문에 오류가 난 것이었다. 그렇지만 아래 if문을 읽으면 해결방법을 알 수 있다.☞ @Build.Default를 사용하거나 f..
월요일부터 JWT 실습을 하고 있는데 token을 두 가지로 발급하는 이유에 대해 정리해보고자 한다. JWT 토큰 인증 방식어제 블로그글에도 정리했지만 JWT 토큰 인증 방식은 비밀키로 암호화를 해서 안전하게 통신한다.JWT 토큰이 유저의 신원이나 권한을 결정하는 정보를 담고 있는 데이터 조각이니까. JWT는 헤더, 페이로드, 서명 세 가지 정보를 base64로 인코딩한 값을 콤마('.')를 사이에 두고 이어붙인 형태로 생성된다.헤더: JWT 서명에 사용된 알고리즘을 담는다.페이로드: 토큰에 담긴 주체(Subject), 만료일(exp), 생성자(iss) 등을 담는다.시그니처: 헤더와 페이로드를 각각 base64로 인코딩한 후 콤마로 이어붙인다. 그리고 이를 헤더에 명시된 알고리즘으로 암호화한 값을 담는다..
토큰 기반 인증이란?토큰 기반 인증은 토큰을 사용하는 방법이다.토큰 : 서버에 요청을 받을 때, 요청을 보낸 클라이언트를 구분하기 위한 유일한 값서버가 토큰을 생성해서 클라이언트에게 제공하면, 클라이언트는 해당 토큰을 보관하고 있다가 여러 요청을 토큰과 함께 보내게 된다.그러면 서버는 토큰을 보고 해당 클라이언트가 유효한 사용자인지 검증하고, 요청을 처리해주게 된다. JWT?발급받은 JWT를 이용해 인증을 하려면 HTTP 요청 헤더 중에 Authorization 값에 Bearer + JWT 토큰값을 넣어서 보내야 한다.JWT는 .을 기준으로 헤더(Header), 내용(Payload), 서명(Signature)으로 구성되어 있다.JWT 구성헤더 : 토큰의 타입과 해싱 알고리즘을 지정하는 정보내용 : 토큰과..