분류 전체보기

실습/MSA

[MSA 01] Eureka Service Discovery 프로젝트 생성

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강의를 듣고 실습한 내용입니다. 강의와 버전을 다르게 해서 진행했습니다. 개발 환경 OS : Mac OS (M1) Java : 17 Spring Boot : 3.1.5 Spring Cloud : 2022.0.4 Java 17 설치 dmg 파일 설치 후 실행 https://www.azul.com/downloads/?version=java-17-lts&os=macos&architecture=arm-64-bit&package=jdk#zulu Azul Downloads No matter the size of your company, Azul offers competitive pricing options to fit your needs, you..

Study

EC2에 SonarQube 설치하고 Jenkins 연동해 코드 분석하기

'Jenkins를 이용한 CI/CD Pipeline 구축' 강의를 참고하였습니다. SonarQube란? 지속적인 통합(CI)과 분석을 할 때 사용되는 솔루션 코드가 가지고 있는 Issue, Defects, 코드의 복잡도를 분석해 코드가 사용할 수 있는 가용 범위와 문제점을 분석한다. 버그나 취약점을 찾고, 코드 스멜과 같이 불필요한 코드와 코드의 이상 여부를 탐지한다. 이러한 작업을 통해 코드에 대한 품질을 높여주는 용도로 사용되고 있다. 현재 진행중인 프로젝트의 코드를 분석하기 위해 SonarQube를 사용하기로 했다. 주어진 EC2의 용량이 크기 때문에 문제없이 사용 가능했다. (용량을 많이 차지해 프리티어는 사용이 어렵다고 들었다.) 프로젝트 스펙 Java 11 Spring Boot 2.7.15 G..

ETC

[MariaDB] Docker 컨테이너 MariaDB 백업하기

운영중인 MariaDB를 수정해야해서, 혹시 모른 상황에 대비해 MariaDB를 백업하기로 했다. 현재 상황) EC2에서 MariaDB 컨테이너를 올려서 사용 중. 인터넷에 검색해보니 docker exec [MariaDB 컨테이너 이름] /usr/bin/mysqldump -u [데이터베이스 유저 이름] -p --all-databases > [백업할 파일명] 을 하라고 했는데 백업이 잘 안됐다. OCI runtime exec failed: exec failed: unable to start container process: exec: "/usr/bin/mysqldump": stat /usr/bin/mysqldump: no such file or directory: unknown mysqldump가 없다는 ..

Study/Spring

[Spring Boot] XSS 방어 설정하기

생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현 강의를 듣고 정리한 내용입니다. XSS(Cross Site Scripting) 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법 쿠키나 세션 등 민감한 정보를 탈취할 수 있다. 저장형 XSS 악의적인 사용자가 사이트에 악성 스크립트를 작성해서 저장함. ( ) 사용자가 악성 스크립트가 저장되어있는 웹사이트에 접속함, 스크립트 코드가 실행되고, 사용자의 정보가 악의적인 사용자한테 전달됨, 악의적인 사용자가 서버에 사용자인척 하며 악의적인 행동을 할 수 있음. 사용자가 관리자였다면 더 큰 피해가 발생! 따라서 코드가 삽입되지 못하도록 막아야한다! = ''와 같은 문자들을 '&lt', '&gt' 로 변경하면 됨! → 치환되어 저장되기 때..

ETC

깃허브 블로그 만들고 hugo 테마 적용하기 (github.io / PaperMod 테마)

블로그 만드는데 너무나 오랜 시간이 걸린 나머지 혹시 나같은 사람이 있을까봐 정리하기로 했다.. 사용한 테마는 PaperMod 테마 https://github.com/adityatelange/hugo-PaperMod GitHub - adityatelange/hugo-PaperMod: A fast, clean, responsive Hugo theme. A fast, clean, responsive Hugo theme. Contribute to adityatelange/hugo-PaperMod development by creating an account on GitHub. github.com 일단 git이 깔려있어야된다! 근데 생각해보니 github 블로그 만드시는 분들인데 git이 없을리가 없군.. Hu..

Study

[Spring Boot] preflight에 토큰 담겨있지 않아 인터셉터에서 걸리는 현상

JWT를 이용해서 로그인을 개발하고, 인증/인가 인터셉터를 개발하였는데 axios를 이용해서 요청을 보내니 이런 에러가 계속해서 발생했다. (postman을 사용했을 땐 아마 문제가 없었던 것으로 기억했다..) 분명히 CORS 설정을 미리 해줬는데 왜 이런현상이..?? 알고보니 CORS 문제가 아니라 preflight의 헤더에 Authorization 토큰 값이 없기 때문에 계속 발생하는 것이었다.. 해결법은 아주 간단했다. 구현한 인터셉터에서 preflight의 경우 토큰 검증을 하지 않으면 된다! preflight는 OPTIONS 요청이므로, HTTP Method가 OPTIONS일 경우 인증되었다고 넘기면 된다. // Preflight면 무시 if (HttpMethod.OPTIONS.name().eq..

디우닝
'분류 전체보기' 카테고리의 글 목록