๋ชฉ๋ก์ „์ฒด ๊ธ€ (129)

YS's develop story

[Git] Git ์ €์žฅ์†Œ ์ƒ์„ฑ, ์ตœ์ดˆ๋กœ ์ปค๋ฐ‹ํ•˜๊ธฐ (git commit,git add,git status,git log)

Git ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ปค๋ฐ‹์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค. ์šฐ์„  ์•„๋ž˜์˜ ๋งํฌ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ์‹œ์Šคํ…œ์ธ Git์„ ๋‹ค์šด๋กœ๋“œํ•ด์ค๋‹ˆ๋‹ค. https://git-scm.com/ Git git-scm.com Git์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ „์ž์ฑ…์ž…๋‹ˆ๋‹ค. ํ•œ๊ธ€๋กœ ๋˜์–ด ์žˆ์–ด์„œ ๋ณด๊ธฐ ํŽธํ•ฉ๋‹ˆ๋‹ค. git-scm.com/book/ko/v2 Git - Book git-scm.com ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹คํ–‰ ํ›„ cd ๋ช…๋ น์–ด๋กœ ์ปค๋ฐ‹์„ ํ•˜๊ณ ์ž ํ•˜๋Š” ํด๋”๋กœ ์ด๋™ํ•œ ํ›„, git init๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ์ค๋‹ˆ๋‹ค. git init์ด๋ผ๋Š” ๋ช…๋ น์–ด๋Š” .git์ด๋ผ๋Š” ์ˆจ๊น€ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์„ค๋ช… ๋ถ€๋ถ„์„ ์œ„์— ์˜ฌ๋ฆฐ ๋งํฌ์˜ ์ฑ…์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ํด๋” ์•ˆ์—๋Š” git practice๋ผ๋Š” ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ git status ๋ช…๋ น..

๊ธฐํƒ€ 2020. 12. 15. 22:51
๋ฆฌ๋ˆ…์Šค makefile ๋งŒ๋“ค๊ธฐ , make ๋ช…๋ น์–ด

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

Linux 2020. 12. 1. 06:44
๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ๊ถŒํ•œ ์„ค๋ช…, ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ๊ถŒํ•œ ๋ณ€๊ฒฝ ๋ฐ ํ™•์ธ

์˜ค๋Š˜์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ ๊ถŒํ•œ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์˜ ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ls -l ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๊ฐ๊ฐ ํŒŒ์ผ ์ข…๋ฅ˜ ๋ฐ ๊ถŒํ•œ, ๋งํฌ์ˆ˜, ์‚ฌ์šฉ์ž(์†Œ์œ ์ž), ๊ทธ๋ฃน, ํŒŒ์ผํฌ๊ธฐ, ์ˆ˜์ •์‹œ๊ฐ„, ํŒŒ์ผ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. PracticeํŒŒ์ผ์˜ ํŒŒ์ผ ์ข…๋ฅ˜ ๋ฐ ๊ถŒํ•œ์€ drwxrwxr-x์ธ๋ฐ ์—ฌ๊ธฐ์„œ ๋งจ ์•ž์— d๊ฐ€ ์žˆ์œผ๋ฉด ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฆ‰ PracticeํŒŒ์ผ์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ์ด๊ณ  taksk.txt ํŒŒ์ผ์€ -rw-rw-r--์ด๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ์ด ์•„๋‹˜์ด ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งจ ์•ž์˜ ํŒŒ์ผ์˜ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ•œ์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋’ค๋ถ€ํ„ฐ๋Š” ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋Š” ๋ฌธ์ž์ž…๋‹ˆ๋‹ค. Practice ํŒŒ์ผ์˜ ๊ถŒํ•œ์€ rwxrwxr-x๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. take ํŒŒ..

Linux 2020. 11. 15. 07:13
open(), close(), read(), write() ์‹œ์Šคํ…œ ์ฝœ ํ•จ์ˆ˜, File descriptor ์™€ inode number (์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด - 3 )

์˜ค๋Š˜์€ ์‹œ์Šคํ…œ ์ฝœ ํ•จ์ˆ˜ ๋ช‡ ๊ฐœ๋ฅผ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค :) ์šฐ์„  File descriptor๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•ด ๋ด…์‹œ๋‹ค ~ ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•  ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํŒŒ์ผ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณค ํ•˜์ฃ . OS๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ inode number์ด๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ค„์—ฌ์„œ id๋ผ๊ณ  ํ•˜๊ณ  Id๋Š” ์ˆซ์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ์–ด๋–ค ํŒŒ์ผ์„ ์ฝ๊ณ  ์‹ถ๋‹ค๋ฉด, OS๋Š” ๋””์Šคํฌ์—์„œ ํ•ด๋‹นํ•˜๋Š” ํŒŒ์ผ์„ ์ฐพ๊ณ , ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ(dram)๋กœ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ํŒŒ์ผ์„ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฐ์ฒดํ™”์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฐ์ฒด์˜ ํฌ์ธํ„ฐ, ์ฃผ์†Œ๋ฅผ file descriptor๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ฝœ open ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…์‹œ๋‹ค. openํ•จ์ˆ˜๋Š” ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๊ธฐ..