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๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

TIL84. ๋ฆฌ๋•์Šค ๋ฏธ๋“ค์›จ์–ด

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

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

TIL83. Storybook

๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ๋ผ์ดํ”„๋ฅผ ๋„์™€์ค„ ui ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœํ™˜๊ฒฝ '์Šคํ† ๋ฆฌ๋ถ'์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. Storybook ์Šคํ† ๋ฆฌ๋ถ์€ ๊ฐ์ข… ๋ผ์šฐํŒ…๊ณผ ์Šคํ…Œ์ดํŠธ๋“ค๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ฆฌ์•กํŠธ presentational component๋“ค์„ ๋…ธ๋ฉ€๋ผ์ด์ฆˆ์‹œ์ผœ ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์—์„œ ๋Œ์•„๊ฐ€๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด

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

TIL82. protocol buffer

IDL์„ ๋น„๊ตํ•˜๊ณ , ๊ทธ ์ค‘ 'protocol buffer'์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ์‚ฌ์šฉํ•ด๋ณด์ž. IDL(Interfaece Definition Language) ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ์•Œ๋ ค๋ฉด ๋จผ์ € IDL์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ์ด๋ฏธ ์•Œ๊ณ ์žˆ๋Š” ๊ฐœ๋…์ธ ํ”„๋กœํ† ์ฝœ์€ ์„œ๋ฒ„์™€ ํด๋ผ

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

TIL81. ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ ๋น„๊ตํ•˜๊ธฐ

๋ฆฌ์•กํŠธ ํŽ˜์ด์ง•์ฒ˜๋ฆฌ๋ฅผ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋น„๊ตํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž๋Š” ๋ผ์šฐํ„ฐ๋ฅผ ์ ์šฉํ•ด๋ณด์ž. Redirect(with public route& private route) ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ์ƒํƒœ๋‚˜ ๊ถŒํ•œ์— ๋”ฐ๋ผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋‹ค๋ฅด๋‹ค. ์ด ๊ณผ์ •์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ Priva

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