지난번에도 JWT 관련 인증 내용을 다룬적이 있었다. Spring Security + JWT 인증 초간단 연동 예제 Monolithic Architecture에서 Micro Service Architecture까지는 아니더라도 많은 부분이 API로 분리가 되고 이에 대한 인증의 필요성이 생겼다. Spring Security와 JWT를 이용하면 이런 API 서버간의 인증을 간단.. oingdaddy.tistory.com 초간단 연동 예제라고 했는데 뭐가 초간단이냐며 욕도 먹고 해서 이번에는 정말 다 빼고 내가 통신할 API 서버와 JWT 인증하는 부분에 대해서만 간략히 기술하려한다. Springboot로 샘플 프로젝트를 2개 만들었다. 하나는 API를 호출하는 역할을 하는 A 프로젝트, 다른 하나는 A로부..
Cron Expression (크론 표현식)은 스케쥴링을 해주는 도구라고 생각하면 된다. linux에서 background process로 특정 job을 주기적으로 실행시키기 위한 용도로 시작되었고 이 개념이 확장되어 Quartz나 Spring에서도 사용되고 있다. 리눅스 / 유닉스 크론 표현식 : 5자리 순서 항목 사용형태 1 분 0-59 2 시 0-23 3 일 1-31 4 월 1-12 5 요일 0-6 (일요일=0, 월요일=1...) Cron Expression은 기본적으로 공백(space)으로 시간을 구분하여 표현한다. (eg. 0 14 * * * : 매일 14시 0분에 동작) Quartz / Spring Scheduler 크론 표현식 : 7자리 순서 항목 사용형태 1 초 0-59 2 분 0-59 3..
지긋지긋.. log4j 관련 보안취약점이 끊임없이 나오고 있다. KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.boho.or.kr 여기서 2021.12.29일자로 새로운 log4j 보안취약점 조치사항에 대해 잘 나와있다. 요약하자면 주요내용 Apache Log4j 2에서 발생하는 원격코드 실행 취약점(CVE-2021-44832) 영향을 받는 버전 CVE-2021-44832 - 2.0-beta9 ~ 2.17.0 버전 (Log4j 2.3.2, 2.12.4 제외) 대응방안 - Java 8 이상 : Log4j 2.17.1으로 업데이트 - Java 7 : Log4j 2.12.4으로 업데이트 (업데이트 예정, 참고사이트 [3] 참고) - Java 6 : Log4j 2.3.2으로 ..
Sonarqube는 정적으로 분석'된' 정보를 보여주는 역할을 하는 것이라면 Sonar-Scanner는 분석을 해주는 역할을 한다고 이해하면 된다. 이를 설치하고 연동하는 방법에 대해서 가이드하고자 한다. Sonarqube 설치 일단 Sonarqube는 다음 글들을 참조하여 설치하도록 하자. AWS ec2에 sonarqube 설치하기 앞서 AWS ec2에 git, gitlab도 설치하고 Jenkins도 설치했었다. CI/CD가 구성되면 그다음은? 품질이다. 정적 소스 분석도구인 Sonarqube를 설치해보자. 기본적으로 java가 설치가 되어 있어야 하는데 이건 Jenk oingdaddy.tistory.com Sonarqube Windows10 환경에서 설치하기 사양이 좋은 컴퓨터를 받아서 로컬에 son..
Sonar-Scanner 실행시 다음과 같은 오류가 발생하였다. sonar-scanner.properties 파일을 파싱하다가 문제가 발생한듯하다. 오류의 내용은 Malformed \uxxxx encoding sonar.projectKey=template-project sonar.projectName=template-project sonar.projectVersion=1.0 sonar.projectBaseDir=C:\Users\user\git\template-project sonar.sourceEncoding=UTF-8 sonar.java.source=11 sonar.inclusions=**/*.java sonar.language=java sonar.host.url=http://localhost:9000..
Sonarqube 설치 후 org.elasticsearch.ElasticsearchException: java.lang.InterruptedException 라는 오류가 발생하였다. 이건 꼭 설치 후 발생하는것 뿐만 아니라 운영중에도 발생하는 경우가 있다. 원인은 오류파일에 명시된 sonarqube설치경로/logs/ex_hs_err_pid.log 파일에 자세히 명시가 되어 있다. # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 536870912 bytes for Failed to commit area from 0x00000000..
사양이 좋은 컴퓨터를 받아서 로컬에 sonarqube를 설치하고 정적분석을 해보기로 하였다. Windows 환경에서 설치를 하는건 개인적으로는 Linux 환경에 설치하는것보다 조금 까다로웠다. 설치 Download | SonarQube Get the latest LTS and version of SonarQube the leading product for Code Quality and Security from the official download page. www.sonarqube.org sonarqube 공홈에 들어가서 다운로드를 받는다. 접속하여 조금 내리면 아래와 같은 화면을 볼 수 있다. 재력이 되어서 Enterprise Edition을 받으면 좋지만 Commuity Edition도 충분히 훌륭..
현재 필자의 프로젝트는 maven을 사용하고 있고 parent-child 구조로 구성되어 있다. parent-child 구조라고 하는건 이전에 쓴 글을 참조하도록 하자. Spring + Maven Project Parent Child 구조로 만들기 (Multi-Module Project) Spring과 Maven으로 프로젝트를 하며 Parent와 Child 프로젝트로 구성되어 있는 구조를 한번쯤은 봤을것이다. 이 프로젝트는 어떻게 만드는지 궁금한점이 있었지만 내 일이 아니라 그냥 그 구조에 순 oingdaddy.tistory.com 이 구조일 경우 ctrl + shift + r (Open Resource) 을 눌러서 필요한 파일을 찾으려고 하면 다음과 같이 세개의 파일이 검색되어 아주 불편하다. 이 St..