๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ48

MVC, ORM, Sequelize what is MVC MVCํŒจํ„ด์€ Model, View, Comtroller ์˜ ์•ฝ์ž์ธ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ณ ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค. - Model : Database์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ถ€๋ถ„ - View : ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋ถ€๋ถ„ - Controller : ์ž…๋ ฅ์„ ๋ฐ›์•„ ๋ชจ๋ธ๋กœ ์ „๋‹ฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ๋ ค๋ฐ›์œผ๋ฉด ๋ทฐ๋กœ ๋ณด๋‚ด์ฃผ๋Š” ์—ญํ•  * mvc ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ - Ruby on Rails (Ruby) - Laravel (PHP) - Codeigniter (PHP) - Django (python) - Express (JS) - Backbone (JS) - Angular (JS) - Flask (python) 2022. 3. 15.
[SQL] im-sprint-learn-sql ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ SQL์„ ๊ณต๋ถ€ํ–ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด CRUD๋ฅผ ํ• ์ˆ˜์žˆ๋Š” ์–ธ์–ด์ธ SQL ๋ฌธ๋ฒ•์„ ์Šคํ”„๋ฆฐํŠธ ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด์ž. ์Šคํ”„๋ฆฐํŠธ๋Š” part 5๊นŒ์ง€ ์žˆ๊ณ , part1,2๋Š” mysql ํ€ด์ฆˆ์™€ ์„ค์น˜๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์–ด ์–ด๋ ต์ง€ ์•Š์œผ๋ฏ€๋กœ part3๋ถ€ํ„ฐ ๋‹ค๋ฃจ๊ธฐ๋กœ ํ•œ๋‹ค. Part 3์˜ ๋ชฉํ‘œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ์ฃผ์–ด์ง„ ์Šคํ‚ค๋งˆ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก SQL ๋ฌธ ์ž‘์„ฑ. vscode์—์„œ ๊ณผ์ œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ ์„ค์น˜ํ•ด๋‘”mysql์— ์ ‘์†ํ•ด์•ผ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ• ์ˆ˜์žˆ๋‹ค. /migrations/schema.sql ์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ์˜ ํ•ต์‹ฌ์ด๊ณ , ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„. ํ…Œ์ด๋ธ”๊ณผ ์ปฌ๋Ÿผ์„ ์ƒ์„ฑํ•ด์•ผ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ• ์ˆ˜์žˆ๋‹ค. ๋งŒ๋“ค์–ด์•ผํ•˜๋Š” ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ๋ฅผ ๋ณด๊ณ  ํ•„์š”ํ•œ๋ถ€๋ถ„์„ ์ฑ„์šด๋‹ค USE learnmysql; /* D.. 2022. 3. 9.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค lv.2 ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ๋ฐ˜๋ณต๋ฌธ, ์žฌ๊ท€, DP์—์„œ ๊พธ์ค€ํžˆ ๋‹ค๋ค„์˜จ ๋ถ€๋ถ„์ด๋ผ ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋‹น์—ฐํžˆ, ํ”ผ๋ณด๋‚˜์น˜๋Š” ์žฌ๊ท€์ง€.. ํ•˜๊ณ  1์ฐจ ์‹œ๋„ ํ–ˆ์œผ๋‚˜.. function solution(n) { let fibo = (n) => { // if (arr[n] !== undefined){ return arr[n]; } arr[n] = fibo(n-1)+fibo(n-2); return arr[n]% 1234567; } return fibo(n); } //์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋กœ ์Šคํƒ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋„˜๋Š” ํ•จ์ˆ˜ํ˜ธ์ถœ. ๋’ค์ชฝ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ํ†ต๊ณผ์•ˆ๋จ 2์ฐจ์‹œ๋„ function solution(n) { let memo = [0, 1, 1]; for(let i = 3; i 2022. 3. 6.
[Ubuntu] ์ €์žฅ์†Œ ์ •๋ณด ๋‹ค์šด๋กœ๋“œ ์‹คํŒจ / ์บ์‹œ ์ƒˆ๋กœ ๊ณ ์นจ ์ค‘ ์˜ค๋ฅ˜ ์˜ค๋ฅ˜๋‚ด์šฉ mysql์˜ GUI ํˆด์ธ Work Bench๋ฅผ ์„ค์น˜ํ•˜๋ฉฐ cmd ๋ช…๋ น์–ด๋ฅผ ๋ฌด์ž‘์ • ๋ณต๋ถ™ํ•˜๋‹ค๊ฐ€ ์‹ค์ˆ˜๊ฐ€ ์žˆ์—ˆ๋˜ ๋ชจ์–‘์ด๋‹ค.. ใ…œใ…œ ์ด ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€์ธ๊ฒƒ ๊ฐ™๊ณ  ์—…๋ฐ์ดํŠธ์‹œ์— ๊ณ„์† ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ ๊ฑฐ์Šฌ๋ฆฐ๋‹ค.. ์•„๋งˆ ํ•ด๊ฒฐํ•˜์ง€ ์•Š์•„๋„ ํฐ๋ฌธ์ œ๋Š” ์—†์„๊ฒƒ ๊ฐ™์ง€๋งŒ, ๊ฑฐ์Šฌ๋ฆฌ๋‹ˆ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๊ธฐ๋กœํ–ˆ๋‹ค. ๋ฐœ๊ฒฌํ•œ ๊ฒƒ ๊ตฌ๊ธ€๋ง ๊ฒ€์ƒ‰์–ด๋กœ 'The repository does not have a Release file' ๋„ฃ์–ด ์ฃผ์—ˆ๊ณ , ๋น„์Šทํ•œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ธ”๋กœ๊ทธ๊ฐ€ ๋‚˜์™€ ์ฐธ๊ณ ํ•˜์˜€๋‹ค. ์šฐ๋ถ„ํˆฌ์—์„œ source๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” sources.listํŒŒ์ผ ์ƒ๋‹จ์— (ํŒŒ์ผ ์œ„์น˜ :/etc/apt/sources.list) `deb cdrom:[Ubuntu 20.04.3 LTS _Focal Fossa_ - Release amd64 (202.. 2022. 3. 6.
์„น์…˜ 2 ํšŒ๊ณ ๋ก ์ˆœ์‹๊ฐ„์— ์ง€๋‚˜๊ฐ„ 5์ฃผ๊ฐ„์˜ ์„น์…˜2 ์„น์…˜2๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ vercel๋ฐฐํฌ๋กœ ๋๋‚œ ๋‚ฏ์„ ๊ฐœ๋…๋“ค์ด ์ค„์ค„์ด ๋‚˜์˜ค๋Š” ์ปค๋ฆฌ์ฟจ๋Ÿผ์ด์˜€๋‹ค. ์ค‘๊ฐ„์— ๋น„๋™๊ธฐ๊ฐ€ ๋‚˜์˜ฌ๋•Œ๋Š” ๊ฑฐ์˜ ์šธ๋ฉฐ ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ ๊ทธ๋ ‡๊ฒŒ ๋ฐ”๋‹ฅ์„ ์น˜๊ณ ๋‚˜๋‹ˆ๊นŒ ๋‹ค์Œ์— ๋งŒ๋‚˜๋Š”๊ฒƒ๋“ค๋„ ๋ฌผ๋ก  ์–ด๋ ค์› ์ง€๋งŒ '์—๋ผ ๋ชจ๋ฅด๊ฒ ๋‹ค ๋ถ€๋”ชํ˜€ ๋ณด์ž' ํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก  ์ฑ•ํ„ฐ ํ•˜๋‚˜๋ผ๋„ ์™„๋ฒฝํžˆ ๋‚ดํž˜์œผ๋กœ ๋‹คํ–ˆ๋‹ค ๋ผ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„น์…˜ 3์œผ๋กœ ์™€์„œ๋„ ๋ถˆ์•ˆํ•œ ๋งˆ์Œ์ด ๋งŽ์ด๋“ ๋‹ค. ์ง€๊ธˆ๋„ ์„น์…˜ 2์˜ ์Šคํ”„๋ฆฐํŠธ๋“ค์„ ๋‹ค์‹œ ํ’€์–ด๋ณด๋ผ ๊ทธ๋Ÿฌ๋ฉด ์ž˜ ๋ชปํ• ๊ฒƒ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์„น์…˜2๋ฅผ ์žฌ์ˆ˜๊ฐ•ํ•˜์ง€์•Š์€ ์ด์œ ๋Š” ์žฌ์ˆ˜๊ฐ•์„ ํ•˜๊ฒŒ ๋˜๋”๋ผ๋„ ์„น์…˜ 3์—์„œ ํ•˜๋Š”๊ฒŒ ๋‚˜์„๊ฒƒ๊ฐ™๊ณ , ๋ฌด์—‡๋ณด๋‹ค ๋นจ๋ฆฌ ์ทจ์—…ํ•˜์—ฌ ์‹ค๋ฌด์—์„œ ๋ฐฐ์šฐ๋Š”๊ฒƒ์ด ์ด๊ณณ์—์„œ 5์ฃผ๊ฐ„ ๋ฐฐ์šฐ๋Š”๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šธ์ˆ˜์žˆ์„๊ฒƒ์ด๋ผ.. 2022. 2. 28.
22.02.18 TIL Redux Achievement Goals ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์™œ ํ•„์š”ํ•œ์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. -๋งŽ์€ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์ด์—์„œ ํ”„๋กญ์Šค๋ฅผ ๋‚ด๋ ค์ฃผ๊ธฐ ๊ฐ„ํŽธํ•˜๋‹ค. -์Šคํ…Œ์ดํŠธ๋ฅผ ํ•œ๊ตฐ๋ฐ์—์„œ ๊ด€๋ฆฌํ•˜๋‹ˆ ์—๋Ÿฌ ํ•ธ๋“ค๋ง์ด ์‰ฝ๋‹ค. Redux (ํ˜น์€ Flux Pattern)์—์„œ ์‚ฌ์šฉํ•˜๋Š” Action, Reducer ๊ทธ๋ฆฌ๊ณ  Store์˜ ์˜๋ฏธ์™€ ํŠน์ง•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. -Action: ์–ด๋–ค์•ก์…˜์„ ์ทจํ• ์ง€ ์ •์˜ํ•ด๋†“์€ ๊ฐ์ฒด -Reducer: ํ˜„์žฌ์˜ state์™€ Action์„ ์ด์šฉํ•ด์„œ ์ƒˆ๋กœ์šด state๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” pure function -Store: state๊ฐ€ ๊ด€๋ฆฌ๋˜๋Š” ์˜ค์ง ํ•˜๋‚˜๋ฟ์ธ ์ €์žฅ์†Œ Redux์˜ 3๊ฐ€์ง€ ์›์น™์ด ๋ฌด์—‡์ด๋ฉฐ, ์ฃผ์š” ๊ฐœ๋…๊ณผ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. -๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ™์€๊ณณ์—์„œ ๊ฐ€์ ธ์˜จ๋‹ค. -์ƒํƒœ๋Š” ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ.. 2022. 2. 18.
API, UseEffect๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ Use Effect๊ฐ€ ์•„์ง ์–ด๋–ค ๋…€์„์ธ์ง€ ์ž˜๋ชจ๋ฅด๊ฒ ๋‹ค.. ๊ณต์‹๋ฌธ์„œ ํ™•์ธ ๊ณ ๊ณ  UseEffect = ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ side Effect ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. *Side Effect๋ž€ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ํ•จ์ˆ˜์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š” ๊ฐ’์ด๋‚˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๋Š” ํ–‰์œ„์ด๋‹ค. ex) ํ•จ์ˆ˜๋‚ด์—์„œ ์ „์—ญ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝ์‹œํ‚ค๊ฑฐ๋‚˜ ํ•จ์ˆ˜์™ธ๋ถ€ ๋ฒ„ํŠผ์˜ ํ…์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•˜๋Š” ๊ฒƒ๋“ฑ์ด ์žˆ๋‹ค. ํ•จ์ˆ˜๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•˜๋ฉฐ ๊ฒฐ๊ณผ๋Š” ํ•ญ์ƒ ์ผ๊ด€๋˜๊ณ  ์˜ˆ์ธก ํ• ์ˆ˜์žˆ์–ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ ํ”„๋กœ๊ทธ๋žจ์ด ์‰ฝ๊ณ  ๋‹จ์ˆœํ•˜๋ฉฐ ์œ ์ง€๋ณด์ˆ˜ ํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฆฌ์•กํŠธ์—๋Š” ์ ˆ์ฐจํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ”ํžˆ ์กด์žฌํ•˜๋Š” ์ž‘์—…์ธ Side Effect ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Use Effect() ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ํ™œ์šฉ.. 2022. 2. 17.
๋น„๋™๊ธฐ ํ๋ฆ„ ์ดํ•ดํ•˜๊ธฐ ๋™๊ธฐ์ ์ด๋ž€(synchronous)? ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ทธ๋ฆผ์œผ๋กœ ์„ค๋ช… ํ•˜์ž๋ฉด... |A์‹œ์ž‘-----------------A์ข…๋ฃŒ| |B์‹œ์ž‘---------------B์ข…๋ฃŒ| A์—…๋ฌด๋ฅผ ๋งˆ์น ๋•Œ๊นŒ์ง€ B์—…๋ฌด๋ฅผ ๋ง‰์•„๋‘๋Š”๊ฒƒ์„ Blocking์ด๋ผ๊ณ ํ•˜๊ณ , ๋๋‚˜๋Š” ์‹œ์ ๊ณผ ์‹œ์ž‘ํ•˜๋Š” ์‹œ์ ์ด ๊ฐ™๊ธฐ๋•Œ๋ฌธ์— ๋™๊ธฐ์ ์ด๋ผ๊ณ  ๋งํ•œ๋‹ค. ๋น„๋™๊ธฐ์ ์ด๋ž€(asynchronous)? |A์‹œ์ž‘-----------------A์ข…๋ฃŒ| |B์‹œ์ž‘---------B์ข…๋ฃŒ| ๋Œ€ํ‘œ์  ๋น„๋™๊ธฐ ํ•จ์ˆ˜์ธ setTimeout ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ์ด๋ ‡๊ฒŒ ์‹คํ–‰๋œ๋‹ค. https://poiemaweb.com/img/event-loop.gif A,B๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์ง„ํ–‰๋œ๋‹ค. ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ ๋˜์ง€์•Š๋Š”๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ๋‹จ์ˆœํžˆ ์ž‘์—…์ด ์š”์ฒญ๋˜๋ฉด Call Stack์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ๋œ ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰.. 2022. 2. 13.
Stateairline-client ๊ณผ์ œ [React] ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์ดํ•ด์™€ ๋น„๋™๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ ์ดํ‹€์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„, state์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ์™€ useEffect AJAX์š”์ฒญ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ๋‹ค. ๋ฆฌ์•กํŠธ์˜ ์ปดํฌ๋„ŒํŠธ๋Š” 1๊ฐ€์ง€์˜ ์ผ๋งŒ ํ•˜๊ณ  ๋‹จ๋ฐฉํ–ฅ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐ€์ง„๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””์— ๋‹ด์•„์ค˜์•ผํ• ์ง€ ์ •ํ•ด์ค˜์•ผํ•œ๋‹ค.(๋ฐ์ดํ„ฐ์ •์˜) ๋ถ€๋ชจ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ž์‹์—๊ฒŒ props(์ฝ๊ธฐ์ ์šฉ)๋กœ ๋‚ด๋ ค์ค€๋‹ค(์ธ์ž ํ˜น์€ ์†์„ฑ์ฒ˜๋Ÿผ ๋‚ด๋ ค์คŒ) ์ž์‹์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ ค๋ฐ›์ง€๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์—์„œ ์™”๋Š”์ง€๋Š” ์•Œ์ง€๋ชปํ•œ๋‹ค. [์ƒํƒœ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ] ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์ด top-down ๋ฐฉ์‹์ด์ง€๋งŒ, ์ž์‹์ปดํฌ๊ฐ€ ๋ถ€๋ชจ์ปดํฌ์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊ฟ”์•ผํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” (์˜ˆ. ์ž์‹์ปดํฌ์— ์ „์†ก๋ฒ„ํŠผ์ด ์žˆ์–ด ํด๋ฆญ์‹œ ๋ถ€๋ชจ์˜ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์ด ์—…๋ฐ์ดํŠธ ๋˜์–ด์•ผ ํ•˜๋Š”๊ฒฝ์šฐ) ๋ถ€๋ชจ์ปดํฌ๋‚ด์— ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋‘๊ณ  ์ž์‹์ปดํฌ์— ์ด ์ƒํƒœ .. 2022. 2. 9.