전체 글

Paint the World
· 후기/책
쿠버네티스를 위한 디자인 패턴이 있을까? 이 책은 아주 기본적인, 그저 매니페스트 하나를 소개하는 디자인 패턴에서부터 시작해, 다양한 상황에서 사용할 수 있는 공식을 알려주는 책이다. 초반에는 간단한 service에 대한 설명과 함께, 이러한 내용도 패턴인가? 싶은 수준으로 소개를 한다. 하지만 점점 내용들을 읽어보면서, 기본적인 매니페스트와 살짝의 디테일을 추가하여, 한 줄 정도로 알고 있던 것을 최소 세 줄, 네 줄 정도 더 설명할 수 있도록 만들어준다. 예를 들어 statefulSet과 같은 매니페스트는, 말 그대로 레디스와 같은 Pod이 떴다가 내려갔다 할 때, 필요한 스테이트풀(Stateful)한 상태를 만들어주는 게 아닌가? 와 같이 한 줄로 설명할 수 있다. 하지만 이 책을 통해 디테일에 접..
· 후기/책
신디와 제가 호주에 갔을 때, 저희는 퀸즐랜드 해안의 열대 우림에서 시간을 좀 보냈습니다. 이 지역 자연의 경이로움 중 하나는 거대한 '교살 무화과나무(strangler figs)'입니다. 이 나무는 다른 나무의 위쪽 가지에서 씨앗을 틔워 점차 그 나무를 타고 내려와 결국 흙에 뿌리를 내립니다. 여러 해에 걸쳐 환상적이고 아름다운 형태로 자라나는데, 그러는 동안 자신들의 숙주였던 나무를 목 졸라 죽이고 맙니다. 위 내용은 마틴 파울러라는 사람이 호주에 갔을 때, 본 무화과 나무를 보고 쓴 글이다. 무화과 나무는 다른 나무의 표면에 붙어 살다가 그 나무를 뒤덮는다. 점점 기존의 나무는 생기를 잃고, 무화과 나무는 숙주 나무 영양분을 흡수하면서 점점 위에서부터 뿌리쪽으로 반대로 자라나게 되고, 결국 모든 나..
· Developer
최근에 커서에서 대학생에게 1년동안 커서를 무료로 제공한다고 한다. ( ㄷㄷ ) 개인적으로 최근에는 커서 없이는 개발을 할 수 없을 정도로 덕을 많이 보고 있다. 커서 자체만으로도 굉장히 혁명적인 기술이지만 최근에는 MCP라는 새로운 프로토콜이 나오게 되면서, AI를 사용하는 개발자와 그렇지 않는 개발자의 차이는 어마어마하게 커지고 있다. 마치 계산기가 발명된 시절에 주판으로 경쟁하는 느낌이랄까.. 최근에 AI와 개발자가 경쟁할 수 있을까?에 대한 이야기가 어디서든 들려오는데, 개인적인 의견은 AI랑 경쟁은 절대 안되고... 아마 AI를 사용하는 개발자들과 경쟁을 해야하지 않을까 싶다. 어떻게 하면 AI를 더 잘 활용해서 뛰어난 생산성을 가져올 수 있는지 말이다. 이번 포스팅에서는 Cursor를 사용하면..
개발자 중에서도 사람마다 다양한 성향이 있다. 미적 감각이 뛰어난 예술가같은 개발자도 있고, 철학자같은 사람들도 있는 것 같다. 나는 고고학자같은 느낌이 있는 것 같다. 아무래도 전자전기컴퓨터공학부를 전공했다보니까 Low 레벨에 대한 내용도 꽤 많이 접해서 뭔가 궁금한게 생기면 Low 레벨 수준의 역사들을 발굴해내는 편이다. 예전에 딥러닝 관련해서 연구하는 과정에서 Kaggle에서 데이터를 수집하는 경우가 있었는데, 데이터가 깨지는 경우가 너무 많았다. 왜냐하면 일반적으로 영어로 쓰여있을 줄 알았던 .csv 데이터 속에서는 인도어나 독일어와 같은 다국어로 쓰여 있었고, .xlsx로 파일을 받는 경우에는 99% 확률로 깨져 있었던 것 같다. 그 외에 다른 경험으로는 데이터베이스에서 VARCHAR로 선언..
· 후기/책
스펙이란 무엇인가? 양복을 만드는 재단사에게 치수나 어깨너비, 사이즈 등이 적힌 "스펙"이 있다면, 모두가 똑같은 양복을 만든다. 반면 소프트웨어는 어떤가? "스펙"을 적어서 개발자에게 주면, 어떻게 될까? 이 책은 전반적으로 스펙에 대한 이야기를 말한다. 소프트웨어를 어떻게 만드는지, 무엇을 만드는지 그러한 방법들에 대해 기술한 문서를 SRS(Software Requirements Specification)이라고 하며, 왜 SRS가 필요한 지에 대해서 책의 중후반까지 설명하고, 2부는 SRS를 작성하는 목차에 대해서 설명하는 것으로 마무리한다. 책 소개이 책의 주제 및 목표는 소프트웨어를 개발할 때, 어떻게 만들 것인지 구성하는 것 "스펙"은 어떤 것인지에 대해서 아주 자세하게 상술한다. 일반적으로 개..
· DevOps/AWS
최근에 Aurora RDS for Postgres를 버전 업그레이드해야 하는 상황이 있었다. 꽤 예전 버전을 쓰고 있었는데, AWS 측에서 RDS for postgres를 지원할 때, 특정 기간 동안 지원하기 때문이다. 지원 기간이 끝난 경우에는 추가 비용을 지불하고 RDS를 써야 한다. 공식적으로 지원하지는 않지만 확장 관리한다는 명목으로 꽤 많은 비용이 센다. 아무튼, 이러한 과정 속에서 RDS를 백업하고 작업을 진행했는데, 일반적으로는 AWS Lambda를 써서 RDS를 주기적으로 S3 dumpall을 사용하는 것으로 알고 있었다. 하지만 AWS Backup이라는 서비스가 나오게 되면서 보다 편리하고 간편하게 백업을 진행할 수 있게 되었다. 이번에는 데이터베이스를 백업하고 복구하는 의미인 재해복구(..
Github Actions를 통해서 ECS에 배포하는 간단한 CI/CD 파이프라인을 사용하고 있다. QA를 하는 과정에서 1시간에 여러 번의 PR이 머지되면서 여러 번의 Github Actions의 workflow가 실행됐는데, 매번 꽤 빌드 속도가 오래 걸렸다. 확인해 보니 dockerfile 빌드하는 과정에서 캐시가 제대로 안 걸려있었는데, 이번에는 Docker 빌드를 빠르게 할 수 있는 buildkit에 대해서 알아보려고 한다. 사실, 우리가 맥에서 도커 데스크탑을 다운로드해서, 직접 도커를 실행한다면 우리는 이미 buildkit을 쓰고 있는 셈이 된다. BuildKit은 기존의 도커 빌더를 대체하는 새로운 백엔드로, Docker Desktop과 Docker Engine 23.0 버전에서 기본 빌더..
· DevOps/AWS
회사에서 AWS 관련된 설정들을 확인하는 과정에서 가장 눈에 띄는 것은 Data Transfer 비용이었다. 단순하게 리소스를 확인할 수 있는 다른 호스팅 서비스와 다르게, Data Transfer는 AWS의 트래픽 과금 정책에 따라서 지불하는 금액을 말한다. 사실 클라우드라는 것은 어딘가에 있는 온프레미즈이다(!) 한국에는 총 네 개의 AWS 데이터 센터가 있다. 일산? 평촌? 자세한 위치 파악은 힘들었으나, 네 개의 온프레미즈 데이터 센터가 있다. 당연히 그 데이터 센터에서는 네트워크 작업이 철저하게 되어있어. 우리가 AWS 콘솔을 통해서 사용하려고 하면 손쉽게 리소스를 가져다 쓸 수 있도록 되어있다. 우리가 인터넷을 사용하게 되면, 대한민국의 통신사( KT, SKT, LG U+ )를 통해서 트래픽이..
marsboy
marsboy blog