svn: ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

co svn co ์†Œ์Šค์ฝ”๋“œ ๊ฒฝ๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ์†Œ์Šค๋ฅผ ๋กœ์ปฌ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. up # ์ „์ฒด ์†Œ์Šค์ฝ”๋“œ $ svn up # ํŠน์ • ํŒŒ์ผ, ํด๋” $ svn up ํŒŒ์ผ๋ช… ๋˜๋Š” ํด๋”๋ช… ์ €์žฅ์†Œ์— ๋ฐ˜์˜๋œ ์ตœ์‹  ๋ฆฌ๋น„์ „์„ ๋กœ์ปฌ์— ๋ฐ˜์˜ํ•œ๋‹ค. ๋‚˜์˜ commit์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์ „์—, ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€ `up`์„ ํ†ตํ•ด ๋ฐ˜์˜ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ci $ svn ci # ๋ฐ”๋กœ commit message ์ž…๋ ฅ ๊ฐ€๋Šฅ $ svn ci -m "message" # commit message๊ฐ€ ์ž…๋ ฅ๋œ ํŒŒ์ผ์„ ์ด์šฉ $ svn ci -F FILE_NAME log # ์ƒ์œ„๋ถ€ํ„ฐ N๊ฐœ ๊นŒ์ง€ ๋กœ๊ทธ ์ถœ๋ ฅ $ svn log -l 5 ๋ฌด์ž‘์ • `svn log`๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ํ˜„์žฌ๊นŒ์ง€์˜ ๋กœ๊ทธ๋“ค์ด ๋ชจ๋‘ ์ถœ๋ ฅ๋œ๋‹ค. diff # ๋กœ์ปฌ๊ณผ ์ €์žฅ์†Œ์˜ ๋ฆฌ๋น„์ „๊ณผ ๋น„๊ต svn diff # ๋กœ..

Selenium: Python์œผ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

์…€๋ ˆ๋‹ˆ์›€์€ ์›น ํฌ๋กค๋ง์„ ํ•˜๊ฑฐ๋‚˜, ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์“ฐ์ด๊ณค ํ•œ๋‹ค. ๋˜ํ•œ, ์ด ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ์›น์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํŒŒ์ด์ฌ์œผ๋กœ ์…€๋ ˆ๋‹ˆ์›€์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. ์„ค์น˜ 1. selenium ํŒŒ์ด์ฌ์˜ ๊ฒฝ์šฐ `pip`๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ค์น˜ ํ™˜๊ฒฝ์€ Pycharm์„ ์‚ฌ์šฉํ•˜๊ณ  `venv`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค. Pycharm ํ•˜๋‹จ์— `Terminal`์„ ํด๋ฆญ ํ•œ ํ›„์—, `pip install selenium`์„ ์ž…๋ ฅํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 2. web-driver ๊ฐ์ž ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์›น์— ๋”ฐ๋ผ, ์›น ๋“œ๋ผ์ด๋ฒ„ ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ ํด๋” ๋‚ด์— ์œ„์น˜์‹œ์ผœ์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ์›น ๋“œ๋ผ์ด๋ฒ„์™€ ํ˜„์žฌ..

์šฐ๋ถ„ํˆฌ: vim ์ž˜ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋งˆ์ฃผํ•˜๊ฒŒ ๋  ์ผ์€ ์ž˜ ์—†์ง€๋งŒ, ๋‚˜์˜ ์ž…๋ง›์— ๋”ฐ๋ผ ํ™˜๊ฒฝ์„ ๋‹ค์‹œ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์žฌ๋ฐŒ๋Š” ์ผ์ด๋ฉด์„œ๋„ ๊ท€์ฐฎ์€ ์ผ์ด๋‹ค. vim์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ์˜ต์…˜๋“ค๊ณผ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ํ•œ ๋ฒˆ์— ๋ชจ์•„ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ •์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜์‹œํ‚ค๋ฉด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์•„๋ž˜์˜ ์„ค๋ช…๋“ค์€ ์šฐ๋ถ„ํˆฌ ํ™˜๊ฒฝ์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•œ ๊ฒƒ์ด๋‹ค. ์„ค์ •ํ•˜๊ธฐ $ git clone https://github.com/dirmathfl/vim-settings.git $ cd vim-settings $ tar xvf vim-settings.tar.gz $ cd vim-settings && cp -r . ~/. vim ์‹คํ–‰ ํ›„ `:PluginInstall`์„ ์ž…๋ ฅํ•˜๋ฉด, ํฌํ•จ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์ด ์ž๋™์œผ๋กœ ์„ค์น˜๋œ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ Vundl..

k8s: ReplicaSets

ํ•˜๋‚˜์˜ Pod๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ์„œ๋น„์Šค๋ฅผ ํ•  ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Pod์˜ ์˜ค๋ฅ˜๋‚˜, Pod ๋‚ด๋ถ€์˜ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์„œ๋น„์Šค๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ์ด๋‹ค. ์ด์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ํ•ด๋‹น Pod๊ฐ€ ๋ณต๊ตฌ ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ด๋ฅผ ๋ง‰๊ณ ์ž, replicaset์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ญ์ƒ ์„œ๋น„์Šค ๋˜๋Š” ๊ฒƒ์„ ์œ ์ง€ํ•  ๋ฟ ์•„๋‹ˆ๋ผ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ํ™•์žฅ์„ฑ์— ๋Œ€ํ•œ ๋ถ€๋ถ„๋„ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์— ํ•„์š”ํ• ๊นŒ? ์‹ค์ œ ์„œ๋น„์Šค ๋˜๋Š” ํ™˜๊ฒฝ์—์„œ ํ•˜๋‚˜์˜ Pod๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ์œ„ํ—˜ํ•œ ์ผ์ด๋‹ค. ์–ด๋–ค ์ƒํ™ฉ์—์„œ ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์ด ๋ฐœ์ƒํ• ์ง€ ๋ชจ๋ฅธ๋‹ค. ๋˜ํ•œ Pod์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ์ƒ์„ฑ - ์‚ญ์ œ๋ฅผ ๋ฐ˜๋ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•˜๋‚˜์˜ Pod๊ฐ€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๊ฐœ์˜ Pod๋ฅผ ์‚ฌ์ „์— ๋ฐฐ์น˜ํ•˜์—ฌ ์ด๋ฅผ ..

k8s: Pod

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์˜ค๋ธŒ์ ํŠธ ์ค‘, Pod์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. Pod๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ Pod ์—†์ด ์ปจํ…Œ์ด๋„ˆ๋งŒ ํ™œ์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋˜๋Š”์ง€ ์•ˆ๋‹ค๋ฉด, Pod์˜ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์— ํ•„์š” ํ• ๊นŒ? ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์—†์ด, ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜์—ฌ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์—๋Š” ์›น๊ณผ ๊ด€๋ จ๋œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์—๋Š” ํ•ด๋‹น ์›น ์–ดํ”Œ๋ ˆ์ผ€์ด์…˜ ๋™์ž‘์— ๋„์›€์„ ์ฃผ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ, ๋ณผ๋ฅจ, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์„ ์ปจํ…Œ์ด๋„ˆ ๋ณ„๋กœ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์„ค์ •์ด ๋๋‚œ๋‹ค๊ณ  ํ•ด๋„ ํ™•์žฅ์„ฑ์„ ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์ƒˆ๋กœ์šด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ง€๊ธˆ์€ ..

k8s: ๊ตฌ์กฐ ๋ฐ ๊ตฌ์„ฑ ์š”์†Œ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์„ค์น˜ ํ•  ๋•Œ kubelet, kubeadam kubectl๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ์„ค์น˜ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด๊ฒŒ ๋œ๋‹ค๋ฉด, ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์•„ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. ๊ตฌ์กฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ•˜๋‚˜์˜ Master์™€ ๋‹ค์ˆ˜์˜ Worker ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ๋Š” local ํ™˜๊ฒฝ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ตฌ์ถ•ํ•œ ๊ฒฝ์šฐ์ด๋‹ค. ๋ณธ ๊ธ€์—์„œ๋Š” ๋กœ์ปฌ ํ™˜๊ฒฝ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ตฌ์„ฑํ•  ๊ฒฝ์šฐ๋ฅผ ์ค‘์ ์œผ๋กœ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ๋“ค์„ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค. Master Node ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ ์›Œ์ปค ๋…ธ๋“œ๋ฅผ ๊ด€๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋ฉฐ Pod๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ ์ ˆํ•œ Worker Node๋ฅผ ์Šค์ผ€์ค„๋งํ•˜๋Š” ์—ญํ•  ๋“ฑ๊ณผ ๊ฐ™์ด ์ „๋ฐ˜์ ์œผ๋กœ ๋…ธ๋“œ์™€ Pod๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. (Pod : ..

๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€