스타트업 초기 기술 스택 선정 - Python/FastAPI를 선택한 이유
공동주택 관리 서비스를 만들 때, 팀 기술 스택을 Python/FastAPI로 결정했다. Node.js, Django, Spring Boot 등 여러 선택지가 있었는데 왜 FastAPI였을까? 기술 스택 선정 과정과 6개월 사용 후 회고를 정리한다.
공동주택 관리 서비스를 만들 때, 팀 기술 스택을 Python/FastAPI로 결정했다. Node.js, Django, Spring Boot 등 여러 선택지가 있었는데 왜 FastAPI였을까? 기술 스택 선정 과정과 6개월 사용 후 회고를 정리한다.
인플루언서 매칭 플랫폼을 운영하면서 블로거 지수 분석 기능을 만들었다. 블로그 데이터를 크롤링하고 여러 지표를 계산해서 점수를 매기는 기능이다. 문제는 이 분석이 요청할 때마다 서버 전체를 멈추게 만들었다는 것이다.
“이 블로거의 영향력이 얼마나 되나요?” 인플루언서 매칭 플랫폼을 만들면서 광고주가 가장 많이 하던 질문이다. 팔로워 수나 방문자 수는 조작 가능하다. 실제 영향력을 측정하는 알고리즘을 설계한 과정을 정리한다.
“PHP Fatal Error 발생 → 사내메신저 알림 확인 → 코드 확인 → 원인 분석 → 수정 → PR 생성 → 코드 리뷰 → 배포”. 이 흐름을 자동화하면 어떨까? 이 글에서는 PHP Fatal Error 발생 시 LLM이 자동으로 오류를 분석하고 수정한 뒤 PR을 생성하는 ...
크론 서버가 죽었는데 아무도 몰랐다. 청구서 발행이 안 돼서 사용자 문의가 폭주하고 나서야 알게 됐다. 이 글에서는 크론잡 헬스체크를 자동화해서 장애를 즉시 감지하는 시스템을 구축한 과정을 정리한다.
“배포할게요, 잠깐만요.” 매주 금요일 오후 4시, 배포 담당자가 서버에 SSH 접속해서 git pull → docker-compose restart를 실행한다. 배포가 끝나면 직접 브라우저를 열어서 주요 기능을 확인한다. 이 과정을 자동화한 이야기를 정리한다.
여러 서비스가 각자 로그인 시스템을 갖고 있으면 사용자는 서비스를 이동할 때마다 다시 로그인해야 한다. 이 글에서는 3개 서비스의 인증을 쿠키 기반 SSO로 통합하면서 점검 시간을 1시간으로 최소화한 경험을 정리한다.
실시간 배차 서비스에서 20~30명의 기사가 동시에 수주 버튼을 누르면 어떤 일이 발생할까? 이 글에서는 실제 서비스에서 발생한 배차 중복 수락 문제를 Redis 분산 락으로 해결한 과정을 정리한다.
배차 서비스에서 새 배차가 등록되면 모든 기사에게 알림을 보내고 있었다. 서울에 있는 기사에게 부산 배차 알림이 가고, 인천 기사에게 대전 배차 알림이 갔다. 불필요한 알림을 줄이기 위해 위치 기반 알림 시스템을 구현한 과정을 정리한다.
실시간 배차 서비스에서 20~30명의 기사가 동시에 수주 버튼을 누르면 어떤 일이 발생할까? 이 글에서는 실제 서비스에서 발생한 배차 중복 수락 문제를 Redis 분산 락으로 해결한 과정을 정리한다.
인플루언서 매칭 플랫폼을 운영하면서 블로거 지수 분석 기능을 만들었다. 블로그 데이터를 크롤링하고 여러 지표를 계산해서 점수를 매기는 기능이다. 문제는 이 분석이 요청할 때마다 서버 전체를 멈추게 만들었다는 것이다.
“슬로우 쿼리 로그 좀 켜볼까요?” 학원 ERP 서비스에서 간헐적으로 API 응답이 느려지는 문제가 있었다. 슬로우 쿼리 로그를 켜보니 원인이 보였다. 이 글에서는 슬로우 쿼리를 0건으로 만든 과정을 정리한다.
인플루언서 매칭 플랫폼을 운영하면서 블로거 지수 분석 기능을 만들었다. 블로그 데이터를 크롤링하고 여러 지표를 계산해서 점수를 매기는 기능이다. 문제는 이 분석이 요청할 때마다 서버 전체를 멈추게 만들었다는 것이다.
“슬로우 쿼리 로그 좀 켜볼까요?” 학원 ERP 서비스에서 간헐적으로 API 응답이 느려지는 문제가 있었다. 슬로우 쿼리 로그를 켜보니 원인이 보였다. 이 글에서는 슬로우 쿼리를 0건으로 만든 과정을 정리한다.
배차 서비스에서 새 배차가 등록되면 모든 기사에게 알림을 보내고 있었다. 서울에 있는 기사에게 부산 배차 알림이 가고, 인천 기사에게 대전 배차 알림이 갔다. 불필요한 알림을 줄이기 위해 위치 기반 알림 시스템을 구현한 과정을 정리한다.
“PHP Fatal Error 발생 → 사내메신저 알림 확인 → 코드 확인 → 원인 분석 → 수정 → PR 생성 → 코드 리뷰 → 배포”. 이 흐름을 자동화하면 어떨까? 이 글에서는 PHP Fatal Error 발생 시 LLM이 자동으로 오류를 분석하고 수정한 뒤 PR을 생성하는 ...
“이 코드 누가 짰어요?” 레거시 코드를 처음 봤을 때 누구나 한 번쯤 하는 말이다. 하지만 중요한 건 누가 짰는지가 아니라, 지금 어떻게 개선할 것인지다. 학원 ERP 서비스의 PHP 레거시 코드를 Service-Repository 패턴으로 리팩토링한 과정을 정리한다.
2025년부터 AI 코딩 도구를 실무에 쓰기 시작했다. 처음엔 반신반의했다. “AI가 코드를 짠다고?” 1년 지나고 보니 생각이 바뀌었다. AI는 코드를 짜는 게 아니라, 내가 코드 짜는 방식을 바꿔놓았다.
“PHP Fatal Error 발생 → 사내메신저 알림 확인 → 코드 확인 → 원인 분석 → 수정 → PR 생성 → 코드 리뷰 → 배포”. 이 흐름을 자동화하면 어떨까? 이 글에서는 PHP Fatal Error 발생 시 LLM이 자동으로 오류를 분석하고 수정한 뒤 PR을 생성하는 ...
프리랜서로 일하면서 가장 힘들었던 건 다른 개발자가 남긴 코드였다. 이 글에서는 외주 특성상 발생하는 레거시 코드 문제와 내가 어떻게 대응했는지 정리한다.
프리랜서로 일하면서 가장 힘들었던 건 다른 개발자가 남긴 코드였다. 이 글에서는 외주 특성상 발생하는 레거시 코드 문제와 내가 어떻게 대응했는지 정리한다.
프리랜서로 일하면서 가장 힘들었던 건 다른 개발자가 남긴 코드였다. 이 글에서는 외주 특성상 발생하는 레거시 코드 문제와 내가 어떻게 대응했는지 정리한다.
프리랜서로 일하면서 가장 힘들었던 건 다른 개발자가 남긴 코드였다. 이 글에서는 외주 특성상 발생하는 레거시 코드 문제와 내가 어떻게 대응했는지 정리한다.
OddsPortal에서 실시간 배당 데이터를 스크래핑하는 엔진을 구축했다. 외부 사이트는 예고 없이 DOM 구조를 바꾸는데, 이 글에서는 구조 변경에도 데이터 유실률 1% 미만을 유지한 방법을 정리한다.
OddsPortal에서 실시간 배당 데이터를 스크래핑하는 엔진을 구축했다. 외부 사이트는 예고 없이 DOM 구조를 바꾸는데, 이 글에서는 구조 변경에도 데이터 유실률 1% 미만을 유지한 방법을 정리한다.
OddsPortal에서 실시간 배당 데이터를 스크래핑하는 엔진을 구축했다. 외부 사이트는 예고 없이 DOM 구조를 바꾸는데, 이 글에서는 구조 변경에도 데이터 유실률 1% 미만을 유지한 방법을 정리한다.
OddsPortal에서 실시간 배당 데이터를 스크래핑하는 엔진을 구축했다. 외부 사이트는 예고 없이 DOM 구조를 바꾸는데, 이 글에서는 구조 변경에도 데이터 유실률 1% 미만을 유지한 방법을 정리한다.
“이 블로거의 영향력이 얼마나 되나요?” 인플루언서 매칭 플랫폼을 만들면서 광고주가 가장 많이 하던 질문이다. 팔로워 수나 방문자 수는 조작 가능하다. 실제 영향력을 측정하는 알고리즘을 설계한 과정을 정리한다.
“이 블로거의 영향력이 얼마나 되나요?” 인플루언서 매칭 플랫폼을 만들면서 광고주가 가장 많이 하던 질문이다. 팔로워 수나 방문자 수는 조작 가능하다. 실제 영향력을 측정하는 알고리즘을 설계한 과정을 정리한다.
“이 블로거의 영향력이 얼마나 되나요?” 인플루언서 매칭 플랫폼을 만들면서 광고주가 가장 많이 하던 질문이다. 팔로워 수나 방문자 수는 조작 가능하다. 실제 영향력을 측정하는 알고리즘을 설계한 과정을 정리한다.
“이 블로거의 영향력이 얼마나 되나요?” 인플루언서 매칭 플랫폼을 만들면서 광고주가 가장 많이 하던 질문이다. 팔로워 수나 방문자 수는 조작 가능하다. 실제 영향력을 측정하는 알고리즘을 설계한 과정을 정리한다.
인플루언서 매칭 플랫폼을 운영하면서 블로거 지수 분석 기능을 만들었다. 블로그 데이터를 크롤링하고 여러 지표를 계산해서 점수를 매기는 기능이다. 문제는 이 분석이 요청할 때마다 서버 전체를 멈추게 만들었다는 것이다.
인플루언서 매칭 플랫폼을 운영하면서 블로거 지수 분석 기능을 만들었다. 블로그 데이터를 크롤링하고 여러 지표를 계산해서 점수를 매기는 기능이다. 문제는 이 분석이 요청할 때마다 서버 전체를 멈추게 만들었다는 것이다.
인플루언서 매칭 플랫폼을 운영하면서 블로거 지수 분석 기능을 만들었다. 블로그 데이터를 크롤링하고 여러 지표를 계산해서 점수를 매기는 기능이다. 문제는 이 분석이 요청할 때마다 서버 전체를 멈추게 만들었다는 것이다.
공동주택 관리 서비스를 만들 때, 팀 기술 스택을 Python/FastAPI로 결정했다. Node.js, Django, Spring Boot 등 여러 선택지가 있었는데 왜 FastAPI였을까? 기술 스택 선정 과정과 6개월 사용 후 회고를 정리한다.
공동주택 관리 서비스를 만들 때, 팀 기술 스택을 Python/FastAPI로 결정했다. Node.js, Django, Spring Boot 등 여러 선택지가 있었는데 왜 FastAPI였을까? 기술 스택 선정 과정과 6개월 사용 후 회고를 정리한다.
공동주택 관리 서비스를 만들 때, 팀 기술 스택을 Python/FastAPI로 결정했다. Node.js, Django, Spring Boot 등 여러 선택지가 있었는데 왜 FastAPI였을까? 기술 스택 선정 과정과 6개월 사용 후 회고를 정리한다.
공동주택 관리 서비스를 만들 때, 팀 기술 스택을 Python/FastAPI로 결정했다. Node.js, Django, Spring Boot 등 여러 선택지가 있었는데 왜 FastAPI였을까? 기술 스택 선정 과정과 6개월 사용 후 회고를 정리한다.
“배포할게요, 잠깐만요.” 매주 금요일 오후 4시, 배포 담당자가 서버에 SSH 접속해서 git pull → docker-compose restart를 실행한다. 배포가 끝나면 직접 브라우저를 열어서 주요 기능을 확인한다. 이 과정을 자동화한 이야기를 정리한다.
“배포할게요, 잠깐만요.” 매주 금요일 오후 4시, 배포 담당자가 서버에 SSH 접속해서 git pull → docker-compose restart를 실행한다. 배포가 끝나면 직접 브라우저를 열어서 주요 기능을 확인한다. 이 과정을 자동화한 이야기를 정리한다.
“배포할게요, 잠깐만요.” 매주 금요일 오후 4시, 배포 담당자가 서버에 SSH 접속해서 git pull → docker-compose restart를 실행한다. 배포가 끝나면 직접 브라우저를 열어서 주요 기능을 확인한다. 이 과정을 자동화한 이야기를 정리한다.
“배포할게요, 잠깐만요.” 매주 금요일 오후 4시, 배포 담당자가 서버에 SSH 접속해서 git pull → docker-compose restart를 실행한다. 배포가 끝나면 직접 브라우저를 열어서 주요 기능을 확인한다. 이 과정을 자동화한 이야기를 정리한다.
공동주택 관리 서비스 팀에 백엔드 주니어 1명, 프론트 주니어 1명이 들어왔다. 3개월 후 이들은 독립적으로 기능을 개발하고 배포할 수 있는 개발자가 됐다. 코드 리뷰 프로세스를 도입하고 멘토링한 과정을 정리한다.
공동주택 관리 서비스 팀에 백엔드 주니어 1명, 프론트 주니어 1명이 들어왔다. 3개월 후 이들은 독립적으로 기능을 개발하고 배포할 수 있는 개발자가 됐다. 코드 리뷰 프로세스를 도입하고 멘토링한 과정을 정리한다.
공동주택 관리 서비스 팀에 백엔드 주니어 1명, 프론트 주니어 1명이 들어왔다. 3개월 후 이들은 독립적으로 기능을 개발하고 배포할 수 있는 개발자가 됐다. 코드 리뷰 프로세스를 도입하고 멘토링한 과정을 정리한다.
공동주택 관리 서비스 팀에 백엔드 주니어 1명, 프론트 주니어 1명이 들어왔다. 3개월 후 이들은 독립적으로 기능을 개발하고 배포할 수 있는 개발자가 됐다. 코드 리뷰 프로세스를 도입하고 멘토링한 과정을 정리한다.
공동주택 관리 서비스 팀에 백엔드 주니어 1명, 프론트 주니어 1명이 들어왔다. 3개월 후 이들은 독립적으로 기능을 개발하고 배포할 수 있는 개발자가 됐다. 코드 리뷰 프로세스를 도입하고 멘토링한 과정을 정리한다.
배차 서비스에서 새 배차가 등록되면 모든 기사에게 알림을 보내고 있었다. 서울에 있는 기사에게 부산 배차 알림이 가고, 인천 기사에게 대전 배차 알림이 갔다. 불필요한 알림을 줄이기 위해 위치 기반 알림 시스템을 구현한 과정을 정리한다.
배차 서비스에서 새 배차가 등록되면 모든 기사에게 알림을 보내고 있었다. 서울에 있는 기사에게 부산 배차 알림이 가고, 인천 기사에게 대전 배차 알림이 갔다. 불필요한 알림을 줄이기 위해 위치 기반 알림 시스템을 구현한 과정을 정리한다.
배차 서비스에서 새 배차가 등록되면 모든 기사에게 알림을 보내고 있었다. 서울에 있는 기사에게 부산 배차 알림이 가고, 인천 기사에게 대전 배차 알림이 갔다. 불필요한 알림을 줄이기 위해 위치 기반 알림 시스템을 구현한 과정을 정리한다.
배차 서비스에서 새 배차가 등록되면 모든 기사에게 알림을 보내고 있었다. 서울에 있는 기사에게 부산 배차 알림이 가고, 인천 기사에게 대전 배차 알림이 갔다. 불필요한 알림을 줄이기 위해 위치 기반 알림 시스템을 구현한 과정을 정리한다.
실시간 배차 서비스에서 20~30명의 기사가 동시에 수주 버튼을 누르면 어떤 일이 발생할까? 이 글에서는 실제 서비스에서 발생한 배차 중복 수락 문제를 Redis 분산 락으로 해결한 과정을 정리한다.
실시간 배차 서비스에서 20~30명의 기사가 동시에 수주 버튼을 누르면 어떤 일이 발생할까? 이 글에서는 실제 서비스에서 발생한 배차 중복 수락 문제를 Redis 분산 락으로 해결한 과정을 정리한다.
실시간 배차 서비스에서 20~30명의 기사가 동시에 수주 버튼을 누르면 어떤 일이 발생할까? 이 글에서는 실제 서비스에서 발생한 배차 중복 수락 문제를 Redis 분산 락으로 해결한 과정을 정리한다.
여러 서비스가 각자 로그인 시스템을 갖고 있으면 사용자는 서비스를 이동할 때마다 다시 로그인해야 한다. 이 글에서는 3개 서비스의 인증을 쿠키 기반 SSO로 통합하면서 점검 시간을 1시간으로 최소화한 경험을 정리한다.
여러 서비스가 각자 로그인 시스템을 갖고 있으면 사용자는 서비스를 이동할 때마다 다시 로그인해야 한다. 이 글에서는 3개 서비스의 인증을 쿠키 기반 SSO로 통합하면서 점검 시간을 1시간으로 최소화한 경험을 정리한다.
여러 서비스가 각자 로그인 시스템을 갖고 있으면 사용자는 서비스를 이동할 때마다 다시 로그인해야 한다. 이 글에서는 3개 서비스의 인증을 쿠키 기반 SSO로 통합하면서 점검 시간을 1시간으로 최소화한 경험을 정리한다.
“이 코드 누가 짰어요?” 레거시 코드를 처음 봤을 때 누구나 한 번쯤 하는 말이다. 하지만 중요한 건 누가 짰는지가 아니라, 지금 어떻게 개선할 것인지다. 학원 ERP 서비스의 PHP 레거시 코드를 Service-Repository 패턴으로 리팩토링한 과정을 정리한다.
“이 코드 누가 짰어요?” 레거시 코드를 처음 봤을 때 누구나 한 번쯤 하는 말이다. 하지만 중요한 건 누가 짰는지가 아니라, 지금 어떻게 개선할 것인지다. 학원 ERP 서비스의 PHP 레거시 코드를 Service-Repository 패턴으로 리팩토링한 과정을 정리한다.
“이 코드 누가 짰어요?” 레거시 코드를 처음 봤을 때 누구나 한 번쯤 하는 말이다. 하지만 중요한 건 누가 짰는지가 아니라, 지금 어떻게 개선할 것인지다. 학원 ERP 서비스의 PHP 레거시 코드를 Service-Repository 패턴으로 리팩토링한 과정을 정리한다.
“이 코드 누가 짰어요?” 레거시 코드를 처음 봤을 때 누구나 한 번쯤 하는 말이다. 하지만 중요한 건 누가 짰는지가 아니라, 지금 어떻게 개선할 것인지다. 학원 ERP 서비스의 PHP 레거시 코드를 Service-Repository 패턴으로 리팩토링한 과정을 정리한다.
크론 서버가 죽었는데 아무도 몰랐다. 청구서 발행이 안 돼서 사용자 문의가 폭주하고 나서야 알게 됐다. 이 글에서는 크론잡 헬스체크를 자동화해서 장애를 즉시 감지하는 시스템을 구축한 과정을 정리한다.
크론 서버가 죽었는데 아무도 몰랐다. 청구서 발행이 안 돼서 사용자 문의가 폭주하고 나서야 알게 됐다. 이 글에서는 크론잡 헬스체크를 자동화해서 장애를 즉시 감지하는 시스템을 구축한 과정을 정리한다.
크론 서버가 죽었는데 아무도 몰랐다. 청구서 발행이 안 돼서 사용자 문의가 폭주하고 나서야 알게 됐다. 이 글에서는 크론잡 헬스체크를 자동화해서 장애를 즉시 감지하는 시스템을 구축한 과정을 정리한다.
크론 서버가 죽었는데 아무도 몰랐다. 청구서 발행이 안 돼서 사용자 문의가 폭주하고 나서야 알게 됐다. 이 글에서는 크론잡 헬스체크를 자동화해서 장애를 즉시 감지하는 시스템을 구축한 과정을 정리한다.
“슬로우 쿼리 로그 좀 켜볼까요?” 학원 ERP 서비스에서 간헐적으로 API 응답이 느려지는 문제가 있었다. 슬로우 쿼리 로그를 켜보니 원인이 보였다. 이 글에서는 슬로우 쿼리를 0건으로 만든 과정을 정리한다.
“슬로우 쿼리 로그 좀 켜볼까요?” 학원 ERP 서비스에서 간헐적으로 API 응답이 느려지는 문제가 있었다. 슬로우 쿼리 로그를 켜보니 원인이 보였다. 이 글에서는 슬로우 쿼리를 0건으로 만든 과정을 정리한다.
“슬로우 쿼리 로그 좀 켜볼까요?” 학원 ERP 서비스에서 간헐적으로 API 응답이 느려지는 문제가 있었다. 슬로우 쿼리 로그를 켜보니 원인이 보였다. 이 글에서는 슬로우 쿼리를 0건으로 만든 과정을 정리한다.
컨트롤러에 모든 로직이 집중된 레거시 코드를 리팩토링할 때, 배포 전 운영 DB로 검증이 필요했다. PHP 테스트 코드에 트랜잭션 롤백을 추가해 데이터 오염 없이 배포 검증을 자동화한 과정을 정리한다.
컨트롤러에 모든 로직이 집중된 레거시 코드를 리팩토링할 때, 배포 전 운영 DB로 검증이 필요했다. PHP 테스트 코드에 트랜잭션 롤백을 추가해 데이터 오염 없이 배포 검증을 자동화한 과정을 정리한다.
컨트롤러에 모든 로직이 집중된 레거시 코드를 리팩토링할 때, 배포 전 운영 DB로 검증이 필요했다. PHP 테스트 코드에 트랜잭션 롤백을 추가해 데이터 오염 없이 배포 검증을 자동화한 과정을 정리한다.
컨트롤러에 모든 로직이 집중된 레거시 코드를 리팩토링할 때, 배포 전 운영 DB로 검증이 필요했다. PHP 테스트 코드에 트랜잭션 롤백을 추가해 데이터 오염 없이 배포 검증을 자동화한 과정을 정리한다.
“PHP Fatal Error 발생 → 사내메신저 알림 확인 → 코드 확인 → 원인 분석 → 수정 → PR 생성 → 코드 리뷰 → 배포”. 이 흐름을 자동화하면 어떨까? 이 글에서는 PHP Fatal Error 발생 시 LLM이 자동으로 오류를 분석하고 수정한 뒤 PR을 생성하는 ...
“PHP Fatal Error 발생 → 사내메신저 알림 확인 → 코드 확인 → 원인 분석 → 수정 → PR 생성 → 코드 리뷰 → 배포”. 이 흐름을 자동화하면 어떨까? 이 글에서는 PHP Fatal Error 발생 시 LLM이 자동으로 오류를 분석하고 수정한 뒤 PR을 생성하는 ...
2025년부터 AI 코딩 도구를 실무에 쓰기 시작했다. 처음엔 반신반의했다. “AI가 코드를 짠다고?” 1년 지나고 보니 생각이 바뀌었다. AI는 코드를 짜는 게 아니라, 내가 코드 짜는 방식을 바꿔놓았다.
2025년부터 AI 코딩 도구를 실무에 쓰기 시작했다. 처음엔 반신반의했다. “AI가 코드를 짠다고?” 1년 지나고 보니 생각이 바뀌었다. AI는 코드를 짜는 게 아니라, 내가 코드 짜는 방식을 바꿔놓았다.
2025년부터 AI 코딩 도구를 실무에 쓰기 시작했다. 처음엔 반신반의했다. “AI가 코드를 짠다고?” 1년 지나고 보니 생각이 바뀌었다. AI는 코드를 짜는 게 아니라, 내가 코드 짜는 방식을 바꿔놓았다.
2025년부터 AI 코딩 도구를 실무에 쓰기 시작했다. 처음엔 반신반의했다. “AI가 코드를 짠다고?” 1년 지나고 보니 생각이 바뀌었다. AI는 코드를 짜는 게 아니라, 내가 코드 짜는 방식을 바꿔놓았다.