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

๊ฐœ์ธ ๊ณต๋ถ€84

[๊ฐ•์˜ ์ •๋ฆฌ] shell script ์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ Youtube touch ํŒŒ์ผ๋ช… : ๋นˆ ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค cp *.log ๋””๋ ‰ํ† ๋ฆฌ๋ช… : ํ™•์žฅ์ž๊ฐ€ log์ธ ํŒŒ์ผ์„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ copyํ•œ๋‹ค echo $0 : ์–ด๋–ค ์‰˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋ณด์—ฌ์คŒ --> /bin ์— ์œ„์น˜ ์‹ค์Šต - ๋‚˜๋…ธ์—๋””ํ„ฐ๋กœ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑํ•ด๋ณด๊ธฐ ์‰˜์— nano backup ๋ช…๋ น์–ด ์ž…๋ ฅ, ํŽธ์ง‘ํ™”๋ฉด์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด backup์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด์ค€๋‹ค #!/bin/sh # bash์™€ zsh ๋ชจ๋‘ ํ˜ธํ™˜ if ! [ -d bak ]; then # ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— bak๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด mkdir bak # bak๋ฅผ ๋งŒ๋“ ๋‹ค fi # ์กฐ๊ฑด๋ฌธ ์ข…๋ฃŒ cp *.log bak # ํ™•์žฅ์ž๊ฐ€ log์ธ ๋ชจ๋“ ํŒŒ์ผ์„ bak๋กœ copyํ•œ๋‹ค backup์ด์ด ์ƒ์„ฑ๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‹คํ–‰์„.. 2023. 5. 2.
[๊ฐ•์˜ ์ •๋ฆฌ] I/O redirection ์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ Youtube ๋ช…๋ น์–ด > ํŒŒ์ผ๋ช… : ๋ช…๋ น์–ด์˜ ์•„์›ƒํ’‹์„ redirectํ•˜์—ฌ ํŒŒ์ผ์— ์ €์žฅํ•œ๋‹ค. ๋ช…๋ น์–ด 1> ํŒŒ์ผ๋ช… : ์•„์›ƒํ’‹์ด standard output์ž„. 1์€ ์ƒ๋žต๊ฐ€๋Šฅ ๋ช…๋ น์–ด 2> ํŒŒ์ผ๋ช… : ์•„์›ƒํ’‹์ด standard error์ž„ >> : redirectํ•œ ๊ฒฐ๊ณผ๋ฅผ appendํ•œ๋‹ค ๋Š” ์˜๋ฏธ. combined.txt : file1.txt ์™€ file2.txt ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ combined.txt ๋ผ๋Š” ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค head ํŒŒ์ผ๋ช… : ํŒŒ์ผ์˜ ์ฒ˜์Œ 10์ค„๋งŒ ๋ณด์—ฌ์ค€๋‹ค head -n1 ํŒŒ์ผ๋ช… : ํŒŒ์ผ์˜ ์ฒ˜์Œ 1์ค„๋งŒ ๋ณด์—ฌ์ค€๋‹ค. 2023. 4. 24.
[๊ฐ•์˜ ์ •๋ฆฌ] ๋ฆฌ๋ˆ…์Šค ๊ธฐ์ดˆ ์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ Youtube pwd : ํ˜„์žฌ ๋‚ด๊ฐ€ ๋จธ๋ฌผ๊ณ  ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ์ถœ๋ ฅ. ๋‚ด๊ฐ€ ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น์€ ์ด ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€ ํŒŒ์ผ๋“ค ๋Œ€์ƒ์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค mkdir ๋””๋ ‰ํ† ๋ฆฌ๋ช… : make directory. ls : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ, ํŒŒ์ผ๋“ค ์ถœ๋ ฅ -l : ์ž์„ธํžˆ ๋ณด์—ฌ์คŒ -a, --all : .์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ ์ฆ‰, ๊ฐ์ถฐ์ง„ ํŒŒ์ผ๊นŒ์ง€ ๋ณด์—ฌ์คŒ -l, -a ์˜ต์…˜ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ ค๋ฉด -al (-la๋„ ๋˜๋Š”๋ฐ ๊ด€์šฉ์ ์œผ๋กœ -al๋กœ ์“ด๋‹ค) rm ํŒŒ์ผ๋ช… : ํ•ด๋‹น ํŒŒ์ผ์„ ์‚ญ์ œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ -r์„ ๊ฑธ์–ด์ค˜์•ผ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•ด์คŒ r์€ recursive ์˜๋ฏธ. ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด๋ถ€ ๋””๋ ‰ํ† ๋ฆฌ๋“ค๋„ ๋ชจ๋‘ ์žฌ๊ท€์ ์œผ๋กœ ์‚ญ์ œํ•ด์ค€๋‹ค rm -r ๋””๋ ‰ํ† ๋ฆฌ๋ช… : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œ ๋”๋ณด๊ธฐ ์—ฌ๊ธฐ๊นŒ์ง€ ์‹ค์Šต cd ๋””๋ ‰ํ† ๋ฆฌ๋ช… : ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ cd.. 2023. 4. 18.
Bash, CSH, KSH, ZSH Linux / Unix ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” Shell์˜ ์ข…๋ฅ˜์ด๋‹ค. ๐Ÿฅ ์‰˜(Shell)์ด๋ž€? - ์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ์™€ ์ƒํ˜ธ์ž‘์šฉ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค - ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋ฉด, ์šด์˜์ฒด์ œ๊ฐ€ ๊ทธ ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋„๋ก ๋„์™€์ค€๋‹ค. - ์ผ๋ฐ˜์ ์œผ๋กœ ์‰˜์€ ๋ช…๋ น์–ด ํ•ด์„๊ธฐ(interpreter) ์—ญํ• ์„ ํ•œ๋‹ค. โœ… Bash shell (Bourne-Again SHell) - ๋Œ€๋ถ€๋ถ„์˜ Linux ๋ฐฐํฌํŒ, macOS์—์„œ ๊ธฐ๋ณธ ์‰˜๋กœ ์‚ฌ์šฉ๋œ๋‹ค. - ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ๋ณด๊ธ‰์„ ๋ชฉ์ ์œผ๋กœ ์‹œ์ž‘๋œ GNU ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€์ด๋‹ค. - ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•œ ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ๊ณผ ์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ - ํžˆ์Šคํ† ๋ฆฌ ๊ธฐ๋Šฅ, ์ž๋™์™„์„ฑ, ๋ช…๋ น์–ด ์žฌ์‹คํ–‰, ํŒŒ์ดํ”„๋ผ์ธ, ์ œ์–ด๊ตฌ์กฐ, ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ๋“ฑ์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. - ์‚ฌ์šฉ์ž.. 2023. 3. 24.
SOLID, ์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ 5์›์น™ โœ… SOLID? - ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ๋ฐ ๊ฐœ๋ฐœ์—์„œ ์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„๋ฅผ ์œ„ํ•ด ๋”ฐ๋ผ์•ผ ํ•˜๋Š” 5๊ฐ€์ง€ ์›์น™์ด๋‹ค. - ํด๋ฆฐ์ฝ”๋“œ๋กœ ์œ ๋ช…ํ•œ ๋กœ๋ฒ„ํŠธ ๋งˆํ‹ด์ด ์ •๋ฆฌํ•œ ์›์น™์ด๋‹ค. - SRP, OCP, LSP, ISP, DIP์˜ ์•ฝ์ž์ด๋‹ค. โœ… SRP(Single Responsibility Principle, ๋‹จ์ผ ์ฑ…์ž„ ์›์น™) - ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. - ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด, ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์€ ์˜ค์ง ํ•˜๋‚˜์˜ ์•กํ„ฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์ฑ…์ž„์ ธ์•ผ ํ•œ๋‹ค. - ์„œ๋กœ ๋‹ค๋ฅธ ์•กํ„ฐ๊ฐ€ ์˜์กดํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋ถ„๋ฆฌ์‹œ์ผœ์•ผ ํ•œ๋‹ค. - ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ ํŒŒ๊ธ‰ ํšจ๊ณผ๊ฐ€ ์ ์œผ๋ฉด ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ž˜ ๋”ฐ๋ฅธ ๊ฒƒ์ด๋‹ค. - ๋”ฐ๋ผ์„œ ๋‹จ์ผ ๋ชจ๋“ˆ์€ ๋ณ€๊ฒฝ์˜ ์ด์œ ๊ฐ€ ์˜ค์ง ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•œ๋‹ค. - ์ด๊ฒƒ์€ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•˜๊ณ , ์ˆ˜์ •, ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. .. 2023. 3. 24.
2์ง„๋ฒ•, 8์ง„๋ฒ•, 10์ง„๋ฒ•, 16์ง„๋ฒ• n์ง„๋ฒ•? 0~n-1๊นŒ์ง€ ์ด n๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 10์ง„๋ฒ• 0~9๊นŒ์ง€ ์ด 10๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. ์ˆซ์ž๊ฐ€ 9๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜ฌ๋ ค์ค€๋‹ค. 2์ง„๋ฒ• 0~1๊นŒ์ง€ ์ด 2๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. ์ˆซ์ž๊ฐ€ 1๋ณด๋‹ค ์ปค์ง€๋ฉด ์ž๋ฆฟ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. 8์ง„๋ฒ• 0~7๊นŒ์ง€ ์ด 8๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. ์ˆซ์ž๊ฐ€ 7๋ณด๋‹ค ์ปค์ง€๋ฉด ์ž๋ฆฟ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. 16์ง„๋ฒ• 0~9, A~F ์ด 16๊ฐœ์˜ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. A,B,C,D,E,F๋Š” ๊ฐ๊ฐ 10,11,12,13,14,15๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ˆซ์ž๊ฐ€ 15(F)๋ณด๋‹ค ์ปค์ง€๋ฉด ์ž๋ฆฟ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. 2์ง„์ˆ˜, 8์ง„์ˆ˜, 16์ง„์ˆ˜ -> 10์ง„์ˆ˜ ๋ณ€ํ™˜ํ•˜๊ธฐ ๋’ค์—์„œ๋ถ€ํ„ฐ n๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜๊ฐ€ n-1์Šน์ด๋‹ค. ๊ฐ ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•ด์ค€๋‹ค. ์˜ˆ์ œ) 1001.. 2023. 1. 15.
728x90