Command 8

[pattern] Command pattern

๋””์ž์ธํŒจํ„ด ์Šคํ„ฐ๋””์˜ ๋งˆ์ง€๋ง‰์ธ Command pattern ์ž…๋‹ˆ๋‹ค. ์ด 5๋ถ„ ์ค‘ ๋ฌด๋ ค 3๋ถ„์ด (์ € ํฌํ•จใ…Žใ…Ž) ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ–ˆ๋‹ค๋Š”(์—ˆ๋‹ค)๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ตฌ๋…ํ•˜๊ณ  gitHub๋„ follow๋ฅผ ํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์Šคํ„ฐ๋””๋กœ ๋””์ž์ธํŒจํ„ด์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด ์•„์ฃผ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ Factory pattern์„ ๋ณด๋Š”๋ฐ ์ •๋ง ํ•˜๋‚˜๋„ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜์—ˆ๊ฑฐ๋“ ์š”. ์ง€๊ธˆ์€ ๊ทธ๋ž˜๋„ ์–ด๋Š์ •๋„ pattern์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋ฐ›์•„ ๋“ค์ผ ์ค€๋น„ ์ •๋„๋Š” ๋œ ๋“ฏ ํ•ด์„œ ๋งŽ์ด ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ๊ณ„์†ํ•ด์„œ ๋‹ค์–‘ํ•œ ์Šคํ„ฐ๋””๋ฅผ ํ†ตํ•ด ์ข€ ๋” ๋ฐœ์ „ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ถ„๋“ค์„ ๋งŒ๋‚˜ ๊ฒฝํ—˜๋“ค์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค Command ํŒจํ„ด ์ปค๋งจ๋“œ ํŒจํ„ด์€ ํŠน์ • ๊ธฐ๋Šฅ๋“ค์„ ์บก์Šํ™” ์‹œํ‚ค๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ..

CS 2022.06.25

[C] Terminal(mac)์—์„œ ๊ฐ„๋‹จํ•œ C์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๊ธฐ

gcc ์„ค์น˜ test.c ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰ vi editor๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ test.c ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. vi ๋ชจ๋“œ์— ์ง„์ž…ํ•œ ํ›„ ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  :wq๋ฅผ ์ž…๋ ฅํ•˜์—ฌ test.cํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. #include int main(void) { printf("Hello, world!\n"); return 0; } ll ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•˜์—ฌ test.c ํŒŒ์ผ์ด ์ž˜ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ด…๋‹ˆ๋‹ค. cc command๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ C ์–ธ์–ด๋กœ ๋˜์–ด์žˆ๋Š” ํŒŒ์ผ์„ compile ํ•ด ์ค๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅด ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด a.out ์ด๋ผ๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ์ด ์ƒˆ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. vi a.out๋ช…๋ น์–ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•ด๋‹น ํŒŒ์ผ์„ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด ์ธ๊ฐ„์ด ์•Œ์•„๋ณด๊ธฐ ํž˜๋“  ์–ธ์–ด๋กœ ๋ฐ”๋€Œ์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ..

Languages 2022.03.07

[Linux]Diff ๋ช…๋ น์œผ๋กœ ํŒŒ์ผ ๋น„๊ตํ•˜๊ธฐ

์ €๋Š” ์–ด๋ฆด ์  ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ”ํŠธ๋ฆญ์Šค์˜ ํ™”๋ฉด์ด ์ƒ๊ฐ๋‚ฉ๋‹ˆ๋‹คใ…Žใ…Ž ๊ฒ€์ • ํ™”๋ฉด์— ์•Œ์ˆ˜์—†๋Š” ๊ฒ€์ •์ƒ‰ ์ˆซ์ž๋“ค์ด ์ฃผ๋ฅด๋ฅต ์จ์ ธ์žˆ์—ˆ์ฃ . ๊ทธ ์ดํ›„ ํ”„๋กœ๊ทธ๋žจ์— ์กฐ๊ธˆ ์•Œ๊ฒŒ ๋˜์—ˆ์„ ๋• ๊ฒ€์ • ํ™”๋ฉด์— ์•Œ์ˆ˜์—†๋Š” ๊ธ€์ž๋“ค์ด ์ดˆ๋ก๋นจ๊ฐ•ํฐ์ƒ‰์œผ๋กœ ๋„๋ฐฐ๋˜์–ด ์žˆ๋Š” ํ™”๋ฉด์ด ๋– ์˜ค๋ฅด๋”๊ตฐ์š”. ์ด๋ฒˆ์— ํšŒ์‚ฌ์—์„œ ์‹œ๋‹ˆ์–ด๊ธ‰ ํ”„๋ฆฌ ํ•œ๋ถ„์ด ์ €์™€ ๊ฐ™์€ ํŒ€์œผ๋กœ ๋ฐฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ดํด๋ฆฝ์Šค์˜ git synchronize์˜ gui ํ™”๋ฉด์—์„œ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋ถ„์€ ๊นƒ์„ ์˜ค๋ž˜ ์‚ฌ์šฉํ•˜์…จ๋Š”์ง€ gitbash์—์„œ ๋ชจ๋“  ์ž‘์—…์„ ํ•˜๋”๊ตฐ์š”. ์•„... ๊ทธ ์–ด์ฐŒ๋‚˜ ๋ฉ‹์ ธ ๋ณด์ด๋˜์ง€ ๊ณ„์†ํ•ด์„œ ๊ทธ ์žฅ๋ฉด์ด ์ œ ๋จธ๋ฆฌ์†์„ ๋– ๋‚˜์ง€ ์•Š๋”๋ผ๊ตฌ์š”... ๊ทธ๋ž˜์„œ ์ € ์—ญ์‹œ mac์—์„œ๋Š” terminal์˜ command๋ฅผ, window์—์„œ๋Š” gitbash๋ฅผ ํ™œ์šฉํ•œ ๋ช…๋ น์œผ๋กœ ์ž‘์—…๋“ค์„ ์ง„ํ–‰ํ•ด ๋ณด๊ณ  ์‹ถ๋”๊ตฐ์š”. ๊ทธ ์ฒซ ..

OS/Linux 2022.02.19

[Mac] Homebrew ์„ค์น˜ํ•˜๊ธฐ

Before we go further MacBook m1์„ ์–ผ๋งˆ ์ „์— ๊ตฌ์ž…ํ•˜์—ฌ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ MacBook๊ณผ ์—ฐ๋™์‹œํ‚ค์ง€ ๋ง๊ณ  ์™„์ „ ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค์ •์„ ํ•ด๋ณด์ž๋Š” ์ƒ๊ฐ์— ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค์ •์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ • ๋„์ค‘์— m1์ด๊ธฐ์— ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๊ฒƒ๋“ค๊ณผ๋Š” ์กฐ๊ธˆ ๋‹ค๋ฅธ ์„ค์ •๋“ค์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. Homebrew์—์„œ ๋ฐ›์€ ํŒŒ์ผ๋“ค์˜ ๊ฒฝ๋กœ๊ฐ€ ๊ธฐ์กด intel๊ณผ m1์ด ์ฐจ์ด๊ฐ€ ์žˆ๋”๊ตฐ์š”. ์ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ œ์ผ MacBook์„ ์ฒ˜์Œ ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋ฌด์—‡๋ถ€ํ„ฐ ์„ค์ •ํ•ด์•ผํ•  ์ง€ ๋ชฐ๋ผ MacBook์˜ ํŽธํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋ชจ๋ฅด๊ณ  ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ์„ค์ •์„ ์œ„ํ•œ ๊ธ€๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ž‘์„ฑํ•ด ๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”ํ›„์—๋Š” Mac ๊ด€๋ จ ๊ธ€๋“ค์„ ๋ชจ์•„ MacBook์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์„ ์œ„ํ•œ ์ดˆ๊ธฐ ์„ธํŒ…๊ธ€์„ ์ž‘์„ฑํ•  ์˜ˆ์ •์ž…๋‹ˆ..

OS/MacOS 2022.01.23

[Git] git command ์ •๋ฆฌ.

List git diff git log etc Notice [something]์˜ [ ] ํ‘œ์‹œ๋Š” ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์˜ ํ‘œ์‹œ๋Š” ์ƒ๋žตํ•˜๋ฉด ์•ˆ๋˜๊ณ  something์ž๋ฆฌ์— ์ง€์นญํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์œผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. git diff git pull ํ•˜๊ธฐ ์ „์— ๋ฆฌ๋ชจํŠธ์™€์˜ ๋ณ€๊ฒฝ์  ํ™•์ธํ•˜๊ธฐ git diff HEAD /local์˜ ์ตœ์‹  commit๊ณผ remote repo์™€์˜ ๋ณ€๊ฒฝ์ ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. e.g) git diff HEAD origin/master git fetch ์ดํ›„ ์‚ฌ์šฉ git push ํ•˜๊ธฐ ์ „์— ๋ฆฌ๋ชจํŠธ์™€์˜ ๋ณ€๊ฒฝ์  ํ™•์ธํ•˜๊ธฐ git diff / HEADlocal์˜ ์ตœ์‹  commit๊ณผ remote repo์™€์˜ ๋ณ€๊ฒฝ์ ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ์œ„์™€ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.) git add ์ „์— ๋ณ€๊ฒฝ์ ..

Tools 2021.09.29

[Linux]System Monitoring์„ ์œ„ํ•œ Linux ๋ช…๋ น์–ด

System Monitoring์„ ์œ„ํ•œ Linux ๋ช…๋ น์–ด ๊ด€์ฐฐ๋Œ€์ƒ ํŒŒ์•… ๋ฌผ๋ฆฌ์ ์†Œ์Šค(ํ•˜๋“œ์›จ์–ด) CPU(Central Process Unit) ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ Core(๋“€์–ผ, ์ฟผ๋“œ ๋“ฑ) CPU ์ž์ฒด๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๋„ ๊ฐ€๋Šฅ. MEMORY RAM( Random Access Memory ) DRAM (SRAM) ROM( ReadOnlyMemory ) IO( Disk, Network ) Disk HDD (์ž๊ธฐ์žฅ) SDD (๋ฐ˜๋„์ฒด) Network CPU lscpu [jmocha@jmail.kaoni.com eisen]$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-..

OS/Linux 2021.09.17

Home Directory(~) ๋ž€?

Home Directory(~) ? Home Directory๋ž€? ๋ฉ€ํ‹ฐ ์œ ์ € ์‹œ์Šคํ…œ์—์„  ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋Œ๊น์ ์ธ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•ด์ค˜์„œ ๋…๋ฆฝ ๊ณต๊ฐ„์— ํŒŒ์ผ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„  ์ด๋Ÿฐ ๋…๋ฆฝ ๊ณต๊ฐ„์„ 'home directory'๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. chmod๋กœ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜์—ฌ ํƒ€์ธ์ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ˆ˜์ •, ์‚ญ์ œ, ์ฝ๊ธฐ ๋“ฑ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Home Directory ๊ฒฝ๋กœ ๋ณดํ†ต์€ /home/User์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ œ User ์•„์ด๋””๊ฐ€ eisen ์ผ ์‹œ eisen ๊ณ„์ •์˜ home directory๋Š” /home/eisen ์ด ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ์‹œ (i.g ssh eisen@localhost) ์ž๋™์œผ๋กœ home directory์— ์œ„์น˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. pwd ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ์œ„์น˜๋ฅผ ์•Œ์•„..

TIL 2021.09.14

[Windows]Windows terminal(git bash)์—์„œ "open" command๋กœ ํ•ด๋‹น๊ฒฝ๋กœ ํด๋” ์—ด๊ธฐ

Before we go any further... ์ €๋Š” ๋งฅ์„ ์˜ค๋ž˜ ์‚ฌ์šฉํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ cmd์—์„œ open .์ปค๋งจ๋“œ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•ด์„œ finder(folder)๋ฅผ ์‹คํ–‰์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. Windows์—๋Š” start ๋ผ๋Š” ์ปค๋งจ๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ์ด๊ฒŒ ๋„๋ฌด์ง€ ์ต์ˆ™ํ•ด ์ง€์งˆ ์•Š๋”๊ตฐ์š”... ์ด๋ฒˆ์—๋„ start ๋ช…๋ น์–ด๋ฅผ ๊นŒ๋จน์–ด์„œ ํ•œ์ฐธ์ด๋‚˜ ์‚ฝ์งˆ ํ•œ ํ›„์— ํ™”๊ฐ€๋‚˜์„œ Windows ํ™˜๊ฒฝ์—์„œ open ๋ช…๋ น์–ด๋ฅผ ์ ์šฉ์‹œํ‚ค๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. Goal Windows terminal ์„ค์น˜ ๋ฐ Git Bash ์ถ”๊ฐ€ํ•˜๊ธฐ https://jjam89.tistory.com/136 zsh ์„ค์น˜ํ•˜๊ธฐ https://jjam89.tistory.com/150 ~/.zshrc ์ˆ˜์ •ํ•˜๊ธฐ zsh๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฉด ~/.bashrc๋ฅผ ์ˆ˜์ •ํ•˜์‹œ๋ฉด ๋  ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ~/.z..

OS/Windows 2021.08.25
728x90
๋ฐ˜์‘ํ˜•