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

๐ŸŽ› Others...65

[github] .gitignore ํŒŒ์ผ๋กœ ํŠน์ • ํฌ๋งท์˜ ํŒŒ์ผ ๋ฌด์‹œํ•˜๊ธฐ ์šฐ๋ฆฌ๊ฐ€ Version Controll ์„ ์œ„ํ•ด์„œ git ์„ ์‚ฌ์šฉํ•˜๊ณ  git hosting ์œผ๋กœ github ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณด์•ˆ์ ์œผ๋กœ๋‚˜ ๊ฐœ์ธ์ ์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด ์•ˆ๋˜๋Š” ํŒŒ์ผ๋“ค์ด ์กด์žฌํ•œ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด ๊ฐ„๋‹จํ•œ key ํŒŒ์ผ์ด๋ผ๋˜์ง€, ๊ฐœ์ธ์ ์ธ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด data ํŒŒ์ผ์ด๋ผ๋˜์ง€ ํ˜น์€ test ๋ฅผ ์œ„ํ•ด build ๋ฅผ ํ•˜๋Š” build ํŒŒ์ผ์ด๋ผ๋˜์ง€.. ์ด๋ ‡๊ฒŒ ์›์น˜ ์•Š๋Š” ํŒŒ์ผ์„ git ์— ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์˜ค๋Š˜์€ .gitignore ์ด๋ผ๋Š” ํŒŒ์ผ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž .gitignore ์ด๋ž€? .gitignore ์€ ํ”„๋กœ์ ํŠธ Repository ์— ์›์น˜ ์•Š๋Š” file ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ git ์—์„œ ์ œ์™ธ์‹œํ‚ค๋Š” ์„ค์ •์ด ๋‹ด๊ธด ํŒŒ์ผ์„ ์˜๋ฏธํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ Springboot ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ƒ๊ธฐ.. 2021. 7. 16.
[C ์–ธ์–ด] ๋ฆฌ๋ˆ…์Šค์—์„œ Makefile ์„ ์ด์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œํ•˜๊ธฐ ์šฐ๋ฆฌ๊ฐ€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ด๋‚˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ, ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ํ•˜๊ณค ํ•œ๋‹ค. ์ด๋Ÿฐ ๋นŒ๋“œ ๋„๊ตฌ ๋•๋ถ„์— ์‰ฝ๊ฒŒ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋นŒ๋“œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, C ์–ธ์–ด๋„ ์ด๋Ÿฌํ•œ ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ๋นŒ๋“œ ๋„๊ตฌ๊ฐ€ ๋ฐ”๋กœ make ์ด๋‹ค. ๋นŒ๋“œ ๋„๊ตฌ, make make ๋Š” Linux์™€ ๊ฐ™์€ ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋นŒ๋“œ ๋„๊ตฌ(Build Tool) ์ด๋‹ค. ๋นŒ๋“œ ๋„๊ตฌ๋ž€ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ ํ…Œ์ŠคํŠธ, ์ •์  ๋ถ„์„์„ ์œ„ํ•ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ž๋™ ์ƒ์„ฑํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ, ์ผ์ข…์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋นŒ๋“œ ๋„๊ตฌ๋กœ๋Š” Ant ๋‚˜ Maven, Gradle, NPM ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฐ ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค๋ผ๋ฆฌ์˜ ์˜์กด์„ฑ๊ณผ ๊ฐ ํŒŒ์ผ์— ํ•„์š”ํ•œ ๋ช…๋ น์„ ์ •์˜ํ•ด์„œ ์‰ฝ๊ฒŒ.. 2021. 7. 16.
[C ์–ธ์–ด] ๊ตฌ์กฐ์ฒด ํฌ์ธํ„ฐ์™€ ํ™”์‚ดํ‘œ ์—ฐ์‚ฐ์ž ๊ตฌ์กฐ์ฒด ํฌ์ธํ„ฐ ์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” ๊ตฌ์กฐ์ฒด์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ตฌ์กฐ์ฒด๋ฅผ ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ์ง€๋‚œ ์‹œ๊ฐ„์— ์ด์•ผ๊ธฐํ•œ ๊ตฌ์กฐ์ฒด์— ๋Œ€ํ•ด์„œ ํ•œ ์ค„๋กœ ์ •๋ฆฌํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ด๋‹ค. ๊ตฌ์กฐ์ฒด๋Š” ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์ด ๋ชจ์—ฌ ํ•˜๋‚˜์˜ ํฐ ์‚ฌ์šฉ์ž ์ •์˜ ์ž๋ฃŒํ˜•์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•ด๋ณผ๋งŒํ•œ ์ฃผ์ œ๊ฐ€ ๋ฐ”๋กœ ํฐ ์ž๋ฃŒํ˜•์ด ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ตฌ์กฐ์ฒด๋Š” ๋Œ€๋ถ€๋ถ„ ์ผ๋ฐ˜ ์ž๋ฃŒํ˜•๋ณด๋‹ค ํฌ๊ธฐ๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ง€๋‚œ ์‹œ๊ฐ„์— ์ด์•ผ๊ธฐ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ƒ๊ธฐํ•ด๋ณด์ž. ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ์กฐ์ฒด๋ฅผ ์ •์˜ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์–ด๋–ค ์˜๋ฏธ์ผ๊นŒ? ๋ฐ”๋กœ Stack ์˜์—ญ์— ๊ตฌ์กฐ์ฒด์˜ ํฌ๊ธฐ๋งŒํผ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ตฌ์กฐ์ฒด๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ ๊ตฌ์กฐ.. 2021. 7. 4.
[C ์–ธ์–ด] struct, ๊ตฌ์กฐ์ฒด์˜ ๊ธฐ๋ณธ๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๊ตฌ์กฐ์ฒด ํ˜„๋Œ€์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•(int, long, char, double) ๋งŒ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์ž‘์‹œํ‚ค๊ธฐ์—๋Š” ๋งŽ์€ ์–ด๋ ค์›€์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐœ์ „ํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด ๋ฐ”๋กœ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฐ์ฒด์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์—์„œ ๋ฐ”๋กœ ๊ฐ์ฒด๋กœ ๋ฐœ์ „ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  ๊ฐ์ฒด์™€ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๊ฐœ๋…์ด ๋ฐ”๋กœ ๊ตฌ์กฐ์ฒด ์ด๋‹ค ๊ตฌ์กฐ์ฒด์˜ ๊ธฐ๋ณธ ์ปจ์…‰์€ Primitive Data type ์„ ๋ชจ์•„ Abstract data type ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ตฌ์กฐ์ฒด ์‚ฌ์šฉํ•˜๊ธฐ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋ง์€ ์ผ๋‹จ ์ •์˜ํ•˜๊ณ , ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ๋‹ค. ๊ตฌ์กฐ์ฒด ์ •์˜ํ•˜๊ธฐ ๊ตฌ์กฐ์ฒด๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. struct ๋กœ ์ •์˜ํ•˜๊ธฐ ๋ณ€์ˆ˜ ์ƒ์„ฑํ•  ๋•Œ struct ํ‚ค์›Œ๋“œ๋ฅผ .. 2021. 7. 4.