[Infra] DR(Disaster Recovery, ์žฌํ•ด๋ณต๊ตฌ)
ยท
Infra
DR์ด๋ž€?DR์€ ์ž์—ฐ์žฌํ•ด๋‚˜ ์‹œ์Šคํ…œ ์žฅ์• ์™€ ๊ฐ™์€ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์‚ฌ๊ณ ๋กœ ์ธํ•ด ์„œ๋น„์Šค๋‚˜ ์‹œ์Šคํ…œ์ด ์ค‘๋‹จ๋˜์—ˆ์„ ๋•Œ, ์ด๋ฅผ ์ •์ƒํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ์ „๋žต ๋ฐ ๊ธฐ์ˆ ์„ ์˜๋ฏธ.๋ฐ์ดํ„ฐ ์†์‹ค์ด๋‚˜ ์„œ๋น„์Šค ์ค‘๋‹จ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ์—ฐ์†์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ .DR ๊ตฌ์ถ• ์‹œ์—๋Š” RPO์™€ RTO๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ณต๊ตฌ ๋ชฉํ‘œ๋ฅผ ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•จ.IT ์žฌํ•ด ์œ ํ˜•์‚ฌ์ด๋ฒ„ ๊ณต๊ฒฉ ex) ๋ฉ€์›จ์–ด, DDoS, ๋žœ์„ฌ์›จ์–ด ๊ณต๊ฒฉ๊ธฐ์ˆ ์  ์œ„ํ—˜ ex) ์ •์ „, ํŒŒ์ดํ”„๋ผ์ธ ํญ๋ฐœ๋จธ์‹  ๋ฐ ํ•˜๋“œ์›จ์–ด ๊ณ ์žฅRPO์™€ RTO๋ž€?RPO๋Š” ๋ณต๊ตฌ ์‹œ์  ๋ชฉํ‘œ๋กœ ์žฌํ•ด ๋ฐœ์ƒ ์ „ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐฑ์—…๋œ ์‹œ์ ๊ณผ ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ์˜๋ฏธ.RTO๋Š” ๋ณต๊ตฌ ์‹œ๊ฐ„ ๋ชฉํ‘œ๋กœ ์žฌํ•ด ๋ฐœ์ƒ ํ›„ ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณต๊ตฌํ•˜์—ฌ ์ •์ƒ ์šด์˜์„ ์žฌ๊ฐœํ•˜๋Š” ๋ฐ๊นŒ์ง€ ํ—ˆ์šฉ๋˜..
[๋ฐฑ์ค€] 3190. ๋ฑ€/Python - Gold4
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/3190์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 114200 KB, ์‹œ๊ฐ„: 148 ms๋ถ„๋ฅ˜๊ตฌํ˜„, ์ž๋ฃŒ ๊ตฌ์กฐ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๋ฑ, ํ๋ฌธ์ œ ์„ค๋ช…'Dummy' ๋ผ๋Š” ๋„์Šค๊ฒŒ์ž„์ด ์žˆ๋‹ค. ์ด ๊ฒŒ์ž„์—๋Š” ๋ฑ€์ด ๋‚˜์™€์„œ ๊ธฐ์–ด๋‹ค๋‹ˆ๋Š”๋ฐ, ์‚ฌ๊ณผ๋ฅผ ๋จน์œผ๋ฉด ๋ฑ€ ๊ธธ์ด๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค. ๋ฑ€์ด ์ด๋ฆฌ์ €๋ฆฌ ๊ธฐ์–ด๋‹ค๋‹ˆ๋‹ค๊ฐ€ ๋ฒฝ ๋˜๋Š” ์ž๊ธฐ์ž์‹ ์˜ ๋ชธ๊ณผ ๋ถ€๋”ชํžˆ๋ฉด ๊ฒŒ์ž„์ด ๋๋‚œ๋‹ค.๊ฒŒ์ž„์€ NxN ์ •์‚ฌ๊ฐ ๋ณด๋“œ์œ„์—์„œ ์ง„ํ–‰๋˜๊ณ , ๋ช‡๋ช‡ ์นธ์—๋Š” ์‚ฌ๊ณผ๊ฐ€ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋ณด๋“œ์˜ ์ƒํ•˜์ขŒ์šฐ ๋์— ๋ฒฝ์ด ์žˆ๋‹ค. ๊ฒŒ์ž„์ด ์‹œ์ž‘ํ• ๋•Œ ๋ฑ€์€ ๋งจ์œ„ ๋งจ์ขŒ์ธก์— ์œ„์น˜ํ•˜๊ณ  ๋ฑ€์˜ ๊ธธ์ด๋Š” 1 ์ด๋‹ค. ๋ฑ€์€ ์ฒ˜์Œ์— ์˜ค๋ฅธ์ชฝ์„ ํ–ฅํ•œ๋‹ค.๋ฑ€์€ ๋งค ์ดˆ๋งˆ๋‹ค ์ด๋™์„ ํ•˜๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.๋จผ์ € ๋ฑ€์€ ๋ชธ๊ธธ์ด๋ฅผ ๋Š˜๋ ค ๋จธ๋ฆฌ๋ฅผ ๋‹ค์Œ์นธ์— ์œ„์น˜์‹œํ‚จ๋‹ค.๋งŒ์•ฝ ๋ฒฝ์ด๋‚˜ ์ž๊ธฐ์ž์‹ ์˜ ๋ชธ๊ณผ ๋ถ€..
[๋ฐฑ์ค€] 14503. ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ/Python - Gold5
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/14503์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 109544 KB, ์‹œ๊ฐ„: 92 ms ๋ฌธ์ œ ์„ค๋ช…๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ์™€ ๋ฐฉ์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฒญ์†Œํ•˜๋Š” ์˜์—ญ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ๊ฐ€ ์žˆ๋Š” ๋ฐฉ์€ N×MN×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 1×11×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์นธ์€ ๋ฒฝ ๋˜๋Š” ๋นˆ ์นธ์ด๋‹ค. ์ฒญ์†Œ๊ธฐ๋Š” ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์ด ์žˆ์œผ๋ฉฐ, ์ด ๋ฐฉํ–ฅ์€ ๋™, ์„œ, ๋‚จ, ๋ถ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋ฐฉ์˜ ๊ฐ ์นธ์€ ์ขŒํ‘œ (r,c)(r,c)๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ , ๊ฐ€์žฅ ๋ถ์ชฝ ์ค„์˜ ๊ฐ€์žฅ ์„œ์ชฝ ์นธ์˜ ์ขŒํ‘œ๊ฐ€ (0,0)(0,0), ๊ฐ€์žฅ ๋‚จ์ชฝ ์ค„์˜ ๊ฐ€์žฅ ๋™์ชฝ ์นธ์˜ ์ขŒํ‘œ๊ฐ€ (N−1,M−1)(N−1,M−1)์ด๋‹ค. ์ฆ‰, ์ขŒํ‘œ (r,c)(r,c)๋Š” ๋ถ์ชฝ์—์„œ ..
[๋ฐฑ์ค€] 14891. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด/Python - Gold5
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/14891์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 112308 KB, ์‹œ๊ฐ„: 112 ms๋ฌธ์ œ ์„ค๋ช…์ด 8๊ฐœ์˜ ํ†ฑ๋‹ˆ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ†ฑ๋‹ˆ๋ฐ”ํ€ด 4๊ฐœ๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ผ๋ ฌ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋˜, ํ†ฑ๋‹ˆ๋Š” N๊ทน ๋˜๋Š” S๊ทน ์ค‘ ํ•˜๋‚˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์—๋Š” ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š”๋ฐ, ๊ฐ€์žฅ ์™ผ์ชฝ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ 1๋ฒˆ, ๊ทธ ์˜ค๋ฅธ์ชฝ์€ 2๋ฒˆ, ๊ทธ ์˜ค๋ฅธ์ชฝ์€ 3๋ฒˆ, ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋Š” 4๋ฒˆ์ด๋‹ค.์ด๋•Œ, ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ์ด K๋ฒˆ ํšŒ์ „์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์˜ ํšŒ์ „์€ ํ•œ ์นธ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. ํšŒ์ „์€ ์‹œ๊ณ„ ๋ฐฉํ–ฅ๊ณผ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์ด ์žˆ๊ณ , ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํšŒ์ „ํ•œ๋‹ค.ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ํšŒ์ „์‹œํ‚ค๋ ค๋ฉด, ํšŒ์ „์‹œํ‚ฌ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์™€ ํšŒ์ „์‹œํ‚ฌ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ ํšŒ์ „ํ•  ๋•Œ, ์„œ๋กœ ๋งž๋‹ฟ์€ ๊ทน์— ๋”ฐ๋ผ์„œ ์˜†์— ์žˆ๋Š” ํ†ฑ๋‹ˆ๋ฐ”..
[๋ฐฑ์ค€] 14501. ํ‡ด์‚ฌ/Python - Silver3
ยท
Coding Test/Algorithms
โ“๋ฌธ์ œhttps://www.acmicpc.net/problem/14501์„ฑ๋Šฅ ์š”์•ฝ๋ฉ”๋ชจ๋ฆฌ: 32412 KB, ์‹œ๊ฐ„: 36 ms๋ฌธ์ œ ์„ค๋ช…์ƒ๋‹ด์›์œผ๋กœ ์ผํ•˜๊ณ  ์žˆ๋Š” ๋ฐฑ์ค€์ด๋Š” ํ‡ด์‚ฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.์˜ค๋Š˜๋ถ€ํ„ฐ N+1์ผ์งธ ๋˜๋Š” ๋‚  ํ‡ด์‚ฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋‚จ์€ N์ผ ๋™์•ˆ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ƒ๋‹ด์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.๋ฐฑ์ค€์ด๋Š” ๋น„์„œ์—๊ฒŒ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ƒ๋‹ด์„ ์žก์œผ๋ผ๊ณ  ๋ถ€ํƒ์„ ํ–ˆ๊ณ , ๋น„์„œ๋Š” ํ•˜๋ฃจ์— ํ•˜๋‚˜์”ฉ ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ƒ๋‹ด์„ ์žก์•„๋†“์•˜๋‹ค.๊ฐ๊ฐ์˜ ์ƒ๋‹ด์€ ์ƒ๋‹ด์„ ์™„๋ฃŒํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ๊ธฐ๊ฐ„ Ti์™€ ์ƒ๋‹ด์„ ํ–ˆ์„ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก Pi๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.N = 7์ธ ๊ฒฝ์šฐ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒ๋‹ด ์ผ์ •ํ‘œ๋ฅผ ๋ณด์ž. 1์ผ2์ผ3์ผ4์ผ5์ผ6์ผ7์ผ Ti 3511242Pi1020102015402001์ผ์— ์žกํ˜€์žˆ๋Š” ์ƒ๋‹ด์€ ์ด 3์ผ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ์ƒ๋‹ดํ–ˆ์„ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก..
[Infra] ๋ฐฑ์—…(Backup)
ยท
Infra
๐Ÿ“Œ๋ฐฑ์—…์ด๋ž€?๋ฐฑ์—…์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด ๋ณ„๋„ ์œ„์น˜์— ๋ณด๊ด€ํ•จ์œผ๋กœ์จ, ์‹œ์Šคํ…œ ์žฅ์• ๋‚˜ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ •์ƒ ์ƒํƒœ๋กœ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•ด๋‘๋Š” ๊ฒƒ.๐Ÿ“Œ์™œ ๋ฐฑ์—…์ด ํ•„์š”ํ•œ๊ฐ€?์‹ค์ˆ˜๋กœ ์ธํ•œ ์‚ญ์ œ/๋ณ€๊ฒฝ์‹œ์Šคํ…œ ์žฅ์• /ํ•˜๋“œ์›จ์–ด ๊ณ ์žฅ๋žœ์„ฌ์›จ์–ด/๋ณด์•ˆ ์‚ฌ๊ณ ์žฌํ•ด ๋ณต๊ตฌ์„œ๋น„์Šค ๋ฌด์ค‘๋‹จ ์šด์˜ ์ง€์›โžก๏ธ๋ฐฑ์—…์€ ์„œ๋น„์Šค ๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๊ณ , ์‹ค๋ฌด์˜ ๋ฆฌ์Šคํฌ๋ฅผ ์ค„์ด๋Š” ํ•ต์‹ฌ ๋„๊ตฌ.๐Ÿ“Œ๋ฐฑ์—… ๋Œ€์ƒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์„ค์ • ํŒŒ์ผ/etc, /opt, /usr/local ๋“ฑ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•๋œ ์„ค์ •nginx, apache, systemd, ssh, crontab ๋“ฑ ์„ค์ • ํŒŒ์ผDocker Composer ํŒŒ์ผ, Helm Chart ๋“ฑ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์—…๋กœ๋“œ ํŒŒ์ผ, ๋กœ๊ทธ, ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ์ฝ˜ํ…์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์ŠคMySQL, PostgreSQL, MongoDB, Redis ๋“ฑ์ธํ”„๋ผ ์ƒ..