post-thumbnail

TIL102. Next js์˜ pre-rendering๊ณผ hydrarion

next.js pre-rendering ๋ฐฉ์‹์˜ ์ข…๋ฅ˜์™€ hydration๊ฐœ๋… ๋ฐ ๊ด€๋ จ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์ž. ๋ Œ๋”๋ง ๋ฐฉ์‹(CSR, SSR) CSR(Client Side Rendering): client์—์„œ ๋ Œ๋”๋ง ์œ ์ €๊ฐ€ ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ โ†’ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋กœ ์†Œ์Šค(์ปจํ…

2023๋…„ 5์›” 1์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL101. Web3 NFT dApp ๋งŒ๋“ค๊ธฐ

์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ web3 nft dApp ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž. Smart Contract ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋ž€ ๋ธ”๋ก์ฒด์ธ์— ๋“ฑ๋ก๋˜์–ด ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ์„œ๋ฉด์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋˜ ๊ธˆ์œต๊ฑฐ๋ž˜, ๋ถ€๋™์‚ฐ ๊ณ„์•ฝ, ๊ณต์ฆ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๊ณ„์•ฝ์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ

2022๋…„ 12์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

TIL100. Next.JS 13 ์ƒˆ๋กœ์šด ํŠน์ง•๋“ค

v13 ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. app/ Directory *app/ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋Š” beta๋ฒ„์ „์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ํ”„๋กœ๋•์…˜ ๋ ˆ๋ฒจ์—์„œ๋Š” ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ธฐ์กด์—๋Š” pages ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ Automating Routing์„ ์‹คํ–‰ํ–ˆ์ง€๋งŒ, 13๋ฒ„์ „๋ถ€ํ„ฐ๋Š”

2022๋…„ 12์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL99. Next.JS 13 ํ™˜๊ฒฝ์„ค์ •

์—…๋ฐ์ดํŠธ๋œ next.js 13๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž. (ํ™˜๊ฒฝ์„ค์ •ํŽธ)next.js๋Š” react์—์„œ SSR์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก Vercel์—์„œ ๋งŒ๋“  ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.์ดˆ๊ธฐ ์›น์‚ฌ์ดํŠธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•ด์„œ ์ƒˆ๋กœ์šด html์„ ๋ถˆ๋Ÿฌ์™€ ๋งค๋ฒˆ ์ƒˆ๋กœ๊ณ ์นจ๋˜

2022๋…„ 12์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL98. Firebase V9๋กœ CRUD ๊ตฌํ˜„

firebase ์‚ฌ์šฉํ•ด์„œ ๊ฒŒ์‹œํŒ CRUD๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด๋ณด์ž. Firebase v9 firebase๋Š” ๋ฒก์—”๋“œ ๊ธฐ๋Šฅ์„ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฑ์—”๋“œ์—†์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ•˜๋‹ค. firebase๊ฐ€ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋ฌธ๋ฒ• ๋“ฑ์— ๋ณ€ํ™”๊ฐ€ ์ƒ

2022๋…„ 5์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL97.Zustand

์ฐจ์„ธ๋Œ€ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋Ÿฌ๋ฆฌ 'zustand'์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ํ”„๋ก ํŠธ ๋ถ„์•ผ๋Š” ๋ณ€ํ™”๊ฐ€ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•œ๋‹ค. ๊ทธ ์ค‘์—์„œ๋„ ํŠนํžˆ ์ƒํƒœ๊ด€๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ํˆด๋“ค์ด ๋“ฑ์žฅํ•˜๊ณ  ๋ฐœ์ „ํ•ด ๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค. ๊ฐ€์žฅ ์˜ค๋ž˜๋˜๊ณ  ์œ ๋ช…ํ•œ ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ๋– ์˜ฌ๋ฆฌ๋ฉด ๋‹จ์—ฐ '๋ฆฌ๋•์Šค'์ผ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์š”์ฆ˜์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด

2022๋…„ 5์›” 2์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL96. ๋ฉ”ํƒ€๋งˆ์Šคํฌ ์ง€๊ฐ‘ ์—ฐ๋™(feat.web3-react)

๋ฉ”ํƒ€๋งˆ์Šคํฌ ํ…Œ์ŠคํŠธ ๋„คํŠธ์›Œํฌ์˜ ์ง€๊ฐ‘์ฃผ์†Œ, ์ž”๊ณ ๋ฅผ ํ™”๋ฉด์— ๋ฟŒ๋ ค๋ณด์ž. Web3-react๋ž€? ๋ฆฌ์•กํŠธ์—์„œ web3์˜ Dapp๊ณผ ๊ด€๋ จ๋œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์‹ ์ƒํƒœ๋กœ ์œ ์ง€ํ•ด์ฃผ๋Š” state machine์œผ๋กœ ๊ธฐ๋ณธ ๋ธ”๋ก์ฒด์ธ API๊ฐ€ ethers.js์ธ react ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. *w

2022๋…„ 4์›” 27์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL95.๋ธ”๋ก์ฒด์ธ ์ดํ•ดํ•˜๊ธฐ

๋ธ”๋ก์ฒด์ธ์˜ ๊ฐœ๋…๊ณผ ๊ด€๋ จ ์šฉ์–ด๋“ค์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ •๋ฆฌํ•ด๋ณด์ž. Web 3.0 web์˜ ์—ญ์‚ฌ -web 1.0์‹œ๋Œ€ : 90๋…„๋Œ€ ์ดˆ~2000๋…„๋Œ€ ์ค‘๋ฐ˜, read only -> ์œ ์ €์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์—†๊ณ , ์ •๋ณด์ „๋‹ฌ์˜ ๋ชฉ์ ์ด ๊ฐ•ํ•จ. -web 2.0 : 2000๋…„๋Œ€ ์ค‘๋ฐ˜ ~

2022๋…„ 4์›” 13์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๋ฐฑ์ค€2667.๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ(js)

DFS๊ฐœ๋…์„ ์‚ฌ์šฉํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์–ด๋ณด์ž.<๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ง€๋„๊ฐ€ ์žˆ๋‹ค. 1์€ ์ง‘์ด ์žˆ๋Š” ๊ณณ์„, 0์€ ์ง‘์ด ์—†๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ด ์ง€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ๊ฒฐ๋œ ์ง‘์˜ ๋ชจ์ž„์ธ ๋‹จ์ง€๋ฅผ ์ •์˜ํ•˜๊ณ , ๋‹จ์ง€์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๋ ค ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ

2022๋…„ 2์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

94.BFS,DFS

์™„์ „ํƒ์ƒ‰ ์ข…๋ฅ˜ ์ค‘ BFS, DFS์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰) ์•„๋ž˜์ชฝ level๋กœ ๋‚ด๋ ค๊ฐ”๋‹ค๊ฐ€ ๋”์ด์ƒ ์•„๋ž˜ level์ด ์—†์œผ๋ฉด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ถ€๋ชจ ๋…ธ๋“œ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ„ ๋’ค ํƒ์ƒ‰ํ•˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์ž์‹ ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ์‚ฝ์ž…

2022๋…„ 2์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๊ฐœ์ธ ํ”„๋กœ์ ํŠธโฐ<Time Log>

"Time Log" https://time-log.netlify.app/ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ์‹œ๊ฐ„๊ธฐ๋ก Oauth ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ, ์‚ฌ์šฉ์ž์˜ ํŒจ์Šค์›Œ๋“œ์—†์ด๋„ ๊ถŒํ•œ์„ ์œ„์ž„๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค. Firebase ์ธ์ฆ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š”

2022๋…„ 2์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL93. Recoil

๋˜ ๋‹ค๋ฅธ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 'Recoil'์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. Recoil? ํŽ˜์ด์Šค๋ถ์—์„œ ์ง์ ‘ ๋งŒ๋“  ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. Recoil ์‚ฌ์šฉํ•˜๊ธฐ ์ „์—ญ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก root์— recoilRoot ๊ฐ์‹ธ์ฃผ๊ธฐ atom ๊ธฐ์กด์˜ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์“ฐ์ด๋Š”

2021๋…„ 12์›” 29์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

92.React Query

๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ server์™€์˜ ๋น„๋™๊ธฐ ๋กœ์ง์ฝ”๋“œ๋ฅผ ์ค„์—ฌ๋ณด์ž.state๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ server์™€ client ์‚ฌ์ด์˜ ๋น„๋™๊ธฐ ๋กœ์ง๋“ค์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.๊ทธ๋ž˜์„œ React Query๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ญ๊ฐ€ ์ข‹์€๋ฐ?์ฒซ๋ฒˆ์งธ, ์ผ๋ จ์˜ ์ฝ”๋“œ๋ฅผ ํ™• ์ค„์—ฌ์ค€๋‹ค. ๋ฐ์ด

2021๋…„ 12์›” 21์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL91.์™„์ „ํƒ์ƒ‰

์™„์ „ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด์ž. ์™„์ „ํƒ์ƒ‰ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ชจ๋‘ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋‹ต์„ 100% ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฒฝ์šฐ์˜ ์ˆ˜์— ๋”ฐ๋ผ ์‹คํ–‰์‹œ๊ฐ„์ด ๋น„๋ก€๋œ๋‹ค. ์ฆ‰, ํƒ์ƒ‰ ๋ฒ”์œ„๊ฐ€ ๋„“๋‹ค๋ฉด ๊ทธ๋งŒํผ ์ฐพ์•„๋‚ด๋Š” ์ผ์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ 

2021๋…„ 12์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL90. Adapter Pattern

B๋ฅผ A์ฒ˜๋Ÿผ ๋ณ€๊ฒฝํ•ด์„œ A๋กœ ์‚ฌ์šฉํ•˜์ž.์—ฌํ–‰๊ฐˆ ๋•Œ ์ „์••์ด ๋‹ค๋ฅธ ๊ณณ์—์„œ ๊ธฐ๊ณ„๋ฅผ ์ถฉ์ „ํ•˜๋ ค๋ฉด ์ „์••์„ ๋ฐ”๊ฟ”์ฃผ๋Š” ์–ด๋Œ‘ํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋„ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ, ์ฆ‰, ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ์˜ ๋ณ€ํ™˜์ด ํ•„์š”ํ•  ๋•Œ ์–ด๋Œ‘ํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.์ด๋•Œ ์‚ฌ์šฉ

2021๋…„ 10์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL89. ES๋ชจ๋“ˆ

"import { Module } from" ๊ณผ "import Module from" ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. import, export ๋ฌธ์€ JavaScript ๋ชจ๋“ˆ์—์„œ ํ•จ์ˆ˜, ๊ฐ์ฒด, ์›์‹œ ๊ฐ’์„ ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.์—ฌ๋Ÿฌ ๊ฐ’๋“ค์„ export/importํ•˜

2021๋…„ 9์›” 28์ผ
ยท
1๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL88. zip array

๋‹ค๋ฅธ ๋‘ ๋ฐฐ์—ด์„ ํ•œ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด๋ณด์ž.ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋ถ€๋ถ„์„ ๋งต์„ ๋Œ๋ ค์„œ ์˜ˆ์˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž.๋ชฉํ‘œ: ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ํ•˜๋‚˜์˜ ๋งต์„ ๋Œ๋ ค ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค. \-> zip array ํ™œ์šฉํ•˜๊ธฐ์š”์†Œ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ๋ฐฐ์—ด, ํŠœํ”Œํ˜•ํƒœ์šฐ์„  ๋ฐ์ดํ„ฐ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„

2021๋…„ 9์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL87.forwardRef

forwardRef

2021๋…„ 8์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL86.useSelector, useDispatch, useCreate

selector ์•Œ์•„๋ณด์ž

2021๋…„ 8์›” 2์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

TIL85.Redux Toolkit

๋ฆฌ๋•์Šค๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๐ŸŽ์ข…ํ•ฉ์„ ๋ฌผ์„ธํŠธ '๋ฆฌ๋•์Šค ํˆดํ‚ท'์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.๋ฆฌ๋•์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์•ก์…˜ํƒ€์ž…,์•ก์…˜์ƒ์„ฑํ•จ์ˆ˜, ๋ฆฌ๋“€์„œ ๋“ฑ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ,์ฆ‰ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ๋•Œ๋ฌธ์— ํ”ผ๋กœ๊ฐ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค.์ด๋•Œ ๋ฆฌ๋•์Šค ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ข€ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ค

2021๋…„ 7์›” 13์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท