반응형

인기 글

FastAPI, SQLAlchemy 프로덕트에서 alembic을 쓰지 않은 이유

작은 사이드 프로젝트 중간에 투입돼서 코드 개선을 하게 되었는데, FastAPI + SQLAlchemy (postgres) + Alembic으로 구성된 기존 방식에서 Alembic을 atlas로 변경했다. Python으로 구성하는 API Server + ORM + DB migration tool 조합의 정석으로 많이 쓰이지만, 글 작성 기준 alembic 최신버전인 v1.13.1 프로덕트를 써보니 장점보다는 단점이 더 크게 느껴졌다. 당연하게도, 내가 느낀 단점이나 불편함이 alembic 프로덕트 자체의 한계는 아닐 수도 있다. 문서에서 내가 놓친 부분이 있을 수도 있다. 이런 고민을 하게 된 상황은 아래와 같은 조건에서였다. Python으로 production level의 웹 서비스를 목표로 상정하고 ..

Streamlink로 유튜브 멤버십 스트리밍 영상 다운로드하기

멤버십에 가입되어 있고, 유튜브에 로그인할 수 있는 계정이 필요하다. Streamlink라는 오픈소스 프로젝트를 활용해서 유튜브의 멤버십 전용 스트리밍 영상을 다운로드받는 방법. 21.09.26 현재 streamlink 프로젝트의 latest 버전은 2.4.0이다. 우선 https://github.com/streamlink/streamlink/releases 로 들어가서 latest Version을 선택한다. Releases · streamlink/streamlink Streamlink is a CLI utility which pipes video streams from various services into a video player - streamlink/streamlink github.com Win..

Kakao 메시지 API + MCP Server로 '나에게 메시지 보내기' 기능 만들기

개발 결과. 자세한 사용법은 아래 링크의 README를 참고하면 된다.https://github.com/inspirit941/kakao-bot-mcp-server GitHub - inspirit941/kakao-bot-mcp-server: MCP Server Implementation on Kakao Developers API to connect an AI AgentMCP Server Implementation on Kakao Developers API to connect an AI Agent - inspirit941/kakao-bot-mcp-servergithub.com 최근 라인에서 AI Agent가 라인 메시지 API를 호출할 수 있도록 해주는 MCP Server를 공개했다.https://git..

CKS 자격증 합격 후기 (with istio)

https://training.linuxfoundation.org/certification/certified-kubernetes-security-specialist/ 시험 준비기간 : Udemy 강의 완강에만 4개월. 문제풀이는 3일.Coming Soon: The current CKS Competency “Implement Pod-to-Pod encryption using Cilium” will be updated to “Implement Pod-to-Pod encryption (Cilium, Istio)” on April 8, 2025, at 00:00 UTC. 시험 보기 일주일 전에, Pod-to-Pod Encryption 커리큘럼에 istio가 추가됐었다. istio를 실제 업무에서 쓰고 있었기 ..

일상 속 생각 2025.04.14 0

경력 9개월차로 카카오 이직하기까지 - (2) 1차 인터뷰 (完)

https://tech.kakao.com/2021/03/10/kakao-career-boost-program-for-cloud/ kakao Career Boost Program for Cloud - 클라우드 하고 싶지만, 잘 모르겠는 분 얼른 오세요!!!! “이번에 카카오에서 클라우드와 관련된 많은 분들을 모시고 있습니다.클라우드를 잘한다. 당연히 지원하세요! 클라우드를 하고 싶은데, 뭐 하는지 모르겠어, 근데 나 개발은 하는데….얼른 지 tech.kakao.com 2021년 3월부터 진행되었던 카카오 클라우드 부스트 경력채용 공고에 지원했고, 최종 합격했다. 카카오 경력직 채용절차 자체는 원격 인터뷰 -> 1차 면접 -> 2차면접 순으로 대부분 동일하게 진행되는 걸로 알고 있다. 신입공채로 들어간 지 ..

일상 속 생각 2021.10.21 17

세줄요약 독서

more

일 잘하는 엔지니어의 생각 기법

1990년대 IT업계에서 마주한 문제를 해결하기 위해 2003년에 등장한 방법론을 2026년에 ‘엔지니어적 사고의 기술’이란 상술로 포장한 책. 엔지니어 관점에서는 이미 업계 표준으로 자리잡은 사고관이라서 진부하고, 엔지니어가 아닌 사람에게는 방법론을 자신의 사례에 적용할 방법을 하나도 설명해주지 않는 불친절한 책.R 방법론: 비즈니스가 해결해야 하는 목표와 현재 증상을 정의하고, 우선순위에 맞게 정렬한 뒤, 각 증상을 추적해서 프로파일 데이터를 만든 뒤 원인을 찾아 해결한다.‘엔지니어적 사고’ 라는 포장지 내부에 있는 수많은 기술용어 (트래픽, 지연, 쌍곡선 이론) 로 사람을 질리게 하고, 결국은 고객사 이야기 잘 들어주고 데이터 기반으로 문제를 해결하면 된다는 진부한 결론. 출판사의 표지사기에 당했..

세줄요약 독서 2026.05.17 1

불변의 법칙

'세상은 빠르게 변하지만, 사람은 빠르게 변하지 않는다. 그래서 변하지 않는 것에서 지혜를 얻어야 한다' 라는 캐치프레이즈가 인상적.인간 역사에 반복된 "욕망 / 인지 편향 / 감정과 서사 / 불확실성 회피" 에 관련된 내용을 23가지라는 키워드로 늘려놓았다.저자의 이전 저서 '돈의 심리학' 내용을 투자가 아니라 인생으로 키워드 바꾸고 사례만 새로 찾은 채 그대로 출시한 느낌. 본질적으로 같은 내용을 전혀 다른 느낌으로 포장하는 마케팅 상술에 감탄한다. 이전에 '돈의 심리학'을 읽고 후기를 남겼는데, 계속 기시감이 들더라니. 이 책을 완독하고 나서 같은 저자가 쓴 글이었음을 뒤늦게 알았다. '돈의 심리학'은 투자자의 관점, '불변의 법칙' 은 인생의 관점이라는 키워드 차이가 있지만, 인간의 역사와 심리의..

세줄요약 독서 2026.04.12 1

붕괴하는 세계와 인구학

미국이 주도한 세계화의 본질은 미국의 소비시장을 개방하고 해상무역의 안전을 보장하여 우방국의 경제성장을 촉진하는 구조였고, 그 비용 - 무역적자와 천문학적인 안보 지출 -은 고스란히 미국 내 노동자와 기업이 부담했다.탈세계화는 미국이 더 이상 그 비용을 지불할 의사가 없다는 선언이지만, 역설적이게도 이 질서 붕괴에서 가장 타격을 덜 받는 곳은 미국이 포함된 북미권이다. 지정학적 완충성·인구구조·에너지 자립도·금융 자본의 집중도 등 국가의 기반 역량 어느 항목에서도 미국보다 나은 국가는 현재로서는 존재하지 않는다.운송·금융·원자재·제조업·농업 전 분야에 걸쳐 탈세계화 이후의 세계를 촘촘하게 분석했다는 점에서 탁월하지만, 2023년 저서인 탓에 AI 기술이 미칠 파급력을 분석에 포함하지 못했다는 점은 아쉽다..

세줄요약 독서 2026.02.22 0

솔로프리너의 시대

무슨 목적으로 쓰인 책인지 가늠하기가 어렵다. '솔로프리너'라는 용어에 대한 통찰은 2017년의 'N잡러' 현상과 차별점이 없고, 자기홍보라기엔 성과 증명보다는 이력 나열이 많으며, AI 활용법은 종이 매체의 한계로 이미 낡았다이 책의 솔로프리너 정의는 '1인 창업'과 'AI'라는 키워드로 콘텐츠를 생산하는 인플루언서에 가까워 보인다. AI로 시장에 균열을 일으키는 미국식 사례와 달리, 국내의 '솔로프리너'는 성공 서사를 팔아 강의와 책으로 수익을 내는 지식 판매 모델에 가깝다는 인상을 지우기 어렵다. ‘솔로프리너’. 관련 커뮤니티에서는 그전부터 언급되고 있었겠지만, 이 책은 한국에서 제일 먼저 ‘솔로프리너’라는 제목을 달고 출판됐다. 따라서, 새로운 단어 또는 현상을 대중서라는 방법으로 세상에 처음 소..

세줄요약 독서 2026.01.11 1

이것저것 개발일지

more

Kakao 메시지 API + MCP Server로 '나에게 메시지 보내기' 기능 만들기

개발 결과. 자세한 사용법은 아래 링크의 README를 참고하면 된다.https://github.com/inspirit941/kakao-bot-mcp-server GitHub - inspirit941/kakao-bot-mcp-server: MCP Server Implementation on Kakao Developers API to connect an AI AgentMCP Server Implementation on Kakao Developers API to connect an AI Agent - inspirit941/kakao-bot-mcp-servergithub.com 최근 라인에서 AI Agent가 라인 메시지 API를 호출할 수 있도록 해주는 MCP Server를 공개했다.https://git..

PaliGemma 모델로 Object Detection Fine Tuning한 방법 정리

https://aifactory.space/task/2733/overview 2024 Gemma 파인튜닝톤 (아이디어톤)🕹️ Gemma 파인튜닝 어디까지 해봤니?aifactory.space  AIFactory Gemma 파인튜닝 아이디어톤에 제출해서, 3등 우수상으로 입상한 내용PaliGemma로 Object Classification을 위한 데이터 준비 방법을 기록하기 위한 것.PaliGemma란?https://developers.googleblog.com/ko/gemma-explained-paligemma-architecture/ Gemma 설명: PaliGemma 아키텍처- Google Developers BlogGemma AI Announcements 전 세계 누구나 이해할 수 있도록 – Gem..

tinygo로 Wasm filter 만들어서 istio에 envoy plugin으로 붙이기

eventing-kafka-broker로 외부의 cloudevent를 받아서 Fanout하는 기능을 만들고 있었는데event source별로 순서 보장이 필요하지만cloudevent 보내는 쪽의 로직을 변경할 수 없는상황을 해결하기 위한 여러 작업 중 하나.  외부 cloudevent 이벤트를 받아서 kafka에 저장할 때, cloudevent spec에서 제공하는 paritionkey라는 옵션을 쓰면 된다.https://github.com/cloudevents/spec/blob/main/cloudevents/extensions/partitioning.md특정 kafka partition별로 매핑하기 위한 옵션으로, 같은 paritionkey를 가진 cloudevent는 동일한 kafka partitio..

Python SQLAlchemy의 many to many relation에 soft delete 기능 적용하기

FastAPI + SQLAlchemy로 API 서비스 만들면서 해결한 사안 정리하기. soft delete가 필요한 이유? 삭제 요청이 들어올 때마다 물리적으로 DB에서 row 정리해 버리면, 삭제된 데이터를 복원한다던가 / 삭제된 데이터의 이력이나 히스토리 파악하려면 데이터베이스 엔진 레벨에서 작업해야 한다. 민감정보 다루는 게 아니고, 서버로그처럼 많이 쌓여서 주기적으로 삭제해야 하는 entity 같은 성격이 아니라면 간단한 비즈니스 로직이나 api에서는 soft delete이 주는 편익이 비용보다 훨씬 크다고 생각함. GORM은 soft delete 기능 도입이 엄청 쉽고, soft delete 적용한 object끼리 relation을 조합하면 ORM에서 자동으로 쿼리를 생성해준다. https://..

FastAPI, SQLAlchemy 프로덕트에서 alembic을 쓰지 않은 이유

작은 사이드 프로젝트 중간에 투입돼서 코드 개선을 하게 되었는데, FastAPI + SQLAlchemy (postgres) + Alembic으로 구성된 기존 방식에서 Alembic을 atlas로 변경했다. Python으로 구성하는 API Server + ORM + DB migration tool 조합의 정석으로 많이 쓰이지만, 글 작성 기준 alembic 최신버전인 v1.13.1 프로덕트를 써보니 장점보다는 단점이 더 크게 느껴졌다. 당연하게도, 내가 느낀 단점이나 불편함이 alembic 프로덕트 자체의 한계는 아닐 수도 있다. 문서에서 내가 놓친 부분이 있을 수도 있다. 이런 고민을 하게 된 상황은 아래와 같은 조건에서였다. Python으로 production level의 웹 서비스를 목표로 상정하고 ..

학습일지

more

CloudNativeUniversity2025 - Introduction to Cluster API

https://youtu.be/UMNCKkdrfUo?si=lWR2HsEa7TnKQSM1Introduction To Cluster API목적구성Example CodeUpgradeStandardizing ClustersHealth / remediationWorkload ManagementReviewJussi NummelinSr. Principal Engineer at Mirantis.목적Cluster APIk8s Sub-project, focused on providing declarative APIs and toolings to Simplify provisioning, upgrading, and operating multiple k8s clusters.한두 개의 클러스터 관리라면 어떻게든 하면 되지만..m..

kubernetes 2025.12.26 0

KubeCon2018 - Apache Spark on Kubernetes: A Technical Deep Dive

https://youtu.be/5-4X3HylQQo?si=K5sBcyJNptaO4dGx Apache Spark on Kubernetes: A Technical Deep DiveKubernetes Submission ClientKubernetes Scheduler BackendUnder the hood Yinan LiSoftware Engineer at Google GKE Workload TeamApache Spark Contributter SparkLarge Scale Data Processing에서 가장 유명한 프레임워크.다양한 language 지원.batch, streaming, ML, SQL workload 수행Kubernetes Submission ClientSpark on Kubernetes는..

kubernetes 2025.12.23 0

KubeCon2025 - Spark on Kubernetes: A Practical Guide

https://www.youtube.com/watch?v=ejJ6A0sIdbwSpark on Kubernetes, A Practical GuideWhy Spark on K8sSpark on AirbnbJourneySpark Job SubmissionShuffle ServiceObservabilitythings I did't cover today (But where did we use AI?)Damon CortesiStaff SW Engineer at AirBnBData Platform since 2010Why Spark on K8s하둡이 개발된 지 20년이 지났고 꾸준히 개발중인데 왜 k8s?FlexibilitySpark Version. 버전관리가 힘듬. 하둡 3에서 docker / runc Contai..

kubernetes 2025.12.09 0

KubeCon2024 - Cluster API Deep Dive - Roadmap to API Graduation

Cluster API Deep Dive - Roadmap to API GraduationVisionHow does it Work?Transition to v1beta2 APIChanges in CAPI v1.9in-place upgradeQ&Ahttps://www.youtube.com/watch?v=F2iO_cKKPuI Christian Schlotter: Apple SW Engineer. Cluster API maintainerVince Prignano: Broadcom Engineer. Cluster API maintainerVision7년쯤 전 Meta Cloud 라는 목표를 위함.production-ready, declarative API가 있는 상황에서 managing the clusters a..

kubernetes 2025.12.02 0

KubeCon2024 - Understanding Kubernetes Networking in 30 minutes

https://youtu.be/Mj04QOqAaJ8?si=8U4dpXkHCwJULell 발표자 James StrongSolution Architect at Isovalent part of Ciscoingress-nginx MaintainerRicardo KatzSoftware Engineer at VMWareingress-nginx Maintainer, Creator of Kubepug Linux Networking모든 k8s workload는 Node에서 실행됨. Node의 Linux Network Stack에는 대표적으로 아래와 같은 것들이 있다.ethernet interface (eth0): for External Connectivityrouting rules: where to send packe..

kubernetes 2025.09.18 0
반응형