oingdaddy의 등록된 링크

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

Tistory

Spring Batch 특정 Job만 실행하기

Spring Batch 환경을 구성할때 Job이 여러개 있고 이것을 실행시켰을때 어떤 결과가 나올까? 정답은 "모든 Batch Job이 실행이 된다. " 이다. 내가 만든 Job 중 특정 Job만 실행을 시키고 싶다면 어떻게 해야 할..

Tistory

Spring Batch 실행시 발생하는 여러가지 에러 모음

A bean with that name has already been defined ~ 관련 오류 *************************** APPLICATION FAILED TO START *************************** Description: The bean 'sampleChunkJob', defined in clas..

Tistory

[Springboot Batch] Chunk Example (File to DB, JAVA Config)

Spring Framework의 개발환경이 Springboot 기반으로 변함에 따라 Spring Batch의 개발방식도 이전과는 많이 달라졌다. 필자가 전에 쓴 Spring Batch에 관한 글은 Springboot 기반이 아니라서 Batch Job을 작성하..

Tistory

[Springboot Batch] Listener Example (Job, Step)

지난 글에서 다뤘던 Springboot Batch Chunk Example에서 소스들을 살펴 볼때 Listener도 살짝 나왔다. 우리가 정의한 Job이나 Step 실행 전 후로 필요한 공통 작업을 기술하기 위해 주로 사용되며 사용된다. 이..

Tistory

[Springboot Batch] Tasklet Example (JAVA Config)

Chunk 방식은 정형화된 방식이라면 Tasklet 방식은 비교적 자유로운 방식이다. 따라서 실제로 batch를 사용할때 적어도 내가 경험해본 프로젝트에서는 Tasklet 방식을 훨씬 선호하였다. 이것도 Chunk와 마찬가지로..

Tistory

[Springboot Batch] Parallel(병렬처리) Example (Chunk, Tasklet)

지난 포스팅으로 Chunk 방식과 Tasklet 방식의 Spring Batch에 대해 알아보았다. 이제는 이 방식을 조금 응용하여 이를 병렬처리하는 방법에 대해 알아보겠다. Chunk와 Tasklet과 마찬가지로 이것도 매우 직관적이..

Tistory

[Springboot Batch] Skip/Retry Simple Example (JAVA Config)

Spring Batch의 기본적인 기능들을 지난 포스팅들을 통해 알아보았다. 이번에 알아볼 Skip/Retry도 Spring Batch에서는 기본적으로 제공을 하는 기능이다. 간단한 예제를 통해서 알아보자. us-500.csv (웹에서 쉽..

Tistory

Minio Unable to initialize config system: Invalid credentials

Minio를 이것저것 설정하고 되랏! 하며 기동을 시키면 다음과 같이 오류가 나는 경우가 있다. Unable to initialize server switching into safe-mode: Unable to initialize sub-systems: Unable to initialize..

Tistory

Linux Server to Server 파일 전송간편하게 하는법(with scp)

A, B라는 서버가 있고 A라는 서버의 특정 폴더를 B서버로 옮기고 싶을때 사용하는 방법이다. A라는 서버에서 FTP로 파일을 받아서 그걸 B서버에 전송을 해줄수도 있지만 SCP를 이용하면 훨씬 간편하게 진행할 수..

Tistory

Windows10에 RabbitMQ 빠르게 설치하기 (with Erlang), 그리고 RabbitMQ management 띄우기

MSA 프로젝트를 준비하며 여러가지 준비사항이 있지만 느슨한 결합을 위해 MQ (Message Queue) 가 필요하다. 여러가지 이런 메세징 기능이 있는 툴이 있지만 RabbitMQ를 일단 사용해보려한다. 어떻게 설치하는지..

Tistory

Springboot + RabbitMQ 연동 및 초간단 샘플 프로젝트 만들기

지난 포스팅으로 RabbitMQ를 설치하는 방법에 대해서 알아보았다. 이 설치한 RabbitMQ와 management를 띄워놓고 Springboot를 연동하여 비동기통신을 하는 간단한 샘플을 만들어보자. 설치에 앞서 간단한 개념을..

Tistory

Docker image tagging 해서 Docker Hub에 push하기

Docker image를 빌드하고 다음에 또 사용하고 싶은 경우가 있다. 그럴때 어떻게 하는지에 대해서 알아보자. 사전준비 일단 빌드를 하는 과정은 건너뛰고 간단하게 보여주기 위해 아무거나 Docker Hub로 pull을 받..

Tistory

docker-compose 설치 및 yml 작성, 명령어 (with WordPress)

docker-compose는 조금 더 docker를 편하게 사용할수 있도록 해주는 도구이다. Docker 플러그인 같은 개념이라고 생각하면 이해가 편하다. 근데 뭘 조금 더 편하게 해줄까? docker에서 수행되는 일련의 작업(eg. b..

Tistory

Kubernates 초간단 설치 (CentOS7, Windows10)

IT 기술이 급변하면서 많은 회사들이 이를 따라가기 위해 열심히 노력을 하고 있다. (아닌곳도 있고..) 필자는 아키텍트 직군이다. 아키텍트도 일반적으로 여러 기준(TA, AA, SA, DA 등등)으로 나뉘어져 있는데 Ku..

Tistory

CSV 파일 Univocity Parsers 이용해 간단히 파싱하기

CSV파일은 지금은 많이 안쓰이지만 그래도 종종 사용이 된다. 여러가지 OSS가 이를 지원해주고 있지만 그중 간단하게 CSV파일을 파싱할 수 있는 방법을 소개한다. 일단 univocity-parsers dependency 추가가 필요..

Tistory

Springboot + embedded hsqldb 로 간단히 샘플 프로젝트 만들기

springboot는 이게 정말 왜 되지? 할 정도로 내장되어 있는 편리한 기능들이 많이 있다. 이번에 소개할 내용도 그렇다. 내부 로직을 까보지 않아서 정확한 동작원리는 파악하지 못했지만 그래도 급하게 DB 연동해..

Tistory

Jenkins Log Parser 사용해서 Application 오류 처리하기

엄청나게 편리한 Jenkins이지만 불편한점도 있다. 예를 들자면 Jenkins를 이용해 batch를 처리할때 분명 batch job은 내가 원하는대로 수행되지 않고 Error가 발생했는데 Jenkins job은 이를 Success 처리를 하는..

Tistory

Jenkins 현재 실행한 Job 결과값 가지고 와서 분기처리하기 (with Pipeline)

Pipeline으로 Job을 실행하고 실행결과에 따라 분기처리를 하고 싶은 경우가 생겼다. 예를 들면 a라는 job이 실행이 되었고 이 job이 성공을 하면 b라는 job을 수행하고 실패를 하면 c라는 job을 수행하도록 하고..

Tistory

[MSA 시작 #2] Service Discovery (Eureka) Server, Client 간단하게 구성해보기

Monolitic 어플리케이션을 여러개의 서비스로 나누다 보니 서비스도 많아지고 그에 따라 인스턴스의 개수도 엄청나게 늘어난다. 또한 오토스케일링 기술을 사용하며 동적으로 ip가 바뀌기도 한다. 그래서 기존과..

Tistory

[MSA 시작 #3] Spring Cloud Netflix Zuul 을 이용해 API Gateway 구성해보기

지난 시간에 Eureka Server와 Eureka Client를 구성해 봄으로써 Service Registry, Discovery에 대해서 알아보았다. MSA처럼 여러개의 API Service 들을 생성하고 그것을 Eureka에 regist까지 해봤다. 이제 이 Eur..

Tistory

Eureka application.properties Configuration 번역

Eureka를 사용하면서 application.properties (application.yml) 에서 설정값에 대한 공부를 자세히 하고싶은데 자료를 찾는것이 쉽지 않다. 대부분의 포스팅은 매번 사용하는 비슷한 설정만 사용하고 그 외의 자..

Tistory

Zuul application.properties Configuration 번역

하는김에 Eureka application.properties Configuration 번역에 이어 Zuul도 해놓으려고 한다. 번역의 정확도는 구글 번역에 문의를 해보길.. Name default Desc zuul.add-host-header false 프록시가 호스트 헤더..

Tistory

[MSA 시작 #4] Spring Cloud Config + Github 을 이용한 설정 변경 동적으로 반영하기

MSA를 하면 당연히 어플리케이션 개수가 많아지고 그에 따라 어플리케이션마다 있는 설정 파일도 많아진다. 이렇게 되면 관리의 어려움이 생기고 이번에도 이런 관리의 어려움을 해결해주기 위해 Spring Cloud 형..

Tistory

springboot 기동 후 바로 종료되는 에러 [extShutdownHook] s.c.a.AnnotationConfigApplicationContext 해결방법

springboot application을 기동하니 기동하자마자 로그 몇줄 찍히고는 바로 terminated 상태가 되어버린다. 오류도 나오지 않는다.. logging.level을 debug로 내리니 그래도 몇줄 더 보인다. 그리고 맨 마지막에는..

Tistory

[MSA 시작 #5] Netflix Hystrix를 이용한 Circuit Breaker 쉽게 구현하기

현재까지 Service Discovery, API Gateway, Configuration Externalization 등을 통해 MSA 수박 겉을 핥아보고 있다. 간단하게 현재까지 이런저런 기능을 구현했었는데 장애가 발생하는 경우에 대해서는 다룬적이..

Tistory

Apache JMeter 설치부터 간단한 테스트까지 해보기

성능테스트를 하는 방법은 여러가지가 있지만 가장 간단하게 할수 있는 도구중 하나인 Apache JMeter에 대해 알아보자. Apache JMeter는 오픈 소스 소프트웨어로 무료로 사용할 수 있고 JAVA Application이다. 설..

Tistory

[MSA] Hystrix Dashboard + Turbine 이용해서 Hystrix 모니터링 환경 구성하기

Hystrix가 무엇인가? 에 대한 내용은 지난 시간에 다루었다. 열심히 이 method, 저 method에 @HystirxCommand를 달아 놓고 이게 잘 동작하고 있는지 직접 확인을 하는건 작은 프로젝트에서는 가능할지 몰라도 서비..

Tistory

1분만에 Windows에 nginx 설치하기

세션 클러스터링 관련 테스트를 해야 할 일이 생겼다. 이런 테스트를 하기 위해 서버 환경과 비슷하게 web 서버를 설치해야 했다. web 서버로 선택한것은 nginx. 내 로컬 윈도우에 설치를 해보자. nginx: download..

Tistory

[nginx 기초] was 연결 및 http 로드밸런싱 설정하기 (초간단)

지난번에 간단하게 nginx 설치를 해봤다. 설치를 했으면 써먹어보자. 일단은 was와 연동을 하는 작업을 해보자. 보통은 web-was 연동을 해서 was라고 표현을 했지 프록시 서버 역할을 할거라 연결할 수 있는 무엇..

Tistory

Springboot embedded tomcat Session Clustering (JAVA config)

springboot는 내장 톰캣을 사용하기에 server.xml 이라던지 context.xml 등등의 xml 설정파일이 없다. 하지만 이런 설정파일을 java config로 대체할 수 있다. 기존에 server.xml 에서 tomcat 간 session clusteri..

Tistory

WAS 이중화에 따른 Tomcat Session Clustering

Springboot 내장 톰캣을 사용할때 session clustering에 대해서 글을 썼는데 역순으로 글을 쓰는것 같다. 이 글을 쓸때 이미 구성되어 있는 Tomcat server.xml 의 clustering 부분을 가져다가 썼는데 그것에 대해..

Tistory

Tomcat 기동시 메모리 부족(Out of Memory Error) 관련 오류 해결방법

tomcat을 사용하다보면 종종 다음과 같은 오류가 발생한다. # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 134217728 bytes f..

Tistory

Ant build 시 error : unmappable character for encoding UTF-8 해결방법

오래된 프로젝트의 배포환경을 구성해달라는 요청을 받았다. ant 로 빌드스크립트를 작성하고 빌드를 수행했는데 다음과 같은 오류메세지가 나오면서 빌드가 정상적으로 되지 않았다. build-project: [javac] Comp..

Tistory

FFmpeg 사용하여 동영상 해상도별, 시간별, 병렬처리 인코딩 테스트

FHD (1920*1080) 영상을 FFmpeg을 이용하여 여러가지 사이즈의 동영상으로 인코딩을 해 보았다. 그리고 아주 적은 표본이긴 하지만 대략적인 테스트한 결과를 적어본다. 테스트 환경 CPU (2Core) : Intel Xeon Sil..

Tistory

[MSA 시작 #1] MSA 개념 아주 쉽게 이해하기

MSA (Micro Service Architecture) 가 이쪽 업계에서는 아주 뜨겁다. JD를 봐도 MSA 경험자 찾는 회사들이 엄청나게 많아진걸 보면 대세가 되어가고 있는듯 하다. 조금 공부를 해보니 그렇게 될 수밖에 없는듯 하..

Tistory

No marketplace entries found to handle maven-compiler-plugin:3.8.1:compile in Eclipse. 오류

이클립스에서 Maven project를 import를 하면 다음과 같이 No marketplace entries found to handle maven-compiler-plugin:3.8.1:compile in Eclipse. 오류가 발생을 하는 경우가 있다. 이것은 필자의 경우는 ST..

Tistory

CentOS (linux) 에 MinIO (Object Storage) 설치하기

예전에 파일 업로드를 위한 서버를 구성을 한적이 있었다. 들어온 요청(파일)을 특정 경로에 저장시켜주는 역할을 하는 하나의 JSP 파일을 가진 초간단 파일 업로드 서버였다. 이정도 역할만 해주면 되어서 더이..

Tistory

MSSQL에서 DataType Issue 성능개선 (VARCHAR type의 NVARCHAR type으로의 형변환 문제)

성능테스트를 할때 이슈가 발생을 하였다. 성능이 생각만큼 나오지 않아서 원인을 찾다가 한가지 흥미로운 사실을 발견했다. MSSQL은 DataType에 따라서 우선순위가 존재하는데 NVARCHAR가 VARCHAR보다 더 높은 우..

Tistory

MinIO 실행(start), 중지(stop) script 만들기

지난번에 MinIO를 공식홈페이지에서 나온대로 설치를 해보니 불편한점이 있었다. 실행, 중지에 대한 별도의 script를 제공하지 않아서 MinIO에 대해서 잘 모르는 사람들은 이를 기동하기 힘들수도 있다는 생각이..

Tistory

MinIO config.json을 통해 계정 초기화하는 방법

MinIO를 설치하면 최초의 계정은 minioadmin/minioadmin 이다. 최초 minio를 실행하면 정상적으로 실행이 되고 지정한 위치에 data 폴더가 생긴다. 그리고나서 두번째 실행을 하면 처음에 실행했던 방법으로는 되..

Tistory

linux 자주 쓰는 명령어 모음

linux를 사용하며 자주 사용하는 명령어에 대해 정리한다. zetawiki.com/를 참조하였다. 리눅스 종류 확인 $ grep . /etc/*-release 다른 계정으로 전환 - testuser 계정으로 전환 $ su - testuser 특정 명령어 ro..

Tistory

MinIO bucket 생성 및 파일 업로드 해보기

MinIO 설치를 해보고 로그인까지 성공을 했으면 그다음은 사용을 하는 방법을 알아야 한다. 사실 인터페이스가 너무너무 직관적이라 따로 글을 쓸 필요도 없지만 그래도 hoxy 모를 사용자를 위해 글을 써본다. Mi..

Tistory

FFmpeg 사용해서 빠르게 인코딩 해보기

영상을 다뤄야 하는 업무가 주어졌다. FFmpeg 이라는 처음 들어보는 프로그램을 사용해서 인코딩 및 디코딩 등의 업무를 해야 한다길래 조금 알아보니 이건 멀티미디어쪽에서는 엄청나게 유명한 프로그램이었다...

Tistory

MinIO API 사용하는법 예제를 통해 쉽게 알아보기

지난번까지 MinIO를 설치하고 어떻게 사용하는지에 대해서 살펴보았다. 물론 그냥 MinIO Browser 자체를 사용하는 사람도 있을거라 생각하지만 이것만 사용하는것은 앙꼬없는 찐빵같은 것이다. 어플리케이션과 연..

Tistory

MinIO API 사용하여 file upload 구현하기

MinIO JAVA API 사용하는법 예제를 통해 쉽게 알아보기 지난번까지 MinIO를 설치하고 어떻게 사용하는지에 대해서 살펴보았다. 물론 그냥 MinIO Browser 자체를 사용하는 사람도 있을거라 생각하지만 이것만 사용..

Tistory

MinIO "Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately" 오류

minio를 실행시킬때 처음에는 잘 되는데 두번째부터는 이와 같은 메세지를 경험할 수 있다. "Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately" 최초..

Tistory

Slack에서 webhook 사용하기 (incoming-webhook)

이번 프로젝트는 의사소통수단으로 slack을 사용한다. slack을 사용하는 목적은 의사소통 뿐만 아니라 webhook을 이용해서 다양한 모니터링 도구와의 연동에 있다. slack에 들어가면 채널(채팅방이라고 생각하면..

Tistory

linux rpm으로 설치한 package 삭제하기

기존에 rpm을 통해 설치한 package가 있는데 이를 지우고 싶은 경우가 있다. 가령 다음과 같은 상황이다. 사정상 더 낮은 버전의 zabbix를 설치해야 하는데 이미 최신버전이 깔려있어서 설치를 할 수 없다. 그래..

Tistory

linux yum 으로 설치한 package 삭제하기

지난번에는 rpm으로 설치한 package에 대해 삭제를 했는데 이번에는 yum으로 설치한 package를 삭제하는 방법에 대해 알아보겠다. yum 으로 설치된 package 목록을 확인한다. $ yum list installed | grep [설치한..

Tistory

[Zabbix 시작 #2] CentOS에 Zabbix 설치하기 (zabbix + apache + php + mysql)

CentOS에 zabbix 설치를 해보자. zabbix는 zabbix를 하나 딱 설치하고 끝나는 것이 아니라 apache, php, mysql 등 여러가지를 같이 설치를 해주고 연동해줘야한다. 그만큼 설치난이도는 높은 편이다. 설치한 환경..

Tistory

[Zabbix 시작 #3] Zabbix Application Setup 및 비밀번호 초기화 방법

설치를 다 마치고 Zabbix Setup 화면을 띄웠다면 90프로 이상은 다 한것이라고 보면 된다. 남은 부분을 얼른 마무리를 하고 모니터링을 하러 가보도록 하자. Welcome to Zabbix! 그간의 피로를 씻게 해주는 화면..

Tistory

[Zabbix 시작 #4] Zabbix Agent 설치 및 Zabbix Server 연동

지난시간까지는 Zabbix Collector (Server) 에 대한 설치 및 설정을 했다면 이제 이 Server에 붙일 Zabbix Agent에 대한 설치 및 Zabbix Server와의 연동을 설정을 할 차례다. Zabbix Agent 설치 모니터링을 할 서..

Tistory

[Zabbix 시작 #5] Dashboard 구성 및 모니터링 해보기

전시간에는 Zabbix Agent 설치 및 Collector 서버와의 연동, 호스트 생성 등을 진행했다. 이제 이렇게 만들어진 Host를 바탕으로 Dashboard를 구성하여 본격적으로 모니터링 작업을 해보자. 일단 frontend에 접속..

Tistory

Jenkins 폐쇄망에서 plugin 설치하기

Jenkins가 설치되어 있는 서버가 외부와의 통신이 되는 환경이면 좋겠지만 그렇지 않은 환경이 여지껏 더 많았다. 따라서 Jenkins를 설치할때도 이미 많이 사용하고 있는 플러그인들을 다 가지고 있는 Jenkins를..

Tistory

Jenkins에 테마(스킨) 적용하기

우리가 아는 jenkins의 익숙한 모습이다. 물론 과거 hudson부터 써온지라 이정도 디자인만 되어도 참 훌륭하다고 생각한다. 하지만 뭔가 개발은 하기 싫고 이런걸 꾸미고 싶은 날도 있다. 어제는 티스토리 코드블..

Tistory

Docker 설치 후 is the docker daemon running 오류

Docker를 설치하고 기분좋게 시작을 하려고 하는데 발생하는 오류가 있다. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? docker 돌고 있는거 맞냐? 라는..

Tistory

폐쇄망에서 Docker 설치하기 (CentOS)

docker를 사용하려면 기본적으로 외부망(인터넷이 되는 환경)이 되는 환경이어야 하는데 폐쇄망에서 docker를 설치해야 하는 경우도 있다. 이럴 경우 어떻게 docker를 어떻게 설치하는지 알아보자. 폐쇄망 Docker..

Tistory

폐쇄망에 Docker image (tarball) 설치 (save, load)

폐쇄망에 docker 설치를 마쳤다면 이제 Image를 설치해보자. 그냥 안되는걸 알면서 hello-world 되나 한번 쳐본다.. 역시 안된다. 인터넷이 되는 곳에서 가지고 와야 한다. 그럼 어떻게 가지고 올까? 이방법 저..

Tistory

Docker Windows 에 설치하기

지난번에는 linux 환경에 docker를 설치해서 이런저런 container 들을 등록하고 실행도 시켜봤었다. 이제 Windows10 환경에서 docker를 설치하고 사용해야 하는 상황이 되었다. Windows에 설치하려고 보니 제약이..

Tistory

Docker Container 조회, 실행, 중지, 삭제 방법

Docker를 사용하면서 가장 많이 사용하게 될 명령어들을 소개하고자 한다. 이전에 Docker에 관련된 글을 쓰면서 조회, 실행 방법은 소개가 되었지만 정리 차원에서 한번 더 다루고자 한다. Container 실행 $ docke..

Tistory

Docker image 조회, 추가, 삭제 방법

지난번에 Docker의 Container를 컨트롤 하는 방법에 대해서 알아봤었고 이제 image 를 조회하고 추가하고 삭제하는 방법에 대해서 알아보겠다. Docker image 추가 $ docker pull tomcat docker 의 image를 가지고..

Tistory

Docker build 시 Dockerfile : The system cannot find the file specified 오류

docker image를 변경한 뒤 재배포를 위해 build를 시도했다. unable to prepare context: unable to evaluate symlinks in Dockerfile path: CreateFile C:\Users\User\Dockerfile: The system cannot find the f..

Tistory

[Thymeleaf 시작 #4] Thymeleaf Layout 적용하기

이전 포스팅까지는 Thymeleaf 의 문법을 위주로 보았다면 이번에는 layout 을 구성하는 방법에 대해서 알아보겠다. 기존에는 tiles를 활용하여 이런 layout을 구성하고는 했는데 Thymeleaf를 사용해서도 가능하다...

Tistory

Spring WebFlux는 무엇인가? 사용법은 어떻게 되나?

우리가 보통 사용하던 Spring MVC + RDBMS 패턴은 Blocking IO 방식이다. Blocking IO 방식이라는 것은 요청을 처리하기 전까지는 다른 작업을 수행할 수 없는 상태라는 것을 말한다. 동시에 여러 요청을 처리하기..

Tistory

Spring properties 파일의 내용 암호화하기 (with Jasypt)

properties 파일을 구성할때 암호화가 필요한 부분들이 존재한다. 가장 대표적인 예가 datasource의 username, password 부분이다. 이것들은 정말 다양한 방법을 통해서 암호화가 되고 있지만 요즘 추세는 datasou..

Tistory

Jenkins에서 Jasypt 암호화 Job 만들기

Jasypt를 사용해서 암호화를 하는 방법은 지난번에 포스팅을 했다. Spring properties 파일의 내용 암호화하기 (with Jasypt) properties 파일을 구성할때 암호화가 필요한 부분들이 존재한다. 가장 대표적인 예가..

Tistory

Docker Container에서 Host로 파일 Copy 하기

Host에 있는 파일을 Docker Container로 복사를 해야할 상황이 생겼다. 방법은 간단했다. Host -> Container Copy $ docker cp /source/* contanier_name:/target/ 이런식으로 docker cp 명령어를 활용해서 하면..

Tistory

[Zabbix 시작 #1] Zabbix란 무엇인가? Zabbix에서 사용하는 용어 설명

Zabbix를 사용하는 곳이 점차 늘고 있다. 사용을 해보니 왜 많은 곳에서 사용하고 있는지 알것 같다. 이제는 사용자의 입장에서 설치하고 연결하고 모니터링하는 역할을 수행해야 하기에 확실히 알고 넘어가야 할..

Tistory

log4j에서 slf4j + logback 으로 전환하기

log4j는 한때 위용을 떨쳤던 강력한 logging framework였다. 하지만 세월이 흐르고 기술은 발전하여 더 나은 logging framework들이 등장했다. 성능적인 측면이나 기능적인 측면에 더욱 발전하여 전환은 선택이 아..

Tistory

[git 시작 #4] branch 생성 / 삭제 / 변경 (CLI 환경)

이전까지 작업을 통해 소스코드를 git에 올리고 또 이클립스에서는 어떻게 branch의 소스를 mergy 하는지에 대해서 알아보았다. branch와 mergy를 하는것이 3편이었는데 branch를 생성하는것이 3편이다.. 사실 작..

Tistory

CentOS (linux) 에서 Scouter 설치 및 Agent와 연동하기

전에는 Jennifer 같은 유료 모니터링 솔루션을 거의 다 썼다면 요즘엔 오픈소스 모니터링 솔루션을 많이 사용한다. 그 중 LG CNS에서 만들어서 배포하는 오픈소스 APM (application performance monitoring) 을 설..

Tistory

Scouter <unknown> & Failed to create the part's controls 오류 해결

Scouter Client (Viewer) 를 실행하면 다음과 같이 오류가 나오는 경우가 있다. Failed to create the part's controls 오류가 크게 있어서 눈에 확 띄지만 그것보다 중요한것은 이라고 표시된 부분이다. 이 오류..

Tistory

Java Decompiler Eclipse Marketplace에서 받아 설치하기

일전에 이클립스에서 클래스 파일 디컴파일을 하기 위해 JadClipse를 이용하는 방법에 대해 포스팅한적이 있다. 이클립스용 Java Decompiler JadClipse 설치방법 Jad는 Decompiler 이다. 다음 링크를 통해 Jad를..

Tistory

Tomcat Context Path가 / 인 경우 manager 접근방법

상용 WAS 들이 생각나지 않을만큼 강력한 Tomcat에서 아쉬운점은 admin console 역할을 하는 GUI 가 없다는 것이다. 아니다. 사실은 있다. Tomcat Manager 라고 불리는데 기능은 상용 WAS 에서 제공하는 것만은 못..

Tistory

Could not calculate build plan : one of its dependencies could not be resolved 오류 해결하기

새로운 Maven 프로젝트를 생성했을때 다음과 같은 오류를 종종 만나볼 수 있다. Could not calculate build plan: Plugin org.apache.maven.plugins:maven-jar-plugin:3.2.0 or one of its dependencies could no..

Tistory

[Thymeleaf 시작 #1] Thymeleaf 사용하는 프로젝트 만들어보기

springboot 로 기존의 app을 converting 하며 가장 충격?적이었던 말은 'JSP는 더이상 권고하지 않는다. Thymeleaf나 Freemaker, Jade4j 와 같은 template engine 사용을 권고한다.' 라는 것이었다. PHP를 사용하..

Tistory

[Thymeleaf 시작 #2] Thymeleaf 기본 사용법, 문법 예제

비교적 최근에 나온 기술답게 thymeleaf 도 메뉴얼이 아주 훌륭하다. Tutorial: Using Thymeleaf 1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for b..

Tistory

[Thymeleaf 시작 #3] Thymeleaf 에서 지원하는 API (Base objects 및 Utility Objects)

이번에는 생각해서 작성한 내용 없이 Thymeleaf 공식 홈페이지에서 지원하는 API 목록 을 쭉 긁어왔다. 왜냐면 공식사이트가 너무 느려서 한번씩 찾아볼때마다 울화통이 터진다.. 출처 : https://www.thymeleaf.or..

Tistory

Spring PropertyPlaceholderConfigurer를 통해 불러온 값이 null이 나오는 현상 해결방법

Spring에서 외부 환경변수의 값을 가지고 오는 방법은 다양하다. 그중 하나가 PropertyPlaceholderConfigurer 를 통해서 가져오는 방법이다. 가장 일반적인 방법이다. 사용법은 다음과 같다. classpath*:/config/t..

Tistory

[git 시작 #1] local PC에 git 설치하기

git을 그동안은 누군가가 만들어 놓은 git을 이용하기만 했지 내가 직접 git 프로젝트를 생성해본적은 없었다. 새로운 프로젝트를 생성해야 하는 상황이 되었고 한번 해보자! 일단 git이 local에 호옥시 설치가..

Tistory

[git 시작 #2] gitlab에 프로젝트 등록하기

git을 local에 설치한 이유는 gitlab에서 직접 프로젝트를 등록하기가 어렵다. 또한 git을 사용하기 위해서는 CLI 환경에 익숙해지기도 해야한다. 그래야지 다양한 git의 기능을 십분 활용할수 있다. 일단은 local..

Tistory

Jenkins + gitlab 연동 및 webhook 으로 연결하기

일단은 이 둘을 연결하기 전에 webhook이라는 개념부터 알고 넘어가자. webhook이란 간단히 말해 서버(이글로 치면 gitlab)에서 어떤 이벤트가 발생했을때 클라이언트(jenkins)에게 알릴수 있는 메커니즘이라고 이..

Tistory

Cannot change version of project facet Dynamic Web Module to 3.0 오류 해결하기

이 오류는 웹 프로젝트를 진행하다보면 흔히 만날수 있는 오류이다. web.xml에서는 Dynamic Web Module이라는것을 3.0으로 정의를 했는데 이것과 project facet 의 version이 다르다는 것이다. project facet 이..

Tistory

org.apache.catalina.loader.WebappClassLoaderBase modified 오류가 나며 무한재기동하는 현상

org.apache.catalina.loader.WebappClassLoaderBase modified 가 나오면서 어플리케이션이 수정되지 않았는데도 무한으로 서버가 재기동되는 현상이 발생했다. 이 현상은 여러가지 원인이 있지만 내가 찾은 해결..

Tistory

Docker "Is the docker daemon running?" 오류 조치

요즘 docker를 사용해서 서버를 구성하고 있다. 확실히 편리하다. 개념만 조금만 더 잡으면 서버를 구성하는데 훨씬 빠르게 편리하게 할 수 있을것 같다. 사람들이 많이 쓰는데는 다 이유가 있다. 사용하다 보니..

Tistory

CentOS (linux) 에서 docker 설치하기

이 카테고리에 linux에 여러가지 app (svn, gitlab, sonarqube... )을 설치를 했었다. 하지만 요즘 유행하는 docker에 설치를 한다면 먼저 설명했던 설치방법보다 훨씬 간단하게 설치할 수 있고 관리도 용이하다...

Tistory

Docker Official images 목록 확인 및 설치 및 실행(run)

docker 설치가 완료 되었다면 이제 container를 구성해보자. Docker Official images 확인 docker에서는 쉽게 container를 만들 수 있도록 docker hub에서 official image를 제공을 해주고 있다. Docker Hub hub.d..

Tistory

Docker Container 접속해서 작업하기 ( with jenkins initialAdminPassword )

docker를 써보면서 image를 run 해서 설치 및 실행을 해봤다. 하지만 이건 docker 내부 Container 에 설치가 되는 것이기 때문에 host에서 설치된 내용에 대해 찾아봐도 찾을수가 없다. (설치 시 디렉토리 마운트..

Tistory

Nexus3 3rd party repository 생성 및 upload 하기

nexus 초기 구성을 할때 3rd party library를 올리기 위한 공간도 생성을 해두는 것이 좋다. release에 두고 쓸수는 없으니 말이다. 생성을 하는 방법은 간단하다. 맨 위의 설정을 누르고 Repositories > Create..

Tistory

Docker 에서 "vi : command not found" 오류 해결

꼭 docker에 국한된건 아니고 vim 이 설치가 되지 않은 OS에서 설치하고 실행하는 방법을 가이드한다. 뭐 이런 오류가 난다. 이유는 간단하다. vim 이 설치되지 않았기 때문이다. 설치하면 된다. 설치하는 방법은..

Tistory

linux 환경에서 maven repository settings.xml 설정하기

이클립스 환경에서는 Window > Preperences > Maven > User Settings 에서 settings.xml 파일의 위치를 지정할 수 있었다. 그럼 linux에서는 어디에서 할까? 바로 이곳에서 한다. $ vi /maven 설치경로/maven/conf..

Tistory

linux (jenkins shell)에서 springboot project backgroud로 실행하기

springboot 로 프로젝트를 구성하고 배포환경을 구성하였다. 이제 실행 스크립트만 작성을 하면 되는데 문제가 생겼다. 내장 was를 사용하기에 springboot 실행/중지 파일 (start.sh/stop.sh) 을 직접 만들어줬고..

Tistory

linux에서 nc (Netcat) 을 이용하여 방화벽 확인하기

web/was 세팅을 마치고 브라우저에서 잘 연결이 되는지 확인을 하려고 nginx에 설정한 도메인을 딱 치는순간! 왜 이런 오류가 날까? 원인을 파악해 보니 web서버에서 was서버로 (물리적으로 다른 서버) 연결을 하..

Tistory

Sonarqube 실행시 No quality profiles have been found, you probably don't have any language plugin installed. 오류

docker로 sonarqube를 설치하고 script를 작성하고 돌려보았다. "No quality profiles have been found, you probably don't have any language plugin installed" 이라는 오류가 떨어지면서 fail 이 발생했다...

Tistory

Jenkins에서 maven settings.xml 정의하기

maven project를 수행할때 필요한 settings.xml 파일은 보통은 MAVEN_HOME/conf 밑에 존재한다. 이곳은 전역 설정을 위한 곳이고 /USER_HOME/.m2/settings.xml 이렇게 지역설정을 할 수 있다. 하지만 이런 설정들..

Tistory

Spring + Quartz Scheduler 활용하여 자동실행하기

Quartz scheduler란? 거의 모든 Java 응용 프로그램에 통합 할 수 있는 풍부한 기능의 오픈 소스 작업 스케쥴 라이브러리이다. 보통 배치작업이나 변경된 정보를 주기적으로 reload 해주기 위해 사용한다. 대략..

Tistory

Springboot 환경에서 JSP 파일 재기동 없이 반영하기

springboot로 기존에 있던 프로젝트를 전환을 하고 화면개발을 시작하는데 JSP 파일을 수정하고 아무리 새로고침을 해보고 캐시도 날려보고 요란법석을 떨어도 반영이 되지 않았다. 서버를 재기동해야만 이게 반영..

Tistory

Spring Batch Tasklet Example with StepExecutionListener

앞서 설명한 Chunk 방식을 사용하지 않는 경우 Tasklet 방식의 Batch를 사용한다고 했었다. 두 방식 모두 많이 쓰이는데 장단이 있다. 생각나는대로 말해보면 Chunk 방식은 포맷이 딱 정해져 있어서 그에 맞게 코..

Tistory

Logback 이란? 설정방법 및 사용방법

기존 log를 관리하기 위한 구현체로써 log4j가 사용되었다. 그러나 보다 안정성이 높고 편리하게 log를 관리하기 위해 Logging framework인 Slf4j(Simple Logging Façade for Java)와 그 구현체로써 Logback이 고..

Tistory

linux에 Apache Ant 설치하기

지금은 많이 사용되지 않는 기술인 ant 이지만 언젠가는 다시 사용할수 있기에 설치방법을 정리해본다. (지금은 2020년인데 아직도 어느 프로젝트에서는 ejb 2.0을 사용하는 곳도 있기에...) 일단 ant 를 다운로드..

1 2 3