์ „์ฒด ๊ธ€ 125

# 21๋Œ€ ์ด์„ , ํ•ต์‹ฌํ‚ค ์ค€์—ฐ๋™ํ˜• ๋น„๋ก€๋Œ€ํ‘œ์ œ ์ •๋ฆฌ

๋ง๋„ ๋งŽ๊ณ  ํƒˆ๋„ ๋งŽ์•˜๋˜ 20๋Œ€ ๊ตญํšŒ๋ฅผ ๋’ค๋กœํ•˜๊ณ  ๋‹ค๊ฐ€์˜ค๋Š” 21๋Œ€ ์ด์„ ์„ ์น˜๋ฅด๊ธฐ์— ์•ž์„œ ์ž‘๋…„ ๋ง ์šฐ์—ฌ๊ณก์ ˆ ๋์— ํŒจ์Šค์ŠคํŠธ๋ž™์œผ๋กœ ํ†ต๊ณผ๋˜์—ˆ๋˜ ๊ฐœ์ •๋œ ์„ ๊ฑฐ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. 1. ์šฐ๋ฆฌ ๋‚˜๋ผ์˜ ๊ฐœ์ • ์ „ ์„ ๊ฑฐ๋ฒ•์€? 20๋Œ€ ์ด์„ ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ๋ณ‘๋ฆฝํ˜• ๋น„๋ก€๋Œ€ํ‘œ์ œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋ณ‘๋ฆฝํ˜• ๋น„๋ก€๋Œ€ํ‘œ์ œ๋ž€, ์†Œ์„ ๊ฑฐ๊ตฌ์ œ(์ง€์—ญ๊ตฌ ๋“ํ‘œ์œจ)์™€ ๋น„๋ก€๋Œ€ํ‘œ์ œ(์ •๋‹น ๋“ํ‘œ์œจ) ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋“ํ‘œ ๊ฒฐ๊ณผ์˜ ํ•ฉ์‚ฐ์œผ๋กœ ์ •๋‹น๋ณ„ ๊ตญํšŒ ์˜์„์ˆ˜๋ฅผ ์ •ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. - ์†Œ์„ ๊ฑฐ๊ตฌ์ œ : ๋‹ค์ˆ˜ํ‘œ ์Šน์ž์˜ ์›์น™์œผ๋กœ ์œ ๊ถŒ์ž๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ๋ฝ‘์€ ํ›„๋ณด์ž๊ฐ€ ๋‹น์„ ๋˜๋Š” ์„ ๊ฑฐ ํ˜•ํƒœ์ด๋ฉฐ ๋‹น์„ ์ž๋Š” ์ง€์—ญ๊ตฌ ์˜์›์ด ๋œ๋‹ค. - ๋น„๋ก€๋Œ€ํ‘œ์ œ : ํŠน์ • ํ›„๋ณด์ž๊ฐ€ ์•„๋‹Œ ํŠน์ • ์ •๋‹น์— ํˆฌํ‘œํ•˜๋ฉฐ, ์ •๋‹น ๋“ํ‘œ์œจ์— ๋”ฐ๋ผ ๊ฐ ๋‹น์€ ์˜์„ ์ˆ˜๋ฅผ ํ• ๋‹น ๋ฐ›๋Š”๋‹ค. ๋‹จ, ๋ณ‘๋ฆฝํ˜• ๋น„๋ก€๋Œ€ํ‘œ์ œ๋Š” ์†Œ์„ ๊ฑฐ๊ตฌ์ œ์™€ ..

# docker ๊ธฐ๋ฐ˜ Gitlab-CI ๊ตฌ์ถ• 4 - Backup & Restore

์ง€๋‚œ ํฌ์ŠคํŒ…(# docker ๊ธฐ๋ฐ˜ Gitlab-CI ๊ตฌ์ถ• 3 - Gitlab-runner ์‹คํ–‰)์— ์ด์–ด Gitlab ์„œ๋ฒ„์˜ Backup๊ณผ Restore์— ๋Œ€ํ•ด ์ •๋ฆฌํ–ˆ๋‹ค. Gitlab์˜ Backup์€ Gitlab์˜ ํ”„๋กœ์ ํŠธ, ์ด๋ ฅ, CI/CD ์ง„ํ–‰ ๋‚ด์—ญ ๋“ฑ Gitlab ์„œ๋ฒ„์˜ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์„ ๋ชจ๋‘ Backup ํ•œ๋‹ค. ๋‹จ, gitlab-ci.yml, gitlab-secrets.jsonํŒŒ์ผ์€ ๋ฏผ๊ฐ ์ •๋ณด๋ผ๊ณ  ํ•˜์—ฌ Backup ๋Œ€์ƒ์—์„œ ์ œ์™ธ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์ˆ˜๋™์œผ๋กœ Backup ํ•ด์ค˜์•ผ ํ•œ๋‹ค. Backup ๊ธฐ๋Šฅ์€ ์ฃผ๋กœ Gitlab ์„œ๋ฒ„์˜ ์ด์ „์ด๋‚˜ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋  ๊ฒƒ์ด๋‹ค. 1. Gitlab Backup Backup ํ•˜๋ ค๋Š” Gitlab ๊ธฐ๋™ ์„œ๋ฒ„์—์„œ ์•„๋ž˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. # 1. git..

Git 2020.03.30

# ์ค‘๊ตญ ๋™๋ถ๊ณต์ • ์ •๋ฆฌ

๋™๋ถ๊ณต์ •(ๆฑๅŒ—ๅทฅ็จ‹)์ด๋ž€, 2002๋…„ 2์›”๋ถ€ํ„ฐ 5๋…„๊ฐ„ ์ค‘๊ตญ์‚ฌํšŒ๊ณผํ•™์› ์‚ฐํ•˜ ์ค‘๊ตญ๋ณ€๊ฐ•์‚ฌ์ง€์—ฐ๊ตฌ์ค‘์‹ฌ๊ณผ ๋™๋ถ 3์„ฑ์ด ์—ฐํ•ฉํ•ด์„œ ์ถ”์ง„ํ•œ ์ค‘๊ตญ์˜ ๊ตญ์ฑ… ์—ฐ๊ตฌ์‚ฌ์—…์ด๋‹ค. ๋ผ๊ณ  ์ •์˜ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๊ฒŒ ๋ญ”๋ฐ? ๋™๋ถ๊ณต์ •์— ๋Œ€ํ•ด ํ•œ๋ฒˆ์ฏค ๋“ค์–ด๋Š” ๋ดค์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ํ”ํžˆ ์•Œ๊ณ ์žˆ๋Š” ์ˆ˜์ค€์€ ์ค‘๊ตญ์ด ์šฐ๋ฆฌ ๊ณ ๊ตฌ๋ ค์˜ ์—ญ์‚ฌ๋ฅผ ์ž๊ธฐ๋„ค๋“ค์˜ ์—ญ์‚ฌ๋กœ ํŽธ์ž…ํ•˜๋ ค๊ณ  ํ•œ๋‹ค ์ •๋„๊ฐ€ ์•„๋‹๊นŒ ์‹ถ๋‹ค. ๋‚ด๊ฐ€ ๊ทธ๋žฌ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๋ฌธ๋“ ๊ทธ ์ •๋„๋กœ ๋˜๋‚˜? ๊ทธ๋ ‡๊ฒŒ๋งŒ ์•Œ๊ณ ์žˆ์œผ๋ฉด ๋˜๋Š”๊ฑด๊ฐ€? ์™œ ์ค‘๊ตญ์€ ๊ณ ๊ตฌ๋ ค ์—ญ์‚ฌ๋ฅผ ์ž๊ธฐ๋„ค ์—ญ์‚ฌ๋กœ ๋งŒ๋“ค๋ ค๊ณ ํ•˜์ง€? ์™œ ์šฐ๋ฆฌ๋‚˜๋ผ๋Š” ๊ทธ๊ฒƒ์„ ์ ๊ทน์ ์œผ๋กœ ๋ง‰์ง€ ์•Š์ง€? ๋ผ๋Š” ์ƒ๊ฐ์ด ๊ผฌ๋ฆฌ์— ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ์—ˆ๊ณ , ์ด๋Ÿฐ ์ƒ๊ฐ๋“ค์ด ๊ฒฐ๊ตญ ๋™๋ถ๊ณต์ •์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค๋Š” ๊ฒฐ๋ก ์— ์ด๋ฅด๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋Ÿผ ๋™๋ถ๊ณต์ •์˜ ๋ฐฐ๊ฒฝ๋ถ€ํ„ฐ ์•Œ์•„๋ณด์ž. ๋™๋ถ๊ณต์ •์€ ํ•˜๋‚˜์˜ ์ค‘๊ตญ ์ด๋ผ๋Š” ..

# docker ๊ธฐ๋ฐ˜ Gitlab-CI ๊ตฌ์ถ• 3 - Gitlab-runner ์‹คํ–‰

์ง€๋‚œ ํฌ์ŠคํŒ… # docker ๊ธฐ๋ฐ˜ Gitlab-CI ๊ตฌ์ถ• 2 ์—์„œ Gitlab์„ Docker๋กœ ์‹คํ–‰ํ–ˆ๊ณ  CI ์Šคํฌ๋ฆฝํŠธ(.gitlab-ci.yml)๊นŒ์ง€ ๋“ฑ๋กํ•ด์ฃผ์—ˆ๋‹ค. 1. CI ์ƒํƒœ ๋ณด๊ธฐ ๊ทธ๋ฆฌ๊ณ  CI์˜ Pipelines๋ฅผ ํ™•์ธํ–ˆ์„ ๋•Œ, Pending ์ƒํƒœ์ธ ๊ฒƒ์„ ํ™•์ธํ–ˆ๋Š”๋ฐ, ์ด๋Š” CI๋ฅผ ์ˆ˜ํ–‰ํ•ด์ค„ Runner๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ธฐ๋Š” ํ˜„์ƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” CI๋ฅผ ์ˆ˜ํ–‰ํ•ด์ค„ Gitlab-runner๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. 2. Gitlab-runner ๋“ฑ๋ก 1) gitlab ์„œ๋ฒ„์˜ Runners ์„ค์ • ํŽ˜์ด์ง€์—์„œ Runner Setup ์ •๋ณด(URL / TOKEN)๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 2) gitlab ์„œ๋ฒ„์—์„œ ํ™•์ธํ•œ URL๊ณผ TOKEN ์ •๋ณด๋กœ ๋ฐฐํฌ ์„œ๋ฒ„์—์„œ Gitlab-runner๋ฅผ ๋“ฑ๋กํ•œ๋‹ค. $..

Git 2020.03.27

# docker ๊ธฐ๋ฐ˜ Gitlab-CI ๊ตฌ์ถ• 2 - Gitlab ์‹คํ–‰

โ€ป ์‚ฌ์ „ ์ค€๋น„ ์‚ฌํ•ญ์œผ๋กœ docker(# docker ์„ค์น˜)๊ฐ€ ์„ค์น˜ ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. 1. Gitlab ์‹คํ–‰ # docker gitlab ์‹คํ–‰ $ sudo docker run --detach \ --hostname 192.168.10.X \# git pull or push ์—์„œ ์‚ฌ์šฉ๋  hostname --publish 443:443 --publish 80:80 --publish 22:22 \ # hostPort:containerPort hostPort์—์„œ ์ง€์ •ํ•œ Port์˜ ๋ฐฉํ™”๋ฒฝ์€ ๋ฐ˜๋“œ์‹œ ์˜คํ”ˆํ•ด์ค˜์•ผ ํ•œ๋‹ค. --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \# volume์€ gitlab ๊ธฐ๋™์‹œ ํ•„์š”ํ•œ ํŒŒ์ผ๋“ค์„ ์ €์žฅํ•˜๊ธฐ ์œ„..

Git 2020.03.27

# docker ๊ธฐ๋ฐ˜ Gitlab-CI ๊ตฌ์ถ• 1 - Gitlab-CI๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์ด๋ฒˆ์—” docker๋ฅผ ์ด์šฉํ•œ Gitlab-CI ๊ตฌ์ถ• ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 1. ์™œ Gitlab ์ธ๊ฐ€? ๋ณธ ํฌ์ŠคํŒ…์— ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ์•„๋ž˜ ์ด๋ฏธ์ง€์—์„œ ๋ณด๋“ฏ์ด ์ตœ๊ทผ 5๋…„๊ฐ„์˜ ํŠธ๋ Œ๋“œ๋ฅผ ๋ณด๋ฉด github๊ฐ€ ์••๋„์ ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์™œ git ์ €์žฅ์†Œ๋ฅผ github๊ฐ€ ์•„๋‹Œ gitlab์œผ๋กœ ์„ ํƒํ–ˆ๋Š”๊ฐ€? git ์ €์žฅ์†Œ๋กœ์„œ์˜ ์ ์œ ์œจ์€ github์— ๋ฐ€๋ ค ๋งŒ๋…„ 2์œ„ ์ž๋ฆฌ๋ฅผ ์ง€ํ‚ค๊ณ  ์žˆ์ง€๋งŒ gitlab์ด ๊ฐ€์ง€๋Š” ์žฅ์ ์ด ๋ถ„๋ช…ํžˆ ์žˆ๋‹ค. github์—์„œ๋Š” private repository๋Š” ์œ ๋ฃŒ์ด๋‚˜, gitlab์—์„œ๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ github์—์„œ๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋“  ์†Œ์Šค๋ฅผ ์˜คํ”ˆํ•ด์•ผํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ ์žฅ์ ์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋˜๋ฏ€๋กœ ์ž์—ฐ์Šค๋ ˆ ์‹œ์žฅ ์ ์œ ์œจ๋„ ์˜ฌ๋ผ๊ฐ”๋˜๊ฒŒ ์•„๋‹๊นŒํ•˜๊ณ  ์ƒ๊ฐํ•ด๋ณธ๋‹ค. ํ•„์ž๊ฐ€..

Git 2020.03.27

# Java Concurrency In Practice - Chapter3

Sharing Object 2 ์žฅ ์ดˆ๋ฐ˜์— ์˜ฌ๋ฐ”๋ฅธ ๋™์‹œ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ์€ ์ฃผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ๊ณต์œ  ์ƒํƒœ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ์— ๊ด€ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์žฅ์—์„œ๋Š” ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ์ฒด๋ฅผ ๊ณต์œ  ๋ฐ ๊ฒŒ์‹œํ•˜๋Š” ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‘˜์€ ์Šค๋ ˆ๋“œ ์•ˆ์ „ ํด๋ž˜์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  java.util.concurrent ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๊ธฐ์œ„ํ•œ ํ† ๋Œ€๋ฅผ ๋งˆ๋ จํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋™๊ธฐํ™” ๋œ ๋ธ”๋ก๊ณผ ๋ฉ”์†Œ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘์ด ์›์ž ์ ์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ํ•˜๋Š”์ง€๋ฅผ ๋ณด์•˜์ง€๋งŒ ๋™๊ธฐํ™”๋Š” ์› ์ž์„ฑ ๋˜๋Š” "์ค‘์š”ํ•œ ๋ถ€๋ถ„"์— ๋Œ€ํ•œ ๊ฒฝ๊ณ„๋ผ๋Š” ์ผ๋ฐ˜์ ์ธ ์˜คํ•ด์ž…๋‹ˆ๋‹ค. ๋™๊ธฐํ™”์—๋Š” ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•˜๊ณ  ๋ฏธ๋ฌ˜ํ•œ ์ธก๋ฉด์ด ์žˆ์Šต๋‹ˆ๋‹ค : ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€์‹œ์„ฑ. ์šฐ๋ฆฌ๋Š” ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ..

JAVA/Concurrency 2020.02.15

# Java Concurrency In Practice - Chapter 2

Thread Safety Java ๋™๊ธฐํ™”์˜ ๊ธฐ๋ณธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ synchronized ํ‚ค์›Œ๋“œ์ด์ง€๋งŒ "synchronized (๋™๊ธฐํ™”)"๋ผ๋Š” ์šฉ์–ด์—๋Š” volatile ๋ณ€์ˆ˜, exclusive locking (๋ช…์‹œ์  ์ž ๊ธˆ) ๋ฐ atomic ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ๋„ ํฌํ•จ๋œ๋‹ค. ์ด ๊ทœ์น™์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” "ํŠน๋ณ„ํ•œ"์ƒํ™ฉ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ ค๋Š” ์œ ํ˜น์„ ํ”ผํ•ด์•ผํ•œ๋‹ค. Java์˜ ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋”๋ผ๋„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•˜๊ณ  ์ˆ˜๋…„ ๋™์•ˆ ์„ฑ๋Šฅ์ด ์ข‹์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ ํ”„๋กœ๊ทธ๋žจ์€ ์—ฌ์ „ํžˆ ๋™๊ธฐํ™” ๋ฌธ์ œ๋กœ ์ธํ•ด ์–ธ์ œ๋“ ์ง€ ์ค‘๋‹จ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์œ„ํ—˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์ผ ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์ ์ ˆํ•œ ๋™๊ธฐํ™”์—†์ด ๋™์ผํ•œ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์ƒํƒœ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋™์ž‘ํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์กด์žฌ..

JAVA/Concurrency 2020.02.13

# ํŒ”๋ ˆ์Šคํƒ€์ธ๊ณผ ์ด์Šค๋ผ์—˜ ๋ถ„์Ÿ ์ •๋ฆฌ

์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์ตœ๊ทผ ํŠธ๋Ÿผํ”„๊ฐ€ ์ค‘๋™ ํ‰ํ™”์•ˆ์„ ๋ฐœํ‘œํ•˜๋ฉด์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋Œ€๋‘๋œ ํŒ”๋ ˆ์Šคํƒ€์ธ-์ด์Šค๋ผ์—˜ ๋ถ„์Ÿ์— ๊ด€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํŠธ๋Ÿผํ”„๊ฐ€ ์ฃผ์žฅํ•œ ์ค‘๋™ ํ‰ํ™”์•ˆ์ด๋ž€, ์ž์นญ ํ˜„์‹ค์ ์ธ 2๊ฐœ ๊ตญ๊ฐ€ ํ•ด๋ฒ•์ด๋ผ๊ณ  ํ•˜๋ฉฐ ๊ทธ ๋‚ด์šฉ์ธ ์ฆ‰์Šจ ์ง€๊ธˆ๊นŒ์ง€ ์ด์Šค๋ผ์—˜์ด ์••๋„์ ์ธ ๊ตฐ์‚ฌ๋ ฅ์„ ๋ฐ”ํƒ•์œผ๋กœ ํŒ”๋ ˆ์Šคํƒ€์ธ์„ ์ ๋ นํ•ด์˜จ ์‚ฌ์‹ค์„ ์ธ์ •ํ•˜๋Š” ๊ฒƒ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ๋” ๋“ค์„ ํ•„์š”๊ฐ€ ์žˆ๋‚˜ ์‹ถ๋‹ค. ์ด ๋ถ„์Ÿ์— ์กฐ๊ธˆ์ด๋ผ๋„ ๊ด€์‹ฌ์„ ๊ฐ–๊ณ ์žˆ๋˜ ์‚ฌ๋žŒ๋“ค์ด๋ผ๋ฉด ๋ฏธ๊ตญ-์ด์Šค๋ผ์—˜-์œ ์—”์„ ํ•„๋‘๋กœ ํ•œ ํŒ”๋ ˆ์Šคํƒ€์ธ ์ ๋ น ๊ณผ์ •์ด ์–ผ๋งˆ๋‚˜ ํญ๋ ฅ์ ์ด๊ณ  ๋น„์ธ๋„์ ์ด์—ˆ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด์ž. ํŒ”๋ ˆ์Šคํƒ€์ธ-์ด์Šค๋ผ์—˜ ๋ถ„์Ÿ์˜ ์—ญ์‚ฌ๋Š” ์•„์ฃผ ์˜ค๋ž˜๋˜์—ˆ๊ณ  ๊ทธ ๊ธฐ์›์€ ๊ทธ๋ฆฌ์Šค๋„๊ต์˜ ๊ตฌ์•ฝ ์‹œ๋Œ€(๊ธฐ์›์ „ 1800๋…„๊ฒฝ)๊นŒ์ง€ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ„๋‹ค. ๋ถ„์Ÿ์˜ ์—ญ์‚ฌ 1. ๋””์•„์Šคํฌ๋ผ-์œ ๋Œ€์ธ๋“ค์ด ์ „์„ธ๊ณ„๋กœ ํฉ์–ด์ง„ ์ด์œ ..

Issue 2020.02.04