The Kitchen.
Matcha Logic의 시스템 아키텍처와 설계도를 투명하게 공개합니다.
이 프로젝트의 개발 리소스, 코드 규칙, 디자인 토큰을 탐색할 수 있는 인덱스입니다.
Source Logic
Astro 프레임워크 기반의 컴포넌트 아키텍처 구조를 바탕으로, 각 페이지 파일의 헤더 선언문(Frontmatter)을 실시간으로 파싱하여 동적 데이터를 주입하는 핵심 비즈니스 로직을 탐색합니다.
Design Tokens
일관성 있는 브랜딩을 구축하기 위한 말차 로직의 컬러 스펙트럼과 서체 규격 명세서입니다. 디자인 핵심 색상 명세와 서체 스펙을 실시간으로 확인하고 복사할 수 있습니다.
UI Components
배지, 버튼, 카드 등 실제로 서비스에 사용되는 주요 UI 요소들의 외관과 기능, 그리고 이를 렌더링하기 위한 소스 코드 스니펫(Markup)을 직접 테스트하며 탐색할 수 있습니다.
v4.4.0Legacy Archive 독립 페이지 신설 및 시스템 확장2026. 9. 27.
말차 로직이 걸어온 발자취와 뿌리를 담은 독립 보관소 페이지 Legacy Archive (/legacy)를 신설했습니다. 처음엔 명확한 의도로 만들어졌으나 현재 시점에서는 잠시 메인 메뉴에서 벗어난 4가지 고유 페이지들(Flavors, Brewing Logs, Tasting Notes, Search Log)의 역사를 돌아보고, 앞으로의 새로운 시도와 미래 방향성을 한눈에 감상할 수 있도록 구성했습니다.
1. Legacy Archive 보관소 인덱스 신설 (/legacy)
- 4대 Legacy 콘텐츠 역사 및 방향성 소개:
Flavors: 초기 태그 모음(tags)에서 3가지 시그니처 테마로 발전하고, 현재 보관소로 이동하기까지의 5단계 버전 변화 과정 수록Brewing Logs: 블로그 아티클 발행을 잠시 멈추게 된 이유와 고유 콘텐츠로서의 발전 고민 서술Tasting Notes: 4가지 비평 항목 점수 매기기 실험의 의의와 향후 평가 체계화 계획 명시Search Log: 검색 전용 페이지 구축 배경 및 블로그 검색 기능 보류 후 새로운 활용 방향 고민 제시
2. 레이아웃 컴포넌트 기능 고도화 (SectionSplit & SectionCentered)
- SectionSplit 그리드 비율 및 자연스러운 줄바꿈 옵션 확장:
- 긴 회고 텍스트 전달력을 높이기 위해 6:4 스플릿 비율(
leftSpan={7},rightSpan={5}) 지원 - 어색한 단어 끊김을 방지하는 위치 기반 자연스러운 줄바꿈(
breakKeep={false}) 속성 추가
- 긴 회고 텍스트 전달력을 높이기 위해 6:4 스플릿 비율(
- 본문 description 파트 HTML 렌더링 지원:
SectionSplit및SectionCentered컴포넌트 본문에set:html속성을 도입해,Flavors,Tools,Studio,Recipe등 고유명사가 본문 맥락과 조화롭게 구분되도록 태그 뱃지 스타일 지원
3. 사이트 푸터, 네비게이션 및 브랜드 표기 일관성 확보
- 푸터 3대 코스 헤더 전면 링크화 & 코스 메뉴 연동:
Footer.astro하단 메뉴의 3대 코스 헤더(Course 01 Main,Course 02 Kitchen,Course 03 Legacy Archive) 전체에 클릭 가능한 코스 메인 연결 링크(href="/",href="/kitchen",href="/legacy")를 일관되게 구축- 하단 3코스를
/legacy(Legacy Archive 메인) 및/search(Search Log)로 링크 재정돈 src/data/navigation.ts내LEGACY_MENU서브 네비게이션 정의 및 3코스 탭 연동
- 페이지 고유명사 대소문자 표기 통일:
- 본문 문장 내 메뉴/페이지 명칭을 고유명사 규칙(첫 글자 대문자
Legacy,Flavors,Tools,Studio등)으로 일관되게 적용
- 본문 문장 내 메뉴/페이지 명칭을 고유명사 규칙(첫 글자 대문자
v4.3.0배당주 실질 총수익 계산기 신설 및 최초 와이드 2컬럼 레이아웃 도입2026. 9. 25.
월배당·분기배당 주식의 수령 배당금과 미래 주가 변동 시 주식 평가금액을 합산하여 최종 실질 총자산(Total Return)과 손익분기 주가를 실시간 시뮬레이션할 수 있는 배당주 실질 총수익 계산기를 새롭게 출시했습니다.
1. MatchaLogic Tools 최초 와이드 2컬럼 실시간 인터페이스 도입 (/tools/stock-dividend-calculator)
- 좌측 입력 / 우측 실시간 결과 분리 스플릿 레이아웃:
- 기존 1컬럼 카드 형식을 벗어나, 넓은 화면을 효율적으로 활용하는 와이드 2컬럼 데스크톱 윈도우 스타일을 최초 적용했습니다.
- 다양한 입력 조건 및 실시간 인터랙션:
- 최초 매수가, 보유 수량, 주당 1회 배당금, 보유 기간(개월) 입력
- 배당 지급 주기 선택: 월배당(연 12회), 분기배당(연 4회), 반기배당(연 2회), 연배당(연 1회) 유연 전환
- 배당소득세율 자유 설정: 국내 일반과세(15.4%), 미국 배당세(15.0%), 비과세/ISA(0%), 사용자 직접 입력 % 옵션 추가
- 미래 주가 시나리오 Quick Presets:
-30%,-20%,-10%,0%,+10%,+20%원클릭 빠른 시뮬레이션 지원
- 실시간 결과 하이라이트:
- 통장 누적 배당금(세후), 미래 주식 평가금, 총 투자 원금, 실질 총 손익금 및 수익률(%) 즉시 계산
- 원금 유지 손익분기 주가 메인 카드 배치: 배당 수령액 덕분에 주가가 떨어져도 내 원금이 유지되는 마지노선 주가를 가장 눈에 띄게 강조
2. 시각화 차트 및 원리 계산 가이드
- SVG 배당 방어 효과 차트 & 시나리오 수치 데이터표:
- 주가 변동률 대비 실질 총자산(녹색선)과 단순 주식 평가액(회색 점선)의 차이를 비교 시각화
- 주가 -20% 하락 시에도 배당 쿠션으로 실질 손실률이 완화(-14.9%)되는 과정 3단계 공식 설명 수록
3. 객관적 위험 시나리오 5종 및 준법 가이드
- 배당주의 한계를 짚어주는 위험 시나리오:
- 주가 하락, 배당 삭감, 구조적 오해, 금리 리스크, 환차손 등 배당주 투자가 독이 될 수 있는 5가지 위험 케이스 소개
- 투자의 원칙을 상기시키는 제작자 코멘트 & 2026년 세법 기준 면책 고지:
- “배당수익률은 얼마를 돌려받았는가만 보여줄 뿐, 원금이 얼마나 줄었는가는 알려주지 않으므로 실질 총수익(Total Return)을 함께 확인해야 함”을 명시
4. 네비게이션 및 디자인 시스템 표준화
- 주식 도구 메뉴 명칭 직관 한글화:
STUDIO_SIMULATOR_MENU및TOOLS_STOCK_MENU내 라벨을물타기 계산기,배당주 계산기,물타기 시뮬레이터로 일괄 정돈 - 도구함 메인 히어로 뱃지 적용:
/tools메인 히어로 섹션에 Collaboration Workflow 명세(/recipe#type-b)와 연결된Type B(Blend Council) 뱃지를 적용 - 카드 스타일 일관성 확보: 위험 시나리오 컨테이너, 면책조항 카드, 제작자 코멘트 카드를
border-matcha-200/80및shadow-atmosphere스타일로 통일
v4.2.1주식 평단가·마감 완수 시뮬레이터 script TS 모듈화 및 버전 정렬 오류 수정2026. 9. 24.
주식 평단가 물타기 시뮬레이터 및 과제 마감 완수 시뮬레이터 페이지의 공통 Studio 프레임워크 리팩토링과 함께, 거대한 인라인 스크립트를 별도 TypeScript 모듈로 분리하고 푸터 및 시스템 API의 버전 표기 오류를 전면 수정했습니다.
1. Studio 공통 프레임워크 레이아웃 적용
- StudioSimulatorLayout 통합: 기존 페이지별로 개별 구현되어 있던 3컬럼 스플릿 레이아웃과 네비게이션 드롭다운 메뉴(
STUDIO_SIMULATOR_MENU), 면책 조항 알림 바를 공통StudioSimulatorLayout규격으로 통합했습니다.
2. 모듈형 콘솔 및 리포트 섹션 구조화
- StudioConsoleSection 적용 (입력 콘솔):
1. 보유 주식 (초기 위치): 초기 평단가, 보유 수량 입력 폼 및 초기 총 투입 금액 카드 모듈화2. 단계별 추가 매수 레이어: 추가 매수 단계 셀 테이블, 직접 입력/자동 규칙 스위치 및 자동 규칙 산출 콘솔을 아코디언 섹션으로 체계화
- StudioReportSection 적용 (결과 리포트):
1. 시뮬레이션 최종 결과 요약: 최종 평단가, 총 보유량, 총 누적 투입 자금 및 초기 대비 변동률 요약 카드2. 차수별 독립 결과: 각 차수별 당회 목표가, 수량, 투입금 독립 데이터표3. 차수별 누적 결과: 차수별 최종 누적 평단가 및 투자 자금 데이터표
- StudioCanvasContainer 적용 (메인 캔버스):
- SVG 듀얼 축 좌표평면 차트 주변의 상단 범례/축 설명 카드(
header-badges), 플로팅 마우스/터치 툴팁(tooltip), 패널 접기/펼치기 토글 버튼을 공통 캔버스 컨테이너 규격으로 표준화했습니다.
- SVG 듀얼 축 좌표평면 차트 주변의 상단 범례/축 설명 카드(
3. 시뮬레이터 클라이언트 스크립트 TS 모듈 분리 및 불필요 코드 소멸 (최적화)
- 클라이언트 스크립트 외부 모듈화 (
src/scripts/simulators/):stock-average-simulator.astro내의 인라인 스크립트를 독립 모듈src/scripts/simulators/stock-average.ts로 분리했습니다.deadline-crunch-simulator.astro내의 인라인 스크립트를 독립 모듈src/scripts/simulators/deadline-crunch.ts로 분리했습니다.
- 페이지 파일 대폭 다이어트 (.astro 파일 약 70% 감소):
- 주식 평단가 시뮬레이터: 1,816줄 ➔ 552줄 (1,264줄 / 약 69.6% 축소)
- 과제 마감 시뮬레이터: 1,713줄 ➔ 504줄 (1,209줄 / 약 70.6% 축소)
- TS 전환으로 제거된 불필요 코드 및 상세 수치 (총 485줄 순감소):
- 중복 잔재 코드 소멸: 공통 컴포넌트(
StudioConsoleSection,StudioReportSection)에 이미 접기/펼침 로직이 탑재되어 있었음에도 각 스크립트에 남아있던 과거 잔재 토글 이벤트 로직(setupRightSecToggle)을 TS 전환 과정에서 발견하고 완전히 제거했습니다. - 템플릿 개행 및 공백 최적화: 백틱(
...) 기반 HTML 동적 생성 템플릿에 포함되어 있던 수백 줄의 무의미한 개행과 불필요한 들여쓰기를 정돈했습니다. - 보일러플레이트 & 중복 타입 단언 감축: 반복적인 DOM 탐색과
as HTMLInputElement타입 캐스팅 구문을 옵셔널 체이닝 및 유틸 헬퍼로 간소화했습니다. - 시뮬레이터별 최종 코드량(HTML + TS) 비교:
- 주식 평단가: 기존 1,816줄 ➔ 총 1,613줄 (Astro 552줄 + TS 1,061줄) = 203줄 감축
- 과제 마감: 기존 1,713줄 ➔ 총 1,431줄 (Astro 504줄 + TS 927줄) = 282줄 감축
- 전체 합계: 기존 3,529줄 ➔ 3,044줄 (총 485줄 / 약 13.7% 순감소)
- 중복 잔재 코드 소멸: 공통 컴포넌트(
4. 푸터 및 시스템 버저닝 정렬 로직 오류 수정 (Fix)
- 시맨틱 버저닝(SemVer) 우선 정렬 도입: 푸터(
Footer.astro) 및 시스템 API 라우트(kitchen/api.astro,[drink].json.ts)에서 일자(date)만으로 업데이트를 정렬할 때 동일 날짜 건에 대해 최신 버전 대신 과거 버전(v4.1.0)이 표기되던 버그를 수정했습니다. - 버전 파싱 확장 (
parseVersion):changelogConfig.ts의parseVersion유틸리티를 확장하여v4-2-1형태와4.2.1형태 모두 지원하고, Major ➔ Minor ➔ Patch 내림차순 및 2차 날짜 정렬 알고리즘을 적용했습니다.
v4.2.0Studio 시뮬레이터 프레임워크 구축 및 과제 미루기 한계선과 마감 완수 시뮬레이터 신설2026. 9. 19.
스튜디오(Studio) 라인업을 확장하고 복잡한 다중 변수 시뮬레이션을 위한 공통 3컬럼 레이아웃 프레임워크와 **과제 미루기 한계선과 마감 완수 시뮬레이터 (/studio/deadline-crunch-simulator)**를 신규 구축했습니다.
1. Studio 공통 시뮬레이터 프레임워크 컴포넌트화
- 3컬럼 반응형 그리드 레이아웃 (
StudioSimulatorLayout.astro): 좌측 입력 콘솔, 중앙 시각화 캔버스, 우측 분석 리포트로 구성된 3컬럼 가로 확장형 UI 표준을 컴포넌트화했습니다. - 모듈형 콘솔 & 보고서 섹션 (
StudioConsoleSection,StudioReportSection): 각 섹션 헤더를 클릭하여 영역을 접고 펼칠 수 있는 인터랙티브 아코디언 기능과 배지 스타일을 제공합니다. - 안내 바 & 푸터 (
StudioNoticeBar,StudioFooter): 시뮬레이터 페이지 상단 공지사항 및 공통 푸터 스타일을 표준화했습니다.
2. 과제 미루기 한계선과 마감 완수 시뮬레이터 (/studio/deadline-crunch-simulator)
- 단일 통합 좌표계 차트 (Shared X-Axis, Dual Y-Axes):
- 공통 시간축 (X축, 경과 일수): 착수일과 마감 D-Day가 동일한 가로축을 공유하여 “몇 일 만에 조기 완주하는지”와 “착수를 미룰 때 일일 필요 작업량이 어떻게 폭증하는지”를 한눈에 직관적으로 비교합니다.
- 좌측 Y1축 (누적 진도율, 0% ~ 100%):
- 조기 완주 곡선 & 자동 종료: 매일 투입하는 시간대별 페이스 진도율 곡선이 100% 완주 즉시 선이 멈추고
Day N 완주 (D-M일)배지가 텍스트 길이에 맞춰 유동적으로 부착됩니다. - 번다운 모드 1클릭 전환: 상단 토글 버튼으로 진도율 축 방향(0% ➔ 100% 번다운 하강 또는 0% ➔ 100% 상승)을 즉시 전환할 수 있습니다.
- 100% 조기 완주 기준선: 초록 점선 기준선(
100%(완주))을 통해 모든 페이스의 결승점을 명확히 제시합니다.
- 조기 완주 곡선 & 자동 종료: 매일 투입하는 시간대별 페이스 진도율 곡선이 100% 완주 즉시 선이 멈추고
- 우측 Y2축 (하루 필요 작업량, 0h ~ 24h/일):
- 단일 기하급수 미루기 파멸 곡선 ($y = \frac{\text{총량}}{\text{D-Day} - x}$): 착수 시점을 늦출수록 D-Day 잔여일이 줄어들어 매일 쏟아부어야 하는 작업 시간이 수직에 가깝게 치솟는 파멸 곡선을 붉은 곡선으로 시각화합니다.
- 한도 가이드라인 & 과부하 음영 구역:
매일 집중 가능한 시간(시간/일)가이드라인 점선과16h 마지노선점선, 정상 한도 초과 시 은은하게 강조되는 과부하 음영 구역을 제공합니다. - 교점 마일스톤: 마지노선(골든타임) 세로 점선과 파멸 곡선이 만나는 정확한 교점에 도트와 일일 필요 작업량 텍스트를 배치합니다.
- 마감 파멸 마지노선 (Point of No Return) 골든타임 배너:
- 인간 한계(16h/일)를 기준으로, 물리적으로 마감을 맞출 수 없는 절대 착수 한계일(
Day N일 이후 착수 시 완주 불가능)을 실시간 계산하여 알림 배너로 경고합니다.
- 인간 한계(16h/일)를 기준으로, 물리적으로 마감을 맞출 수 없는 절대 착수 한계일(
- 작업 및 페이스 입력 콘솔 (Console):
- 총 순수 작업량(시간), 목표 마감 기한(일), 매일 집중 가능한 시간(시간/일)을 직관적인 인라인 단위가 포함된 입력창으로 지원합니다.
- 최대 8개까지 커스텀 페이스(페이스명, 하루 투입 시간)를 자유롭게 추가, 실시간 인라인 편집 및 개별 삭제할 수 있습니다.
- 정밀 인터랙티브 호버 커서 & 듀얼 툴팁 (CTM 역행렬 매핑):
- SVG 표준
getScreenCTM().inverse()좌표 역변환 행렬을 적용하여 화면 배율이나 마진에 구애받지 않고 1:1 완벽하게 마우스 포인터를 추적합니다. - 툴팁에 “이 날 착수 시 하루 필요 작업량과 상태 판정(정상 안전권/과부하/물리적 불능)“과 “각 페이스별 Day N 시점 누적 진도율(또는 완주 일자)“을 동시 대조하여 안내합니다.
- SVG 표준
- 우측 분석 리포트:
- 1. 페이스별 조기 완주 & 여유 일수 요약 카드: 각 페이스별 완주 소요 일수 및 마감 전 잔여 일수를 성공/지연 상태 배지와 함께 제공합니다.
- 2. 착수일별 하루 필요 작업량 데이터표: 착수일(Day 0~N)에 따른 일일 필요 작업량과 안전권 / 과부하 / 물리적 불능 판정 상태를 매트릭스 표로 제공합니다.
3. Studio 메인 데크 (/studio) 라인업 반영
- 스튜디오 공식 라인업 슬라이드에 **과제 미루기 한계선과 마감 완수 시뮬레이터 (
/studio/deadline-crunch-simulator)**를 LIVE 시뮬레이터 카드로 정식 등록했습니다.
4. 도구 모음 메인 페이지 (/tools) 시뮬레이터 전용 섹션 신설
- 계산기와 시뮬레이터 도구 분리: 기존 계산기 중심 구성에서 벗어나, 독립 뷰포트와 인터랙티브 캔버스를 지원하는 시뮬레이터 도구를 위한 **“시뮬레이터” 섹션 (
#simulators)**을 계산기 섹션 바로 아래에 신규 배치했습니다. - 스튜디오 연동 라인업 카드: 주식 평단가 시뮬레이터와 과제 미루기 한계선과 마감 완수 시뮬레이터 카드를 배치하고
STUDIO배지를 부착하여 인터랙티브 시각 분석 도구로서의 정체성을 강화했습니다. - 아코디언 업데이트 연동: 하단 도구별 업데이트 내역 아코디언에도 신규 시뮬레이터 그룹이 자동으로 포함되도록 데이터 바인딩을 확장했습니다.
v4.1.0동영상 배속 재생 시간 계산기 신설2026. 9. 19.
동영상을 배속으로 시청할 때 단축되는 소요 시간과 시간 절약률(%)을 실시간으로 산출해 주는 **동영상 배속 재생 시간 계산기 (/tools/video-speed-calculator)**를 신규 구축했습니다.
1. 동영상 배속 재생 시간 계산기 (/tools/video-speed-calculator)
- 실시간 소요 시간 & 절약률 산출: 원래 영상 길이(시간/분/초)와 재생 배속을 입력하면 실제 시청 소요 시간, 절약된 시간, 시간 절약률(%)을 실시간으로 계산합니다.
- 결과 직관화: 계산 결과를 별도 복잡한 설명 없이
1시간 ➔ 50분형태로 한눈에 알아볼 수 있도록 직관화했습니다. - 저배속(<1.0x) 계산 지원: 0.5배속, 0.75배속 등 영상을 느리게 시청할 때 늘어나는 재생 시간(+X분 증가) 및 시간 변화를 정확히 산출합니다.
- 자주 쓰는 시간 퀵 버튼: 10분, 30분, 1시간 등 자주 사용하는 영상 길이를 한 번의 클릭으로 입력할 수 있는 칩 버튼을 제공합니다.
2. 배속 계산 원리 해설 및 주요 배속별 비교표
- 시간 절약률 공식 ($1 - 1/배속$): 배속 증가율과 시간 절약률이 일치하지 않는 수학적 원리(예: 1.2배속 적용 시 속도는 20% 늘지만 시간은 16.7% 절약)를 알기 쉽게 해설합니다.
- 주요 배속별 소요 시간 비교표: 0.5x부터 3.0x까지 주요 배속별 1시간 영상 시청 시 단축되는 시간과 10개 강의(총 10시간) 몰아볼 때 아낄 수 있는 총 시간을 한눈에 비교할 수 있는 표준 데이터를 제공합니다.
3. 목표 시간 맞춤 배속 역산기 (Target Speed Calculator)
- 여유 시간 기반 필요 배속 역산: 영상 원래 길이와 약속/이동 시간 등 내가 가진 여유 시간을 입력하면 남은 시간 내 시청을 마치기 위해 필요한 최저 권장 배속을 산출해 줍니다.
- 실생활 수강 시나리오: 지하철 이동(25분), 점심시간(45분), 시험 전날 벼락치기(3시간) 등 대표적인 실생활 상황별 권장 배속 예시를 함께 제공합니다.
4. 배속 시청 팁 및 LMS 출석 인정 주의사항
- 배속 수강 이해도 유지 팁: 0.1x~0.2x 점진적 적응, 강사 말속도별 조절, 피치(Pitch) 보정, 자막(CC) 동시 활용 등 청취 인지 속도를 고려한 4가지 팁을 안내합니다.
- 온라인 강의 출석 인정 주의사항: 일부 LMS(학습관리시스템)나 교육 플랫폼은 동영상 진도율(%)뿐만 아니라 실제 재생된 누적 시청 시간(초)을 함께 검증하므로, 고배속 시청 시 진도율 100%여도 출석이나 수강 이수가 미인정될 수 있다는 유의사항을 안내합니다.
5. 도구 모음 메인 페이지 (/tools) 기능 개편
- 도구별 아코디언 업데이트 목록: 도구 모음 메인 페이지의 최신 업데이트 섹션을 도구별 아코디언 메뉴로 구성하여, 각 도구를 클릭하면 관련 기능 개선 내역을 한눈에 확인할 수 있도록 개편했습니다.
- 업데이트 목록 마우스 호버 툴팁: 메인 페이지 업데이트 목록 항목에 마우스를 올리면 전체 제목 내용이 툴팁으로 표시되도록 조치했습니다.
MatchaLogic API
말차 로직의 서버사이드 API와 직접 통신을 테스트해 보세요. 요청 파라미터를 선택하고 신호를 보내면, 백엔드 엔진이 추출 결과를 실시간으로 반환합니다.
TIP: 본 시스템은 차(Tea) 전용 엔진입니다.
차(Tea) 전용 엔진에서 커피 요청이 감지되었습니다. 팟에러 상태코드가 전송됩니다.
// Select endpoint and click BREW() to test MatchaLogic serverless router.
> Connection established.