# devkoriel > DevOps, Kubernetes, Web3, and infrastructure engineering notes by Jinsoo Heo. Personal technical blog by Jinsoo Heo — DevOps Engineer based in Seoul, Korea. Writing about DevOps, Kubernetes, Web3, and infrastructure engineering. ## Blog Posts - [LinkedIn 프로필을 PDF 이력서로 자동화하기 — JSON Resume + GitHub Actions](https://blog.koriel.kr/posts/json-resume-pdf-automation): LinkedIn 프로필 데이터를 JSON Resume 스키마로 정리하고, Puppeteer로 PDF를 생성하고, GitHub Actions로 자동화하는 전체 파이프라인. 코드 포함. - [나는 Claude Code를 어떻게 쓰고 있을까?](https://blog.koriel.kr/posts/how-i-use-claude-code): 현업 DevOps 엔지니어가 Claude Code로 일하는 실제 방법. 설정 구조, MCP 서버 16개, 커스텀 에이전트 30개, 규칙 2,000줄. 생산성과 한계를 솔직하게. - [DevOps 직무에 AI는 어떻게 작용할까?](https://blog.koriel.kr/posts/ai-and-devops): DevOps 엔지니어 7년차가 현업에서 느낀 AI와 DevOps의 공존. 엔터프라이즈급 인프라에서 AI의 한계, BCP 설계, EaC의 미래, 그리고 Claude Code와 함께 일하는 방법. - [나는 영어 공부를 어떻게 했을까?](https://blog.koriel.kr/posts/how-i-learned-english): 유학 경험 없는 토종 한국인이 영어를 배운 방법. Broken English로 시작해서 feedback loop를 돌리고, 영화로 발음을 익히고, 결국 글로벌 회사에서 일하기까지. - [해외에 리모트로 취업하면 꼭 거쳐갈 EOR! 뭘까요?](https://blog.koriel.kr/posts/what-is-eor-for-remote-workers): Employer of Record, EOR이란 무엇인지, Individual Contractor와 Legal Employee 계약의 차이, KYC 절차까지. 해외 리모트 취업 시 알아야 할 고용 대리인 가이드. - [달러로 월급 어떻게 받아요?](https://blog.koriel.kr/posts/how-to-get-paid-in-usdc): USDC로 월급을 받는 과정, EOR 계약, W8 form, 개인 사업자 등록, 부가세 영세율, 종합소득세까지. 해외 기업 리모트 근무자의 세금 가이드. - [10년동안 개발자로 일한 이야기 #3](https://blog.koriel.kr/posts/10-years-as-a-developer-part-3): 당근마켓에서의 황금기, 두나무에서의 시련과 성장, 그리고 10년차 개발자로서 되돌아보는 지금. 23살의 나는 몰랐다. 내가 33살이 될줄. - [10년동안 개발자로 일한 이야기 #2](https://blog.koriel.kr/posts/10-years-as-a-developer-part-2): 사발통문 동아리에서 드론을 만들고, 럭스로보에서 첫 직장생활을 시작하고, 엔젤스윙에서 DevOps를 배우고, PUBG에서 대규모 트래픽을 다루고, 당근마켓으로 2막을 시작하기까지. - [10년동안 개발자로 일한 이야기 #1](https://blog.koriel.kr/posts/10-years-as-a-developer-part-1): 올해로 대략 10년차다. 어릴적부터 컴퓨터에 관심이 많았던 한 개발자의 이야기. 디미고 진학, 불안장애를 이겨내며 수능을 치르고, 연세대 물리학과에 합격하기까지. - [Synology NAS로 TeslaMate 운영하고 전기차 라이프 만렙 찍기: 궁극의 TeslaMate 가이드 (feat. 원화 입력, 외부 접속, 토큰 설정)](https://blog.koriel.kr/posts/synology-nas-teslamate-guide): 안녕하세요, 테슬라 오너 여러분! 테슬라를 더욱 스마트하게 활용하고 싶으신가요? 주행 기록 분석부터 배터리 관리, 위치별 충전 요금 기록까지, TeslaMate 하나면 전기차 라이프가 더욱 편리해집니다. 😊 이 - [테슬라 대시 캠, 센트리 캠 영상, NAS로 실시간 백업하기: TeslaUSB 완벽 가이드](https://blog.koriel.kr/posts/tesla-dashcam-nas-backup-teslausb-guide): 테슬라 대시 캠, 센트리 캠 영상, NAS로 실시간 백업하기: TeslaUSB 완벽 가이드 (무선 연결 & SSH 키 설정) 안녕하세요, 테슬라 오너 여러분! 😊 주차 중 테슬라를 안전하게 지켜주는 센트리 모드 - [Tessie API와 Telegram으로 손쉽게 만드는 테슬라 제어 봇](https://blog.koriel.kr/posts/tesla-control-bot-tessie-api-telegram): 안녕하세요, 테슬라 차주 여러분! 오늘은 여러분의 테슬라 차량을 더욱 편리하게 관리할 수 있는 Telegram 봇을 만드는 방법을 소개하려고 합니다. 초보자도 쉽게 따라할 수 있도록 단계별로 자세히 설명드리니, 천 - [Modern C++ lambda의 특징과 사용법](https://blog.koriel.kr/posts/modern-cpp-lambda-features): lambda는 람다 표현식 또는 람다 함수, 익명 함수(anonymous function)로 불립니다. 그 성질은 함수 객체(functor)와 동일합니다. 그 이름처럼 몸통은 있지만 이름이 없는 함수입니다. 요즘 대 - [AWS Lightsail로 Ghost 블로그 운영하기 - 3](https://blog.koriel.kr/posts/aws-lightsail-ghost-blog-3): 1. ghost-storage-adapter-s3 설치 Ghost 블로그는 기본적으로 이미지나 첨부 파일을 업로드 하면 인스턴스의 볼륨에 그것들을 저장한다. 우리가 생성한 Lightsail 인스턴스의 볼륨은 20G로 - [AWS Lightsail로 Ghost 블로그 운영하기 - 2](https://blog.koriel.kr/posts/aws-lightsail-ghost-blog-2): 1. Ubuntu 패키지 업데이트 $ sudo apt update && sudo apt upgrade -y 중간에 묻는 것이 있다면 그냥 다 엔터 2. en_US.UTF-8 issue 해결 AWS EC2나 Li - [AWS Lightsail로 Ghost 블로그 운영하기 - 1](https://blog.koriel.kr/posts/aws-lightsail-ghost-blog-1): 홈페이지와 블로그를 AWS EC2 + RDS로 운영을 했었는데 매달 나오는 비용을 보고 이게 얼마나 어리석은 짓이었는 지 알게 됐다. 정확히 얼마가 청구됐는 지는 창피해서 공개하지 못하고... 쨋든 개인 웹 사이트 - [Boosting Bot Protection with HAProxy and Stick Tables](https://blog.koriel.kr/posts/boosting-bot-protection-with-haproxy-and-stick-tables): Protecting your website or application from malicious bots is a critical part of modern web development. Bots can overlo - [Slack의 강력한 대안, Mattermost](https://blog.koriel.kr/posts/mattermost-slack-alternative): Mattermost의 기능과 장점 Mattermost는 Slack의 대항마로 등장했다. Slack은 현재 Standard 플랜이 사용자당 매월 $6.67이고 SaaS로만 제공되기 때문에 사내망에 직접 호스팅하여 서비 - [Integrating ChatGPT with Slack using AWS API Gateway, Lambda, and Serverless Framework: A Step-by-Step Guide with Code Examples](https://blog.koriel.kr/posts/integrating-chatgpt-with-slack-using-aws-api-gateway-lambda-and-serverless-framework-a-step-by-step-guide-with-code-examples): In recent years, natural language processing (NLP) has become increasingly popular in the technology industry. With adva - [Run code without any compilers or interpreters, but with ChatGPT (Golang)](https://blog.koriel.kr/posts/run-code-without-any-compilers-or-interpreters-but-with-chatgpt-golang): Prompt I asked my ChatGPT Slack Bot to analyze and explain some golang code like below. @ChatGPT Please analyze and ex - [Run code without any compilers or interpreters, but with ChatGPT](https://blog.koriel.kr/posts/run-code-without-any-compilers-or-interpreter): Prompt I asked my ChatGPT Slack Bot to analyze and explain some python code like below. @ChatGPT Please analyze and ex - [C++11 스마트 포인터](https://blog.koriel.kr/posts/cpp11-smart-pointer): 지금은 더 이상 사용하지 않는 스마트 포인터 std::auto_ptr가 C++11 이전에도 있었다. 하지만 몇가지 문제점이 있었는데, 배열의 포인터를 해제할 때 배열 객체가 모두 제대로 해제되지 않는다는 것과 복사 - [주한미군 CID(범죄수사사령부) Day](https://blog.koriel.kr/posts/visiting-us-army-cid-korea): 지난 1월 11일부터 12일까지 CID에 다녀왔습니다. CID는 미군내 중범죄를 다루는 기관으로 MP와는 조금 다릅니다. 특별한 업무가 있어서 다녀온 것은 아니고 근무하는 친구의 Escort를 받고 실컷 즐기다 왔습 - [50분 생각하고 10분 코드 작성하세요](https://blog.koriel.kr/posts/think-50-minutes-code-10-minutes): 대개 개발을 한다고 하면 키보드부터 잡는 경우가 많습니다. 하지만, 좋지 않습니다. 소프트웨어 설계와 알고리듬 설계는 키보드로부터 시작하는 것이 아니거든요. 개발해야할 기능이 있다고 하면 처음엔 단순하게 시작하게 - [수용력 있는 코드 리뷰 문화 만들기](https://blog.koriel.kr/posts/building-an-inclusive-code-review-culture): > 이 글은 Building an Inclusive Code Review Culture [https://blog.plaid.com/building-an-inclusive-code-review-culture/]를 번역 - [Vim은 어디서 왔나](https://blog.koriel.kr/posts/where-vim-came-from): > 이 글은 Where Vim Came From [https://twobithistory.org/2018/08/05/where-vim-came-from.html]을 번역한 글입니다. 나는 최근에 Intel HEX - [GNOME을 위한 드롭다운 터미널, Guake](https://blog.koriel.kr/posts/gnome-dropdown-terminal-guake): Introduction -------------------------------------------------------------------------------- * Guake란? Guake는 리 - [How to Create Desktop Launcher in Ubuntu](https://blog.koriel.kr/posts/how-to-create-desktop-launcher-in-ubuntu): Dependencies -------------------------------------------------------------------------------- * Ubuntu * gedit How - [GCC, G++ 다른 버전 추가하고 패키지 관리하기](https://blog.koriel.kr/posts/gcc-gpp-version-management): Dependencies -------------------------------------------------------------------------------- * Ubuntu * build-essen - [fork() 함수를 이용하여 피보나치 수열을 출력해보자](https://blog.koriel.kr/posts/fibonacci-sequence-with-fork): Introduction -------------------------------------------------------------------------------- 언어를 공부할 때 항상 보는 예제들이 있는데 - [Pintos 설치하기](https://blog.koriel.kr/posts/how-to-install-pintos): Introduction -------------------------------------------------------------------------------- * Pintos란? Pintos는 - [pthread.h를 include 했는데도 undefined reference 에러가 날때](https://blog.koriel.kr/posts/pthread-undefined-reference-error): Problem -------------------------------------------------------------------------------- Pthread API를 이용하여 프로그래밍을 할 때, - [#define 보다는 const, enum, inline을 쓰자](https://blog.koriel.kr/posts/prefer-const-enum-inline-over-define): C++ 프로그래밍을 할 때 우리는 종종 선행 처리기(Pre-processor)를 사용합니다. 보통 프로그램 전체에 걸쳐 사용되는 상수가 필요할 경우, 아래의 형식으로 사용되죠. #define PI 3.1415926 - [Ubuntu 네트워크 서비스 탐색 사용하지 않기 알림 제거](https://blog.koriel.kr/posts/ubuntu-network-service-discovery-fix): Introduction -------------------------------------------------------------------------------- Ubuntu를 설치하고 처음 부팅을 하면 다 - [UDP, TCP 통신 예제](https://blog.koriel.kr/posts/udp-tcp-communication-example): Introduction -------------------------------------------------------------------------------- 우리는 지금도 인터넷을 사용하고 있고 그 인 - [연세대학교 YSCEC 공지사항 Fetch Tool](https://blog.koriel.kr/posts/yonsei-yscec-notice-fetch-tool): Introduction -------------------------------------------------------------------------------- 우리 학교엔 YSCEC이라는 것이 있다. 정 ## Pages - [About](https://blog.koriel.kr/about): About Jinsoo Heo — background, expertise, and contact information - [Search](https://blog.koriel.kr/search): Full-text search across all posts - [Tags](https://blog.koriel.kr/tags): Browse posts by topic - [Archives](https://blog.koriel.kr/archives): All posts grouped by year and month - [RSS](https://blog.koriel.kr/rss.xml): RSS feed for all posts ## Optional - [Homepage](https://koriel.kr): Personal landing page - [GitHub](https://github.com/devkoriel): Open source projects - [LinkedIn](https://www.linkedin.com/in/devkoriel): Professional profile