Armeria의 Circuit breaker 사용해보기

Circuit Breaker란? 만약 예상치 못한 장애(ex. 네크워크 이슈, 서버가 내려감)가 발생하여, 어떤 한 원격 서버가 요청에 대한 응답을 내리지 못하는 상태라고 가정해보자. 이러한 상황에서 »

로그를 볼 때 유용한 shell 명령어들

서버 개발을 하다보면, 로그를 밥먹듯이 보게 된다. 로그는 디버깅을 하는데 이용되기도 하지만, 때로는 원하는 통계와 데이터를 얻기 위해 사용되기도 한다. 이 글은 후자의 경우, 내가 자주 »

ghost 로그인 시 SQLITE_FULL 에러

최근 블로그에 글을 안 쓴지 오래되었다. 마지막 글이 4달 전에 작성된 걸 보면, 그동안 내가 얼마나 글쓰는 것을 미루었는가를 다시금 반성하게 된다. 그래서 큰 맘먹고 오랜만에 »

Java Heap Dump 분석하기

Spring으로 개발한 웹어플리케이션을 운영하다보면, 많은 트래픽으로 인해 또는 구현상의 버그로 인해(보통은 이 경우겠지만) Heap의 사용량이 순간적으로 증가할 수 있다. 이 경우 GC(Garbage Collection)가 »

원격 저장소에 올라간 커밋 되돌리기

Git으로 버젼 관리를 하며 개발하다보면, 작성한 커밋들을 되돌려서 다시 이전 상태로 원상복구하고 싶은 경우가 한번쯤 있을 것이다. 만약 로컬까지만 저장된 커밋인 경우는 $ git reset 명령어를 이용해 »

객체지향의 사실과 오해

객체지향의 사실과 오해 불과 몇달전만 해도 내가 "객체지향"과 관련된 글을 쓰게 될 줄은 상상도 못했다. 사실 그 주제에 대해 별로 관심도 없었고, 따로 공부해야될 필요성도 »

MySQL의 Transaction Isolation Levels

사실 이 글의 목적은 데이터베이스의 Transaction Isolation Levels에 대해 공부한 내용을 쓰기 위함이었는데, MySQL을 예로 사용하며 여러가지 실습해보며 MySQL에서만 적용되는 몇가지 특성이 있음을 알게 되었고, 제목에다가 »