Sangil’s Blog

여행과 음악을 좋아하는 Go backend 개발자입니다.

AWS Lambda 로컬 디버깅 (provided.al2 Runtime)

이 포스트는 2023년 12월 31일에 go1.x 런타임이 지원 중단됨에 따라 provided.al2 런타임으로 마이그레이션한 람다 함수를 로컬에서 디버깅하는 방법에 대한 포스트. ...

October 21, 2023 · 2 min · 박상일

AWS Lambda 로컬 디버깅 (Go1.x Runtime)

Go1.x 런타임을 사용한 AWS Lambda function을 로컬에서 디버깅하는 방법에 대한 포스팅입니다. ...

October 20, 2023 · 1 min · 박상일

Golang TestMain이란?

이 포스트는 TestMain가 무엇이며, 어떤 식으로 사용할 수 있는지에 대해서 정리한 내용입니다. ...

December 29, 2021 · 2 min · 박상일
출처: docker.com

도커 컨테이너로 배포된 서버를 우아하게 종료하기✨

프로덕션 환경에서 서버를 정상적으로 종료되는 것은 아주 중요합니다. 예를 들어 이미 수신한 요청을 온전히 처리하지 않고 서버가 종료될 때 클라이언트는 502나 504 에러를 수신하게 됩니다. 가장 기본적인 방법으로는 프로세스 종료 SIGNAL 수신 후 일정 시간을 기다린 후에 서버를 종료하는 방법이 있습니다. ...

November 14, 2020 · 5 min · 박상일

mitmproxy 설치하기

mitmproxy 이란? mitmproxy is a free and open source interactive HTTPS proxy. 간단하게 설명하자면 클라이언트와 서버간의 HTTP(S) Request와 Response를 모니터링하고 Debugging 할 수 있는 오픈소스 툴입니다. 여기서 mitm의 의미를 짚고 넘어가자면 mitm은 man in the middle의 약자이며 직역하면 중간자라고 할 수 있습니다. 그림1은 중간자가 없는 기존 클라이언트와 서버와의 통신 구조는 간략하게 표현한 것입니다. 그림2는 중간자가 포함된 클라이언트와 서버의 통신 구조입니다. 그림2와 같이 중간자가 클라이언트와 서버 사이에 위치하기 때문에 Request와 Response를 모니터링할 수 있게 됩니다....

August 9, 2020 · 2 min · 박상일

Concurrency와 Parallelism의 차이

최근에 golang을 처음부터 다시 공부하면서 헷갈렸던 Concurrency와 Parallelism의 차이점과 관계에 대해 개인적으로 공부한 내용을 간단한 예시와 함께 정리한 글입니다. “Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once.” - Rob Pike, Concurrency is not Parallelism Go언어 주요 개발자 중 한명인 ‘롭 파이크’는 말을 직역하면 ‘동시성은 한번에 여러가지 일을 다루는 것이다. 병렬성은 한번에 여러가지 일을 하는 것이다.’ 동시성(Concurrency) Concurrency 동시성은 앞에서 언급했듯이 많은 일을 한번에 다루는 걸 의미합니다....

February 6, 2020 · 2 min · 박상일

OpenSource 라이센스 간단 정리

이 포스트는 오픈소스에 대한 이해를 돕고자 OLIS의 오픈소스 라이선스 가이드를 베이스로 수집한 정보를 간단하게 정리한 내용입니다. 따라서, 좀 더 자세한 내용을 원하신다면 오픈소스 라이선스 가이드를 한번 정독하시는 것을 추천합니다. ...

January 30, 2020 · 5 min · 박상일

Swagger 파일 분리하여 관리하기

Swagger로 API 문서를 작성하다 보면 스팩 파일(swagger.yaml)이 너무 길어져서 관리가 어려울 때가 있습니다. 그래서 swagger에서는 $ref를 제공해 parameter와 ruqestbody, response 등을 모듈처럼 사용할 수 있도록 제공하지만 이것 또한 API가 많아지면 스펙파일이 길어지기 마련이죠. 그래서 parameter와 ruqestbody, response은 물론 엔드포인트들을 파일로 분리해서 모듈처럼 관리하여 쉽게 유지보수 하는 걸 이번 포스트에서 해보려고 합니다. 모든 개발에는 유지보수가 가장 중요한 법이니까요. ...

December 22, 2019 · 6 min · 박상일

Let's Encrypt 와일드카드 인증서 갱신해보기

...

October 31, 2018 · 5 min · 박상일

Let's Encrypt 와일드카드 인증서 발급해보기

...

August 4, 2018 · 6 min · 박상일