로컬에서 sonarqube 실행해보기
·
Study😜
포트 충돌 때문에 multipass라는 가상 VM에서 sonarqube를 실행했습니다. 1. SonarQube 다운로드 및 파일 전송 & SonarQube 압축 해제https://www.sonarsource.com/products/sonarqube/downloads/에서 community를 다운로드 받고 multipass의 원하는 인스턴스에 복사 후 압축을 풉니다.$ multipass transfer :$ multipass transfer sonarqube-25.2.0.102705.zip master:/home/ubuntu/sonarqube# multipass 인스턴스 접속$ multipass shell # 예) multipass shell master$ unzip /home/ubuntu/sonarq..
쿠버네티스 소개
·
핵심만 콕! 쿠버네티스
쿠버네티스란?여러 서버로 구성된 클러스터 환경에서 컨테이너화된 프로세스를 관리하기 위한 컨테이너 오케스트레이션(Orchestration) 플랫폼호스트 운영체제를 공유가상 머신에 비해 훨씬 더 가볍습니다.가상 머신과 마찬가지로 실행 환경을 독립적으로 가져갈 수 있습니다.컨테이너를 쉽게 복제하거나 배포할 수 있습니다.컨테이너의 배포, 확장, 스케줄링을 자동화할 수 있습니다.CNCF(Cloud Native Computing Foundation, Cloud Native 오픈소스를 관리하는 재단)의 첫 번째 프로젝트 컨테이너 오케스트레이션이란?다수의 서버 위에서 컨테이너의 전반적인 라이프사이클을 관리해주는 플랫폼 쿠버네티스는 컨테이너의,실행 및 배포를 책임집니다.이중화와 가용성을 보장합니다.수평확장 및 축소를 관..
Spring Security에서 /logout 동작 과정
·
Study😜
프로젝트에서 직접 /logout API를 생성한 적이 없는데 호출되고, 커스텀하게 사용하지 않았을 때 세션만 제거하고 쿠키는 제거하지 않아서 Spring Security의 /logout 동작 과정을 살펴보게 되었습니다.🙂Spring Security의 로그아웃 API 살펴보기Spring Security는 GET /logout과 POST /logout을 지원합니다. /logout을 호출했을 때 springframework.security.web.authentication.logout.LogoutFilter.java의 doFilter가 수행됩니다.doFilter에서 logout과 onLogoutSuccess를 주목하면 됩니다. this.handler.logout(request, response, auth);..
CSRF(Cross-Site Request Forgery)
·
Study😜
CSRF(Cross-Site Request Forgery)는 웹 애플리케이션 보안에서 가장 빈번히 발견되는 취약점 중 하나입니다. 공격자는 사용자를 속여 원치 않는 요청을 서버에 보내도록 하며, 이는 사용자 계정 탈취나 권한 있는 작업의 악용으로 이어질 수 있습니다.CSRF란?CSRF(Cross Site Request Forgery)는 사용자의 인증 정보를 악용하여 악의적인 요청을 서버에 전송하는 공격입니다. 사용자가 신뢰하는 사이트와의 인증 상태를 활용해 비인가 작업을 실행하도록 유도합니다. 공격 시나리오사용자가 http://bank.com에 로그인하고 세션이 활성화된 상태로 유지.공격자는 사용자를 악성 사이트 http://malicious.com로 유도.악성 사이트에 아래와 같은 코드가 포함되어 있음..
[Docker] SpringBoot + MySQL + Docker 프로젝트 실행하기
·
Study😜
토이 프로젝트를 생성했는데 AWS에 Docker로 띄우는 방법을 알고 싶어서 찾아보게 되었습니다.SpringBoot + MySQL + Docker로 띄우는 방법을 처음부터 끝까지 작성된 내용을 찾지 못해서 제가 실행한 방법을 직접 글로 남기게 되었습니다.여기저기 찾아보고 작성한 내용이기 때문에 부족한 내용이 있을 수 있습니다. 추가되어야 하거나 잘못된 내용이 있다면 알려주세요 :) 우선, Docker로 실행하려는 저의 프로젝트 상세 내용은 아래와 같습니다.SpringBootGradleMariaDBJPASvelte1. Docker Hub 가입 및 로그인Docker Hub(https://app.docker.com/)에 회원가입을 합니다. Github처럼 사용자가 Docker 컨테이너 이미지를 저장, 공유, ..
[JWT] Springboot + JWT
·
Study😜
JWT 개요JWT란?JWT는 어떻게 이루어져 있는가?JSON Web Token들은 어떻게 작동할까?Spring SecurityTroubleshooting    JWT ( JSON Web Token ) 개요프로젝트에서 로그인 인증을 구현하면서 JWT에 알아보게 되었습니다.웹 개발 및 보안 분야에서 자주 사용되는 JWT(Json Web Token)에 대해 자세히 알아보겠습니다. 이 기술은 웹 애플리케이션에서 사용자 인증 및 정보 교환을 보다 안전하게 하기 위한 강력한 수단 중 하나로 부상했습니다.JWT의 기본 개념, 구조, 그리고 실제 활용 예시에 대해 알아보겠습니다.  JWT란?JWT는 JSON Web Token의 약자로, JSON을 사용하여 정보를 안전하게 전송하기 위한 표준 방식 중 하나입니다.JWT는..
Docker - 컨테이너화 기술
·
Study😜
컨테이너화 기술을 활용해 애플리케이션을 효율적으로 개발, 배포, 실행할 수 있는 오픈소스 플랫폼입니다.도커는 애플리케이션과 그 종속성을 하나의 컨테이너로 묶어 어디서나 일관되게 동작하도록 보장합니다. Docker도커는 애플리케이션, 라이브러리, 구성 파일 등을 컨테이너라는 독립된 단위로 패키징합니다. 이러한 컨테이너는 실행 환경의 차이에 영향을 받지 않으며, 물리 서버, 가상 머신, 클라우드 등 다양한 환경에서 일관된 성능을 제공합니다. 도커는 매우 가볍기 때문에, 하나의 서버나 가상 머신이 여러 컨테이너들을 동시에 구동할 수 있습니다. 주요 장점이식성 (Portability)컨테이너에 애플리케이션과 종속성을 포함하기 때문에 "개발 환경에서는 잘 되던데..."라는 문제를 방지할 수 있습니다.빠른 배포 및..
BFS (너비우선탐색)
·
알고리즘
🔖 알고리즘 예시 (Java) BFS (Breadth-First Search) 그래프 탐색 알고리즘 중 너비 우선 탐색 알고리즘 입니다. BFS 동작 과정 1. 시작 정점을 방문하고 Queue에 넣습니다. 2. Queue에서 정점을 하나 꺼내고 인접한 정점들을 방문하고, 방문한 정점은 Queue에 넣습니다. 3. Queue가 빌 때까지 위 과정을 반복합니다. BFS 특징 최단 경로를 찾을 때 유용합니다. 시작 정점에서 거리가 가까운 정점부터 방문하기 때문에 먼저 도달하는 정점이 더 가까운 정점입니다. Queue 자료구조를 사용합니다. 시간 복잡도 : O(V + E) (모든 정점을 방문하기 때문) BFS 주요 활용 네트워크 최단 경로 탐색 그래프의 연결성 확인 트리의 레벨 순회 [ psudo code ] ..