Git Pro 1์žฅ

์•Œ์•„๊ฐˆ ๋‚ด์šฉ 1. VCS๊ฐ€ ๋ฌด์—‡์ธ์ง€ 2. Git ์ด๋ผ๋Š”๊ฒŒ ๋ฌด์—‡์ธ์ง€ 3. Git ํƒ„์ƒ ๋ฐฐ๊ฒฝ, ์‚ฌ์šฉ ์ด์œ  4. Git vs VCS VCS (Version Control System) ์ด๋ž€? - ํŒŒ์ผ ๋ณ€ํ™”๋ฅผ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ธฐ๋กํ–ˆ๋‹ค๊ฐ€ ํŠน์ • ์‹œ์ ์˜ ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. e.g. ํฌํ† ์ƒต ํŽธ์ง‘ ํžˆ์Šคํ† ๋ฆฌ ๋กœ์ปฌ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ตœ์ข…๋ณธ_2023_10_09_01.psd ์ตœ์ข…๋ณธ_2023_10_09_02.psd ์ตœ์ข…๋ณธ_2023_10_10_01.psd ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋‹จ์  - ์ž˜๋ชป ๋ณต์‚ฌํ•œ๋‹ค๊ฑฐ๋‚˜ - ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ง€์›Œ์ง„๋‹ค๊ฑฐ๋‚˜ - ์ž˜๋ชป ์ €์žฅํ•œ๋‹ค๊ฑฐ๋‚˜ (๊ทธ๋ž˜์„œ ๋‚˜์˜จ๊ฒŒ) RCS (Revision Control System) - ๋กœ์ปฌ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ - ๋ณ€๊ฒฝ๋˜๋Š” ๋ถ€๋ถ„(Patch Set)์„ ๋กœ์ปฌ DB์— ์ €์žฅํ•˜๊ณ , ํ•ด..

computer science 2023. 10. 9. 20:42
๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด 4์žฅ - ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ

"์šฐ๋ฆฌ ๋ชจ๋‘๋ฅผ ํ•ฉ์นœ ๊ฒƒ๋ณด๋‹ค ๋” ํ˜„๋ช…ํ•œ ์‚ฌ๋žŒ์€ ์—†๋‹ค." - Ken Blanchard ์•ž์„  ์žฅ์—์„œ ๊ฐœ๋ณ„์ ์ธ ๊ฐ์ฒด์˜ ํ–‰๋™,์ƒํƒœ์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค๋‹ค๋ฉด, ์ด๋ฒˆ ์žฅ์€ ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ํ˜‘๋ ฅ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 1. ํ˜‘๋ ฅ A๋ผ๋Š” ์‚ฌ๋žŒ์ด B์—๊ฒŒ ๋„์›€์„ ์š”์ฒญํ•œ๋‹ค. B๋ผ๋Š” ์‚ฌ๋žŒ๋„ ๋‹ค๋ฅธ์‚ฌ๋žŒ์—๊ฒŒ ๋„์›€์„ ์š”์ฒญํ•œ๋‹ค. Aํ•จ์ˆ˜๊ฐ€ ํ• ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์žˆ๊ณ  Bํ•จ์ˆ˜๊ฐ€ ํ• ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์žˆ์Œ. ์š”์ฒญ(๋„์›€)์„ ์—ฐ์‡„์ ์œผ๋กœ ์š”์ฒญํ•˜๊ฒŒ ๋œ๋‹ค. ์ฑ…์—์„œ ๋น„์œ ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ์˜ˆ์‹œ๋กœ ํ˜‘๋ ฅ์˜ ํŠน์„ฑ์„ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒํ•œ๋‚˜๋ผ์˜ ์•จ๋ฆฌ์Šค ์ด์•ผ๊ธฐ ์† ์žฌํŒ์„ ๊ฐ์ฒด์ง€ํ–ฅ ๊ด€์ ์—์„œ ๋ดค์„๋•Œ ์™•, ํ•˜์–€ํ† ๋ผ, ๋ชจ์ž ์žฅ์ˆ˜ - ๊ฐ์ฒด์ด๋ฉฐ ํ•˜ํŠธ ์žญ์„ ์žฌํŒํ•˜๊ธฐ ์œ„ํ•ด ํ˜‘๋ ฅ์ค‘์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ. 1. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์™•์—๊ฒŒ ์žฌํŒ์„ ์š”์ฒญ 2. ์™•์ด ํ•˜์–€ ํ† ๋ผ์—๊ฒŒ ์ฆ์ธ์„ ์š”์ฒญ 3. ํ† ๋ผ๋Š” ๋ชจ์ž์žฅ์ˆ˜์—๊ฒŒ ์ฆ..

computer science 2023. 7. 16. 20:41
clean code ์ œ 11์žฅ ์‹œ์Šคํ…œ

"๋ณต์žก์„ฑ์€ ์ฃฝ์Œ์ด๋‹ค. ๊ฐœ๋ฐœ์ž์—๊ฒŒ์„œ ์ƒ๊ธฐ๋ฅผ ์•—์•„๊ฐ€๋ฉฐ, ์ œํ’ˆ์„ ๊ณ„ํšํ•˜๊ณ  ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ ๋‹ค." - Ray Ozzie, MSOffice CTO ์‹œ์Šคํ…œ์ด ์ž˜ ๋Œ์•„๊ฐ€๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ ์ ˆํ•œ ์ถ”์ƒํ™”์™€ ๋ชจ๋“ˆํ™”๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ์–ด์•ผํ•œ๋‹ค. ์‹œ์Šคํ…œ ์ˆ˜์ค€์—์„œ ๊นจ๋—ํ•จ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. 1. Main ๋ถ„๋ฆฌ ์‹œ์Šคํ…œ ์ƒ์„ฑ๊ณผ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์ƒ์„ฑ ๊ด€๋ จ๋œ ์ฝ”๋“œ๋ฅผ main ์ชฝ์œผ๋กœ ๋‹ค ์˜ฎ๊น€. -> main ํ•จ์ˆ˜์—์„œ ์‹œ์Šคํ…œ์— ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์ด๋ฅผ application์— ๋„˜๊น€. application ์ชฝ์—์„œ๋Š” ๊ทธ์ € ๊ฐ์ฒด ์‚ฌ์šฉ๋งŒ -> application์€ ์ƒ์„ฑ ๊ณผ์ •์„ ์ „ํ˜€ ๋ชจ๋ฆ„. (์ƒ์„ฑ - ์‚ฌ์šฉ ๋ถ„๋ฆฌ) 2. ํŒฉํ† ๋ฆฌ (Abstract Factory) ์‚ฌ์šฉ application ์ชฝ์—์„œ ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ์ ์„ ๊ฒฐ์ •ํ• ๋•Œ๋Š” ..

computer science 2023. 5. 7. 21:11
clean code ์ œ 3์žฅ ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ฅผ cleanํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• 1. ์ž‘๊ฒŒ๋งŒ๋“ค๊ธฐ 2. ๋ธ”๋ก๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ 3. ํ•œ๊ฐ€์ง€ ๊ธฐ๋Šฅ๋งŒ 4. ์„œ์ˆ ์ ์ธ ๋„ค์ด๋ฐ 5. ํ•จ์ˆ˜ ์ธ์ˆ˜ 6. ๋ถ€์ˆ˜ํšจ๊ณผx 7. ๋ช…๋ น์กฐํšŒ 8. ์˜ค๋ฅ˜์˜ˆ์™ธ 9. ๊ตฌ์กฐ์ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฐ์„  bad ํ•จ์ˆ˜ ์˜ˆ์‹œ ๋‘๊ฒน์œผ๋กœ ์ค‘์ฒฉ๋œ if๋ฌธ์œผ๋กœ ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ํ”Œ๋ž˜๊ทธ, ๋ฌธ์ž์—ด,ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ํ•˜๊ณ  ์žˆ์Œ. -> ํ•จ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๊ธธ๊ณ , ์–ด๋–ค ์ผ์„ ํ•˜๋Š”์ง€ ์•Œ๊ธฐ ํž˜๋“ฆ. 1. ์ž‘๊ฒŒ ๋งŒ๋“ค๊ธฐ ํ•œ ํ•จ์ˆ˜์˜ ๊ธธ์ด๋Š” 20์ค„๋„ ๊ธธ๋‹ค๊ณ  ํ•œ๋‹ค. 2. ๋ธ”๋ก๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ํ•œ์ค„์ด์–ด์•ผ ํ•œ๋‹ค. if, else, while ๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š” ์ฝ”๋“œ๋Š” ํ•œ์ค„์ด์–ด์•ผํ•˜๊ณ  ๋Œ€๊ฐœ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์•ผํ•œ๋‹ค. func rednerPageWithSetupAndTeardowns(pageData: PageData, isSuite: Bool) -> String { if (isTe..

computer science 2023. 4. 4. 23:56
clean code ์ œ 1์žฅ ๊นจ๋—ํ•œ ์ฝ”๋“œ

์ €์ž๋Š” 00๋…„๋„ ํ›„๋ฐ˜์— ๋งํ–ˆ๋˜ ํšŒ์‚ฌ์˜ ์˜ˆ์‹œ๋ฅผ ์ œ์‹œํ•œ๋‹ค. ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ํ•ด๋‹น ์—…์ฒด๋Š” ์ถœ์‹œ์— ๋ฐ”๋น  ์ฝ”๋“œ๋ฅผ ๋งˆ๊ตฌ๋งˆ๊ตฌ ์งฐ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋ ์ˆ˜๋ก ์ฝ”๋“œ๋Š” ์—‰๋ง์ด ๋˜์–ด๊ฐ”๊ณ , ๋‚˜์ค‘์—๋Š” ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ• ์ •๋„๋กœ ์ฝ”๋“œ์˜ ์ƒ์‚ฐ์„ฑ์ด 0์— ๊ฐ€๊นŒ์›Œ์กŒ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์‹œ๊ฐ„์— ๊ธ‰๊ธ‰ํ•ด ๋Œ€์ถฉ ๊ตฌํ˜„์—๋งŒ ๋ชฉ์ ์„ ๋‘๊ณ , ์ถ”ํ›„ ๊น”๋”ํ•˜๊ฒŒ ์ˆ˜์ •ํ•ด์•ผํ•˜์ง€ ํ•˜๋Š” ํ”Œ๋žœ์ด ์‰ฝ๊ฒŒ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด๊ฑธ leblanc's Law - "๋‚˜์ค‘์€ ๊ฒฐ์ฝ” ์˜ค์ง€์•Š๋Š”๋‹ค" ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €์ž๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ• ๋•Œ ์• ์ดˆ๋ถ€ํ„ฐ ํด๋ฆฐํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์•ผํ•จ์„ ๊ฐ•์กฐํ•˜๊ณ  ์žˆ๋‹ค. ํด๋ฆฐ ์ฝ”๋“œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€ 1. ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์•ผํ•œ๋‹ค. (๋‹ค๋ฅธ ์ด๊ฐ€ ์ฝ๊ธฐ์— ์‰ฝ๊ณ  ๋˜ํ•œ ์ˆ˜์ •๋„ ์‰ฌ์›Œ์•ผํ•œ๋‹ค.) 2. ๋ฉ”๋ชจ๋ฆฌ๋‚ญ๋น„๊ฐ€ ์—†์–ด์•ผํ•œ๋‹ค. 3. ์˜์กด์„ฑ ์ตœ์†Œํ™”, API๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•ด์•ผํ•œ..

computer science 2023. 4. 3. 00:07
HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ 7์žฅ - ์›น ์บ์‹œ

HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 7์žฅ Cache๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์šฐ์„  Web Caching ์ด๋ž€? HTTP ํ†ต์‹  ์‹œ response์˜ body ์— ํ•ด๋‹นํ•˜๋Š” content document๋ฅผ ๋กœ์ปฌ์— ์ €์žฅํ•˜์—ฌ ํ•ด๋‹น document์˜ ์š”์ฒญ์ด ์žˆ์„๋•Œ ์„œ๋ฒ„์—์„œ response๋กœ ๋ฐ›๋Š” ๋Œ€์‹  ๋กœ์ปฌ์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์šฐ์„  web cache์— ๋Œ€ํ•ด ์ตํž ๊ด€์  3๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์บ์‹ฑ์ด ์–ด๋–ป๊ฒŒ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๋Š”์ง€ ์–ด๋–ป๊ฒŒ ์ตœ์‹  ์ƒํƒœ์˜ ์บ์‹œ๋ฅผ ์œ ์ง€ํ•˜๋Š”์ง€ ์บ์‹ฑ๊ณผ ์„œ๋ฒ„๊ฐ„์˜ ์šด์šฉ ๋ฐฉ๋ฒ• ์ด ๊ด€์ ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ธ€์„ ์ฝ์–ด์ฃผ์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์บ์‹ฑ ํ–ˆ์„๋•Œ์˜ ์žฅ์  3๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋˜ ๋ณด๋‚ด์ง€ ์•Š์•„๋„ ๋จ ๋„คํŠธ์›Œํฌ ๋ณ‘๋ชฉํ˜„์ƒ ๊ฐ์†Œ ๋น ๋ฅธ ๋กœ๋“œ ์ด ์„ธ๊ฐ€์ง€๊ฐ€ ๋‹ค ๊ฐ™์€ ๋งฅ๋ฝ์ด๊ธฐ๋„ ํ•œ๋ฐ. ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ํšŸ์ˆ˜๋ฅผ ์ค„์ด๋ฉด์„œ ๋‚˜ํƒ€๋‚˜๋Š”..

computer science 2023. 1. 12. 02:05