CKA ์‹œํ—˜ ํ›„๊ธฐ

CKA (Certified K8s Administrator) ๋ฅผ 2021๋…„ 12์›” ๋ง์— ํ•ฉ๊ฒฉ ํ†ต์ง€๋ฅผ ๋ฐ›์•˜๋‹ค. ํ•ฉ๊ฒฉ์„ ๋ฐ›๊ณ  ๋‚˜์„œ ์ •๋ฆฌํ•œ ํŒ์„ ๊ณต์œ ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๊ฐ•์˜ ๋งค์šฐ ์œ ๋ช…ํ•œ Udemy ์˜ Mumshard ๊ฐ•์˜๋ฅผ ์™„๊ฐ•ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ๋„ˆ๋ฌด ์ดˆ๋ณด์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€๋Š” ๋ชฐ๋ผ๋„, ๊ธฐ์ดˆ ๊ฐ•์˜๋„ ๊ธฐ๋ณธ์„ ๋‹ค์ง€๊ณ  ํ•œ๋ฒˆ ๋” ๋ฆฌ๋งˆ์ธ๋“œ ํ•˜์ž๋Š” ์ฐจ์›์—์„œ ์™„๊ฐ•์„ ํ–ˆ๊ณ , ๊ฒฐ๋ก ์ ์œผ๋กœ๋Š” ์‹œํ—˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์—…๋ฌด์—๋„ ํฐ ๋„์›€์ด ๋˜๊ณ  ์žˆ๋‹ค. ์ดํ•ด๊ฐ€ ์™์™ ๋˜๋Š” ๊ฐ•์˜ ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ KodeCloud ๋ฅผ ํ†ตํ•œ ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒ ์—ฐ์Šต ๋ฌธ์ œ (์—„์ฒญ ๋งŽ๋‹ค!) 3๊ฐœ์˜ ๋ชจ์˜๊ณ ์‚ฌ (์š”์ ์€ ๋‹ค ๋‚˜์˜จ๋‹ค) ์œ ๋ฃŒ (์ด๊ธด ํ•œ๋ฐ ์ƒ์‹œ ํ• ์ธ์ด๋ผ ํฐ ๋ถ€๋‹ด์€ ์—†๋‹ค....

January 18, 2022 ยท 4 min ยท InterP

Hugo SCSS Rebuild

Hugo ์— ํฌํ•จ๋œ Theme ์—๋Š” ๋Œ€๋ถ€๋ถ„ SASS/SCSS ํŒŒ์ผ๋กœ ์Šคํƒ€์ผ๋ง์„ ํ–ˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ SCSS ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•ด๋„ ์‚ฌ์ดํŠธ ๋นŒ๋“œํ•  ๋•Œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์ด ์ ์šฉ์ด ๋˜์ง€ ์•Š์•˜๋‹ค. ์›์น™์ ์œผ๋ก  ๋˜์–ด์•ผ ํ•œ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ๊ฐ„๋‹จํžˆ ์ ์–ด๋ณธ๋‹ค.

January 31, 2020 ยท 1 min ยท InterP

Visual Studio Code Remote Deployment

Vim ๊ณผ SSH ์— ์ฐŒ๋“ค์–ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ Visual Studio Code ์˜ ๋ฒ ํƒ€ ๊ธฐ๋Šฅ์ธ Remote Deployment ๋ฅผ ์—ฐ๊ฒฐํ•ด ๋ณด๊ณ  ๋‚˜์„œ, ํ•™์ƒ ๋•Œ ์“ฐ๋˜ IDE ๋กœ ๋Œ์•„๊ฐ„ ๊ฒƒ ๊ฐ™์•„ ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค. ์–ธ์ œ๊นŒ์ง€๊ณ  ๊ตฌ์‹ ๋„๊ตฌ๋ฅผ ์“ฐ๋ฉฐ ๋ถ€์‹ฌ์„ ๋ถ€๋ฆด ์ˆ˜๋งŒ์€ ์—†๋‹ค. ์„ค์น˜ ๊ณผ์ •์ด ์กฐ๊ธˆ ํ—˜๋‚œํ–ˆ์ง€๋งŒ, ๊ฐ„๋‹จํžˆ ์š”์•ฝํ•ด์„œ ์จ๋ณธ๋‹ค. ํด๋ผ์ด์–ธํŠธ OS ๋Š” ์œˆ๋„์šฐ 10 (๋นŒ๋“œ 1809), ์„œ๋ฒ„ OS ๋Š” Cent OS 7 ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ (์œˆ๋„์šฐ) ์ค€๋น„ ์ฒ˜์Œ์— ์ค€๋น„ํ•  ๋•Œ๋Š” Visual Studio Code Insider ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋ผ๊ณ  ๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด์ œ๋Š” ๊ผญ ๊ทธ๋Ÿด ํ•„์š” ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค....

June 26, 2019 ยท 3 min ยท interp

๊ณต์ธก๋„์™€ ๋ฌด๋ฆฌ์ˆ˜

โ€˜์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฐ์ฑ…โ€™ ์ฑ… ์š”์•ฝ์ด๋‹ค. ๊นŒ๋จน์ง€ ์•Š์œผ๋ ค๊ณ  ์ •๋ฆฌํ•œ๋‹ค. ์ตœ๋Œ€๊ณต์ธก๋„๋Š” ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ฐ™์€ ๊ฐœ๋…์ด๋‹ค. ์„ ๋ถ„ A์™€ B๊ฐ€ ํŠน์ •ํ•œ ๊ธธ์ด๋กœ ์ธก์ •์ด ๊ฐ€๋Šฅํ•  ๋•Œ, ์ด ๊ธธ์ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ธธ์ด๋ฅผ ์ตœ๋Œ€๊ณต์ธก๋„๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๊ฐ’์„ ๊ตฌํ•˜๋Š” ์ฝ”๋”ฉ ์—ญ์‹œ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ณ„์‚ฐ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค. ์—ฌ๊ธฐ์„œ ๊ณต์ธก๋„ ๊ฐ’์ด ๋˜๋Š” ์„ ๋ถ„ ๊ธธ์ด๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ 19์„ธ๊ธฐ ์กฐ์ง€ ํฌ๋ฆฌ์Šคํ„ธ์ด ์ฆ๋ช…ํ•œ ๊ฒƒ์€, ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€๊ณผ ๋Œ€๊ฐ์„ ์˜ ๋ณ€์„ ๋™์‹œ์— ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์„ ๋ถ„์€ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์™œ์ผ๊นŒ? ๊ท€๋ฅ˜๋ฒ•์„ ํ†ตํ•ด, ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€๊ณผ ๋Œ€๊ฐ์„ ์˜ ๋ณ€์„ ๋™์‹œ์— ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์„ ๋ถ„์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋œ๋‹จ๋‹ค....

April 27, 2019 ยท 1 min ยท interp

Windows SSH RSA Key ๋ฌธ์ œ ํ•ด๊ฒฐ

Windows Server 2016์—์„œ OpenSSH ๋ฅผ ์„ค์น˜ํ•˜๊ณ , cmd ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด RSA ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๊ณ  Public Key ๋ฅผ SSH Server ์— ์œ„์น˜ํ•œ authorized_keys ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด? ์˜ค์ž‰? ๋‚ด ํŒŒ์ผ์ด ๋งž๋Š”๋ฐ ์ด๊ฒŒ ๋ญ˜๊นŒ. Private Key ํŒŒ์ผ์— ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ์„ ํ•˜๊ณ  ๋ดค๋”๋‹ˆ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ๊ธฐ ๊ถŒํ•œ์œผ๋กœ ๊ฑธ๋ ค ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๊ฑด ์•„๋‹ˆ๋‹คโ€ฆ ๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋ฅผ ์ „๋ถ€ ์ง€์šฐ๊ณ  ํ˜„์žฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ชจ๋“  ๊ถŒํ•œ์„ ์ค€ ๋‹ค์Œ์—, ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ ๊ถŒํ•œ ๋ณ€๊ฒฝ์„ ํ•ด ์ค€๋‹ค. โ€˜ํŽธ์ง‘โ€™ ์— ๊ฐ€์„œ ๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋ฅผ ์ง€์šฐ๋ ค๊ณ  ํ•˜๋ฉด, ์ƒ์†์œผ๋กœ ์ธํ•ด ์ง€์šธ ์ˆ˜ ์—†๋‹ค๋Š” ๊ดด์ƒํ•œ ์—๋Ÿฌ๊ฐ€ ๋œฐ ๊ฒƒ์ด๋‹ค....

March 18, 2019 ยท 1 min ยท interp

Gitlab merge request ์˜ต์…˜ ๊ธฐ๋ณธ์œผ๋กœ ๋‘๊ธฐ

Gitlab Community ์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ, ์ด๋ ‡๊ฒŒ ์ˆ˜๋™์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐ„๋‹จํžˆ ๋‚จ๊ธด๋‹ค. Gitlab ์— ์žˆ๋Š” merge request ์— ๋ณด๋ฉด ๋‹ค์Œ ์˜ต์…˜์ด ์žˆ๋Š”๋ฐ, ์ „๋ถ€ ์ฒดํฌ๊ฐ€ ํ•ด์ œ๋˜์–ด ์žˆ๋‹ค. Merge Request ์— ์„ฑ๊ณตํ•œ Source Branch ๋ฅผ ์‚ญ์ œ Merge Request ํ•  ๋•Œ Commit ์„ ํ•˜๋‚˜๋กœ ๋ญ‰์ณ์„œ Merge (=Squash Merge) ์ด ์ฒดํฌ๋ฐ•์Šค๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ผ์ผํ•ด ํ•ด ์ค˜์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋–ค ๊ฐœ๋ฐœ์ž๋Š” ์ฒดํฌํ•˜๋Š” ๊ฒƒ์„ ๊นŒ๋จน์—ˆ๋‹ค๊ฐ€ master branch ์˜ commit tree ๋ฅผ ์—‰๋ง์œผ๋กœ ๋งŒ๋“ค๊ธฐ๋„ ํ•œ๋‹ค....

November 13, 2018 ยท 1 min ยท interp

Atomic Operation ์œผ๋กœ ํ•˜๋Š” ๋™์‹œ์„ฑ ์ œ์–ด

Test-And-Set (TAS) TAS ๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. testAndSet ์ด๋ผ๋Š” function ์„ ๊ฐ€์ง€๊ณ  ์•„๋ž˜์˜ do...while ๋ฌธ์„ ์“ฐ๋ ˆ๋“œ A, B ์—์„œ ๋™์‹œ์— ํ˜ธ์ถœํ•œ๋‹ค๊ณ  ํ•ด ๋ณด์ž. ์ด ๋•Œ lock ์€ ๊ฐ™์€ ๋ณ€์ˆ˜์ด๋‹ค. ์šฐ์„  TestAndSet() ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์„ ํ•œ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ โ€˜์ง€๊ธˆ ๊ฐ’์ด ๋ฌด์—‡์ธ์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ๊ฐ’์„ ๋ฐ”๊พผ๋‹คโ€™ ๋Š” ๊ฒƒ์ด๋‹ค. lock์˜ ํ˜„์žฌ ๊ฐ’์„ ์ €์žฅํ•ด ๋‘”๋‹ค. lock์˜ ๊ฐ’์„ true ๋กœ ์„ค์ •ํ•œ๋‹ค. ์ €์žฅํ•œ lock ์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ทธ๋Ÿผ ์ด๊ฑธ๋กœ ์–ด๋–ป๊ฒŒ ์•„๋ž˜ block ์˜ critical section ์— ๋Œ€ํ•œ ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?...

April 24, 2018 ยท 3 min ยท interp

Timsort

ํ•™๋ถ€์—์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด, ๊ฐ€์žฅ ๋น ๋ฅธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ญ๋ƒ๋Š” ์งˆ๋ฌธ์— ์‰ฝ๊ฒŒ Quicksort ๋ผ๊ณ  ๋‹ตํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์‹ค์ œ๋กœ ํ˜„์—…์—์„œ๋„ ์ ์šฉํ•˜๊ธฐ ๊ฐ€์žฅ ํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์ด ์ฐจ์šฉ๋˜๋Š” ํŽธ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ์€ํƒ„์€ ์„ธ์ƒ์— ์กด์žฌํ•˜์ง€ ์•Š๋“ฏ, Quicksort ์—ญ์‹œ ํŠน์ • ์ผ€์ด์Šค์—์„œ๋Š” ์„ฑ๋Šฅ์ด ๋‚ฎ๊ฒŒ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๋” ์‹ฌ๊ฐํ•œ(?) ๊ฒƒ์€, ์ด ํŠน์ • ์ผ€์ด์Šค๊ฐ€ ํ˜„์‹ค์—์„œ๋Š” ๊ฝค๋‚˜ ์ž์ฃผ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ ์ผ€์ด์Šค๋ž€ ๋ฐ”๋กœ โ€˜๊ฑฐ์˜ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐโ€™ ์ด๋‹ค. ๊ฑฐ์˜ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋ผ๋ฉด pivoting โ€“ partitioning ์„ ๋ฐ˜๋ณตํ•  ํ•„์š”๋„ ์—†์ด Bubble Sort ๋‚˜, ์‹ฌ์ง€์–ด๋Š” Insertion Sort ๋ฅผ ํ•ด๋„ ๋œ๋‹ค....

April 23, 2018 ยท 4 min ยท interp

Powerpoint ์—์„œ ๋ฐฉํ–ฅํ‚ค ์ด๋™์ด ๋„ˆ๋ฌด ๋Š๋ฆด ๋•Œ

๋ฐฉํ–ฅํ‚ค ์ด๋™์ด ๋„ˆ๋ฌด ๋Š๋ฆฌ๋‹ค๊ธฐ ๋ณด๋‹ค๋Š”, ๋ฐฉํ–ฅํ‚ค ํ•œ ๋ฒˆ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๊ฐœ์ฒด๊ฐ€ 1ํ”ฝ์…€์”ฉ ์ด๋™ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋‹ต๋‹ตํ•œ ์ƒํ™ฉ์ผ ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ณด๊ธฐ ํƒญ์œผ๋กœ ํ‘œ์‹œ ํ•ญ๋ชฉ์—์„œ โ€˜ํ™•์žฅ ์•„์ด์ฝ˜โ€™์ด ์•„์ฃผ ์ž‘๊ฒŒ ๋ณด์ธ๋‹ค. โ€˜๋ˆˆ๊ธˆ ๋ฐ ์•ˆ๋‚ด์„ โ€™ ์ด๋ž€ ์ œ๋ชฉ์˜ ์ฐฝ์ด ๋œจ๋ฉฐ, ์—ฌ๊ธฐ์„œ โ€˜๊ฐœ์ฒด๋ฅผ ๋ˆˆ๊ธˆ์— ๋งž์ถฐ ์ด๋™โ€™ ์„ ํด๋ฆญํ•œ๋‹ค. ๋์ด๋‹ค. ์ฐธ๊ณ ๋กœ ๊ฐœ์ฒด ์ด๋™ ๊ฐ„๊ฒฉ์„ ์ œ์–ดํ•˜๋ ค๋ฉด (3) ๋ฒˆ์—์„œ ๋ˆˆ๊ธˆ ๊ฐ„๊ฒฉ์„ ์กฐ์ •ํ•˜๋ฉด ๋œ๋‹ค!

February 12, 2018 ยท 1 min ยท interp

gdb commands ์ด์šฉํ•˜๊ธฐ

gdb/ddd ์—์„œ commands ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„ํŽธํ•˜๊ฒŒ breakpoint ์˜ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ๋‹ค์–‘ํ•˜๊ฒŒ ์‘์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒ ์ง€๋งŒ, ๋งค๋‰ด์–ผ์—์„œ ์ œ์‹œํ•œ ์ผ€์ด์Šค๊ฐ€ ๊ต‰์žฅํžˆ ํŽธํ•ด์„œ ๋”ฐ๋กœ ์ •๋ฆฌํ•œ๋‹ค. ์ฐธ๊ณ  : ๋งค๋‰ด์–ผ Breakpoint ์ƒํ™ฉ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ ์ฝ”๋“œ์—์„œ if ๋ฌธ์— breakpoint ๋ฅผ ๊ฑธ๊ณ , ํ• ๋‹น๋ฐ›์€ ์‹œ์ž‘ ์ฃผ์†Œ์™€ ๊ทธ ํฌ๊ธฐ๋ฅผ ๋ณด๊ณ ์ž ํ•œ๋‹ค. ํ•œ๋‘๋ฒˆ ๋ฐœ์ƒํ•˜๋Š” ๊ฑฐ๋ผ๋ฉด breakpoint ๋ฅผ ๊ฑธ์–ด ๋‘” ๋‹ค์Œ print ๋‚˜ graph display (ddd ์ „์šฉ) ์œผ๋กœ ๋„์›Œ์„œ ๊ด€์ฐฐํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๊ฒŒ 100๋ฒˆ 200๋ฒˆ์ด๋ฉด ํ•˜์—ผ์—†์ด ์—”ํ„ฐ๋ฅผ ์น˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿด ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค....

February 6, 2018 ยท 1 min ยท interp