๐ phone: 010-2311-1090
๐ง Email : [email protected]
**Github | Tistory | LinkedIn**
Why๋ฅผ ํตํด ํ์ตํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์ฆ๊น๋๋ค.
๊น์ด ๊ณ ์ฐฐํ ๊ฒ์ด๋, ๋๋ง์ ๋ ์จ๋ฐ์ ๊ณต์ ํ๋ ๊ฒ์ ์ฆ๊น๋๋ค.
์ฌ์ฉ์์ ์ ์ฅ์์ ์๋น์ค๋ฅผ ๋ฐ๋ผ๋ณด๋, UX๋ฅผ ์ค์ํ๋ ๊ฐ๋ฐ์์ ๋๋ค.
์น๊ฐ๋ฐ์ ๋ํ ๊น์ด์๋ ํ์ต์์ธ์ ๊ณต์ ๋ฅผ ํตํด ์ํธ์ฑ์ฅํ๋ ๋ชจ์ต, ํ์ ์ด๋๋ ๋ฆฌ๋์ญ์ ์ธ์ ๋ฐ์ 200๋ช ๊ฐ๋์ ์ธ์์ด ์ฐธ์ฌํ๋ IT ๋์๋ฆฌ SOPT์ ์น๊ฐ๋ฐํํธ์ฅ์ ๋งก์ ๋ํ์ ๋๋ฃ๋ค์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ก ์ฑ์ฅ์ํค๋ ๊ฒฝํ์ ํ์์ต๋๋ค.
:: Mile
2 PM / 2 Design / 4 FE / 2 BE
React, Typescript, Tanstack-Query v5, Emotion
2023.12~ ing
https://github.com/Mile-Writings/Mile-Client
์ ์ ์๊ฒ ์๋ํฐ๋ฅผ ํ์ฉํด ๋ค์ํ ๊ธฐ๋ฅ์ผ๋ก ๊ฐํธํ๊ฒ ๊ธ์ ์ฐ๊ณ ์ํธ์์ฉํ ์ ์๋, ๋ชจ์ ๊ด๋ฆฌ์์๊ฒ admin๊ธฐ๋ฅ์ ์ ๊ณตํด ๊ธ๋ชจ์์ ๋ง๋ค๊ณ ๊ฐํธํ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ํด์ฃผ๋ ๋ฐ์คํฌํ ์น ์๋น์ค
<aside> [ React CSRํ๊ฒฝ์์ prerender ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ผ๋ก SEO๊ฐ์ & dynamic OG meta tag ์ค์ ์ผ๋ก ์๋น์ค ์ ์ ์ ๋]
์ํฉ : React๋ก ์ด๋ฃจ์ด์ง ์๋น์ค์์ ๋ชจ๋ ํ์ด์ง์์ ํ๋์ meta tag๊ฐ ์ ๊ณต๋๊ณ ์ด๊ธฐ์ ํฌ๋กค๋ฌ๊ฐ ๋น index.htmlํ์ผ์ ๋ณด๋ ๊ฒ์ผ๋ก ์ธํด ๊ฐ๊ฐ์ ๊ธ์ ๋ํ ์ ๋ณด๋ฅผ SEO์ ์ต์ ํํ์ง ๋ชปํ์ฌ ๊ฒ์์ ํตํ ์๋ก์ด ์ ์ ์ ์ ์ ์ด ์ด๋ ต๊ณ ์ ์ ํผ๋๋ฐฑ์ ํตํด ์นด์นด์คํก ๋ฑ ์์ ๋ฏธ๋์ด์์์ ๋งํฌ ๊ณต์ ์ ๊ธ์ ์ ๋ชฉ๊ณผ image๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ๋ํ ๋์ฆ๊ฐ ์์์ ํ์ธํ์์ต๋๋ค. ์ด๋ฌํ OG image์ title์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ์ ์ ์ ๊ฒฝํ์ ๊ฐ์ ์ํค๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ ์๋ก์ด ์ ์ ์ ์ ์ ์๋ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ผ์น ๊ฒ์ด๋ผ ํ๋จํ์ฌ CSR์ ํ๊ฒฝ์์ prerender pipeline์ ๊ตฌ์ถํ์์ต๋๋ค.
๋ฌธ์ : CSRํ๊ฒฝ์์๋ ๋น html์ ๋ก๋ํ๊ณ ๊ฐ ํ์ด์ง์ ๋ํ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํฌ๋กค๋ฌ๊ฐ ๋ณผ ์ ์๋ meta tag๋ index.html์ ์ ์ ์ธ ๋ฐ์ดํฐ๊ฐ ์ ์ผํ๋ค๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
ํ๋ : ๋ช๊ฐ์ง ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ์ค์ ์ธ์ฐ๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ตฌ์ํด๋๊ฐ์ต๋๋ค.
๊ฒฐ๊ณผ : OG meta tag๋ฅผ ์ถ๊ฐํ๋ ์์ ๋ง์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ํ๊ฑฐ๋ ssr ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๋ฅผ ํ์๋กํ๋ค๋ ํ๋จํ์ vite ํ๊ฒฝ์์ puppeteer๋ฅผ ํ์ฉํ prerendering ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์์ต๋๋ค.
react-helmet-async ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ปดํฌ๋ํธ๊ฐ ๋ง์ดํธ๋ ์ดํ์ ์๋ํ๊ธฐ ๋๋ฌธ์ ํฌ๋กค๋ฌ๊ฐ ์ ๊ทผํ ์ดํ์ meta tag๋ฅผ ์ถ๊ฐํ์ฌ์ SNS๊ณต์ ๋ฅผ ์ํ meta tag ์ถ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ ํฉํ์ง ์์์ต๋๋ค.
react-snap์์ ์ฌ์ฉํ๊ณ ์๋ puppeteer์ ๋ฒ์ ์ด ๋ฎ์์ ๋ฐ์ํ๋ ์ด์๋ ํด๊ฒฐ๋์์ง๋ง dynamic prerendering์ ๋ํ ์ง์์ด ์ถฉ๋ถํ์ง ์์๊ณ Create-React-App ํ๊ฒฝ์ ๋ํ ์ธํ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ vite๋ rollup์ ๋ํ ํธํ์ฑ์ด ๋ง์ง ์๋ ๋ถ๋ถ์ด ๋ค์ ์กด์ฌํ์์ต๋๋ค.
๋ฐ๋ผ์ @prerenderer/rollup-plugin๊ณผ @prerenderer/renderer-puppeteer๋ฅผ ์ฌ์ฉํ์ฌ prerendering์ ํ์ํ ๊ฒ์๊ธ์ ๋ํ dynamic route๋ฅผ ์ถ๊ฐํ๊ณ prerender๋๋ html ํ์ผ์ ์ปค์คํ ํ์ฌ meta tag๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ํ์ฉํ์ฌ ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
</aside>
<aside> [ Lighthouse์ vite-bundle-visualizer๋ฅผ ํ์ฉํ์ฌ ์ฑ๋ฅ๊ฐ์ ]
๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ๋ฉ์ธํ์ด์ง์ ์ด๊ธฐ ๋ก๋ฉ ์๋์ ๋ํ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ฌ Lighthouse์ vite-bundle-visualizer๋ฅผ ํ์ฉํ์ฌ ์ฑ๋ฅ์ ํ์ธํ ํ ๋ฌธ์ ๊ฐ ๋๋ ๋ถ๋ถ์ ๊ฐ์ ํ์์ต๋๋ค.
๊ธ๋ชจ์์์ ์ ๋ก๋ ๋๊ณ ์๋ ๊ณ ํ์ง ์ด๋ฏธ์ง๋ก ์ธํด ์ด๊ธฐ ๋ ๋๋ง๋๋ ๋ฆฌ์์ค ํฌ๊ธฐ์ LCP ์ฑ๋ฅ์ ์ ์ํฅ์ ์ฃผ๊ณ ์๋ ๊ฒ์ ํ์ธํ์ฌ ์ด๋ฏธ์ง ์ ๋ก๋ ๊ณผ์ ์์ ์ด๋ฏธ์ง์ ํ์ฅ์๋ฅผ webP๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฏธ์ง ์ต์ ํ๋ฅผ ์ ์ฉํ์์ต๋๋ค. ์ด๋ก ์ธํด LCP load time์ 30% ๋จ์ถํ๊ณ S3์ ์ฌ์ฉ๋์ 30% ์ ๊ฐํ์์ผ๋ฉฐ ์ด๊ธฐ ๋ ๋๋ง๋๋ ๋ฆฌ์์ค๋ฅผ 8.0 MB โ 2.6MB๋ก ์ฝ 75% ๊ฐ์์์ผฐ์ต๋๋ค.
๋คํธ์ํฌ ํญ์์ ํฐํธ ํ์ผ์ ์ฉ๋์ด ๊ฐ์ฅ ํฐ ๋ถ๋ถ์ ์ฐจ์งํ๊ณ ์๋ ๊ฒ์ ํ์ธํ๊ณ ๋ค์ด๋ก๋ ์ฉ๋ ๊ฐ์๋ฅผ ์ํด font dynamic subset์ ์ ์ฉํ์์ต๋๋ค.
์ด๋ฅผ ํตํด Resource 2.1MB โ 400KB ์ฝ 80% SI 3.2s โ 2.6s **์ฝ 20%**์ ์ฑ๋ฅ์ ๊ฐ์ ํ์์ต๋๋ค.
๊ฐ๋ฐ์ ๋๊ตฌ์ Coverage ํญ์ ํ์ธํ์ฌ ๋ฉ์ธํ์ด์ง์ ๋ถํ์ํ JSํ์ผ, ์ฌ์ฉํ์ง ์๋ CSSํ์ผ์ ํ์ธ ํ ํด๋น ๋ฒ๋ค์ route level์ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฌ chunk๋ก ๋๋์ด ํ์ํ ์์ ์ ํด๋น ์ฒญํฌ๋ค์ ๋ถ๋ฌ์ค๋๋ก code splitting์ ์ ์ฉํ์ฌ ์ด๊ธฐ ๋ฒ๋ค ์ฌ์ด์ฆ๋ฅผ ์ค์ฌ์ฃผ์์ต๋๋ค.
๋ถํ์ํ ๋ฆฌ๋ ๋๋ง ๋ก์ง๊ณผ useEffect๋ก์ง์ ์ ๊ฑฐํ๋ ๋ฆฌํฉํ ๋ง ๊ณผ์ ์ ๊ฑฐ์น ํ below the fold ์์ญ์ ์ด๋ฏธ์ง๋ฅผ lazy loadingํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ FCP๋ฅผ 3.3s โ 1.8s ์ฝ 50% ์ ์ฑ๋ฅ์ ๊ฐ์ ํ์์ต๋๋ค.
์ 4๊ฐ์ง๋ฅผ ํตํด ๋ฉ์ธํ์ด์ง์ Production ๊ธฐ์ค ์ฑ๋ฅ์งํ๋ฅผ ์๋์ ๊ฐ์ด ๊ฐ์ ํ์์ต๋๋ค. FCP - 3.3s โ 0.5s SI - 3.2s โ 0.5s Lighthouse Performance Score - 66โ 99
</aside>
<aside> [ ๋๊ด์ ์ ๋ฐ์ดํธ๋ก UX ๊ฐ์ ]
๋คํธ์ํฌ ํ๊ฒฝ์ด ๋ถ์์ ํ ์ํฉ์์ ์ข์์ ๊ธฐ๋ฅ์ ๋๋ฆฐ ์ ๋ฐ์ดํธ๋ก ์ธํด ์ข์ง ์์ ์ ์ ๊ฒฝํ์ ์ ๊ณตํ๊ณ ์๋ค๋ ๊ฒ์ ํ์ธํ์ฌ ๋๊ด์ ์ ๋ฐ์ดํธ๋ฅผ ์ ์ฉํ์ฌ UX๋ฅผ ๊ฐ์ ํ์์ต๋๋ค. ๊ตฌํ๊ณผ์ ์ค Tanstack query ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ setQueryData ๋ฉ์๋๋ฅผ ๊น๊ฒ ๊ณ ์ฐฐํ๋ฉฐ ์ด๋ค ์๋ฆฌ๋ก ํด๋น ๋ก์ง์ด ์๋ํ๋์ง๋ฅผ ๊ธฐ๋กํ๊ณ ๊ณต์ ํ์์ต๋๋ค. ๐ย ๋๊ด์ ์ ๋ฐ์ดํธ (feat setQueryData ๋ฏ์ด๋ณด๊ธฐ)
</aside>
<aside> [ Tanstack query key ๊ตฌ์กฐ ๊ฐ์ ]
๊ธฐ์กด์ ์ค๋ณต ๊ฐ๋ฅ์ฑ๊ณผ ํ์ ํ๊ธฐ ์ด๋ ค์ด ํค ์๊ณ, ํด๋จผ ์๋ฌ๋ก ๋ฐ์ํ์๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด **๐query key factory๋ฅผ ๋์ **ํ์ฌ React Query key๋ฅผ ๊ตฌ์กฐํํ์ฌ Hierarchy ๊ตฌ์กฐ๋ก ๋ง๋ค์๊ณ ์๋ 4๊ฐ์ง๋ฅผ ๊ณ ๋ คํ๋ฉฐ Query key๋ฅผ ๊ด๋ฆฌํ๋ ๊ตฌ์กฐ๋ฅผ ๋ฆฌํฉํ ๋ง ํ์์ต๋๋ค.
์ด๋ฅผ ํตํด ํค์ ์๊ณ๋ฅผ ํ ๋์ ํ์ ํ ์ ์์ด ํค์ ์ธ๋ถํ์ ๋ํ ๋ณ๊ฒฝ์๋ ์ฝ๊ฒ ๋์ฒํ ์ ์๊ฒ ๋์๊ณ ๋ ์ฉ์ดํ ์๋ ์ํธ์์ฉ์ด ๊ฐ๋ฅํ๊ฒ ํ์ฌ ๊ฐ๋ฐ์ ๊ฒฝํ์ ํฅ์์์ผฐ์ต๋๋ค.
</aside>
<aside> [ presigned URL ๋์ ์ผ๋ก ๊ณ ํ์ง ์ด๋ฏธ์ง ํ์ง์ ํ ๋ฐ ์๋ฒ ๋ถํ ๊ฐ์ ]
์๋ฒ์ ๊ณ ํ์ง ์ด๋ฏธ์ง ์ ๋ก๋ ์์ ํ์ง์ด ์ ํ๋๋ ๋ฌธ์ ์ ๋๋ถ์ด ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก s3๋ก ์ง์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๋ presigned URL ๋ฐฉ์์ ์ฑํํ์ฌ ์ด๋ฅผ ์ ์ฉํ์์ต๋๋ค. ์ด ๋ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๋ ๋ชจ๋ ๋ก์ง์ ๋ฐ๋ณต์ ์ธ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ธํ์ฌ ์ด๋ฅผ ์ปค์คํ ํ ์ผ๋ก ๋ง๋ค์ด ์ฝ๋์ ์ค๋ณต์ ์์ ๊ณ ์ฌ์ฌ์ฉ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ ๋์์ต๋๋ค. ๐ย PR ๋งํฌ
</aside>
<aside> [ MSW๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ ๋ณ๋ชฉํ์ ๊ฐ์ ๋ฐ ์๋ฒ์์กด์ฑ ๊ฐ์]
๋ฐฑ์๋์ ์์กดํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์์ ๋ณ๋ชฉํ์๊ณผ ๋๋ฒ๊น ์ด ํ์ํ ์ํฉ์ ์๋ฒ์ ์์กดํ๊ณ ์๋ ๋ฌธ์ ๋ก ์ธํ ์คํ๋ฆฐํธ์ ์ฅ๊ธฐํ๋ฅผ ๊ฒฝํํ๊ณ ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด MSW๋ฅผ ๋์ ํ์๊ณ ์ด๋ฅผ ํตํด ์๋ฒ ๊ฐ๋ฐ์์์ ์ํต๋น์ฉ์ ์ค์ฌ ์คํ๋ฆฐํธ ๊ธฐ๊ฐ์ ์ผ์ฃผ์ผ๊ฐ๋ ๋จ์ถ์์ผฐ์ต๋๋ค.
</aside>
<aside> [ FE Lead Developer ]
ํ๋ก ํธ์๋ ํ ๋ฆฌ๋๋ก์ ์ฃผ๋์ ์ผ๋ก ํ์ ์ ์ฐธ์ฌํ์ผ๋ฉฐ ๊ณต์ ํ๋ ํ ๋ฌธํ๋ฅผ ๋ง๋ค์ด ๋์ ํด์ผํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ธ์ ์ ์งํํด์ ํ์ ๋ชจ๋์๊ฒ ๊ณต์ ํ๋ ๋ฌธํ, ์คํ๋ฆฐํธ ๋์ ์๋ก๊ฐ ๋ง์ฃผํ ํธ๋ฌ๋ธ์ ๊ณต์ ํ๊ณ ํ๊ณ ํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด ๋๊ฐ์ต๋๋ค. Pn๋ฃฐ์ ์ ์ฉํ์ฌ ์ฝ๋๋ฆฌ๋ทฐ ๊ณผ์ ์์ ๋ช ํํ ์์ฌ์ ๋ฌ์ด ๊ฐ๋ฅํ๋๋ก ํ์๊ณ , PR์ด ์ปค์ง๋ ๊ฒ์ด ๋น ๋ฅธ ๋ฆฌ๋ทฐ์ ๋ฐ์์ ์ด๋ ต๊ฒ ํ์ฌ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด PR size labeling์ ๋์ ํ๋ ๋ฑ ํจ์จ์ ์ธ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์ํด ํ ์ปจ๋ฒค์ ์ ๋ง๋ค์ด๋๊ฐ์ต๋๋ค.
</aside>
:: ASAP
2 PM / 2 Design / 2 FE / 2 BE
React, Typescript, Recoil, styled-components
2023.06~2023.10,
2024.06~ 2024.08
https://github.com/ASAP-as-soon-as-possible/ASAP_Client
ํ์์๊ฐ์ ์ก์ ๋์ ๋น์ฉ์ ์ค์ด๊ณ ๋ถํธํจ์ ๊ฐ์ ํ๊ธฐ ์ํ ๋ชจ๋ฐ์ผ ์น ์๋น์ค
<aside> [ ์ผ์์ํ์ ๋ฌธ์ ๋ฅผ ์ง์ ํด๊ฒฐํ์ฌ ๋์ ์ฌ์ฉ์ 500๋ช ์ ์น ] ํํ๋ก์ ํธ์ ํ์ ์์ ํ ๊ตฌ์ฑ์๋ค์ ํ์์๊ฐ์ ์ ์ ํ๋๋ฐ์ ๋ถํธํจ์ ๋๊ปด ํด๋น ๋ฌธ์ ๋ฅผ ์ง์ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๋์ญ์ ๊ฐ์ง๊ณ ์งํํ ํ๋ก์ ํธ์ด๋ฉฐ ์ง์์ ์ผ๋ก ์ ์ ํผ๋๋ฐฑ์ ๋ฐ์ UX๋ฅผ ๊ฐ์ ํ์ฌ ์ง๊ธ๊น์ง ์ฝ 500๋ช ์ ๋์ ์ฌ์ฉ์๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค.
</aside>
<aside> [ ์๋ ๋ฐฐํฌ ํ๋ก์ฐ ์๋ํ ] github actions์ workflow๋ฅผ ํตํด CI๋จ๊ณ์์ Lint์ ๋น๋ํ ์คํธ๋ฅผ ์ถ๊ฐํ์ฌ ๋ฐฐํฌ์ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋ฎ์ถ์๊ณ ๊ธฐ์กด์ vercel ๋ฐฐํฌ์ ๋ํ ๊ณผ๊ธ์ ํผํ๊ธฐ ์ํด ์๋์ผ๋ก ์งํํ๋ ๋ฐฐํฌ๊ณผ์ ์ ์๋ํํด์ฃผ๋ workflow๋ฅผ ๊ตฌ์ถํ์ฌ ๊ธฐ์กด์ ๋ฒ๊ฑฐ๋ก์ ๋ ์๋ ๋ฐฐํฌ ํ๋ก์ฐ๋ฅผ ๊ฐ์ ํ์์ต๋๋ค.
</aside>
<aside> [ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ํ๊ฒฝ ๋์ ] ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ํ๊ฒฝ์ ๋ํ ๋์์ ํ์ฌ ์ ์ ์๊ฒ ์ ์ ํ ํ ์คํธ๋ฅผ ๋ณด์ฌ์ค ํ web share API๋ฅผ ํ์ฉํ์ฌ ์นด์นด์คํก ๊ณต์ ํ๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ์์ต๋๋ค.
</aside>
<aside> [ ๋ฐ์ํ ์น ์๋น์ค ๊ฐ๋ฐ ] ๊ธฐ์กด ๊ณ ์ ๋ ์ฌ์ด์ฆ๋ก ์ธํด ํฐ ํ๋ฉด์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ๋ฐ์คํฌํ ์ฌ์ฉ ์ ์ ์ ๋ถํธ์ ๋ํ ํผ๋๋ฐฑ์ ์์ฉํ์ฌ ๋ฐ์ํ ์น ์๋น์ค๋ก ๊ฐ์ ํ์์ต๋๋ค.
</aside>
๐งโ๐ซย 2024 ์นด์นด์ค ํ ํฌ ์บ ํผ์ค WEB ์ค์ต์ฝ์น (2024.06~ 2024.08)