한종우

꾸준히 고민하고 해결해나가는 엔지니어 한종우입니다.

2024년 03월 17일

쿠버네티스 내 Gateway API 프로젝트에서 API 리소스를 관리하는 CLI 도구인 gwctl의 기능 개발에 기여자로 참여했습니다. 이 글에서는 Gateway API 프로젝트와 gwctl을 소개하고, 기여 과정…

2023년 08월 31일

쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링 및 관리해주는 오픈소스 프로젝트입니다. 쿠버네티스는 현시점에서 이미 사실상 표준(de-facto standard)이 되었고, 컨테이너 기반 인프라 시장을 선도하고 있습니다.

2023년 07월 31일

워크플로우에서 애플리케이션을 테스트할 때, 데이터베이스나 메모리 캐시 등의 도구를 사용해야 하는 경우가 있습니다. 이런 경우, 워크플로우에서 직접 도구를 설치하고 구성하는 대신 Service Container를 사…

2023년 06월 27일

여러 저장소에서 비슷한 워크플로우를 사용한다고 가정해 봅시다. 만약 워크플로우의 요구사항이 변경된다면, 모든 저장소에서 워크플로우를 수정해야 합니다. 이는 유지보수를 어렵게 만들고 실수를 유발할 수 있습니다. 각 …

2023년 05월 12일

npm의 자격 증명이 유출되면, 공격자는 npm 레지스트리에 조작된 패키지를 게시할 수 있습니다. 신뢰할 수 있는 패키지로 가장한 악성 패키지를 다운로드하고 사용하는 개발자는 악성 코드에 노출될 수 있습니다. 이러…

2023년 05월 07일

코드를 살펴 보던 중, 아래와 같이 불필요하게 중첩된 조건문을 발견하였습니다. 위 코드를 아래와 같이 Early Return하는 코드로 변경하였습니다. Early Return은 함수에서 조건문을 만족할 때 일찍 반…

2023년 03월 25일

AWS EC2 인스턴스에 접속하는 방법은 여러 가지가 있습니다. 대표적으로 ssh 클라이언트를 사용하는 방법이 있는데, 책이나 인터넷 강의에서도 많이 다루고 있습니다. ssh 클라이언트를 사용하여 접속하는 방법은 …

2023년 03월 16일

멀티 플랫폼 이미지를 빌드한다는 것은 하나의 Dockerfile로 여러 플랫폼에서 실행 가능한 Docker 이미지를 생성하는 것을 의미합니다. 빌드된 이미지는 arm64, armv7, amd64, ppc64le, …

2023년 03월 01일

팀에서 기존 LDAP 인증 기능에 대해 리팩터링을 진행하던 중, 기능을 테스트할 환경이 필요했습니다. 하지만 LDAP이라는 생소한 기술을 처음부터 배우고 환경을 구성하는 것은 시간 상의 문제가 있었습니다. 고민하던…

2023년 01월 27일

리눅스 커널은 오픈소스 프로젝트로 개발되고 있습니다. 커널 개발은 작업한 내용을 패치 형태로 이메일을 통해 제출하는 방식으로 진행됩니다. 이 글에서는 실제로 주석 오탈자를 수정하고 패치 코드를 제출해보며 리눅스 커널에 기여하는 방법에 대해 간단히 소개합니다.

2023년 01월 23일

Docker 컨테이너는 애플리케이션을 개발, 테스트, 배포하는데 유용하게 사용됩니다. 하지만 Docker 이미지의 용량이 클 경우 다운로드, 저장, 배포가 느려지고 네트워크 부하가 증가할 수 있습니다. 이럴 경우에…

2022년 08월 12일

오픈소스 컨트리뷰션 아카데미에서 프로젝트를 진행하면서 CI를 기다리는 시간이 오래 걸린다는 의견이 있었습니다. 이는 워크플로우가 매번 새로운 가상환경에서 실행되기 때문에, 의존성 패키지를 워크플로우마다 설치해야 해…

2021년 12월 27일

예전부터 생각하고 있던 기술 블로그를 시작하게 되었습니다. Gatsby를 기반으로 블로그를 만들면서 개발 과정에서 있었던 일들을 이야기해 보려 합니다.