Code States | Development ๊ธฐ์ดˆ

yeonkยท2022๋…„ 4์›” 27์ผ
1

codestates-backend-bootcamp

๋ชฉ๋ก ๋ณด๊ธฐ
2/19
post-thumbnail

๐Ÿ’กKeyword

  • ์ปดํ“จํ„ฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ(ํ”„๋กœ๊ทธ๋žจ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ์ปดํŒŒ์ผ, ๋นŒ๋“œ, IDE)
  • ์›น ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„






1. ์ปดํ“จํ„ฐ์˜ ์ดํ•ด


๋ฐ์ดํ„ฐ ์ž…๋ ฅ โ†’ ๊ทœ์น™(ํ”„๋กœ๊ทธ๋žจ)์— ๋งž๊ฒŒ ์ฒ˜๋ฆฌ(์—ฐ์‚ฐ) โ†’ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ ์ €์žฅ & ์ถœ๋ ฅ

  • ์ž…๋ ฅ: ์ž…๋ ฅ ์žฅ์น˜๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ

  • ๊ทœ์น™(ํ”„๋กœ๊ทธ๋žจ): ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

  • ์ฒ˜๋ฆฌ(์—ฐ์‚ฐ): ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜๋ฅผ ํ†ตํ•œ ์—ฐ์‚ฐ

  • ์ €์žฅ: ๊ธฐ์–ต์žฅ์น˜๋ฅผ ํ†ตํ•ด ์ €์žฅ

  • ์ถœ๋ ฅ: ์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฌผ ์ถœ๋ ฅ











1-1. ๊ตฌ์„ฑ ์š”์†Œ


์ปดํ“จํ„ฐ์˜ ๊ตฌ์„ฑ : ์†Œํ”„ํŠธ์›จ์–ด + ํ•˜๋“œ์›จ์–ด






1-2. ์†Œํ”„ํŠธ์›จ์–ด


  • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌ X
  • ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ๋ช…๋ น์–ด ์ง‘ํ•ฉ
  • ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด + ์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด

์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด (System Software)

  • ์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด ์‹คํ–‰์„ ์œ„ํ•œ ํ”Œ๋žซํผ ์—ญํ•  ์ˆ˜ํ–‰ (์‹คํ–‰ ํ™˜๊ฒฝ)
  • ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ†ต, ํ•˜๋“œ์›จ์–ด ์žฅ์น˜ ๊ด€๋ฆฌ



์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด (Application Software)

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์•ฑ
  • ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ์™ธ์˜ ์†Œํ”„ํŠธ์›จ์–ด






1-3. ํ•˜๋“œ์›จ์–ด


  • ์ปดํ“จํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜๋“ค์˜ ์ง‘ํ•ฉ
  • ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ + ๊ธฐ์–ต์žฅ์น˜ + ์ž…๋ ฅ์žฅ์น˜ + ์ถœ๋ ฅ์žฅ์น˜ โ†’ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋กœ ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ

์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ (Central Processing Unit, CPU)

  • ํ”„๋กœ์„ธ์„œ๋ผ๊ณ ๋„ ํ•จ

  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

  • ์ œ์–ด์žฅ์น˜, ์—ฐ์‚ฐ์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ

    • ์ œ์–ด์žฅ์น˜: ๋ฐ์ดํ„ฐ ํ๋ฆ„ ํ†ต์ œ ๋ฐ ๊ด€๋ฆฌ, ์ž์› ๊ด€๋ฆฌ, OS์™€ ์†Œํ†ต
    • ์—ฐ์‚ฐ์žฅ์น˜: ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์–ด ์ˆ˜ํ–‰
    • ๋ ˆ์ง€์Šคํ„ฐ: CPU ๋‚ด ๊ธฐ์–ต์žฅ์น˜, ์—ฐ์‚ฐ์žฅ์น˜ ๋™์ž‘์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ž„์‹œ ๋ณด๊ด€



๊ธฐ์–ต์žฅ์น˜ (Memory Device)

  • CPU์˜ ๋™์ž‘์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋ณด๊ด€
  • ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜(์žฅ๊ธฐ์  ์ €์žฅ ์žฅ์น˜) + ์ฃผ๊ธฐ์–ต์žฅ์น˜(๋‹จ๊ธฐ์  ๋ฐ์ดํ„ฐ ์ €์žฅ ์žฅ์น˜)
  • ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜
    • ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ
    • ํฐ ์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ฐ€๋Šฅ
    • ์†๋„ ๋Š๋ฆผ
    • ๋Š๋ฆฐ ์ฒ˜๋ฆฌ ์†๋„๋กœ CPU์™€ ์ง์ ‘์ ์ธ ์†Œํ†ต X
    • SSD(Solid State Drive), HDD (Hard Disk Drive)



  • ์ฃผ๊ธฐ์–ต์žฅ์น˜
    • ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ €์žฅ
    • ํฐ ์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ถˆ๊ฐ€๋Šฅ
    • ์ฒ˜๋ฆฌ ์†๋„ ๋น ๋ฆ„
    • CPU์™€ ์ง์ ‘์ ์œผ๋กœ ์†Œํ†ต
    • RAM(Random Access Memory), ROM (Read Only Memory)



  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ (Cache Memory)
    • CPU ์—ฐ์‚ฐ ์†๋„์™€ ๋น„๊ตํ•ด ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์†๋„๋Š” ๋Š๋ฆผ
    • CPU๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ์ค‘ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์—์„œ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•˜์—ฌ ๋Œ€๊ธฐ์‹œํ‚ด



  • ๊ธฐ์–ต์žฅ์น˜์˜ ๊ณ„์ธต๊ตฌ์กฐ

์ถœ์ฒ˜: https://velog.io/@asdfg5415/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EC%A0%80%EC%9E%A5%EC%9E%A5%EC%B9%98
  • ๋กœ๋”ฉ(Loading): CPU์˜ ์ž‘์—…์„ ์œ„ํ•ด ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์—์„œ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ํ”„๋กœ๊ทธ๋žจ ํŒŒ์ผ์„ ์˜ฎ๊ฒจ์˜ค๋Š” ๊ณผ์ •

  • ํ”„๋กœ์„ธ์Šค: ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์–ด ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ






์ž…๋ ฅ์žฅ์น˜ (Input Device)

  • ์‚ฌ์šฉ์ž โ†’ ์ปดํ“จํ„ฐ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š” ์žฅ์น˜
  • ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ๋งˆ์ดํฌ ๋“ฑ



์ถœ๋ ฅ์žฅ์น˜ (Output Device)

  • ์ปดํ“จํ„ฐ โ†’ ์‚ฌ์šฉ์ž ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์žฅ์น˜
  • ๋ชจ๋‹ˆํ„ฐ, ์Šคํ”ผ์ปค, ํ”„๋ฆฐํ„ฐ ๋“ฑ



์‹œ์Šคํ…œ ๋ฒ„์Šค (System Bus)

  • ํ•˜๋“œ์›จ์–ด ์žฅ์น˜ ๊ฐ„์˜ ํ†ต๋กœ(ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ์ „์„ )
  • ๋ฐ์ดํ„ฐ ๋ฒ„์Šค: ํ•˜๋“œ์›จ์–ด ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ํ†ต๋กœ
  • ์ฃผ์†Œ ๋ฒ„์Šค: ๋ฐ์ดํ„ฐ ๋„์ฐฉ์ง€์— ๋Œ€ํ•œ ์ •๋ณด ์ „๋‹ฌ ํ†ต๋กœ
  • ์ œ์–ด ๋ฒ„์Šค: CPU์˜ ์ œ์–ด์žฅ์น˜์˜ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋‹ค๋ฅธ ์žฅ์น˜ ์ „๋‹ฌํ•˜๋Š” ํ†ต๋กœ






2. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ดํ•ด


2-1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ


  • ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •
  • ๋ชฉ์  ๋‹ฌ์„ฑ์„ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธ



ํ”„๋กœ๊ทธ๋žจ


ํ”„๋กœ๊ทธ๋žจ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฒฐ๊ณผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์€ ์–ด๋– ํ•œ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ปดํ“จํ„ฐ ๋ช…๋ น๋ฌธ์˜ ์ง‘ํ•ฉ์ฒด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด


์ปดํ“จํ„ฐ๊ฐ€ ์‚ฌ๋žŒ์˜ ์–ธ์–ด๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด ์‚ฌ์šฉ ํ•„์š”
โ†’ ์ปดํ“จํ„ฐ์˜ ์–ธ์–ด์™€ ์‚ฌ๋žŒ์˜ ์–ธ์–ด ๋งค๊ฐœ์˜ ํ•„์š”์„ฑ

  • ์ €์ˆ˜์ค€ ์–ธ์–ด: ๊ธฐ๊ณ„์–ด์™€ ๊ฐ™์ด ์ปดํ“จํ„ฐ์—๊ฒŒ ๊ฐ€๊นŒ์šด ์–ธ์–ด

  • ๊ณ ์ˆ˜์ค€ ์–ธ์–ด: ์‚ฌ๋žŒ๊ณผ ๊ฐ€๊นŒ์šด ์–ธ์–ด (Java, C ๋“ฑ)






2-2. ์ปดํŒŒ์ผ


  • ์ปดํ“จํ„ฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ ์ดํ•ด X โ†’ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ๊ณผ์ • ํ•„์š”
  • ์ปดํŒŒ์ผ(Compile): ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ณผ์ •



๋นŒ๋“œ


์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€ํ™˜์‹œํ‚ค๋Š” ๊ณผ์ •
ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์œ„ํ•ด .exe๋˜๋Š” .msi ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ์‹คํ–‰ ํŒŒ์ผ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋นŒ๋“œ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋ฉฐ, ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์–ด์•ผ ์†Œ์Šค ์ฝ”๋“œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•จ






2-3. ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ (Integrated Development Environment, IDE)


์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ํ•„์š”ํ•œ ์ž‘์—…์„ ํ•˜๋‚˜์˜ ํ™˜๊ฒฝ์—์„œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ(๋””๋ฒ„๊น…, ๋นŒ๋“œ ๋“ฑ)

  • Visual Studio Code, IntelliJ, Eclipse ๋“ฑ






3. ์›น ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„







3-1. 2-Tier Architecture


ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜
๋ฆฌ์†Œ์Šค๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ณณ๊ณผ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ์„ ๋ถ„๋ฆฌํ•œ ๊ฒƒ

  • ํด๋ผ์ด์–ธํŠธ(Client) โ†’ ์‚ฌ์šฉ, ์š”์ฒญ

  • ์„œ๋ฒ„(Server) โ†’ ์ œ๊ณต, ์‘๋‹ต






3-2. 3-Tier Architecture


ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ๋ฆฌ์†Œ์Šค ์ €์žฅ






4. ์ฐธ๊ณ  ์ž๋ฃŒ


[์›น ์•„ํ‚คํ…์ฒ˜] 2-tier์™€ 3-tier

0๊ฐœ์˜ ๋Œ“๊ธ€