[๐ ] ๊ณผ๊ฑฐ Daily Review๋ฅผ ๊นจ๋จ๋ฆฌ์ง ์๋ ๋ชธ ๊ธฐ๋ก ๋ฒ์ ๋ผ์ฐํ
โจ GPT-5.6 Sol์ ์์ฝ ใ
๋ชธ ๊ธฐ๋ก UI๋ฅผ ๊ณ์ ๊ณ ์น๋ค ๊ณผ๊ฑฐ ์ผ๊ธฐ๊ฐ ์ต์ ๊ตฌ์กฐ์ ์ถฉ๋ํ ์ ์๋ค๋ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๊ณ , schema_version ํ๋๋ก rendererยทschemaยทvalidator๋ฅผ ๊ฐ์ ๋ฒ์ ์ ๋ฌถ์ ๊ธฐ๋ก.
body_review ๋ฒ์ ์ ์์์ง๋ง ๋ ๋๋ฌ๊ฐ ์ฐ์ง ์์๋ค
๋ธ๋ก๊ทธ ์์ ๋ค์ด์ดํธ/์๋จ ์ฑ MVP๋ฅผ ๋ง๋ ๋ค, ์ ํ ํ๋ฉด์ ์ค๋๊ณผ ์ต๊ทผ 7์ผ์ ๋๋๊ณ ํผ์น ์นด๋๊ฐ ์ข์ ํญ์์๋ ๊นจ์ง์ง ์๊ฒ ์๋ดค๋ค. ์ฝ์นญ ํ์ ์ ํฐ์ ๋ณ๋ ๋ชธ ๊ธฐ๋ก๊ณผ ๊ฐ์ ๋ณ์ ์ผ๋ก ๋ง์ท๋ค.
๊ทธ๋ฐ๋ฐ ํ๋ฉด์ ๊ณ์ ๊ณ ์น๋ค ๋ณด๋ ๋ ํฐ ๋ฌธ์ ๊ฐ ๋ณด์๋ค. front matter์๋ ์ด๋ฏธ schema_version์ด ์์์ง๋ง, ์ค์ _includes/body-review.html์ ๊ทธ ๊ฐ์ ๋ณด์ง ์๊ณ ์ต์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ก ๋ ๋๋งํ๊ณ ์์๋ค. ๋์ค์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ฐ๊พธ๋ฉด ๊ณผ๊ฑฐ Daily Review๋ ์ต์ renderer๋ก ๋ค์ด์ ๊นจ์ง ์ ์์๋ค.
schema_version์ผ๋ก vN renderer๋ฅผ ๋ฐ๋ก ์ฐพ๋๋ค
body-review.html์๋ ๋ฒ์ ๋ณ case when์ ๋์ด๋์ง ์์๋ค. ์ซ์๋ก ๊ฒฝ๋ก๋ฅผ ๋ง๋ค๊ณ ๊ทธ ํ์ผ์ ๋ฐ๋ก ๋ถ๋ฅด๊ฒ ํ๋ค.
{%- assign schema_version = review.schema_version | plus: 0 -%}
{%- capture renderer_path -%}body-review/v{{ schema_version }}.html{%- endcapture -%}
{% include {{ renderer_path }} review=review %}
v4๋ฉด body-review/v4.html, v100์ด๋ฉด body-review/v100.html๋ก ๊ฐ๋ค. v101๋ถํฐ ๋งํ๋ ์ํ๋ ์๋ค. ํด๋น ๋ฒ์ ํ์ผ์ด ์ค์ ๋ก ์์ผ๋ฉด ๊ฐ์ ๊ท์น์ผ๋ก ์ฐ๊ฒฐ๋๊ณ , ์์ผ๋ฉด ์ต์ ๋ฒ์ ์ผ๋ก ์กฐ์ฉํ ๋๊ธฐ์ง ์๊ณ build๊ฐ ์คํจํ๋ค.
rendererยทschemaยทvalidator๋ฅผ ๊ฐ์ ๋ฒํธ๋ก ๋ฌถ์๋ค
ํ๋ฉด๋ง ๋ฒ์ ํํ๋ฉด ์ ๋ ฅ ๊ฒ์ฌ๊ฐ ๋ค์ ์๊ฐ๋ฆด ์ ์๋ค. ๊ทธ๋์ ํ ๋ฒ์ ์ ์ธ ํ์ผ์ ํ ๋ฌถ์์ผ๋ก ๊ฐ๊ฒ ํ๋ค.
_includes/body-review/v4.html
_project/blog-system/body-review-schemas/v4.yml
_project/blog-system/body-review-validators/v4.rb
๊ฒ์ฌ๊ธฐ๋ ์ ์ฅ์์ ์๋ ๋ชจ๋ vN์ ์ฐพ์ ์ธ ํ์ผ ์ค ํ๋๋ผ๋ ์๊ฑฐ๋ renderer์ body-review--vN ํ์์ด ๋น ์ง๋ฉด ์คํจํ๋ค. ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ํ์ํ ๋๋ง ๋ค์ ๋ฒ์ ์ ์ถ๊ฐํ๊ณ , ์ด๋ฏธ ๊ณต๊ฐ๋ ๊ธ์ ์์ ์ด ์ ์ธํ ๋ฒ์ ์ผ๋ก ๊ณ์ ํด์ํ๋ค.
v4์๋ ๋น์ฅ ๊ฑฐ์ฌ๋ฆฌ๋ ํ๋ฉด๋ ๊ฐ์ด ์ ๋ฆฌํ๋ค. ์ ํ ์์ฝ์ ์ค๋๊ณผ ์ต๊ทผ 7์ผ์ ์๋ก ๋ค๋ฅธ ํ์ผ๋ก ๋๋ด๊ณ , ํผ์น ์นด๋๋ component ํญ์ ๋ฐ๋ผ 3์ด์์ 2์ด, ๋ค์ 1์ด๋ก ๋ฐ๋๋ค. ๋ชธ ๊ธฐ๋ก๊ณผ ์ฝ์นญ ํ์ ์ ๊ฐ์ ๋ณ์ include๋ฅผ ์ฌ์ฉํ๊ณ , UI ๋ฌธ๊ตฌ์ ์ ๊ทผ์ฑ label๋ ํ์ฑ ์ธ์ด๋ณ data์์ ๊ฐ์ ธ์จ๋ค.
์ด์ ๋จ์ํ ๋ฌธ๊ตฌ๋ style ์์ ์ v4 ์์์ ๊ณ ์น๋ฉด ๋๋ค. ๋ฐ๋๋ก data shape๋ฅผ ๊นจ๋ ๋ณ๊ฒฝ์ด๋ผ๋ฉด ์ vN ๋ฌถ์์ ์ถ๊ฐํ๋ค. ์ต์ ํ๋ฉด์ ๋ง๋ค ๋ ๊ณผ๊ฑฐ ์ผ๊ธฐ๊น์ง ํ๊บผ๋ฒ์ ๋ค์ ๋ฏ์ด๊ณ ์น ํ์๊ฐ ์์ด์ก๋ค.
๋๊ธ ๋จ๊ธฐ๊ธฐ