이 판의 목적 · 계획 · 체크리스트
본편 2편의 그래프를 그림 파일 대신 본문 안에서 그려지는 그래프로 바꾼다. 또한 많이 구매되는 제품인 플래티넘 하이드로웨이와 마이프로틴 제품을 자료에 추가한다. 사이트의 스크립트 업로드 제한이 해제되었고, 두 브랜드가 자료에서 빠져 있거나 부족하다는 지적을 받았기 때문이다.
계획
- 그래프 5종을 SVG로 생성하는 svg_v1004.py 작성
- 그림 1에 정렬과 걸러 보기 기능 추가
- 국산·수입산 구분 기준 결정
- 플래티넘 하이드로웨이와 마이프로틴 제품의 가격과 영양정보 수집
- 58개 기준으로 본편 2편 수치와 문장 갱신
- 사이트 글 갱신과 동작 확인
체크리스트 7/8
| 상태 | 항목 |
|---|---|
| 완료 | 그래프 5종 SVG 생성. 막대와 점에 말풍선, 그림 3에 유형 강조 |
| 완료 | 그림 1 정렬 5종(단가 낮은 순, 높은 순, 순도, 용량, 브랜드 이름) |
| 완료 | 그림 1 유형, 국산·수입산, 브랜드 32개 켜기와 끄기 |
| 완료 | 국산 기준을 판매 업체 국적으로 정하고 11개 브랜드 확인 |
| 완료 | 제품 7개 추가. 화면 캡처 8장 저장 |
| 완료 | 본편 2편 수치와 문장을 58개 기준으로 갱신 |
| 완료 | 워드프레스의 스크립트 변형 문제 해결 후 사이트 동작 확인 |
| 미완 | 마이프로틴 할인코드 반영 여부 결정 (이번 판은 할인코드 적용 전 가격 사용) |
1. SVG 그래프 전환
v1.0.0.3의 그래프는 matplotlib로 만든 PNG 그림이었다. 그림 속 제품명과 값을 검색하거나 복사할 수 없었고, 제품 하나의 정보를 보려면 본편 1편의 표를 찾아야 하였다. 이에 develop/svg_v1004.py로 그래프 5종을 SVG로 생성하여 본문에 직접 넣었다. 자료와 유형별 색은 v1.0.0.3과 같다.
막대와 점에는 제품명, 단가, 순도, 용량, 판매처, 가격을 속성값으로 지정하였다. 본문 끝의 스크립트가 이 값을 읽어 마우스를 올린 위치에 말풍선을 표시한다. 스크립트가 실행되지 않는 환경에서도 SVG의 title 요소로 브라우저 기본 말풍선이 표시된다.
2. 그림 1의 정렬과 걸러 보기
그림 1 위에 정렬 선택 상자 1개와 단추 3종을 두었다. 표 1은 각 기능의 동작을 나타낸다.
표 1 그림 1 조작 기능
| 기능 | 선택지 | 동작 |
|---|---|---|
| 정렬 | 단가 낮은 순, 단가 높은 순, 순도 높은 순, 용량 큰 순, 브랜드 이름 순 | 막대 위치를 다시 배열한다. 순도와 용량 정렬에서는 막대 끝에 순도 또는 용량을 함께 표시한다 |
| 유형 | WPC 20, 블렌드 9, WPI 29 | 여러 유형을 동시에 켜고 끌 수 있다 |
| 구분 | 국산 12, 수입산 46 | 국산과 수입산을 각각 켜고 끈다 |
| 브랜드 | 32개 브랜드 확인란, 전체 선택, 전체 해제 | 국산 11개와 수입산 21개 브랜드로 나누어 표시한다 |
조건에 맞는 제품이 없으면 그래프에 안내 문장을 표시하고, 그래프 높이는 표시된 제품 수에 맞추어 줄어든다. 제품명 앞에는 브랜드명을 회색으로 붙였다. v1.0.0.3에서는 제품명만 표시하여 「임팩트웨이」가 마이프로틴 제품인지 그림에서 확인할 수 없었다.
3. 국산과 수입산 구분 기준
국산과 수입산은 판매 업체(브랜드)가 국내 업체인지로 구분하였다. 원료 유청의 원산지로 구분하면 국산 제품이 거의 남지 않기 때문이다. 국내 업체 제품도 원료는 대부분 수입 원료이며, 저먼프로트는 독일산 원료를, 성풍양행은 글랜비아 원료를 사용한다고 표시하고 있다.
국산으로 분류한 브랜드는 니트로랩, 마켓D, 베네틴, 성풍양행, 셀렉스(매일유업), 신전뉴트리션, 원데이뉴트리션, 일동후디스, 저먼프로트, 지웨이, 칼로바이의 11개이다. 국산 12개 제품의 단가 중앙값은 54원/g, 수입산 46개 제품은 94원/g이었다.
4. 제품 7개 추가
v1.0.0.3 자료에는 옵티멈뉴트리션 플래티넘 하이드로웨이가 없었고, 마이프로틴은 다나와 최저가로 수집한 2개 제품뿐이었다. 두 브랜드는 국내에서 많이 구매되는 제품이므로 2026년 10월 1일에 판매 화면에서 가격과 영양정보를 직접 확인하여 추가하였다. 표 2는 추가한 제품을 나타낸다.
표 2 2026년 10월 1일 추가 제품
| 제품 | 판매처 | 가격(원) | 1회 제공량당 단백질 | 단가(원/g) |
|---|---|---|---|---|
| 플래티넘 하이드로웨이 터보초콜릿 1.64kg | 다나와 | 107,810 | 41g당 30g | 90 |
| 플래티넘 하이드로웨이 터보초콜릿 820g | 다나와 | 91,000 | 41g당 30g | 152 |
| 임팩트웨이 무맛 1kg | 마이프로틴 공식몰 | 110,900 | 30g당 23g | 145 |
| 임팩트웨이 무맛 2.5kg | 마이프로틴 공식몰 | 200,900 | 30g당 23g | 105 |
| 임팩트웨이 무맛 5kg(2.5kg×2) | 마이프로틴 공식몰 | 330,900 | 30g당 23g | 86 |
| 임팩트웨이 아이솔레이트 무맛 900g | 마이프로틴 공식몰 | 149,900 | 30g당 26g | 192 |
| 임팩트웨이 아이솔레이트 무맛 1.8kg | 마이프로틴 공식몰 | 259,900 | 30g당 26g | 167 |
플래티넘 하이드로웨이는 가수분해 분리유청(WPH) 제품이며 WPI로 분류하였다. 다나와의 벨로시티 바닐라 1.6kg은 수집일에 판매처가 없어 제외하였다. 마이프로틴은 공식몰의 할인 후 표시가를 사용하였고, 화면에 안내된 추가 할인코드(최대 35%)는 적용하지 않았다. 공식몰은 8만원 이상 구매 시 무료배송이므로 배송비는 0원으로 계산하였다.
공식몰에서 용량 단추를 연속으로 누르면 가격 표시가 이전 용량의 값으로 남는 경우가 있었다. 2.5kg을 선택한 화면에 1kg 가격인 110,900원이 표시된 것이 그 예이다. 이에 용량마다 주소를 새로 열어 가격을 다시 확인하였으며, 가격 화면 캡처 8장을 data/capture_2026-10-01/에 저장하였다.
5. 제품 추가에 따른 결과 변화
표 3은 51개 기준과 58개 기준의 결과를 비교한 것이다.
표 3 제품 추가 전후 결과
| 항목 | 51개 (v1.0.0.3) | 58개 (v1.0.0.4) |
|---|---|---|
| WPC 단가 중앙값 | 62원/g | 77원/g |
| WPI 단가 중앙값 | 95원/g | 101원/g |
| WPI 대 WPC 중앙값 비 | 1.54배 | 1.32배 |
| 최고 단가 | 174원/g | 192원/g |
| 순도와 단가의 상관계수 | 0.02 | 0.10 |
| 50,000원당 단백질량 (WPC, WPI) | 811g, 526g | 653g, 493g |
WPC 중앙값이 15원/g 높아진 것은 추가한 마이프로틴 WPC 3개의 단가가 86~145원/g으로 기존 WPC 중앙값보다 높았기 때문이다. 이에 따라 본편 2편의 제목, 요약, 본문 수치와 대표 그림을 58개 기준으로 다시 작성하였다. 본편 1편은 2026년 9월 16일 수집한 51개 제품 기준을 유지하였다.
6. 워드프레스의 스크립트 변형
사이트 글을 갱신한 뒤 그래프의 단추가 동작하지 않았다. 워드프레스가 본문을 출력하면서 스크립트 안의 && 4곳 중 2곳을 &&로 바꾸어 스크립트가 실행되지 않았기 때문이다. 이에 스크립트를 base64 문자열로 바꾸어 넣고, 짧은 실행문이 이를 풀어 실행하도록 하였다. 수정 후 단독 글 화면과 본편 갈래 화면에서 유형 단추와 초기화 단추가 동작하는 것을 확인하였다.
7. 다음 판 과제
마이프로틴 공식몰의 추가 할인코드는 제품마다 할인율이 달라 이번 판에서는 반영하지 않았다. 할인코드 적용 가격을 별도 열로 기록할지 결정이 필요하다. 또한 본편 1편을 58개 기준으로 갱신할지 결정이 필요하다.