서버에서 Graceful Shutdown은 왜 필요할까
서론 Golang으로 작성된 여러 백엔드 서적을 읽으면서, “Graceful Shutdown (직역하면 우아하게 종료)” 라는 개념이 많이 등장하는 것을 보았습니다. 하지만 여러 책들을 읽다보니 서버를 우아하게 종료하는 것이 왜 필요한지, 어떤 이점을 가져다 주는지에 대해서는 다소 정보가 부족한것 같았습니다. “우아하게 종료하는” 매커니즘이 어떤 장...
서론 Golang으로 작성된 여러 백엔드 서적을 읽으면서, “Graceful Shutdown (직역하면 우아하게 종료)” 라는 개념이 많이 등장하는 것을 보았습니다. 하지만 여러 책들을 읽다보니 서버를 우아하게 종료하는 것이 왜 필요한지, 어떤 이점을 가져다 주는지에 대해서는 다소 정보가 부족한것 같았습니다. “우아하게 종료하는” 매커니즘이 어떤 장...
서론 웹 개발자라면 한번쯤은 TDD(Test-Driven Development) 방법론에 대한 이야기를 한번 쯤은 들어보았을 것이다. 하지만 그 방법론에 대한 명성과는 달리 TDD는 아주 낯설고 어렵게만 느껴진다. 그리고 TDD가 정말로 효용성있는 방법론인지 아닌지에 대해 지금도 넷상 어디에서 끊임없이 논의되고 있다. TDD란 무엇이며, 우리가 정말...
이전까지는 서버에 배포해 도메인을 등록할때 Nginx를 줄곧 쓰곤 했습니다. 하지만 배포해야할 컨테이너가 늘어나고 Nginx 만으로는 한계가 있다고 느끼던 있던 차에 Traefik 이라는 오픈소스 프로젝트를 알게 되었습니다. 오늘 글에서는 Traefik의 작동방식과 Traefik으로 멋지게 도커 컨테이너를 배포하는 방법에 대해서 알아보겠습니다. ...
Imposter syndrome is the psychological experience of feeling like a fake or a phony despite any genuine success that you have achieved. It can show up in the context of work, relationships, frie...
소개 🥒 우리는 새로운 오픈 소스 프로젝트, Pkl (발음은 피클)을 소개하게 되어 기쁩니다. Pkl은 프로그램의 설정 (Configuration) 을 위한 새로운 프로그래밍 언어입니다. 개발자로서 프로그램의 설정 (Configuration)을 생각할 때, 흔히 정적 언어인 JSON, YAML, 혹은 단순한 속성 목록을 떠올리기 쉽습니다. 이러한 ...
이번 글은 조금 가벼운 주제로 시작해 볼까 합니다. 여러분은 어떤 IDE 환경에서 개발을 하고 계시나요? 대부분은 VScode나 Intellij를 사용하고 계실 겁니다. 저도 개발을 시작한 이례로 쭉 몇 년 동안 VScode를 사용해 왔었고, VSCode가 세상에서 제일 좋은 IDE라고 굳게 믿고 있었습니다. 물론 IDE 환경을 전환했다고 해서 VS...
React를 위시한 프론트엔드 생태계와 커뮤니티가 나날이 커지고 있는 시대의 흐름 속에서, 홀로 시대를 역행하는 듯한 라이브러리를 발견했다. HTMX라고 불리는 이 라이브러리의 간단한 소개 글들과 공식 문서를 읽어보면서, 꽤 매력적인 라이브러리라는 생각이 들었다. 자바스크립트를 크게 곁들이지 않고도, React를 사용하면서 겪었던 수많은 종속성의 늪을...
학부생 시절까지만 해도 에러 핸들링에 관해서 그다지 관심을 두지 않았었다. 프로그램은 요구사항 대로 잘 돌아가기 만 하면 장땡이라고 생각했고, “안정성 있는 코드”에 대해 깊게 생각하지 못했다. 하지만 최근 몇 년간 백엔드, 조금의 프론트를 공부하고 프로젝트를 해보면서 “어떻게 에러를 잘 처리해야 하는지”에도 관심이 많이 생기게 되었다. 그리고 이 글...
최근에 Golang으로 사이드 프로젝트를 하나 시작했다. 실제로 Golang으로 본격적인 프로젝트를 진행해 본 적은 처음이었기에 프로젝트 세팅부터 많은 난관이 있었다. 그중 가장 어려웠던 것은 ‘프로젝트 구조 설계’였다. (그리고 지금도 여전히 고민 중이다..) Golang과 Golang의 여러 웹 라이브러리들 (gin, echo, fiber, ...
시작하기 전에, 이 글은 내가 배웠던 언어들에 대한 소개를 하려는 목적으로 쓰인 것이 아니다. 혹은 어떤 방법론에 대해서 설교하고자 쓰인 글은 더더욱 아니다. 이 글은 그저 호기심이 많은 주니어 개발자가 여러 프로그래밍 언어, 혹은 프레임워크 들을 여행하면서 얻었던 경험과 인사이트를 공유하고 싶다는 생각에서 출발하게 되었다. 언어는 사고를 결정한다 ...