나의 프로그래밍 폰트 사용 일대기

programming

나의 프로그래밍 폰트 사용 일대기

시작은 2003년 이제 막 프로그래머로써 첫발을 내딛을 때부터 나는 프로그래밍 폰트에 대해서 관심이 많은 편이었다. 화면 붙잡고 매일 글자들과 씨름하는 직업이다보니 당연하게도 좀더 눈에 잘 보이고, 보기에 좀더 미려하고 조화스러운 폰트를 찾는 것이 어찌보면 약간 본능(?)적으로 관심을 가졌던게 아닌가 싶기도 하고 말이다. 최근까지도 이 주체할 수 없는 본능에 따라

By Kevin H. Kwon
Istio 를 통한 path(url) 기반 Local Rate Limit 적용

istio

Istio 를 통한 path(url) 기반 Local Rate Limit 적용

몇 년 전인지는 기억나진 않지만 Rate Limit 적용은 항상 애플리케이션 쪽에서 처리하는 것이 당연하다는 것이 주된 의견이었다. 그래서 그때 당시 Bucket4J 를 통해서 Spring 쪽에서 처리하고 했던 기억이 있다. 이제는 당연하게도 Istio와 같은 Service Mesh쪽에서 처리하는 것이 응당 맞다고 생각되는 것이 개발 세상이 이제 점점 더 클라우드향으로 이동된다는 느낌이다. 강력한

By Kevin H. Kwon
Istio를 통한 header기반 API 라우팅/호출 시 cors preflight request 이슈 트러블슈팅 기록

삽질

Istio를 통한 header기반 API 라우팅/호출 시 cors preflight request 이슈 트러블슈팅 기록

현재 개발하고 있는 일부 컨테이너 기반의 서비스들을 Istio를 통해 서비스들을 구성하고 트래픽을 관리하고 있다. 이때 컨테이너 서비스가 같은 규격이 여러개가 같은 url과 port를 할당 받아서 사용해야는 애로 사항이 있어 Istio에서 header 기반으로 특별한 헤더가 있는 경우에만 라우팅이 될 수 있도록 구성하고 테스트를 진행했었다. Istio Request Routing 예제와 같이 header

By Kevin H. Kwon

Kevin's devlog

농구 좋아하는 개발자의 삽질로그

Latest

Kubernetes cluster에 Feature gates 활성화 방법

Kubernetes cluster에 Feature gates 활성화 방법

최근에 nvidia a100 gpu를 mig로 나눠서 사용 하는 노드에서 cadvisor가 gpu metric을 수집을 잘 못해서 kubulet에서 계속 오류가 떨어져서 트러블슈팅을 진행했었다. dcgm-exporter로 prometheus로 metric을 수집하고 있어서 굳이 cadvisor에서 nvidia accelerator meric을 수집할 이유가 없어져서 이것저것 자료를 찾아보니 1.19 버전부터는 DisableAcceleratorUsageMetrics feature gates로 해당 수집 옵션을 비활성화 시킬 수 있는

By Kevin H. Kwon
Mac에서 Docker Desktop clean uninstall 방법

Mac에서 Docker Desktop clean uninstall 방법

Mac에서 갑자기 Docker desktop이 무한 리스타트가 되면서 맛탱이가 가는 상황이 발생됐다. 좀 오래 걸리는 Docker build를 돌려 놓고 퇴근 했는데 Desktop이 전원이 나갔나 중간에 리부팅 되면서 Docker desktop이 정상 동작되지 않는다.. 최신버전 받아서 재설치도 해보고 여전히 해결이 안되서 싹 지우고 다시 설치하니 정상 작동 한다. 아래는 문제 해결해보면서 했던 일들

By Kevin H. Kwon
Ubuntu 18.04 이상 Netplan을 사용한 Static IP 설정

Ubuntu 18.04 이상 Netplan을 사용한 Static IP 설정

Ubuntu는 한 3년전부터인가 CentOS보단 개인적으로 더 주력으로 많이 사용했던거 같다. 16.04 LTS 나올때부터 꾸준히 쓰긴 했었는데 어느샌가 벌써 18.04가 LTS 버전으로 나왔다. 16.04로 바꿔서 쓸때도 systemctl 때문에 한동안 매우 힘들었는데 18.04 올라가고 벌써부터 바뀐 것들이 너무 많다. 뭐 이리 배울게 많아 ㅠㅠ 어찌됐든 또 잊어버리기 전에

By Kevin H. Kwon
GeoJSON으로 대한민국 시군구읍면동 맵차트 그리기

GeoJSON으로 대한민국 시군구읍면동 맵차트 그리기

최근에 진행하고 있는 사이드 프로젝트 중 하나에 전국/시/군/구/읍/면/동 별 맵차트를 그려야 할일이 생겼었다. 특정 지역의 분포도라던지 히트맵 정도를 지도에 보여줘야 하는 요구사항이었는데(네이버 부동산처럼) 그간 GIS쪽이나 이런쪽은 SI사업을 주로 하다보니 솔루션 베이스로 다뤄봤지만 직접 구현해본적은 없어서 이리저리 자료 조사를 해보니 그럭저럭 오픈소스를 활용해서도 원했던

By Kevin H. Kwon
XenServer – local ISO Library만들기

XenServer – local ISO Library만들기

XenServer 구성 시 설치할 os의 iso 이미지 attach 하는 가장 기본적인 방법은 cifs 를 사용해서 윈도우 머신의 공유 폴더를 attach하여 사용하는 방법이 있다. 근데 요상하게 cifs가 잘 안잡히거나 하는 경우에는 xenserver host에 local iso library를 만들어 사용하면 된다. 큰 파일의 ISO Library 만들기 Xenserver 호스트의 루트 파티션은 기본이 아마 4G로

By Kevin H. Kwon
Thymeleaf 확장으로 새로운 dialect 추가해보기

Thymeleaf 확장으로 새로운 dialect 추가해보기

최근에 몇몇 프로젝트를 Thymeleaf를 템플릿 엔진으로 선정해서 진행을 하고 있다. 일단 기존의 개발자들이 JSP & JSTL을 사용하는 것에 너무 익숙하다보니 도입을 하는게 쉽진 않았으나 Spring Framework와 궁합도 잘 맞아보이고 개인 프로젝트를 몇개 해보니 확실히 도입하는 것이 낫다 싶어서 최근 프로젝트는 일단 Thymeleaf로 진행을 하고 있다. 몇가지 살짝 아쉬운 기능들 Link

By Kevin H. Kwon
Spring Boot(Spring) i18n 설정 시 주의사항

Spring Boot(Spring) i18n 설정 시 주의사항

장장 네시간(?)의 삽질 후에 혹시나 다른 누군가가 비슷한 곤란한 상황에 빠졌을 때 도움이 되길 바라면서 포스트를 써본다. 사내에서 솔루션 관련 내부 프로젝트 구성 중에 간단하게 배포해야하는 서비스 구조가 있어서 그 동안 눈으로만 훑어봤던 Spring Boot를 사용하기로 맘 먹고 레퍼런스 보면서 하나씩 붙여나가는 도중에 예기치 않게 i18n 구성 중에 메시지

By Kevin H. Kwon

VirtualBox 호스트 전용 어댑터 설정

나이가 들어가니 매번 vm 만들 때마다 얼마 되지 않는 이 내용을 검색해서 찾을려니 죽을맛이라 ㅎㅎ 그냥 찾기라도 편하게 블로그에 기록해본다. VirtualBox에서 기본으로 vm을 설치하면 NAT 네트워크로 연결이 되서 그냥 ssh client로 접속하는데 꽤 불편하다. 호스트 전용 어탭터 설정을 통해 내부 고정 IP로 세팅하는 방법을 기술해본다. Windows 기준이지만 mac도 거의 동일하다.

By Kevin H. Kwon

Slack Subversion Intergration 한글 코멘트 사용하기

Slack을 내가 투입되는 팀마다 사용한지가 꽤 되었다. 특히나 CI서버의 Job 상태나 형상관리 서버의 commit notification을 slack app기능으로 받는건 꽤나 유용하다.(빌드 깨진거 벌금 매길때 참 좋다 ㅎㅎ) 요샌 형상관리서버로 Git을 많이 사용한다지만 아직 SI쪽에서는 SVN이 주를 이루고 있다. 찾아보니 많은 예제들이 github, gitlab이나 bitbucket 설정하는 건 자세하게 도움말이 많은데 subversion

By Kevin H. Kwon

Gradle Test task 로깅 설정하기

TDD의 맹신자는 아니지만 보통 개발을 진행할 때 테스트 케이스를 먼저 만들면서 코딩하느라 디버깅을 테스트 케이스로 많이 하는 편인데 Gradle test 태스크는 기본적으로 console 로깅이 disable된 채로 구동된다. 개발시에는 stacktrace를 상세하게 볼 필요도 있는데 아래 설정을 통해 볼 수 있다. Gradle reference는 잘되어 있는 듯 잘 안되어 있는(?) 뭔가 하나씩 빠져

By Kevin H. Kwon
SI프로젝트 빅뱅 오픈 왜 이렇게 항상 힘드나

SI프로젝트 빅뱅 오픈 왜 이렇게 항상 힘드나

거의 1년을 달려온 프로젝트가 저번주 금요일을 기점으로 오픈하면서 안정화 단계에 접어들고 있다. 덕분에 요 몇달간 블로그며 스터디며 개인생활이건 또 뒷전이 되버리는 상황이 벌어지고 말았다. SI생활을 15년 가까이 해오면서 프로젝트 규모가 커지면 커질수록 오픈이 가까와지면 가까와 질수록 야근도 많아지고 , 먹는 욕도 많아지고.. 운동은 열심히 한다고는 하는데 체력도 예전 같지 않은지 몸도

By Kevin H. Kwon
AB(Apache HTTP server benchmarking tool)를 활용해 벤치마킹 테스트 해보기

AB(Apache HTTP server benchmarking tool)를 활용해 벤치마킹 테스트 해보기

AB(Apache HTTP server benchmarking tool)는 커맨드 라인을 활용한 매우 가볍고 유용한 웹서버 벤치마킹 도구 이다. 간단한 REST API나 정적 컨텐츠에 대한 성능 테스트 시에 빠르고 간편하게 벤치마킹 정보를 얻어올 수 있다. 이번에 성능개선 작업을 진행하면서 수정된 API에 대해서 개발환경에는 ngrinder를 활용하고 운영환경에서는 서버에 뭔가 설치하고 성능테스틀 돌려보기 힘든

By Kevin H. Kwon