๊ธ€ ์ž‘์„ฑ์ž: ์ด์ง€์›๐ŸŒฉ๏ธ

์ด ๊ธ€์€ [๋ถ€์ŠคํŠธ์ฝ”์Šค] ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณผ์ •์˜ 1. ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ - 1. Web๊ฐœ๋ฐœ์˜ ์ดํ•ด - FE/BE ์—์„œ 1~3 ๊นŒ์ง€์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.


1) ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด๋“ค

์ €๊ธ‰ ์–ธ์–ด

  • ๊ธฐ๊ณ„ ์ค‘์‹ฌ์˜ ์–ธ์–ด
  • ์ „๊ธฐ์‹ ํ˜ธ์ธ ์ผœ์กŒ๋‹ค(on)์™€ ๊บผ์กŒ๋‹ค(off) 2๊ฐ€์ง€ ์ƒํƒœ ๊ฐ’์œผ๋กœ ๋™์ž‘
    • ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ผœ์กŒ๋‹ค๋Š” 1, ๊บผ์กŒ๋‹ค๋Š” 0์„ ์˜๋ฏธ
    • 0๊ณผ 1๋กœ ํ‘œํ˜„๋˜๋Š” ์ˆซ์ž๋ฅผ 2์ง„์ˆ˜๋ผ๊ณ  ํ•จ
      • 2์ง„์ˆ˜๋กœ ์ด๋ค„์ง„ ๊ฐ’์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด : ๊ธฐ๊ณ„์—ฌ(Machine Language)
        • ์ˆซ์ž๋กœ๋งŒ ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์œ ์ง€๋ณด์ˆ˜/์‚ฌ์šฉ์ด ์–ด๋ ค์›€
        • ์ˆซ์ž๋กœ ๋œ ๋ฌธ์žฅ๊ณผ 1:1๋กœ ๋Œ€์‘ํ•˜๋Š” ๊ธฐํ˜ธ๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ๊ธฐํ˜ธ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ๊ธฐํ˜ธ๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ๊ธฐ๊ณ„๊ฐ€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐํ˜ธ๋กœ ์ž‘์„ฑ๋œ ๋ฌธ์žฅ๋“ค์„ ์›๋ž˜์˜ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”
    • ์ด๋Ÿฌํ•œ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ : ์ปดํŒŒ์ผ๋Ÿฌ(Compiler)
    • ๊ธฐํ˜ธ๋กœ ์ž‘์„ฑ๋œ ์–ธ์–ด : ์–ด์…ˆ๋ธ”๋ฆฌ์–ด(Assembly Language)

๊ณ ๊ธ‰ ์–ธ์–ด

  • ์‚ฌ๋žŒ ์ค‘์‹ฌ์˜ ์–ธ์–ด
  • ๊ธฐ๊ณ„์–ด ← (์ปดํŒŒ์ผ) ← ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ← (์ปดํŒŒ์ผ) ← ๊ณ ๊ธ‰ ์–ธ์–ด
๐Ÿ’ก ์ƒ๊ฐํ•ด๋ณด๊ธฐ
Q1. ํ”„๋ก ํŠธ ์—”๋“œ๋ถ€ํ„ฐ ์„œ๋ฒ„ ๊ฐœ๋ฐœ๊นŒ์ง€ ํ•œ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•œ๋‹ค๋ฉด ์–ด๋–ค ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š”?
A1. Javascript 

Q2. ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์‰ฌ์šด ๊ฐœ๋ฐœ, ์ฝ๊ธฐ ์‰ฝ๊ณ  ์ ์€ ์ฝ”๋“œ๋ฅผ ์žฅ์ ์œผ๋กœ ํ•œ๋‹ค๋ฉด ์–ด๋–ค ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š”?
A2. Python

Q3. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—๊ฒŒ ์ข‹์€ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์–ด๋–ค ์žฅ์ ์„ ๊ฐ€์งˆ๊นŒ์š”?
A3. ์–ธ์–ด ์ž…๋ฌธ์ž๊ฐ€ ์ฐธ๊ณ ํ• ๋งŒํ•œ ์ž๋ฃŒ๋“ค์ด ๋งŽ๋‹ค. ํŠนํžˆ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์ด ๋งŽ์„ ๊ฑฐ ๊ฐ™๋‹ค.

 

2) ์›น์˜ ๋™์ž‘ (HTTP ํ”„๋กœํ† ์ฝœ ์ดํ•ด)

์ธํ„ฐ๋„ท(๋„คํŠธ์›Œํฌ ํ†ต์‹ )์˜ ์ดํ•ด

  • ์ธํ„ฐ๋„ท ≠ WWW(World Widw Web)

    ์ด๋ฆ„ ํ”„๋กœํ† ์ฝœ ํฌํŠธ ๊ธฐ๋Šฅ
    WWW HTTP 80 ์›น ์„œ๋น„์Šค
    Email SMTP, POP3, IMAP 25, 110, 114 ์ด๋ฉ”์ผ ์„œ๋น„์Šค
    FTP FTP 21 ํŒŒ์ผ ์ „์†ก ์„œ๋น„์Šค
    DNS TCP, UDP 53 ๋„ค์ž„ ์„œ๋น„์Šค
    NEWS NNTP 119 ์ธํ„ฐ๋„ท ๋‰ด์Šค ์„œ๋น„์Šค
  • ์ธํ„ฐ๋„ท (Internet)

    TCP/IP ๊ธฐ๋ฐ˜์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ „์„ธ๊ณ„์ ์œผ๋กœ ํ™•๋Œ€๋˜์–ด ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ๋“ค์˜ ๋„คํŠธ์›Œํฌ (๋„คํŠธ์›Œํฌ์˜ ๊ฒฐํ•ฉ์ฒด)

HTTP(Hypertext Transfer Protocol)๋ž€?

  • ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ(Tim Berners-Lee)์™€ ๊ทธ๊ฐ€ ์†ํ•œ ํŒ€์€ CERN์—์„œ HTML๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฐ ์›น ๋ธŒ๋ผ์šฐ์ € ๊ด€๋ จ ๊ธฐ์ˆ ๊ณผ HTTP ๋ฅผ ๋ฐœ๋ช…
  • ๋ฌธ์„œํ™”๋œ ์ตœ์ดˆ์˜ HTTP ๋ฒ„์ „์€ HTTP v0.9(1991๋…„)
  • HTTP๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ(Protocol)
    • ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋„ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ค๊ณ„๋˜์–ด ์žˆ์Œ
  • HTTP๋Š” ๊ณ„์† ๋ฐœ์ „ํ•˜์—ฌ HTTP/2๊นŒ์ง€ ๋ฒ„์ „์ด ๋“ฑ์žฅํ•œ ์ƒํƒœ

HTTP ์ž‘๋™๋ฐฉ์‹

  • HTTP๋Š” ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ฆ„

    1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›ํ•˜๋Š” ์„œ๋ฒ„์— ์ ‘์†

    2. ํด๋ผ์ด์–ธํŠธ → (์š”์ฒญ) → ์„œ๋ฒ„

      • ์š”์ฒญ ๋ฉ”์„ธ์ง€
        • ์š”์ฒญ ํ—ค๋”
          • ์š”์ฒญ ๋ฉ”์„œ๋“œ ์š”์ฒญ URI(์š”์ฒญํ•˜๋Š” ์ž์›์˜ ์œ„์น˜๋ฅผ ๋ช…์‹œ) http ํ”„๋กœํ† ์ฝœ์˜ ๋ฒ„์ „
            • GET ๋ฐฉ์‹์€ ์š”์ฒญ ๋ฐ”๋””๊ฐ€ ์—†์Œ
        • ๋นˆ ์ค„
        • ์š”์ฒญ ๋ฐ”๋””
          • ์š”์ฒญ ๋ฉ”์„œ๋“œ๊ฐ€ PUT, POST ์ผ ๋•Œ ์‚ฌ์šฉ๋จ
    3. ํด๋ผ์ด์–ธํŠธ ← (์‘๋‹ต) ← ์„œ๋ฒ„

      • ์‘๋‹ต ๋ฉ”์„ธ์ง€
        • ์‘๋‹ต ํ—ค๋”
          • ์‘๋‹ต HTTP ํ”„๋กœํ† ์ฝœ์˜ ๋ฒ„์ „ ์‘๋‹ต ์ฝ”๋“œ ์‘๋‹ต ๋ฉ”์‹œ์ง€
          • ๋‚ ์งœ, ์›น ์„œ๋ฒ„ ์ด๋ฆ„๊ณผ ๋ฒ„์ „, ์ฝ˜ํ…์ธ  ํƒ€์ž…, ์บ์‹œ ์ œ์–ด ๋ฐฉ์‹, ์ฝ˜ํ…์ธ  ๊ธธ์ด ๊ฐ’
        • ๋นˆ ์ค„
        • ์‘๋‹ต ๋ฐ”๋””
          • ์‹ค์ œ ์‘๋‹ต ๋ฆฌ์†Œ์Šค ๋ฐ์ดํ„ฐ
    4. ์‘๋‹ต์ด ์ด๋ฃจ์–ด์ง€๊ณ  ๋‚˜๋ฉด ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฐ๊ฒฐ์ด ๋Š๊น€ = ๋ฌด์ƒํƒœ(Stateless)

      • ๋ฌด์ƒํƒœ(stateless) ํ”„๋กœํ† ์ฝœ
        • ์‘๋‹ต์„ ํ•˜๊ณ  ๋‚˜๋ฉด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š์Œ
        • ๋ถˆํŠน์ • ๋‹ค์ˆ˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์„œ๋น„์Šค์— ์ ํ•ฉ
        • ํด๋ผ์ด์–ธํŠธ์˜ ์ด์ „ ์ƒํ™ฉ์„ ์•Œ ์ˆ˜ ์—†์Œ
          • ์ด๋Ÿฌํ•œ ํŠน์ง• ๋•Œ๋ฌธ์— Cookie ๋ผ๋Š” ๊ธฐ์ˆ ์ด ์ƒ๊ฒผ์Œ

URL

  • URL (Uniform Resource Locator)
    • ์ธํ„ฐ๋„ท ์ƒ์˜ ์ž์›์˜ ์œ„์น˜
    • ํŠน์ • ์›น ์„œ๋ฒ„์˜ ํŠน์ • ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ ํ˜น์€ ์ฃผ์†Œ
    • ์ ‘๊ทผ ํ”„๋กœํ† ์ฝœ://IP ์ฃผ์†Œ ๋˜๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„/๋ฌธ์„œ์˜ ๊ฒฝ๋กœ/๋ฌธ์„œ์ด๋ฆ„
    • ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ์  ์ปดํ“จํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์„œ๋ฒ„๊ฐ€ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ์„œ๋ฒ„๋Š” ํฌํŠธ ๊ฐ’์ด ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ด๋Ÿฐ ํฌํŠธ ๊ฐ’์€ 0๋ณด๋‹ค ํฐ ์ˆซ์ž ๊ฐ’์ด๋‹ค.
    • http ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ํฌํŠธ ๊ฐ’์€ 80
๐Ÿ’ก ์ƒ๊ฐํ•ด๋ณด๊ธฐ  
Q. HTTP์— S๊ฐ€ ๋ถ™์€ HTTPS ๋Š” ์–ด๋–ค ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฑด๊ฐ€์š”? HTTP์™€ ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€์š”?  
A. HTTP์—์„œ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ ๋ฒ„์ „. ์ „์ž ์ƒ๊ฑฐ๋ž˜์— ์ฃผ๋กœ ์ด์šฉ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

3) ์›น Front-End์™€ ์›น Back-End

์›น ํ”„๋ก ํŠธ์—”๋“œ(Front-End)

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์›น์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ฝ˜ํ…์ธ (๋ฌธ์„œ, ๋™์˜์ƒ, ์‚ฌ์ง„ ๋“ฑ)์„ ์ œ๊ณต
  • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ(์š”๊ตฌ์‚ฌํ•ญ)์— ๋ฐ˜์‘ํ•ด์„œ ๋™์ž‘
  • ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ(Client-Side) ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„

์›น ํ”„๋ก ํŠธ์—”๋“œ์˜ ์—ญํ• 

  • HTML : ์›น ์ฝ˜ํ…์ธ ๋ฅผ ์ž˜ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•จ (์‹ ๋ฌธ, ์ฑ… ๋“ฑ)
    • ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ
  • CSS : ์ ์ ˆํ•œ ๋ฐฐ์น˜์™€ ์ผ๊ด€๋œ ๋””์ž์ธ ๋“ฑ์„ ์ œ๊ณตํ•ด์•ผ ํ•จ (๋ณด๊ธฐ ์ข‹๊ฒŒ)
  • JavaScript : ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ์ž˜ ๋ฐ˜์˜ํ•ด์•ผ ํ•จ (์†Œํ†ตํ•˜๋“ฏ์ด)

๋ฒก์—”๋“œ(Back-end)

  • ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ €์žฅ, ์š”์ฒญ์— ๋”ฐ๋ผ ์ •๋ณด๋ฅผ ๋‚ด๋ ค์ฃผ๋Š” ์—ญํ• 
  • ํ”„๋กœ๊ทธ๋žจ์˜ ๋’ท ๋ถ€๋ถ„, ์ฆ‰ ์„œ๋ฒ„ ์ž…์žฅ์—์„œ์˜ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰
  • ์„œ๋ฒ„ ์‚ฌ์ด๋“œ(Server-Side) ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„
  • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•˜๋ ค๋ฉด?
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Java, Python, PHP, Javascript ๋“ฑ)
    • ์›น์˜ ๋™์ž‘ ์›๋ฆฌ
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜(algorithm), ์ž๋ฃŒ๊ตฌ์กฐ ๋“ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฐ˜ ์ง€์‹
    • ์šด์˜์ฒด์ œ, ๋„คํŠธ์›Œํฌ ๋“ฑ์— ๋Œ€ํ•œ ์ดํ•ด
    • ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ดํ•ด(ex. Spring)
    • DBMS์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์‚ฌ์šฉ๋ฐฉ๋ฒ• (ex. MySQL, Oracle ๋“ฑ)
๋ฐ˜์‘ํ˜•