본문 바로가기

[SpringBoot] HikariCP의 leakDetectionThreshold 기본값은? SpringBoot에서는 기본 커넥션 풀을 HikariCP을 쓴다. 가끔 long query가 있는지 가끔 누수가 검출되었다고 나온다. 그런데 좀 지나면 해당 커넥션이 회수되었다고 뒷북(?) 로그가 나온다. 회수가 되었으니 누수는 아닌데 에러 로그에 껴있어서 신경이 쓰인다. 스프링부트에는 spring.datasource.hikari.leak-detection-threshold 라는 프로퍼티가 있다. 실제 HikariCP에서는 leakDetectionThreshold 프로퍼티에 대응된다. com.zaxxer.hikari.HikariConfig 클래스에 보면 leakDetectionThreshold 필드가 있다. 기본값 디버깅 부트가 기본값으로 얼마를 넣어주는지 궁금해서 디버깅을 해보았다. org.sprin..
[GitHub] Pink Unicorn - This page is taking way too long to load.
[Java] switch와 String 그리고 바이트코드 제목이 거창하다.사실 카페에서 본 질문에 댓글을 달다가 공부한 것을 정리하는 것이다. 질문은 아래와 같다.- 질문 제목 : switch에서 charAt사용 차이 - 질문 내용 :아래 두 코딩에 차이점이 뭔가요?? 처음에 charAt를 사용하지 않고 해보다가 저렇게해도 결과가 나오긴 했는데 charAt를 사용하라고 하셔서 사용한 것으로 바꾸긴 했는데 차이점이 뭔지 궁금합니다! 둘다 결과가 제대로 나오긴합니다. 차이왼쪽의 경우 char 타입으로 switch 안에서 분기를 하고 있고, 오른쪽은 String 타입으로 하고 있다. 변수명이 대문자로 시작하는 것이 거슬릴 수 있으나 초심자의 코드라고 생각하고 넘어가자. 그러면 이런 차이는 어떤 결과를 가져오게 되는가? 바이트 코드 관점 (TABLESWITCH / L..
[JavaScript] Promise와 예외 핸들러... 어제 자바스크립트 관련 코드 리뷰를 하게 되다가 알게된 것 정리.1. Promise로 구현된 함수를 await으로 호출 된 경우 reject가 된 경우 try ~ catch에 잡힌다.2.Promise로 구현된 함수를 그냥 호출 한 경우 함수 내부에서 reject가 된 경우 try ~ catch에 잡히지 않는다. 무슨 소리지 할 케이스가 다분해서 예제를 적어본다. await를 사용하여 호출아래와 같이 foo와 boo 함수가 있고 제일 끝에 boo 호출한다.var foo = req => new Promise((resolve, reject) => { console.log('req: ' + req); reject(new Error('wow'));}); async function boo(req, res) { tr..
[zsh] PATH 에 경로 추가 기본: PATH 에 경로 추가 방법1) PATH를 확인 변수명 앞에 $를 붙이면 변수 참조가 가능하다. echo 명령을 이용하여 확인이 가능하다.$ echo $PATH2) PATH 에 경로 추가$ PATH=$PATH:폴더bash에 PATH 경로 추가 bash에 PATH 추가하여 zsh과 공통으로 사용하는 기준으로 기록한다.bash에 PATH 추가.bash_profile 이나 .bashrc 에 명령을 추가할 수 있다.masOS .bashrc 대신에 .bash_profile 를 사용하는 것으로 알려져 있다..bash_profile$ vim ~/.bash_profileif [ -f ~/.bashrc ]; then source ~/.bashrc fi.bashrc$ vim ~/.bashrcPATH=$PATH:~/..
[SSH] Permission denied (publickey) 가 발생할 때... 특정 서버에 SSH로 접속하려고 하니 권한이 거부되었다라는 메세지가 나온다."Permission denied (publickey)" 키워드로 구글에서 검색을 해보니 Git에 대한 이야기만 나온다. ssh-keygen 로 키를 생성해서 ~/.ssh/config에 넣으라고 한다.https://askubuntu.com/questions/311558/ssh-permission-denied-publickey ~/.ssh 에 가보면 known_hosts 라는 목록이 있다. ECDSA key fingerprint에 해당 목록이 추가가 되어 있어서 그렇다.ssh -i ~/.ssh/ahapcman.pem ec2-user@10.24.154.231The authenticity of host '10.24.154.231 (10..
[SpringFramework] StopWatch (Spring vs Apache) 자바에서 두 점 사이의 시간을 재는 방법에는 currentTimeMillis 와 nanoTime가 있다.이 정적메서드에 대해서는 지난 주에 심층(?) 분석을 해보았다. [JVM] currentTimeMillis vs nanoTime 하지만 직접 날 것(raw)의 메서드로 사용할 대는 응집성이 떨어질 수 있으므로 스톱와치와 같은 실세상과 비슷한 유틸리티 클래스를 이용하면 좋을 것이다. 이 글은 스프링의 StopWatch에 대해 적으려고 하였지만 사실 Apache Commons Lang 유틸리티에도 StopWatch를 가지고 있었다.스프링의 StopWatchhttps://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/StopW..
[구름IDE] 웹브라우저 통합개발환경(IDE) 2019년 1월 19일 카페의 어떤 분이 구름 IDE 코드 실행 방법에 질문을 올렸다. 나도 써보지 않아서 회원가입을 해서 답변을 달아주었다.웹사이트 주소https://accounts.goorm.io/코다임이라는 회사에서 만들었다. 회원 가입회원가입은 이메일을 쓰거나, 페이스북, 구글, 네이버, 페이코, GitHub, bitbucket 등등 다른 서비스로 로그인이 가능하다.가격 정책 컨테이너 리스트 https://ide.goorm.io/my처음에는 컨테이너가 하나도 없다.새 컨테이너 생성 버튼을 눌러 만든다.컨테이너 생성 화면기본은 C/C++로 되어 있는데, Java 질문이라 Java를 선택하였다. 컨테이너 생성하기를 누르면 생성하는데 시간이 걸린다.컨테이너가 만들어지면 실행할 것인지 물어보는 화면이 나..