oingdaddy의 등록된 링크

키자드에 등록된 총 280개의 포스트를 확인하실 수 있습니다.

Tistory

Jenkins (Hudson) 재밌는 기능

엄청 고인물일수도 있는데... 잠도 안오고 해서... Jenkins에 처음 접속하면 위와 같이 온화한 Jenkins아저씨가 반겨준다. 하지만! plugin manager에서 emotion 이라고 검색을 해보면 emotional-jenkins-plugin..

Tistory

MyBatis The content of elements must consist of well-formed character data or markup 오류 조치

개발을 하고 was를 기동할때 아래와 같은 메세지를 만날 수 있다. Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [C:\oingdaddy\target\classes\~\oingServic..

Tistory

Nexus settings.xml 파일 없이 3rd party library 가져오기 (mirror & repositories)

프로젝트를 하다 보면 3rd party library를 사용할 일이 빈번하게 있다. 이를 Nexus에 등록하는 과정은 지난번에 다룬적이 있다. (궁금하다면 이곳을 참조하도록 하자.) 지난번에는 등록하는 과정이었다면 이제는..

Tistory

spring properties 파일 yaml 파일로 변경하기

Spring이 고도화되면서 점차 properties 파일은 사용되지 않고 yaml 파일을 사용하고 있다. 써보면 yaml 이 좋은점이라고 생각되는 점이 첫번째로는 가독성이 더 좋고 두번째로는 spring profiles 적용시 하나의..

Tistory

Springboot Batch Jar 파일 생성 및 실행

Springboot 환경이 보편화가 되고 많은 부분들이 편해졌고 필자는 Batch가 엄청나게 편해진것 같다. 많이 사용해서 그런것 같다. 왜 Springboot Batch가 좋은지에 대해서는 이 글에서 다룬적이 있다. 그리고 빌드..

Tistory

Windows10 에 gitlab 대신 gogs 설치하기, 그리고 간단 사용법

Windows 환경에 임시 개발환경을 구성해야 할 일이 생겼다. SCM(Source Code Management) 으로 git을 사용하고 자체 호스팅 git 서비스로 무엇을 쓸까 고민을 했다. linux에서는 gitlab을 쉽게 설치해서 사용을..

Tistory

STS 다운로드 및 설치방법

STS(Spring Tool Suite)는 이클립스 (or visual studio code or theai) 기반의 스프링에 최적화된 IDE이다. java로 프로젝트 하는 곳에서 Spring을 사용하지 않는 곳이 없으니 이 STS도 개발환경 구성의 필수 요소..

Tistory

gogs 기본 사용법 및 권한관리 방법

지난번에는 gogs라는 자체 호스팅 git 서비스를 설치해 보았고 프로젝트를 만들어 보는것을 포스팅하였다. 이번시간에는 gogs를 어떻게 사용하는지에 대해서 알아보도록 하겠다. 결론부터 얘기를 하자면 gitlab을..

Tistory

Springboot Static Resource 공통화 하기

프로젝트에서 같은 성격의 여러개의 UI 서버가 생기게 되었다. 여러개의 UI 서버지만 UI 단의 공통은 하나로 가져가야 한다. 그래야지 n번의 재작업을 하지 않을테니까.. 공통화 하려고 하는 항목은 static resou..

Tistory

Nexus에 maven project deploy 시 Access denied to xxx.jar. 401, Unauthorized 오류 조치

Maven project를 deploy 하는 과정에서 다음과 같은 오류가 발생할 수 있다. [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------..

Tistory

MinIO Object name contains unsupported characters 오류 조치

MinioClient를 통해 putObject를 하는 과정에서 다음과 같은 오류가 발생하였다. io.minio.errors.ErrorResponseException: Object name contains unsupported characters. at io.minio.MinioClient.executeReq(Mi..

Tistory

RestTemplate에서 OpenFeign으로의 전환 및 사용법

그동안 잘 사용하고 있던 RestTemplate이 곧 Deprecated가 된다고 한다. 그렇다고 못쓰는건 아니다. NOTE: As of 5.0 this class is in maintenance mode, with only minor requests for changes and bugs to be..

Tistory

Spring Custom ArgumentResolver 만들기 초간단 예제

Spring을 사용하면서 ArgumentResolver라는것을 한번은 들어봤을 것이다. 이것은 Servlet 과 Controller 사이에서 전달되어진 값을 가공하거나 추가할 필요가 있을때 사용한다. AOP와 같이 중복 코드를 제거하는데..

Tistory

Spring Custom ReturnValueHandler 만들기 초간단 예제

지난번에는 Custom ArgumentResolver를 만드는 예제를 해봤다. 이전에 다뤘던 ArgumentResolver가 Controller에 들어오는 파라미터를 가공 및 추가를 하는데 사용되었다면, RetunValueHandler는 리턴 타입으로 판..

Tistory

[Spring Batch] Chunk Example (DB to File, Springboot based)

일전에 springboot base에서 File to DB Spring Batch 에 대한 예제를 포스팅했었다. 이번에는 DB to File Spring Batch에 대한 예제를 살펴보도록 하겠다. 대략적인 시나리오는 DB로부터 내용을 읽어서(JdbcCurso..

Tistory

Springboot에서 MyBatis 설정을 application.yml 으로 하기

MyBatis 진영에서 MyBatis-Spring-Boot-Starter 라는것을 내놓았다. 아니.. 나만 몰랐던것 같다. 누군가가 작성한 샘플을보니 mybatis-config.xml (MyBatis 설정파일) 파일에 보통 있어야 할 내용들이 없는데도 있..

Tistory

Docker 환경에서 MSSQL 설치 및 기본설정하기

빠르게 MSSQL 환경을 구성해야 할 일이 생겼다. Docker가 있어서 이제 이런건 정말 간단하게 해결할 수 있다. Docker를 설치하는것은 이 글을 참조하도록 하자. Docker Windows 에 설치하기 지난번에는 linux 환경..

Tistory

415 unsupported media type 오류 조치

API 통신을 할때 json으로 메세지를 보내면 다음과 같은 오류를 자주 접할 수 있다. 바로 Content Type이 맞지 않는다는 메세지이다. 위와 같이 message가 application/json not supported면 요청을 보낼 때 Head..

Tistory

No converter found for return value of type 오류 조치

[WARN ][o.s.w.s.m.s.DefaultHandlerExceptionResolver.logException:line199] - Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:..

Tistory

spring-boot-starter, parent 로 dependency 관리하기

springboot에 대해 이론적으로 열심히 공부를 해보지는 않았지만 사용해보면서 기존 spring과 가장 많이 다르다고 느낀점은 크게 두가지가 있다. 하나는 embedded was를 사용하여 간단히 구동을 시켜볼 수 있다(St..

Tistory

Eclipse (STS) JVM is not suitable for this product 오류 조치

Eclipse(STS)를 구동시킬때 openjdk 11을 사용하다가 어떠한 이유로 jdk 1.8을 사용해야 할 일이 생겼다. 그래서 SpringToolSuite4.ini (eclipse.ini) 파일에서 vm을 jdk 1.8 이 설치된 위치로 변경시키고 기동을..

Tistory

Eclipse version 별 호환 JDK version 정리

개발환경을 구성해야 하는 입장에서 Eclipse와 JDK의 호환성 여부는 꼭 알고 있어야 한다. 한동안 jdk version 8에 머물고 있어서 편했는데 이제 또 챙겨야 하는 시점이 왔다. eclipse version jdk version Eclips..

Tistory

Eclipse에서 Git Pull 할때 충돌 간단히 해결하기

이클립스에서 git을 사용하면 여러가지 문제와 직면하게 된다. 그중 가장 골치가 아픈것이 충돌(Conflict) 문제인데 이에 대해 간단하게 해결하는 방법에 대해 소개하고자 한다. Pull Conflict pull 을 받고 comm..

Tistory

Springboot에서 API Docs (Springdoc) 사용하는 방법 (1)

지난번에 JavaDoc이라던지 JSDoc을 사용하는 방법에 대해서 다룬적이 있었다. 이와 마찬가지 맥락으로 API Docs을 생성하는 방법도 있다. MSA가 유행을 하며 이로 구성된 시스템은 수많은 API Service를 관리해야..

Tistory

Springboot에서 API Docs (Springdoc) 사용하는 방법 (2)

지난 시간에는 Springdoc을 사용하는 한 사이클에 대해서 봤다면 이번시간에는 어떻게 상세하게 내가 원하는대로 설정을 할 수 있는지에 대해서 알아보겠다. OpenAPI 설정 지난시간에 application.yml 파일에 spri..

Tistory

Openfeign 사용시 IllegalStateException: Method has too many Body parameters 오류 조치

spring cloud openfeign 을 사용하는데 오류가 발생하였다. Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract byte[] com.example.demo.testFeign.encryption(..

Tistory

Spring cloud 사용시 ClassNotFoundException: org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata 오류 조치

spring cloud openfeign 을 사용하기 위해 관련 dependency를 넣고 springboot 기동을 했는데 아래와 같은 오류가 발생했다. Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.pro..

Tistory

Java에서 File to MultipartFile , MultipartFile to File 변환하기

File과 관련된 백엔드단 테스트가 필요한 경우가 종종 있다. File을 MultipartFile 형식으로 바꾸어서 처리를 해줘야 하는 경우가 있는데 어떻게 해야 하는지 난감하다. 그럴때는 아래와 같은 로직을 추가함으로써..

Tistory

MyBatis Mapping 방식 (Query ID vs Interface)

MyBatis를 활용해서 여러가지 프로젝트를 하다보면 같은 MyBatis인데도 다른 경우가 있다. 바로 제목에 나온것처럼 Mapping 방식의 차이가 있을수 있기 때문이다. Query ID Mapping 방식 vs Mapper Interface 방식..

Tistory

Eclipse 주석 설정 (with Code Template)

Eclipse를 사용하며 주석을 설정하는 방법에 대해 알아보자. 위와 같이 아무 클래스 선언부 위에 /** 라고 입력하고 엔터를 쳐보자. 그럼 우측과 같이 @author 가 나오면서 주석을 입력할 수 있는 공간이 생긴다...

Tistory

Tomcat 기동시 The specified Tomcat installation directory does not exist 오류

이클립스에서 Tomcat을 기동시 The specified Tomcat installation directory does not exist 오류가 발생하는 경우가 있다. 오류의 원인은 명확하다. Tomcat이 설치된 위치를 못찾는것이다. 해결방법 이클립스..

Tistory

Eclipse 에서 JavaDoc 생성하기

JavaDoc은 자바 소스를 문서화를 하는 방법을 말한다. 개발 표준을 잡거나 인수인계 등등의 작업을 할때 JavaDoc을 생성하여 배포하기도 한다. 어떻게 JavaDoc 을 생성하는지 살펴보자. /** * Boot Class * * * Co..

Tistory

JavaScript를 JavaDoc처럼 생성해주는 JSDoc 설치 및 사용방법

Eclipse에서 Java 파일들에 대해 JavaDoc을 생성하는 방법은 지난 포스팅에서 살펴보았다. 하지만 이건 말그대로 Java 파일들에 대해서 할 수 있다. JavaScript라서 혹시 되나 해봤는데 역시 안된다. 하지만 역시..

Tistory

Spring에서 h2 database 간단 사용법

이전에 springboot와 hsqldb를 연동해서 간단히 프로토타입을 만들기 위한 준비를 했었다. Springboot + embedded hsqldb 로 간단히 샘플 프로젝트 만들기 springboot는 이게 정말 왜 되지? 할 정도로 내장되어 있..

Tistory

Eclipse Java properties 파일 한글 깨짐 현상 조치

한글은 위대하지만 우리나라가 IT 업계를 선도하지 못해서 우리나라 개발자는 이런 인코딩과 관련된 문제를 많이 겪고 있다. 인코딩에 관련된 공수만 아꼈어도 더욱 발전된 우리나라 IT의 모습이 있었을것 같다...

Tistory

Spring Validation Message properties 파일을 통해 관리하기

들어오는 Data에 대한 검증은 어디에서나 필요하다. @Data public class MemberDto { @NotNull(message="name must not be null") private String name; ... 후략 ... } 위와 같은 방식으로 DTO에 message를 하드..

Tistory

Jenkins 권한관리 KeyCloak 연동해서 하기 (2) : openid-connect

지난 포스팅으로로 Jenkins 권한관리를 KeyCloak과 연동해서 하는 방법에 대해 다뤘었는데 이것만으로는 성에 차지 않을 수 있다. 왜냐면 글로벌한 설정이기 때문이다. 대형 프로젝트 같은것을 하는 경우 각 파트..

Tistory

maven project pom.xml : unknown error line 1 오류

잘 되던 어플리케이션이었는데 오랫만에 보니 갑자기 pom.xml 에 오류가 떠있다. x 표시 위에 마우스를 올려봐도 아무런 힌트도 안나오고 무작정 알수 없는 에러란다. Overview를 봐도 마찬가지고 problem을 봐..

Tistory

Jenkins로 Windows 서버에 자동배포하는 모든과정

지금은 거의 사용되지 않는(아직도 많이 사용할수도 있겠지만..) Jenkins + Ant + SVN + Windows서버 조합으로 자동배포하는 포스팅을 하려고 한다. Hudson이 껴있었으면 딱 again 2010년쯤 유행했던 기술셋인거..

Tistory

KeyCloak OAuth2를 활용해서 SSO 로그인 하기 (google)

KeyCloak은 쓰면 쓸수록 매력적인 솔루션인것 같다. 잘 다룰줄만 알면 인증, 권한 관련해서는 어느정도 경지에 오를수도 있을것 같다는 생각이 든다. 요즘같이 OSS가 각광받는 시대에는 꼭 알고 있어야 할 OSS라고..

Tistory

JasperException : security/tags cannot be resolved in either web.xml or the jar files deployed with this application 오류

Spring Security tag를 사용하다 보면 이런 오류가 발생하는것을 볼 수 있다. [ERROR][o.a.c.c.C.[.[.[.[dispatcherServlet].log:line175] - Servlet.service() for servlet [dispatcherServlet] in context with..

Tistory

Springboot 에서 @ComponentScan 설정 및 사용법

이전 Xml Config 방식에서 ComponentScan을 사용하는 방법은 다음과 같았다. applicationContext를 구성할때 이렇게 명시적으로 내가 읽어들여야하는 component들이 있는 package를 넣어줬다. 하지만 Springboot에..

Tistory

KeyCloak Session, Token Timeout 설정하기

Keycloak을 사용하면 세션, 쿠키 및 토큰 시간 제한을 자유롭게 설정할 수 있다. 설정방법에 대해 알아보자. 전역설정 (Realm 단위) KeyCloak Session, Token에 대한 Timeout 설정은 Realm Settings > Tokens 에..

Tistory

Logback include 사용하여 가독성 높이기

필자는 일단 이 글을 쓰면서도 이 include를 사용하여 가독성을 높이는게 더 나은 방법일까? 라는 의문을 계속 가지고 있다. 답은 어느정도 정해져있다. 내가 관리를 할때 파일을 여러개로 쪼개서 가독성을 높이는..

Tistory

Logback 출력 로그 색상 변경하기 (with clr)

중요한 일은 아니지만 개발환경을 만드는 입장에서 어떻게 하면 조금 더 로그를 가독성이 좋게 보여줄 수 있을까 고민을 했고 출력 로그의 색상을 바꿔보기로 하였다. 바쁜 사람을 위해 결론부터 말하면 색상을 변..

Tistory

윈도우 공유폴더(파일서버) 로그아웃 방법

A라는 공유폴더에 E라는 계정으로 붙어 있는데 F라는 계정으로 변경을 해야 하는 상황이다. 이럴 경우 로그아웃을 하고 새로운 계정으로 로그인을 해야 하는 방법에 대해 기술한다. 윈도우의 검색 > cmd 라고 입..

Tistory

Linux (CentOS) Service 등록하기 및 재기동시 자동 실행하기

linux의 실행파일이 자주 사용되어지고 또 재기동시 자동으로 시작되어야 한다면 실행파일을 Service에 등록을 하고 사용한다. Systemd를 통해서 Service를 등록할수도 관리할수도 있다. 이 모든 작업을 할때는 ro..

Tistory

MinIO Distributed mode (Cluster) 구성하기

MinIO는 고가용성을 확보하기 위해 Distributed mode를 지원한다. 그래서 운영환경에서 MinIO를 사용하기 위해서는 Distributed mode가 필요하다. 이를 구성하기 위해 별다른 복잡한 기술이 필요한게 아니라 기존..

Tistory

Windows 10 에서 Redis 암호 설정

Redis를 설치하고 redis-cli 에서 다음과 같이 test를 했었다. 이 뿐만 아니라 get yellow 이런식으로 값을 부르면 다 가지고 온다. 여기에 암호를 설정해 보자. Redis는 접근제한을 두가지 방법으로 할 수 있는..

Tistory

Spring Security CORS 설정하기

예전에 CORS(Cross-Origin Resource Sharing)를 filter를 사용해서 설정하는것에 대해 포스팅을 한적이 있다. Spring Security를 사용하면 이렇게 별도의 filter를 만들지 않고 간단하게 CORS 설정을 할 수 있다...

Tistory

Jenkins 로그인 KeyCloak으로 하기

프로젝트를 관리하다보면 여러개의 솔루션을 각각 계정관리를 해야 하는데 KeyCloak을 사용하면 어느정도 통합해서 관리를 할 수 있다. Jenkins도 KeyCloak을 통해서 통합로그인을 할 수 있다. 기본적으로 Jenkins..

Tistory

Jenkins 권한관리 KeyCloak 연동해서 하기 (1)

지난 포스팅에서는 Jenkins를 KeyCloak을 이용해서 로그인하는 방법에 대해서 알아보았다. 단순 로그인만 통합로그인으로 하는것에서 그치지 않고 이번에는 KeyCloak의 권한(ROLE)에 따라 Jenkins의 사용권한을 통..

Tistory

Jenkins Window 10에 설치하기

Jenkins에 대한 주제를 많이 다루면서 설치하는 방법에 대해서는 포스팅을 안했었다니... 마침 새로운 PC에 Jenkins를 설치할 일이 있어서 겸사겸사 포스팅도 해본다. Jenkins download and deployment Jenkins –..

Tistory

Jenkins 문제 생겼을때 설정파일 직접 수정하기 (설치파일 경로 포함)

Jenkins와 KeyCloak을 openid 방식으로 연결을 하다가 로그인이 안되고 KeyCloak 오류화면으로 리다이렉트 되는 현상이 발생을 했다. http://localhost:8180/auth/realms/Oingdaddy/protocol/openid-connect/auth?..

Tistory

IntelliJ 처음 사용해본 아주 짧은 후기

SI 업계에서 IntelliJ를 사용하는곳은 극히 드물다. 왜냐!? 모든것을 다 비용으로 생각하고 비용을 줄이고 줄이고 줄여서 이윤을 가장 많이 남기는것이 가장 잘 한다고 칭찬을 받는게 이 업의 특징이기 때문이다...

Tistory

Slack workspace 생성 및 기본 사용법

기업에서 slack을 사용하는곳이 점차 늘고 있다. 사용을 해보니 장점은 별도의 프로그램을 설치하지 않고 web에서 바로 실행시킬수도 있고 여기에서 채팅을 할때 사진이나 엑셀의 표, 파일등 여러가지 형태의 컨텐..

Tistory

Jenkins와 Slack 연동하기 - 빌드결과 알림받는 방법

Jenkins의 다양한 기능중 이번에는 Slack과 연동해서 배포 실패 시 또는 배치 수행중 문제가 생겼을 경우 알림을 보내주는 기능에 대해 알아보겠다. 내가 직접 Jenkins에서 빌드 버튼을 눌러서 실패를 하는 경우에..

Tistory

JWT payload (claims, body) 부 암호화 및 복호화 방법

JWT를 사용하는것 자체가 암호화된 json 문자열로 전송을 하는건데 무슨 암호화 및 복호화를 또 하느냐!? 암호화가 된다 하더라도 jwt.io 에서 알고리즘만 알고 있다면 다시 복호화된 값으로 볼수 있다. 그래서 보..

Tistory

Jenkins에서 Git Publisher 사용시 returned status code 128 오류

Jenkins에서 빌드한 산출물에 대해 Tagging을 하기 위해 Git Publisher를 사용한다. 하지만 Tagging을 할때 아래와 같은 오류가 발생하며 Jenkins Job이 실패를 했다. using credential gitlab_build > git tag -..

Tistory

Spring properties 사용시 UnsatisfiedDependencyException: Could not resolve placeholder 오류 조치

Spring을 사용하면서 외부 설정 파일(properties or yml)은 필수적으로 사용된다. 하지만 이를 읽어오지 못하는 문제는 자주 직면하게 된다. 예를 들면 다음과 같은 오류다. org.springframework.beans.factory.Un..

Tistory

AES256 암호화 적용시 Invalid AES key length 오류 조치

JWT payload (claims, body) 부 암호화 및 복호화 방법 JWT를 사용하는것 자체가 암호화된 json 문자열로 전송을 하는건데 무슨 암호화 및 복호화를 또 하느냐!? 암호화가 된다 하더라도 jwt.io 에서 알고리즘만..

Tistory

Jenkins REST API 호출로 Job 생성/실행/결과조회 하기

Jenkins의 기능은 무궁무진한것 같다. 아직 빙산의 일각밖에 모른다는 생각도 든다. 이번에 포스팅할 내용은 Jenkins에서 제공하는 REST API를 사용해 Jenkins의 Job을 생성, 실행, 삭제, 결과조회 등을 해보는 것..

Tistory

ORA-01775 : 동의어가 순환 고리 유형으로 정의되어 있습니다 (looping chain of synonyms) 오류 조치

종종 application을 기동하다 보면 볼수 있는 오류다. 원인 바라보고 있는 테이블이 삭제되었거나 테이블에 대한 권한이 없을때 발생 해결책 테이블을 다시 생성하거나 synonym을 drop 후 새로 생성, 아니면 테..

Tistory

Springboot + Redis 연동하는 초간단 샘플 만들어보기

지난 시간에는 간단히 Window 환경에 Redis를 설치해 보았다. Windows 10 환경에 Redis 설치해보기 Monolithic 환경에서 점점 벗어나고 MSA 지향적인 환경으로 변화함에 따라 기존의 세션 방식을 사용하기가 어려..

Tistory

Sonarqube Custom Ruleset 등록 및 특정 프로젝트에만 적용하기

지난 시간에 아래와 같은 과정을 거치면서 Custom Ruleset을 만들었다. Sonarqube Custom Rule 6.7 to 8.5 migration 기존에 Sonarqube 6.7에서 사용하던 Java Custom Ruleset이 있었다. 그런데 Sonarqube를 8.5 v..

Tistory

git push할때 RFC failed; 413 Request Entity Too Large 오류 해결

gitlab에 새로운 프로젝트를 push를 하는데 에러가 난다. RFC failed; 413 Request Entity Too Large 위에는 Request Entity Too Large 라는 오류가 나타나지는 않지만 이 push 를 이클립스에서 해보면 이..

Tistory

Springboot 기동시 The Class-Path manifest attribute 오류

Springboot 기동시 콘솔의 아래와 같은 메세지가 나오고 시작이 정상적으로 되지 않는 경우가 있다. The Class-Path manifest attribute in [path]/xxxx.jar referenced one or more files that do not exist 어플..

Tistory

Springboot 기동시 Failed to scan : FileNotFoundException *.jar 오류

프로젝트 변경사항이 있어서 BootApplication.java (springboot main class)의 위치를 변경하였다. 변경하고 나니 다음과 같은 오류가 발생을 했다. WARNING: Failed to scan [file:/C:/Users/tester/.m2/reposito..

Tistory

Windows 10 환경에 Redis 설치해보기

Monolithic 환경에서 점점 벗어나고 MSA 지향적인 환경으로 변화함에 따라 기존의 세션 방식을 사용하기가 어려워졌다. 여러가지 방안이 나왔고 세션을 사용하는 방식 중 가장 많이 쓰이고 있는건 바로 Redis를 활..

Tistory

java.lang.IllegalStateException: No thread-bound request found 오류

XML로 설정되어 있던 spring web application context를 Java Config 로 변환하는 과정에 오류가 발생하였다. java.lang.IllegalStateException: No thread-bound request found: Are you referring to request at..

Tistory

Springboot static resource ERR_ABORTED 404 오류

springboot를 사용해서 web 개발을 하면 초반에 ERR_ABORTED 404를 심상치 않게 만나볼 수 있다. 404는 알다시피 경로에 있는 파일을 못찾는 경우이다. 즉 잘못된 경로를 입력했다는 것이다. 필자의 static resou..

Tistory

spring 프로젝트에서 springboot 프로젝트로 migration 하기 (6) - XML config to JAVA config

spring 프로젝트에서 springboot 프로젝트로 migration 하기 (1) - pom.xml spring 프로젝트에서 springboot 프로젝트로 migration 하기 (2) - web.xml spring 프로젝트에서 springboot 프로젝트로 migration 하기..

Tistory

OpenSSL이란? CentOS 7에 OpenSSL 설치하기 (update)

OpenSSL은 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판이다. C 언어로 작성되어 있는 중심 라이브러리 안에는, 기본적인 암호화 기능 및 여러 유틸리티 함수들이 구현..

Tistory

Spring 설정 Xml Config에서 Java Config로 바꾸는 방법 (요령)

spring 프로젝트에서 springboot 프로젝트로 migration 하기 (6) - XML config to JAVA config spring 프로젝트에서 springboot 프로젝트로 migration 하기 (1) - pom.xml spring 프로젝트에서 springboot 프로젝..

Tistory

Sonarqube Custom Ruleset 정의의 기준 (with 행자부 보안취약점 대응, OWASP top 10 2020)

현 Sonarqube 버전에 맞는 Ruleset을 재정의를 하라는 작업을 받았다. 전에 작성했던 글과 연장선상에 있는 글이다. 새로 나온 수많은 Sonar way를 다 사용할수는 없다. 이중에서 골라서 사용을 해야 한다. 하지만..

Tistory

Eclipse에서 SonarLint 설치 및 사용법

소스의 정적분석을 도와주는 대표적인 솔루션은 Sonarqube이다. 보통은 이 Sonarqube를 서버에 별도로 설치를 하고 소스를 이곳으로 보내 분석을 한다. 그렇기 때문에 개발자는 소스를 모두 deploy하고 Sonarqube..

Tistory

Spring Batch 오류시 exitCode 설정하여 Jenkins에서 실패로 인식하도록 하는 방법

일전에 Spring Batch가 수행을 하다가 실패를 해도 Jenkins에서는 SUCCESS를 찍는 문제가 있다고 글을 쓴적이 있다. Jenkins Log Parser 사용해서 Application 오류 처리하기 엄청나게 편리한 Jenkins이지만 불편..

Tistory

The Project Analysis is in progress 나오며 Ruleset 반영이 되지 않을때

Sonarqube Custom Ruleset 파일을 정의하고 드디어 적용을 하려는 순간이다. 하지만 Restore를 하고 나서 한참을 기다려봐도 아래와 같은 메세지가 상단에 나타나며 적용이 되지 않는다. 분석중이라는데 생각보다..

Tistory

Docker 사설망 접근시 no route to host 오류 해결방법

내부망에 구축된 Docker에 login을 시도했다. 하지만 오류가 발생하였고 다음과 같은 메세지가 나왔다. > Error response from daemon: Get https://docker.privatearea.com/v2/: dial tcp 172.17.xxx.xxx:443: co..

Tistory

SonarLint와 Sonarqube 이클립스에서 연동하는 방법

SonarLint를 설치했다면 SonarLint에서 제공하는 기본 Ruleset만 사용이 가능하다. 개인적으로 사용하며 조금 더 나은 품질을 추구한다면 이렇게 사용해도 되지만 엔터프라이즈 환경에서는 이정도 Ruleset으로는..

Tistory

Scouter 기본 사용법 및 모니터링 항목 구성하기

지난 시간에 scouter 설치와 application과의 연동을 알아보았다. 이제 이렇게 연동된 application과 server에 대한 정보를 가지고 모니터링을 해야 한다. 우선 scouter client를 구성하기 앞서 설정을 할 부분이..

Tistory

Kubernates Pod 생성부터 삭제까지 모든 과정 알아보기 (펌)

Pod 살펴보기 Pod 생성 쿠버네티스의 모든 리소스는 YAML 형태의 선언형 정의서 (declarative description)으로 표현될 수 있습니다. 먼저 다음과 같이 Pod template을 만들어 보겠습니다. --dry-run, -o yaml..

Tistory

Sonarqube Scanner 사용해서 특정 파일만 검사하기 (use inclusions, exclusions)

예전에 Sonarqube와 Jenkins를 연동해서 사용하는법에 대해서 다룬적이 있었다. Jenkins에 Sonarqube 연동하기 Jenkins와 Sonarqube 연동을 하려면 일단 Jenkins와 Sonarqube가 설치가 되어 있어야 한다. 각각의..

Tistory

Eclipse(STS)에 SVN 연결하기 (with SVN Connector 설치)

이클립스(STS)에는 기본적으로 SVN Repository Perspective가 설치되어 있지 않다. 하지만 이클립스에서 SVN을 사용하고 싶을때 다음과 같이 간단하게 구성할수 있다. 이클립스 상단의 Help > Eclipse Marketpla..

Tistory

Spring Security + JWT 인증 초간단 연동 예제

Monolithic Architecture에서 Micro Service Architecture까지는 아니더라도 많은 부분이 API로 분리가 되고 이에 대한 인증의 필요성이 생겼다. Spring Security와 JWT를 이용하면 이런 API 서버간의 인증을 간단..

Tistory

Windows에 SVN 설치 및 설정, 그리고 이클립스에 연결하기

일전에는 linux 환경에 SVN을 설치해보았다. 보통은 linux에 올려놓고 쓰지만 서버가 들어오지 않은 상황에 임시로 잠깐 사용할 용도로 로컬 PC의 Windows에 설치를 해야 했다. linux와 거의 유사하게 설치할 수..

Tistory

SVN 계정별로 프로젝트 접근권한 설정하기

하나의 SVN 저장소에 여러개의 프로젝트가 올라가 있는 경우 각 프로젝트 별로 업무 연관성이 있는 개발자만 접근하여 사용을 해야 하는 상황이다. 이렇게 oingdaddy라는 저장소에 현재 A-project, B-project가..

Tistory

대용량 파일 업로드시 nginx 504 Gateway Time-out 오류 조치

대용량 파일을 업로드할때 업로드하는 시간이 2분을 넘어가자 nginx 504 Gateway Time-out 이 발생하며 안되는 문제가 발생을 하였다. 이것에 대한 원인과 해결책은 다음과 같다. 문제점 : nginx의 기본 timeout..

Tistory

Sonarqube Custom Rule 6.7 to 8.5 migration

기존에 Sonarqube 6.7에서 사용하던 Java Custom Ruleset이 있었다. 그런데 Sonarqube를 8.5 version으로 올리면서 기존의 Custom Rule + Sonarqube 8.5에 추가된 Sonay way를 선별해서 반영해야 한다. 결론부터..

Tistory

Jenkins에서 jacoco.exec 파일 수집하기 (with sshpass)

jacoco를 사용하여 소스코드에 대한 동적 분석을 한 결과물의 이름을 jacoco.exec로 사용하고 있다. 이 파일은 빌드서버인 jenkins가 설치된 곳으로 이동이 되어서 분석이 되어야 한다. jacoco의 분석은 sonarqube..

Tistory

Ant Build (build.xml) 기본 사용법 with Jenkins

Ant Build는 이제는 잘 쓰이지 않지만 종종 maven이나 gradle이 아닌 일반적인 Dynamic Web Project로 프로젝트를 구성하는 경우 사용된다. 일을 하며 많은 시간을 이 Ant Build를 사용했고 그중 가장 일반적인 모..

Tistory

자주쓰는 Kubernates 명령어 정리 (with Docker 명령어)

Kubernates를 사용하며 자주 사용하는 기본명령어 (사실 이것밖에 모른다.)를 그래도 조금 익숙한 Docker 명령어와 비교해서 정리를 해본다. Kubernates 명령어 Docker 명령어 Desc kubectl run eg) kubectl run..

Tistory

Jenkins에서 application log를 tail -f (실시간)로 보기

프로젝트에서는 보통 서버에 들어가서 작업을 할수 있는 사람과 서버에 대한 접근권한이 없는 개발자들이 있다. 개발자들이 개발서버에 어플리케이션을 올렸을때 로그를 확인하고 싶어하는 경우가 있다. 그럴때 매..

Tistory

MyBatis란? 기본설정 및 사용방법

개요 JAVA에서 DB 프로그래밍을 하기 위해서 JDBC가 제공되었다. JDBC는 RDB 사용을 위한 다양한 API를 제공하지만, DB가 방대해지고 각 data간 관계가 복잡해짐에 따라 다수의 메소드를 호출하고 관련 객체를 해..

Tistory

Linux SSH keygen 사용해서 암호 대신 SSH key로 인증하기

A Server에서 B Server로 SSH를 이용하여 파일을 전송하거나 작업을 할 경우가 있다. 가장 대표적인것은 SCP이다. SCP로 이렇게 파일을 전송하려고 했을때 대상서버의 비밀번호를 물어본다. 비밀번호 넣어주고 해..

Tistory

Springboot application.yml 파일의 값 가져오기 (feat. @Value is null)

아주 기본적인건데 삽질을 많이 했다. 나름 spring과 오랜 시간을 보내며 조금 안다고 생각을 했는데 한참 부족한것 같다. 지난번에 Springboot Batch Tasklet에 대해 글을 쓰며 두가지 방식에 소개를 했었는데 이..

Tistory

[MSA 시작 #6] 분산 로그 Tracing (with Sleuth, Zipkin)

MSA로 구성을 하면 어려워지는 기능 중 로그추적 기능이 있다. 기존의 Monolithic 구조에서는 로그 추적을 쉽게 할수 있었는데 app이 분산됨에 따라 어려워졌다. 하지만 훌륭한 로그 추적 솔루션들이 생기기 시작..

Tistory

Jenkins Failed Job Post Build 수행하기 (with Parameterized Trigger)

Jenkins를 사용하다가 실패한 Job에 대해서는 어떻게 처리를 하는게 가장 좋을까 고민을 하고 있다. 전에 다뤘던 pipeline을 사용해서 실패한 job에 대한 처리를 하는 방법도 있지만 이건 pipeline job을 한셋 더..

Tistory

Jenkins Job에서 Job으로 Parameter 전달하기

Parameterized Trigger 를 사용하면 후속 작업을 지정 및 수행할 수 있을뿐만이 아니고 현재 job의 param값, 넘기고 싶은 변수값도 넘겨줄 수 있다. 다음은 bjob에서 cjob으로 param값을 넘기는 예제이다. Paramet..

Tistory

Jenkins Job Build 후에 Multiple Post-Build 수행하기

Parameterized Trigger를 사용하면 다양한 Job간의 연계작업을 할 수 있다. 전에 살펴본대로 후속 job으로 parameter 값도 넘길 수 있고 후속 job으로 여러가지 job 동시에 실행시키는것도 가능하다. Parameterize..

1 2 3