개요 일정에 쫓겨 프로젝트를 진행하다보면, 사용된 주요 라이브러리의 버그로 예상하지 못한 이슈에 봉착할 때가 있다. 이 경우, 선택지는 2개인데 첫번째, 라이브러리 저장소를 포크해서 이슈를 수정한 제작자에게 PR을 요청하고 기다리는 것, 두번째, 일단 급한대로 내가 직접 고쳐서 로컬 .JAR로 빌드하는 것이다. 이번 글에서는 두번째 방법을 위한 Maven 기반 프로젝트에 로컬 .JAR 파일을 추가하는 방법을 설명하고자 한다. 라이브러리 커스텀 빌드 아래는 이슈를 수정할 라이브러리를 클로닝하여 커스텀 빌드하는 예이다. # JobRunr 라이브러리 저장소 클로닝 $ git clone https://github.com/jobrunr/jobrunr # 이슈 수정 후 커스팀 빌드 # 생성된 .jar 파일은 내 프..
개요 HikariCP는 현재 Spring Boot에서 기본으로 채택하고 있는 경량이자 고성능의 JDBC 커넥션 풀 라이브러리이다. 물리 데이터베이스 노드와 연계되다보니 운영 환경에서 다양한 이슈가 발생하게 되는데 정확한 원인 식별과 문제 해결을 위해 HikariCP의 로그 레벨을 설정하는 방법을 설명하고자 한다. 로그 레벨 조정 운영체제 환경 변수로 전달할 경우 아래와 같이 설정하면 된다. LOGGING_LEVEL_COM_ZAXXER_HIKARI_HIKARI_CONFIG=DEBUG LOGGING_LEVEL_COM_ZAXXER_HIKARI=TRACE 프로젝트 내의 application.yml 파일로 설정할 경우 아래와 같이 설정하면 된다. logging.level.com.zaxxer.hikari.Hikar..
개요 MySQL 데이터베이스의 Master-Slave 레플리케이션은, 조회만 발생하는 트랜잭션은 복수개의 Slave 노드로, 조회 뿐만 아니라 데이터베이스 변경점이 발생하는 트랜잭션은 1개의 Master 노드로 요청되어야 한다. 이번 글에서는 Spring Boot, JPA 환경에서 커넥션 풀을 read-write, read-only로 분리하는 방법을 설명하고자 한다. 특히, Amazon Aurora MySQL의 Single-Master 레플리케이션을 사용할 경우, 최대 15개의 레플리카 인스턴스를 운영할 수 있는데 애플리케이션 레벨에서 read-only 트랜잭션을 레플리카 엔드포인트를 바라보도록 설정하면 조회 성능을 크게 향상시킬 수 있다. 기본 흐름 어노테이션에 따라 커넥션 풀을 분기해주는 클래스를 직..
개요 awslogs는 Amazon CloudWatch Logs에 저장된 로그를 콘솔에서 확인할 수 있는 유틸리티이다. 사용법이 단순하고 편리하여 강력히 추천한다. 설치 # Ubuntu 등 Devian 계열에 awslogs 설치 $ sudo apt-get install python3-pip -y $ pip install awslogs # 설치 확인 $ awslogs --version awslogs 0.14.0 사용 예 # awslogs 사용법 출력 $ tldr awslogs # 전체 로그 그룹 목록 출력 $ awslogs groups # 특정 로그 그룹 전체에 대해 실시간 로그 출력 $ awslogs get {log-group} ALL --start='1h ago' --watch --watch 옵션은 ta..
- Total
- Today
- Yesterday
- jstl
- Kendo UI Web Grid
- 로드 바이크
- Kendo UI
- MySQL
- Tomcat
- 구동계
- maven
- java
- kotlin
- 평속
- DynamoDB
- CentOS
- Eclipse
- node.js
- JavaScript
- 알뜰폰
- chrome
- jsp
- JHipster
- Spring Boot
- graylog
- 자전거
- spring
- Docker
- 로드바이크
- bootstrap
- 태그를 입력해 주세요.
- Spring MVC 3
- jpa
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |