HowToCook란?
HowToCook(프로그래머 요리 가이드)는 프로그래머 Anduin2017이 만든 오픈소스 레시피 프로젝트입니다. 297개 레시피가 프로그래머가 익숙한 정확성과 명확성으로 작성되었습니다.
프로젝트 철학: 레시피는 코드처럼 명확해야 합니다. “소금 조금"이나 “노랗게 볶을 때까지” 같은 모호한 설명 없이, 모든 레시피는 정확한 계량, 정확한 시간, 단계별 프로세스를 제공합니다.
GitHub: https://github.com/Anduin2017/HowToCook
Stars: 70K+
기여자: 200+
라이선스: Unlicense
왜 프로그래머가 이것이 필요한가?
기존 레시피의 문제
| 문제 | 예시 | HowToCook 해결책 |
|---|---|---|
| 모호한 양 | “소금 조금” | “소금 3g(1/2 티스푼)” |
| 애매한 시간 | “노랗게 볶을 때까지” | “한 면당 90초 볶기” |
| 누락된 단계 | 중간에 새로운 재료 등장 | 완전한 재료 목록 먼저 |
| 난이도 없음 | 모든 요리가 똑같이 어려워 보임 | 1-5성 난이도 시스템 |
| 장비 목록 없음 | 모든 것이 있다고 가정 | 필요한 도구 먼저 나열 |
개발자를 위한 특성
- 구조화된 형식: 매개변수가 있는 함수처럼
- 난이도 등급: 1-5성(라면에서 베이징 덕까지)
- 장비 요구사항: 재료 전에 나열
- 정확한 계량: g, ml, “한 꼬집” 아님
- 시간 추적: 준비 시간, 조리 시간, 총 시간
- 에러 처리: 일반적인 실수와 피하는 방법
레시피 분류
난이도별
| 성급 | 수량 | 예시 |
|---|---|---|
| ⭐ | 45 | 토마토 계란볶음, 라면 업그레이드 |
| ⭐⭐ | 78 | 궁보계정, 홍소육 |
| ⭐⭐⭐ | 89 | 탕초排骨, 마파두부 |
| ⭐⭐⭐⭐ | 56 | 베이징 덕, 훠궈 베이스 |
| ⭐⭐⭐⭐⭐ | 29 | 상어 지느러미 수프, 전복 죽 |
종류별
- 채소: 85道(볶음, 조림, 찜)
- 고기: 92道(돼지, 소, 닭, 양)
- 해산물: 34道(생선, 새우, 게)
- 국물: 46道(빠른 국, 느린 끓임)
- 아침: 23道(죽, 팬케이크, 샌드위치)
- 디저트: 17道(케이크, 푸딩, 단팥죽)
샘플 레시피: 토마토 계란볶음
# 토마토 계란볶음 ⭐
## 재료
- 계란 2개(100g)
- 토마토 2개(300g)
- 소금 3g(1/2 티스푼)
- 설탕 5g(1 티스푼)
- 식용유 10ml
- 파 2g(선택)
## 조리도구
- 프라이팬
- 뒤집개
- 볼
## 시간
- 준비: 5분
- 조리: 5분
- 총계: 10분
## 단계
1. 계란을 볼에 깨서 소금 1g 넣고 균일하게 휘핑
2. 토마토를 씻어 2cm 덩이로 자르기
3. 중불로 프라이팬을 180°C까지 가열
4. 기름을 두르고 10초 대기
5. 계란을 부어 30초간 계속 저으며 볶기
6. 계란이 80% 익었을 때(약간 촉촉한 상태)꺼내기
7. 같은 팬에 토마토 넣고 2분 볶기
8. 남은 소금과 설탕 추가
9. 계란을 다시 팬에 넣고 20초 섞기
10. 즉시 서빙
## 팁
- 계란을 너무 오래 볶지 마세요 — 꺼낸 후에도 익어갑니다
- 토마토가 너무 신맛이 나면 설탕 1g 더 추가
- 더 부드러운 식감을 원하면 계란에 우유 10ml 추가
커뮤니티와 기여
기여 방법
- Fork 저장소
- 복사 템플릿 레시피
- 작성 형식에 맞는 레시피
- 제출 Pull Request
기여 통계
- 200+ 기여자 전 세계에서
- 297개 레시피 지속적으로 증가
- 다국어 지원: 중국어, 영어, 일본어
- Docker 지원: 한 줄 명령으로 로컬 실행
웹 배포
# 로컬 배포
docker pull ghcr.io/anduin2017/how-to-cook:latest
docker run -d -p 5000:5000 ghcr.io/anduin2017/how-to-cook:latest
# http://localhost:5000 접속
NPM 패키지
Node.js 패키지로 설치:
npm install how-to-cook
프로그래밍 방식 사용:
const recipes = require('how-to-cook');
// 레시피 검색
const tomatoRecipes = recipes.search('토마토');
// 난이도로 필터링
const easyRecipes = recipes.filterByStars(1);
// 랜덤 가져오기
const dinner = recipes.random();
학습 경로
초보자(1-2주)
- 주방 준비
- 기본 칼 기술
- 1성 레시피
- 밥 짓기
중급자(3-4주)
- 2-3성 레시피
- 육류 처리
- 볶음 기술
- 국물 기초
고급자(5주+)
- 4-5성 레시피
- 다중 요리 조율
- 맛 균형
- 플레이팅
왜 이 프로젝트가 주목받아야 하는가
HowToCook은 다음의 완벽한 예시입니다:
- 커뮤니티 기반 콘텐츠: 200+ 기여자가 진정한 콘텐츠를 창조
- 구조화된 데이터: 레시피는 schema.org 형식을 따름
- 롱테일 키워드: “프로그래머 요리 가이드”, “how to cook for developers”
- 에버그린 콘텐츠: 요리는 결코 시대에 뒤떨어지지 않음
- 다국어: 중국어, 영어, 일본어 버전
관련 기사
- Free Claude Code 오픈소스 AI 코딩 에이전트 — 또 다른 개발자 오픈소스 도구
- Pixelle-Video AI 쇼트 비디오 생성기 — AI 콘텐츠 제작 도구
- OpenClaw 42개 사용 사례 — AI 에이전트 일상 작업
면책 조항: 본 문서는 오픈소스 프로젝트를 소개합니다. 모든 레시피 콘텐츠는 HowToCook 커뮤니티에 속합니다. 요리 시 식품 안전 지침을 따르세요.