본문 바로가기

프로그래밍46

sonarQube - Field names should comply with a naming convention. code smell - Field names should comply with a naming convention. Sharing some naming conventions is a key point to make it possible for a team to efficiently collaborate. This rule allows to check that field names match a provided regular expression. Noncompliant Code Example With the default regular expression ^[a-z][a-zA-Z0-9]*$: sonarQube 정적분석에 code smell가 떠서 수정중에 있다. 문제 class MyClass { priva.. 2022. 7. 22.
Zuul Exception customize - ERROR 처리하기 Zuul Exception customize - ERROR 처리하기 Zuul에서 예외 상황을 만들고 에러를 던졌더니, 아래와 같이만 나온다. Zuul Error Filter를 활용해서 원하는 방식으로 리턴 값을 만들어 보자 { "timestamp": "2022-07-17T23:16:07.563+00:00", "status": 500, "error": "Internal Server Error" } 1. Zuul sendErrorFilter를 비활성화 먼저 자동으로 구성된 sendErrorFilter를 비활성화 한다. application.yml에 설정하면 된다. zuul: SendErrorFilter: post: disable: true 2. ErrorFilter 를 생성하자 ZuulFilter를 상속 받.. 2022. 7. 18.
Spring boot - HandlerInterceptorAdapter와 zuul Filter 의 사용시 문제 Spring boot - HandlerInterceptorAdapter와 zuul Filter 의 사용시 문제 [문제 발생 내용] Spring boot application에서 HandlerInterceptorAdapter에 들어오는 사용자의 IP를 체크하는 Interceptor를 넣어서 사용중이었다. 이후 Zuul Gateway api 가 필요하게 되어 을 적용했는데, Zuul 필터 구성후 인터셉터가 호출이 안되는것이었다. 좀 더 정확하게 이야기하면, Zuul routes 를 타는 경우에만 인터셉터가 호출이 안된다. [해결 방법] 간단하게 해결이 가능하다, 아래와 같은 Class를 생성해주면 된다. InstantiationAwareBeanPostProcessorAdapter를 상속받고 zuulMappi.. 2022. 7. 15.
Zuul API GATEWAY - 초간단 설정 Zuul API GATEWAY - 초간단 설정 Zuul이 뭐야? Zuul은 Netflix에서 개발한 Gateway 오픈 라이브러리 이다. Gateway 는 뭐야? zuul lib를 이용하여 Gateway 서버를 만들수 있다. ( proxy 서버라고 표현하기도 함. ) MSA 에서 클라이언트에게 분산된 서비스의 단일 진입점 즉, 이는 일종의 출입문 역할을 하며, 뒷단의 API 서버들에게 라우팅 할수 있다. 또한 보안과 인증, 로깅과 같은 횡단 관심사를 각 서비스 마다 적용하려면 힘이 들기때문에 이를 이용하면 편하게 처리할수 있다. 일반적으로 ureka 와 함꼐 사용하며 아래 2장의 그림이 본 것중에 제일 잘 정리된거 같아 퍼왔다. Eureka 서버에 등록된 API 서버들 Ureka 서버에 API 서버들이 .. 2022. 7. 14.
SVN commit 내용을 intellij에서 그대로 patch 하기 SVN commit 내용을 intellij에서 그대로 patch 하기 SVN 에 commit 되어있는 코드를 내 intellij 프로젝트에 그대로 가져와서 패치 하고 싶을때 사용하면 유용하다. [준비물] Totorisesvn, intellij, SVN서버에 commit 코드 1. 가져오고 싶은 프로젝트의 SVN 으로 이동 Totorisesvn - show log 를 클릭한다. 2. 가져오고 싶은 코드를 확인한다. 주의할점 : 연속된 commit의 경우는 멀티라인 (Ctrl 키+ 마우크 왼쪽클릭) 으로 선택해서 되지만, commit의 순서가 떨어져 있는 경우는 show differences as unified diff 가 나오지 않으니, 각각 파일을 생성해야한다. > show differences as u.. 2022. 7. 7.
LINUX SHELL - 로그 특정 문자 발생시 telegram 알림처리 LINUX SHELL - 로그 특정 문자 발생시 telegram 알림처리 서버를 운영하다보면 단순하게 서버 어플리케이션에 에러로그가 찍히고 문제 상황이 발생하는 경우도 있지만, 그렇지 않은 경우도 있다. 문제 발생 / 조치 계획 로그상의 특정 패턴의 문자열이 중복으로 발생시 에러 라고 판단해야 함. 모니터링이 필요하다. sh 파일로 작성 후 crontab 에 등록. 상황 발생시 텔레그램으로 알림 처리. 로그명 : /APP/logs/2022-07-04/application.2022-07-04.log uniqNo의 값이 중복으로 찍히면 에러 상황 판단하고, 이를 모니터링 하고 싶다. [07-04 09:20:52.099] INFO [TCP Connection(4)-xxx.xx.12.xx] [applicatio.. 2022. 7. 4.