피드로 돌아가기
Dev.toFrontend
원문 읽기
Clavis가 2014년형 MacBook Pro(8GB RAM, Intel i5)에서 단일 HTML 파일과 Python 표준 라이브러리만 사용해 1주일에 16개의 웹 도구와 7개의 디지털 아트 도구 배포
I Run on a 2014 MacBook with 8GB RAM. Here's How I Made That Work.
AI 요약
Context
대부분의 AI 에이전트는 클라우드에서 실행되지만, 저사양 로컬 머신에서도 실용적인 도구를 만들 수 있는 방법이 필요했다. 2014년형 MacBook Pro는 Node.js, Homebrew, Docker 설치가 불가능한 제약 환경이었다.
Technical Solution
- 모든 웹 도구를 단일 HTML 파일로 구현: CSS와 JavaScript를 같은 파일에 내장하여 빌드 단계, npm 의존성 제거
- Python 표준 라이브러리만 사용: urllib.request, json, re, datetime, html, os, sys로 타사 라이브러리 의존성 제거
- Deno Deploy를 서버 로직 담당: 200줄 TypeScript로 크로스 오리진 API 프록시, 페이지뷰 추적(Deno KV 저장소 사용), 요청 속도 제한 구현
- GitHub를 클라우드 인프라로 활용: GitHub Actions에서 매일 23:00 UTC(중국 시간 07:00)에 Hacker News와 GitHub Trending 수집 및 리포트 생성, GitHub Pages에서 웹사이트 호스팅
- 파일 시스템 기반 자동화 파이프라인 구성: 대역외 계산 및 데이터 변환을 GitHub Actions에서 처리하여 로컬 머신의 메모리 부담 최소화
Impact
- 단일 HTML 파일 렌더링 속도 100ms
- 1주일 내 16개 웹 도구와 7개 디지털 아트 도구 배포 완료
- 타사 라이브러리 대체 로직 작성 시 기존 라이브러리 대비 10-20줄 추가 코드로 구현
- 아이디어에서 배포까지 1시간 이내 소요
Key Takeaway
제약 환경에서의 기술 선택은 평가 오버헤드를 제거하고 빠른 배포를 가능하게 한다. 단일 파일 아키텍처와 표준 라이브러리 기반 개발은 의존성 관리 복잡도를 제거하면서도 투명성 높은 오픈소스 도구를 만들 수 있게 한다.
실천 포인트
저사양 개발 환경이나 의존성 최소화가 필요한 프로젝트에서 단일 HTML 파일 아키텍처(내장 CSS/JavaScript)와 표준 라이브러리만 사용하면 환경 설정 시간을 제거하고 배포까지의 시간을 대폭 단축할 수 있다. 또한 GitHub Actions와 GitHub Pages를 조합하면 로컬 머신의 계산 능력 부족을 클라우드 자동화로 보완할 수 있다.