1. ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ(Memory Structure)

  • ์šด์˜์ฒด์ œ(Operating System)์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ
    → ์ปค๋„์˜์—ญ : kernel ์€ ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ, ์ปค๋„์˜์—ญ์€ system call์„ ํ†ตํ•ด ์ปค๋„๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ด์•ผ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
    → ์œ ์ €์˜์—ญ : Code, Data, Stack, Heap 4๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์œ„ํ•ด ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ(RAM)์— ๊ณต๊ฐ„์„ ํ• ๋‹นํ•ด์ฃผ์–ด์•ผํ•จ
    → CPU๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•ด์•ผํ•จ
    → ํ• ๋‹น๋ฐ›๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„(=์œ ์ €์˜์—ญ)

< ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ >

 

2. Code ์˜์—ญ ( = Text ์˜์—ญ )

  • ๊ธฐ๊ณ„์–ด๋กœ ์ปดํŒŒ์ผ๋˜์–ด ์ ์žฌ๋˜๋Š” ์ฝ”๋“œ ์ž์ฒด์˜ ์˜์—ญ / Read-only
  • ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ
  • ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์ข…๋ฃŒ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ๊ณ„์† ๋‚จ์•„์žˆ์Œ
  • CPU๋Š” ์ด ์˜์—ญ์— ์ €์žฅ๋œ ๋ช…๋ น์„ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ๊ฐ€ ์ฒ˜๋ฆฌ

 

3. Data ์˜์—ญ

  • ์ „์—ญ๋ณ€์ˆ˜(Global)์™€ ์ •์ ๋ณ€์ˆ˜(Static)๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ
  • ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๊ณ , ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์†Œ๋ฉธ
  • Read-Write

 

4. Heap ์˜์—ญ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๊ณต๊ฐ„์„ ํ• ๋‹น, ํ•ด์ œํ•˜๋Š” ๊ณต๊ฐ„
    → ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น : malloc() ๋˜๋Š” new ์—ฐ์‚ฐ์ž ์ด์šฉ
    → ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ : free() ๋˜๋Š” delete ์—ฐ์‚ฐ์ž ์ด์šฉ

 

5. Stack ์˜์—ญ

  • ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ
  • ํ˜ธ์ถœ์‹œ ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๊ณ , ํ˜ธ์ถœ์™„๋ฃŒ๋˜๋ฉด ์‚ฌ๋ผ์ง
    → ์ €์žฅ๋œ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ •๋ณด : stack frame
    → ์ €์žฅ : push / ์ธ์ถœ : pop

6. Heap VS Stack

๊ตฌ๋ถ„ Heap Stack
์—‘์„ธ์Šค ์†๋„ ๋А๋ฆผ ๋น ๋ฆ„
์Šค์ฝ”ํ”„(๋ณ€์ˆ˜์œ ํšจ๋ฒ”์œ„) ์ „์—ญ global ์ง€์—ญ local
๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ๋™์  ๋ถˆ๋ณ€
๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ ์ˆ˜๋™ํ•ด์ œ ๋ธ”๋Ÿญ์ด ๋๋‚˜๋ฉด ์ž๋™ํ•ด์ œ
๊ตฌํ˜„ ๋‚œ์ด๋„ ์–ด๋ ค์›€(os๋งˆ๋‹ค ๋‹ค๋ฆ„) ์‰ฌ์›€
๋ฐฉ์‹ ์„ ์ž…์„ ์ถœ๋ฐฉ์‹(FIFO)
๋‚ฎ์€์ฃผ์†Œ์—์„œ ๋†’์€์ฃผ์†Œ๋กœ ํ• ๋‹น
ํ›„์ž…์„ ์ถœ๋ฐฉ์‹(LIFO)
๋†’์€์ฃผ์†Œ์—์„œ ๋‚ฎ์€์ฃผ์†Œ๋กœ ํ• ๋‹น

 

7. ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ

  • ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋„˜์–ด์„ค ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜
    → ์ด๋Ÿฌํ•œ ํŠน์„ฑ์„ ์ด์šฉํ•ด ํ•ดํ‚น๊ณต๊ฒฉ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ ํ•จ
  • ์ข…๋ฅ˜
    → ํž™ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ : ํž™์ด ์Šคํƒ์„ ์นจ๋ฒ”ํ•˜๋Š” ๊ฒฝ์šฐ
    → ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ : ์Šคํƒ์ด ํž™์„ ์นจ๋ฒ”ํ•˜๋Š” ๊ฒฝ์šฐ, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐœ์ƒ









์ฐธ๊ณ ) https://mentum.tistory.com/475

 

์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ / ์Šคํƒ(stack) vs ํž™(heap)

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - OS์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋Š” ์œ ์ € ์˜์—ญ, ์ปค๋„ ์˜์—ญ์˜ 2๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค. - ์ปค๋„์˜์—ญ์€ ์‹œ์Šคํ…œ ์šด์˜์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ด๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ์ปค๋„์˜์—ญ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. - ์œ ์ €์˜์—ญ์€ ๋‹ค์‹œ 4๊ฐ€

mentum.tistory.com


์ฐธ๊ณ ) https://zangzangs.tistory.com/107

 

[OS] ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ (์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ์Šคํ…, ํž™)

ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ (์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ์Šคํ…, ํž™) ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์€ ๋‘๊ฐ€์ง€ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์กด์žฌํ•˜๋˜ ์‹คํ–‰ํŒŒ์ผ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ๋‹ค๋Š” ์˜๋ฏธ ํ”„๋กœ๊ทธ๋žจ์ด CP

zangzangs.tistory.com

์ฐธ๊ณ ) https://hdacker.tistory.com/6

 

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ [Memory Structure]

๋ฉ”๋ชจ๋ฆฌ๋Š” ํฌ๊ฒŒ ์ปค๋„์˜์—ญ๊ณผ ์œ ์ €์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค. ์œ ์ €์˜์—ญ์€ ๋‹ค์‹œ ์Šคํƒ์˜์—ญ, ํž™์˜์—ญ, ๋ฐ์ดํ„ฐ์˜์—ญ, ์ฝ”๋“œ์˜์—ญ์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ์œ ์ €์˜์—ญ์„ ์ œ์™ธํ•œ ์˜์—ญ์„ ์ปค๋„์˜์—ญ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ปค๋„์˜์—ญ์—๋Š” ์ปค๋„(ker

hdacker.tistory.com

 

1. ํด๋ฆฐ์ฝ”๋“œ๋ž€?

  • ์›ํ•˜๋Š” ๋กœ์ง์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ
  • ๋ชจ๋“  ํŒ€์›์ด ํ•ด๋‹น ์ฝ”๋“œ์˜ ๋™์ž‘์„ ์ง๊ด€์ ์œผ๋กœ ์˜ˆ์ธกํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ž‘์„ฑ๋œ ์ฝ”๋“œ
  • ์„ฑ๋Šฅํ–ฅ์ƒ / ๊ฐ€๋…์„ฑ์ด ์ข‹์•„ ์ฝ”๋“œ์˜ ์˜๋ฏธ๊ฐ€ ๋ช…ํ™• / ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด ์ƒ์‚ฐ์„ฑ ํ–ฅ์„ฑ

 

 

2. ํด๋ฆฐ์ฝ”๋“œ์˜ ์ค‘์š”์„ฑ

  • ์œ ์ง€๋ณด์ˆ˜ ์‹œ๊ฐ„ ๋‹จ์ถ•(์ฝ”๋“œ๋ฆฌ๋ทฐ, ์ฝ”๋“œํŒŒ์•…, ๋””๋ฒ„๊น… ์‹œ๊ฐ„ ๋‹จ์ถ•)
  • ๊ธฐ์ˆ ๋ถ€์ฑ„๊ฐ์†Œ (Technical Debt ๊ธฐ์ˆ ๋ถ€์ฑ„  : ์‰ฌ์šด ์†”๋ฃจ์…˜์„ ์ฑ„ํƒํ•จ์œผ๋กœ์จ ๋ฐœ์ƒ๋˜๋Š” ์ถ”๊ฐ€์  ์žฌ์ž‘์—…์˜ ๋น„์šฉ)

 

3. ํด๋ฆฐ์ฝ”๋“œ์˜ ์›์น™(General)

  • Follow Standard Conventions : ์ฝ”๋”ฉ์˜ ํ‘œ์ค€, ์•„ํ‚คํ…์ณ ํ‘œ์ค€ ๋ฐ ์„ค๊ณ„ ๊ฐ€์ด๋“œ ์ค€์ˆ˜
  • Keep it Simple, Stupid(KISS) : ๋‹จ์ˆœํ•œ ๊ฒƒ์ด ํšจ์œจ์ , ๋ณต์žกํ•ฉ์„ ์ตœ์†Œํ™”
  • Boy Scout Rule : ์ฐธ์กฐ๋˜๊ฑฐ๋‚˜ ์ˆ˜์ •๋˜๋Š” ์ฝ”๋“œ๋Š” ์›๋ž˜๋ณด๋‹ค ํด๋ฆฐํ•˜๊ฒŒ ํ•ด์•ผํ•จ
  • Root Cause Analysis : ํ•ญ์ƒ ๊ทผ๋ณธ์ ์ธ ์›์ธ์„ ์ฐพ์•„๋ผ. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ฐ˜๋ณต๋  ๊ฒƒ
  • Do not Multiple Languages in One Source File : ํ•˜๋‚˜์˜ ํŒŒ์ผ์€ ํ•˜๋‚˜์˜ ์–ธ์–ด๋กœ ์ž‘

3-1. ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„ SOLID ์›์น™(Class Design) → ์„ค๊ณ„๊ด€์  ํด๋ฆฐ์ฝ”๋“œ์‹œ ๋งŽ์ด ํšŒ์ž๋œ๋‹ค๊ณ  ํ•จ.

 

 

 

์ฐธ๊ณ ) https://talkwithcode.tistory.com/73

 

ํด๋ฆฐ ์ฝ”๋“œ๋ž€ ๋ฌด์—‡์ผ๊นŒ

ํƒ€์ž…ํฌ์Šค๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ "์ง€๊ธˆ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ๊นจ๋—ํ•œ๊ฐ€? ์˜ฌ๋ฐ”๋ฅธ ๊ธธ๋กœ ๊ฐ€๊ณ ์žˆ๋‚˜?" ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํด๋ฆฐ์ฝ”๋“œ์— ๊ด€ํ•ด ์ฐพ์•„๋ณด์•˜๊ณ , ํ† ์Šค์—์„œ ์ง„ํ–‰ํ•œ [์‹ค๋ฌด์—์„œ ๋ฐ”๋กœ ์“ฐ๋Š” Fronte

talkwithcode.tistory.com

 

์ฐธ๊ณ ) https://zwzwzw123-daily-daily.tistory.com/96?category=994308 

 

[CS์ง€์‹ - ๊ฐœ๋ฐœ ์ƒ์‹] ํด๋ฆฐ์ฝ”๋“œ

1. ํด๋ฆฐ์ฝ”๋“œ ์˜๋ฏธ ์›ํ•˜๋Š” ๋กœ์ง์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ, ๋ˆ„๊ตฌ๋‚˜ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ž‘์„ฑ๋œ ์ฝ”๋“œ, ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ → ๋ช…ํ™•ํ•œ ์ด๋ฆ„, ์ค‘๋ณต ์ตœ์†Œํ™”, ๊ฐ€๋…์„ฑ ๋†’์ด๊ธฐ ํด๋ฆฐ์ฝ”๋“œ์˜ ํŠน์„ฑ 1. ๋ชจ๋“  ํ…Œ์ŠคํŠธ

zwzwzw123-daily-daily.tistory.com

 

1.์ ˆ์ฐจ์ง€ํ–ฅ(Procedual Programming)

  • ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฐ€์— ์ดˆ์ ์„ ๋งž์ถค, ์ปดํ“จํ„ฐ์˜ ์ฒ˜๋ฆฌ๊ตฌ์กฐ์™€ ์œ ์‚ฌ.
  • ์žฅ์  - ์ฒ˜๋ฆฌ์†๋„๊ฐ€ ๋น ๋ฆ„
  • ๋‹จ์  - ์œ ์ง€๋ณด์ˆ˜ ์–ด๋ ค์›€
            - ์—„๊ฒฉํ•œ ์‹คํ–‰์ˆœ์„œ๋กœ ์ธํ•œ ๋น„ํšจ์œจ
  • ์ ˆ์ฐจ์ง€ํ–ฅ ์–ธ์–ด์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์ด ๋“ฑ์žฅ

2.๊ฐ์ฒด์ง€ํ–ฅ(Object Oriented Programming)

2-1. ๊ฐ์ฒด์ง€ํ–ฅ ์ •์˜

  • ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ‘œํ˜„ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ
    ๊ฐ์ฒด ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹
  • ๊ฐ์ฒด : ํ”„๋กœ๊ทธ๋žจ์ƒ์—์„œ ๊ตฌํ˜„ํ•  ๋Œ€์ƒ
  • ํด๋ž˜์Šค : ๊ฐ์ฒด์˜ '์†์„ฑ'๊ณผ '๊ธฐ๋Šฅ'์„ ์ •์˜ํ•œ ์„ค๊ณ„๋„์™€ ๊ฐ™์€ ๊ฒƒ
  • ์ธ์Šคํ„ด์Šค : ํด๋ž˜์Šค์˜ ๋‚ด์šฉ๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ๊ตฌํ˜„๋  ์‹ค์žฌ(์ผ๋ฐ˜์ ์ธ ์˜๋ฏธ์˜ ๊ฐ์ฒด)

2-2. ๊ฐ์ฒด์ง€ํ–ฅ ํŠน์„ฑ

  • ์บก์Аํ™”
  • ์ƒ์†
  • ์ถ”์ƒํ™”
  • ๋‹คํ˜•์„ฑ
     ์ด ํŠน์ง•๋“ค์€ ๋ชจ๋‘ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฐœ๋…

2-2-1. ์บก์Аํ™”

  • ๊ฐ์ฒด์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ ๋ฐ ์ •๋ณด๋ฅผ ์บก์А์ฒ˜๋Ÿผ ํ•˜๋‚˜๋กœ ๊ฐ์‹ธ ์™ธ๋ถ€์—์„œ ๋ณผ ์ˆ˜ ์—†๊ฒŒ ์€๋‹‰ํ•˜์—ฌ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ
  • ์™„์„ฑ๋„ : ๋†’์€ ์‘์ง‘๋„(ํ•˜๋‚˜์˜ ์ฑ…์ž„์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ๋“ค์ด ๋„ˆ๋ฌด ๋ถ„์‚ฐ๋˜์ง€ ์•Š๊ณ  ํ•œ ๊ฐ์ฒด์— ๋ชจ์—ฌ์žˆ๋Š” ์ •๋„)
  • ์ •๋ณด์€๋‹‰ : ๊ฐ์ฒด ์•ˆ์—์„œ ๋ฐ–์œผ๋กœ ๋˜๋Š” ๋ฐ–์—์„œ ์•ˆ์œผ๋กœ ์ •๋ณด์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์—†์Œ

 ๊ฐ์ฒด๋Š” ์Šค์Šค๋กœ ๋™์ž‘ ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๊ฐ€์ง€๊ณ (๋†’์€ ์‘์ง‘๋„),
     ์™ธ๋ถ€ ์˜์กด์„ ์ตœ์†Œํ™”(๋‚ฎ์€ ๊ฒฐํ•ฉ๋„)ํ•˜๊ณ  ์™ธ๋ถ€ ์นจ๋žต์„ ์ œํ•œ ํ•ด์•ผํ•จ

 

2-2-2. ์ƒ์†

  • ์ž์‹ํด๋ž˜์Šค(์„œ๋ธŒํด๋ž˜์„œ)๊ฐ€ ๋ถ€๋ชจํด๋ž˜์Šค(์Šˆํผํด๋ž˜์Šค)์˜ ์†์„ฑ์„ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ
  • ์ƒ์†์˜ ๋ชฉ์  : ์ถ”์ƒ๊ณผ ๊ตฌ์ฒดํ™”์˜ ๊ด€๊ณ„๋ฅผ ์œ„ํ•œ ๊ฒƒ(๊ณต์œ x)

2-2-3. ์ถ”์ƒํ™”

  • ์ถ”์ƒ์ฒด : ์ถ”์ƒํšŒ๋œ ๊ฐ์ฒด(์ƒ์œ„ ๊ฐ์ฒด)
  • ๊ตฌ์ƒ์ฒด : ๊ตฌ์ฒดํ™”๋œ ๊ฐ์ฒด(ํ•˜์œ„ ๊ฐ์ฒด)
  • ์ถ”์ƒํ™”๋Š” ์ƒ๋Œ€์ ์ธ ๊ฒƒ  ์ƒ์œ„๊ฐ์ฒด๋Š” ๋ฐ˜๋“œ์‹œ ํ•˜์œ„๊ฐ์ฒด๋ณด๋‹ค ์ถ”์ƒ์ ์ด์—ฌ์•ผํ•จ

2-2-4. ๋‹คํ˜•์„ฑ

  • ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋‚˜ ๋ฉ”์„œ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‹ค๋ฅธ ํ˜•ํƒœ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ
  • Overriding(์˜ค๋ฒ„๋ผ์ด๋”ฉ) : ๋ถ€๋ชจํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›์€ ๋ฉ”์„œ๋“œ๋ฅผ ์ž์‹ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ
  • Overloading(์˜ค๋ฒ„๋กœ๋”ฉ) : ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์€ ๋™์ผ, ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด๋‚˜, ๊ฐฏ์ˆ˜๋ฅผ ๋‹ฌ๋ฆฌํ•˜์—ฌ ์ค‘๋ณต ์ •์˜ํ•จ
                                              ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ํŠน์ • ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ ๋˜๋Š” ๊ฒƒ

 

2-3. ๊ฐ์ฒด์ง€ํ–ฅ์˜ 5๊ฐ€์ง€ ์„ค๊ณ„์›์น™( SOLID์›์น™)

  • Simple Responsibility Principle(SRP, ๋‹จ์ผ์ฑ…์ž„์›์น™)
    ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผํ•œ๋‹ค
  • Open/ Closed Principle(OCP, ๊ฐœ๋ฐฉํ์‡„์›์น™)
    : ํด๋ž˜์Šค๋Š” ํ™•์žฅ์— ๋Œ€ํ•ด ์—ด๋ ค ์žˆ์–ด์•ผ ํ•˜๊ณ  ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • Liskov Substitution Principle(LSP, ๋ฆฌ์Šค์ฝ”ํ”„์น˜ํ™˜์›์น™)
    : ํŒŒ์ƒ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋Š” ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ ์‚ฌ์šฉ ๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • Interface Segregation Principle(ISP, ์ธํ„ฐํŽ˜์ด์Šค๋ถ„๋ฆฌ์›์น™)
    : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ์— ์˜์กดํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค
  • Dependency Inversion Principle(DIP, ์˜์กด์—ญ์ „์›์น™)
    : ์ถ”์ƒํ™”๋œ๊ฒƒ์€ ๊ตฌ์ฒด์ ์ธ ๊ฒƒ์— ์˜์กดํ•˜๋ฉด ์•ˆ๋œ๋‹ค
    (์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ตฌ์ฒด์ ์ธ ๊ฒƒ์— ์˜์กดํ•˜์ง€ ๋ง๊ณ  ์ถ”์ƒํ™”๋œ๊ฒƒ์„ ์ฐธ์กฐ)

3. ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ VS ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    • ๋ฌผ์ด ์œ„์—์„œ ์•„๋ž˜๋กœ ํ๋ฅด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ์ค‘์š”์‹œํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์ด๋‹ค.
    • ์ปดํ“จํ„ฐ์˜ ์ฒ˜๋ฆฌ๊ตฌ์กฐ์™€ ์œ ์‚ฌํ•ด ์‹คํ–‰์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
    • ์ฝ”๋“œ์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
    • C, FORTRAN, COBOL,PASCAL, BASIC
  • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    • ์‹ค์ œ ์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ๋“ค์„ ๊ฐ์ฒด๋กœ ๋ชจ๋ธ๋งํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•
    • ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด๋กœ Java๊ฐ€ ์žˆ๋‹ค.
    • ์บก์Аํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 
    • ์ ˆ์น˜์ง€ํ–ฅ ์–ธ์–ด๋ณด๋‹ค ์‹คํ–‰์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค.
    • JAVA, Object-C, Swift,C++,Python

 

์ฐธ๊ณ ) https://mangkyu.tistory.com/88

 

[๊ธฐ์ˆ ๋ฉด์ ‘] CS ๊ธฐ์ˆ ๋ฉด์ ‘ ์งˆ๋ฌธ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณตํ†ต (1/8)

1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณตํ†ต [ OOP๋ž€ ] OOP๋Š” ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์˜ฎ๊ฒจ์™€ ํ˜„์‹ค ์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ๋“ค์„ ๊ฐ์ฒด๋กœ ๋ณด๊ณ , ๊ทธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ํŠน์ง•๊ณผ ๊ธฐ๋Šฅ์„ ๋ฝ‘์•„์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. OOP

mangkyu.tistory.com

 

์ฐธ๊ณ ) https://zwzwzw123-daily-daily.tistory.com/95

 

[CS์ง€์‹ - ๊ฐœ๋ฐœ ์ƒ์‹] ์ ˆ์ฐจ์ง€ํ–ฅ(PP) vs ๊ฐ์ฒด์ง€ํ–ฅ(OOP)

1. ์ ˆ์ฐจ์ง€ํ–ฅ(PP) ๊ธฐ๋Šฅ์ค‘์‹ฌ์œผ๋กœ ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉ์‹ ์–ด๋–ค๊ธฐ๋Šฅ์„ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฐ€์— ์ดˆ์ ์„ ๋งž์ถค ๋‹จ์  - ์œ ์ง€๋ณด์ˆ˜์˜ ์–ด๋ ค์Œ - ์—„๊ฒฉํ•œ ์‹คํ–‰์ˆœ์„œ๋กœ ์ธํ•œ ๋น„ํšจ์œจ์  → ์ ˆ์ฐจ์ง€ํ–ฅ์–ธ์–ด์˜ ๋‹จ์ ์„ ๋ณด์•ˆํ•˜

zwzwzw123-daily-daily.tistory.com

 

1. ๋””์ž์ธ ํŒจํ„ด

  • ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ๊ณผ์ •์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•œ ์ „ํ˜•์ ์ธ ํ•ด๊ฒฐ์ฑ…
    → SW์—์„œ ์„ค๊ณ„์  ๊ด€์ ์œผ๋กœ ์ข€ ๋” ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•(ํŒจํ„ด)
  • ์‹œ์Šคํ…œ์˜ ์œ ์ง€๋ณด์ˆ˜, ์„ค๊ณ„์˜๋„๋ฅผ ๋ช…ํ™•ํžˆ ์ •์˜๊ฐ€๋Šฅ
  • MVCํŒจํ„ด ๋˜ํ•œ ๋””์ž์ธํŒจํ„ด์˜ ํ•œ ์ข…๋ฅ˜

2. MVC ํŒจํ„ด ์ •์˜

  • Model, View, Controller์˜ ์•ฝ์ž → ํ”„๋กœ์ ํŠธ(๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์„ธ๊ฐ€์ง€์˜ ์—ญํ• ๋กœ ๊ตฌ๋ถ„ํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 
  • ์‚ฌ์šฉ์ž๊ฐ€ Controller ์กฐ์ž‘ → Model์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ด → View์—์„œ ์ œ์–ดํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ

2-1.  Model ๋ชจ๋ธ

  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋™์ž‘ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง(๋ฐ์ดํ„ฐ)์ฒ˜๋ฆฌ / ํ”„๋กœ์ ํŠธ(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)์˜ ์ •๋ณด, ๋ฐ์ดํ„ฐ
  • ๊ทœ์น™ - ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ์ง‘ํ•˜๊ธธ ์›ํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค
            - View๋‚˜ Controller์— ๋Œ€ํ•ด์„œ ์–ด๋–ค ์ •๋ณด๋„ ์•Œ์ง€ ๋ง์•„์•ผํ•œ๋‹ค
            - ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋ฉด, ๋ณ€๊ฒฝ ํ†ต์ง€์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด์•ผ๋งŒ ํ•œ๋‹ค
       

2-2. View ๋ทฐ

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ๋ถ€๋ถ„, User Interfaca(UI) / ๋ฐ์ดํ„ฐ ๋ฐ ๊ฐ์ฒด์˜ ์ž…๋ ฅ, ์ถœ๋ ฅ 
  • ๊ทœ์น™ - ๋ชจ๋ธ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •๋ณด๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค
            - ๋ชจ๋ธ์ด๋‚˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ ๊ฐ™์ด ๋‹ค๋ฅธ ๊ตฌ์„ฑ์š”์†Œ๋“ค์„ ๋ชฐ๋ผ์•ผ ํ•œ๋‹ค
            - ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋ฉด ๋ณ€๊ฒฝํ†ต์ง€์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด์•ผ๋งŒ ํ•œ๋‹ค

2-3. Contoller ์ปจํŠธ๋กค๋Ÿฌ

  • Model(๋ฐ์ดํ„ฐ)๊ณผ View(์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค)์˜ ์‚ฌ์ด๋ฅผ ์ด์–ด์ฃผ๋Š” ๋‹ค๋ฆฌ์—ญํ• 
  • ๊ทœ์น™ - ๋ชจ๋ธ์ด๋‚˜ ๋ทฐ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค
            - ๋ชจ๋ธ์ด๋‚˜ ๋ทฐ์˜ ๋ณ€๊ฒฝ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•ด์•ผํ•œ๋‹ค

3. MVC ํŒจํ„ด ์‚ฌ์šฉ์ด์œ 

  •  ๋น„์ฆˆ๋‹ˆ์Šค๋กœ์ง๊ณผ UI๋กœ์ง์„ ๋ถ„๋ฆฌ   ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋†’์Œ
  • ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์Œ
  • Model, View๊ฐ€ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค์— ์ข…์†๋˜์ง€ ์•Š์•„ ํ™•์žฅ์„ฑ, ์œ ์—ฐ์„ฑ์— ์œ ๋ฆฌ
  • ๊ธฐ๋Šฅ๋ณ„๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌ → ๊ฐ€๋…์„ฑ, ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€

 

4. MVC ํŒจํ„ด ํ•œ๊ณ„

  • ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ปค์ง€๋Š” ํ˜„์ƒ ๋ฐœ์ƒ
  • ์ปจํŠธ๋กค๋Ÿฌ์— ๋‹ค์ˆ˜์˜ model๊ณผ view๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š” ์ƒํ™ฉ ๋ฐœ์ƒ๊ฐ€๋Šฅ

 

5. MVC ํŒจํ„ด์˜ ์˜ˆ

  • Google์˜ Angular JS
  • PHP์˜ CODEIGNITER
  • Python์˜ django
  • Facebook์˜ React๋“ฑ

 

์ฐธ๊ณ ) https://readystory.tistory.com/114

 

๋””์ž์ธ ํŒจํ„ด(Design Pattern)์ด๋ž€?

๊ฐ์ฒด์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ '์ž˜' ์„ค๊ณ„ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์‰ฌ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋” ํž˜๋“ญ๋‹ˆ๋‹ค. ์„ค๊ณ„๋ฅผ ํ•  ๋•Œ์—๋Š” ์ง€๊ธˆ ๋‹น์žฅ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด

readystory.tistory.com

 

์ฐธ๊ณ ) https://cocoon1787.tistory.com/733

 

[๊ฐœ๋ฐœ์ƒ์‹] MVC ํŒจํ„ด์ด๋ž€? (Model-View-Controller)

๐Ÿš€ ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ๊ฐœ๋ฐœ์ž ๋ฉด์ ‘์—์„œ ์ž์ฃผ ๋‚˜์˜ค๋Š” ์งˆ๋ฌธ ์ค‘์˜ ํ•˜๋‚˜์ธ "MVCํŒจํ„ด"์— ๋Œ€ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. MVCํŒจํ„ด์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ , ์‚ฌ์šฉ ์˜ˆ์‹œ ๋“ฑ๋“ฑ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ก MVC ํŒจํ„ด์ด๋ž€?

cocoon1787.tistory.com

 

์ฐธ๊ณ ) https://zwzwzw123-daily-daily.tistory.com/94

 

[CS์ง€์‹ - ๊ฐœ๋ฐœ ์ƒ์‹] MVC ํŒจํ„ด

1. ๋””์ž์ธ ํŒจํ„ด ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ๊ณผ์ •์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•œ ์ „ํ˜•์ ์ธ ํ•ด๊ฒฐ์ฑ… →SW์—์„œ ์„ค๊ณ„์  ๊ด€์ ์œผ๋กœ ์ข€ ๋” ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•(ํŒจํ„ด) MVCํŒจํ„ด ๋˜ํ•œ ๋””์ž์ธํŒจํ„ด์˜ ํ•œ ์ข…

zwzwzw123-daily-daily.tistory.com

 

1. Git

  • Version Control System(VCS)๋กœ ๋กœ์ปฌ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๋ฒ„์ „๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ
  • ์†Œ์Šค์ฝ”๋“œ ์ˆ˜์ •์— ๋‹ค๋ฅธ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ

* VCS : ํŒŒ์ผ ๋ณ€ํ™”๋ฅผ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ธฐ๋กํ–ˆ๋‹ค๊ฐ€ ํŠน์ • ์‹œ์ ์˜ ๋ฒ„์ „์„ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ

  • ์ฝ”๋“œ์™€ ์ˆ˜์ •๋‚ด์—ญ์„ ๊ธฐ๋ก/๊ด€๋ฆฌํ•˜๋„๋ก ๋•๋Š” ๋ฒ„์ „๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ
  • ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ/๋ณต๊ตฌ/์‚ญ์ œ/๋ณ‘ํ•ฉ ๊ฐ€๋Šฅ
  • ํ˜ผ์ž ์ž‘์—…ํ•˜๊ฑฐ๋‚˜ ํ์‡„์ ์ธ ๋ฒ”์œ„์˜ ํ˜‘์—…
  • ๊ฐœ๋ฐœ์ž์™€ ์‹ค์‹œ๊ฐ„ ์ž‘์—…๊ณต์œ  ๋ถˆ๊ฐ€๋Šฅ(๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ)

 

2. Github

  • ํด๋ผ์šฐ๋“œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • Git Repository๋ฅผ ์œ„ํ•œ ์›น๊ธฐ๋ฐ˜ ํ˜ธ์ŠคํŒ…์„œ๋น„์Šค
  • ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„(์ž์ฒด๊ตฌ์ถ•x)๋ฅผ ์‚ฌ์šฉํ•ด ๋กœ์ปฌ์—์„œ ๋ฒ„์ „๊ด€๋ฆฌํ•œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ๊ณต์œ ๊ฐ€๋Šฅ
  • ์ €์žฅ์†Œ๋ฅผ ๊นƒํ—ˆ๋ธŒ์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๋ฅผ ์ด์šฉ
  • ํ˜‘์—…์‹œ ์˜คํ”ˆ์†Œ์Šค ๊ณต์œ ๊ฐ€๋Šฅ

 

3. Git ๊ด€๋ จ ์šฉ์–ด

  • ๋กœ์ปฌ ์ €์žฅ์†Œ(local repository) : ๋‚ด PC์—์„œ ๊ด€๋ฆฌํ•˜๋Š” git์ €์žฅ์†Œ
  • ์›๊ฒฉ ์ €์žฅ์†Œ(remote repository) : ๋กœ์ปฌ์ €์žฅ์†Œ๋ฅผ ์—…๋กœ๋“œ ํ•˜๋Š” ๊ณณ (ex. GitHub, Bitbucket,GitLab ๋“ฑ)
  • Staging Area(Index) : ์ž‘์—… ํด๋”์—์„œ ์ž‘์—…ํ•œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ(git์ €์žฅ์†Œ์— commitํ•˜๊ธฐ ์ „ ์˜ฌ๋ ค๋‘๋Š” ๊ณต๊ฐ„) 
  • ์ปค๋ฐ‹(commit) : Git(๋กœ์ปฌ ์ €์žฅ์†Œ)์— ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๋Š” ์ž‘์—…
  • ํ‘ธ์‰ฌ(push) : Github(๋˜๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ)์— ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๋Š” ์ž‘์—…
  • ํ’€(pull) : Github(๋˜๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ)์— ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ์ž‘์—…
  • ๋จธ์ง€(merge) : ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ

 

3-1. commit type

  • feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • fix : ๋ฒ„๊ทธ ์ˆ˜์ •
  • docs : ๋ฌธ์„œ ์ˆ˜์ •
  • style : ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ
  • refector : ์ฝ”๋“œ ๋ฆฌํŽ™ํ† ๋ง
  • test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ๋ฆฌํŽ™ํ† ๋ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
  • chore : ๋นŒ๋“œ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •

 

4. Git์˜ 3๊ฐ€์ง€ ์˜์—ญ

  • Working Directory : ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋””๋ ‰ํ† ๋ฆฌ
  • Staging Area : ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด $git add ๋ช…๋ น์–ด๋กœ ์ถ”๊ฐ€ํ•œ ํŒŒ์ผ๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ๊ณต๊ฐ„ 
  • Repository : ์ปค๋ฐ‹๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ์ €์žฅ์†Œ

 

5. Staging Area

์–ด๋–ค ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ €์žฅ์†Œ์— ์ปค๋ฐ‹๋˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๊ฑฐ์ณ์•ผํ•˜๋Š” ์ค‘๊ฐ„๋‹จ๊ณ„์ด๋‹ค.

Staging Area์— ์ถ”๊ฐ€ํ•œ ํŒŒ์ผ๋“ค์„ commit ํ•˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ ์ €์žฅ์†Œ(Repository)์— ์ €์žฅ๋œ๋‹ค.

 

 

6. ์ •๋ฆฌ

Git์€ ๋ฒ„์ „๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์ด๊ณ 

Github๋Š” ๋ฒ„์ „๊ด€๋ฆฌ, ์†Œ์Šค์ฝ”๋“œ ๊ณต์œ , ๋ถ„์‚ฐ๋ฒ„์ „์ œ์–ด ๋“ฑ์ด ๊ฐ€๋Šฅํ•œ ์›๊ฒฉ ์ €์žฅ์†Œ๋‹ค.

+ Recent posts