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

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
Kubernetes cluster에 Feature gates 활성화 방법

k8s

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 설정

ubuntu19.04

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

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

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

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

xenserver

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

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

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

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

spring

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