π/Computer Science (14) μΈλ€μΌν 리μ€νΈν [Web] μΉ νμ€, μΉ μ κ·Όμ±, μΉ νΈνμ±μ΄λ? π μΉ νμ€ (Web Standards) μ΄λ? μΉ νμ€μ΄λ 'μΉμμ νμ€μ μΌλ‘ μ¬μ©λλ κΈ°μ μ΄λ κ·μΉ'μ μλ―Ένλ€. νμ€ν λ¨μ²΄μΈ W3Cκ° κΆκ³ ν νμ€μμ λ°λΌ μΉ μ¬μ΄νΈλ₯Ό μμ±ν λ μ΄μ©νλ HTML, CSS, JavaScript λ±μ λν κ·μ μ΄ λ΄κ²¨ μλ€. μΉ νμ€μ κΆκ·Ήμ μΈ λͺ©μ μ μΉμ¬μ΄νΈμ μ μν μ¬μ©μκ° μ΄λ ν μ΄μ체μ λ λΈλΌμ°μ λ₯Ό μ¬μ©νλλΌλ λμΌν κ²°κ³Όλ₯Ό 보μ΄κ² νλ κ²μ΄λ€. π μΉ μ κ·Όμ± (Web Accessibility) μ΄λ? μΉ μ κ·Όμ±μ΄λ μ₯μ μΈ, κ³ λ Ήμ λ± λͺ¨λ μ¬μ©μκ° μ΄λ ν κΈ°μ μ΄λ νκ²½μμλ μ λ¬Έμ μΈ λ₯λ ₯ μμ΄ μΉ μ¬μ΄νΈμμ μ 곡νλ λͺ¨λ μ 보λ₯Ό λλ±νκ² μ κ·Όνκ³ μ΄ν΄ν μ μλ κΆλ¦¬λ₯Ό μλ―Ένλ€. μΉ νμ€μ μ€μν¨μΌλ‘μ¨ λ€μν λΈλΌμ°μ νκ²½μ λμμ΄ κ°λ₯νλ©° ν΄λν°, PDA.. [Web] λ°μν μΉμ΄λ? / λ°μν vs μ μν π λ°μν μΉ (Responsive Web) μ΄λ? μμλλ‘ PC - Tablet - Mobile νλ©΄ λ°μν μΉμ΄λ κ°μ’ λλ°μ΄μ€ λλ λͺ¨λν° ν΄μλμ λ°λΌ 컨ν μΈ λ€μ μ¬μ΄μ¦, λ μ΄μμ λ±μ΄ μ λμ μΌλ‘ λ°λλ μΉμ λ§νλ€. μΌλ°μ μΌλ‘ float, flex, % λ±μ μ¬μ©νμ¬ μ λμ μΌλ‘ λ°μν μ μλλ‘ νλ€. 1 2 3 4 5 @media screen and (max-width: 767px){ .container{ width: 50%; } } Colored by Color Scripter cs λ―Έλμ΄ μΏΌλ¦¬λ₯Ό μ¬μ©νμ¬ λλ°μ΄μ€λ₯Ό μ§μ νμ¬ νλ©΄ ν¬κΈ°μ λ°λΌ λ°λλ μΉμ μ μνλ€. π λ°μν μΉ (Responsive Web) vs μ μν μΉ (Adaptive Web) μ°¨μ΄μ λ°μν μΉμ λλ°μ΄μ€μ λ°λΌ νλ©΄.. SPAλ? SSR vs CSR μ°¨μ΄μ π SPA(Single Page Application)λ? κΈ°μ‘΄ μ΄ν리μΌμ΄μ μ νλ©΄ μ΄λ μ νλ©΄μ νμν HTMLμ μλ²λ‘λΆν° λ°μμ μ²μλΆν° λ€μ λ‘λ©νκΈ° λλ¬Έμ μλκ° λ리λ€. λ°λ©΄ SPAλ μ΅μ΄ ν λ² νμ΄μ§ μ 체λ₯Ό λ‘λ©ν ν μ΄νλΆν°λ μΌλΆ λ°μ΄ν°λ§ λ³κ²½νμ¬ νλ©΄μ ꡬμ±νκΈ° λλ¬Έμ μλκ° λΉ λ₯΄λ€. SPA νλ μμν¬λ‘λ React, Vue, Angular λ±μ΄ μλ€. π SSR(Server Side Rendering) vs CSR(Client Side Rendering) βͺ SSR β μλ² - λΈλΌμ°μ μκ² HTML μλ΅ β‘ λΈλΌμ°μ - λΈλΌμ°μ λ λλ§ -> νμ΄μ§ 보μ¬μ§ β’ λΈλΌμ°μ - JS λ€μ΄ β£ λΈλΌμ°μ - 리μ‘νΈ μ€ν β€ νμ΄μ§ μνΈμμ© κ°λ₯ βͺ CSR β μλ² - λΈλΌμ°μ μκ² μλ΅ β‘ λΈ.. [보μ] CORSλ? π CORS(Cross-Origin Resource Sharing)λ? CORSλ μΆκ°μ μΈ HTTP μμ² ν€λλ₯Ό μ¬μ©νμ¬ μλ‘ λ€λ₯Έ λλ©μΈμ μΉ λΈλΌμ°μ μ μλ²κ° 리μμ€ μμ²κ³Ό μλ΅μ μ£Όκ³ λ°μ μ μκ² νλ λ°©λ²μ λ§νλ€. π CORSλ μ νμν κΉ? μΉ λΈλΌμ°μ κ° λ€λ₯Έ λλ©μΈμ μλ²λ‘ 리μμ€ μμ²μ ν λ κ°μΈμ 보 μ μΆ, νΌμ± μ¬μ΄νΈμ κ°μ 보μμμ μνμ΄ μμ μ μκΈ° λλ¬Έμ νμ©ν μΉ λΈλΌμ°μ λ§ μλ²μ μμ²ν μ μλλ‘ νκΈ° μν΄ μ¬μ©νλ€. π CORSλ μ΄λ»κ² λμν κΉ? μΉ λΈλΌμ°μ μμλ μμ² ν€λμ CORS κ΄λ ¨ μ΅μ μ λ£μ΄μ£Όκ³ , μλ²μμλ μμ² ν€λμ ν΄λΉ μΉ λΈλΌμ°μ μ μμ²μ νμ©νλ€λ λ΄μ©μ λ£μ΄μ€λ€. π μ°Έκ³ μλ£ CORSμ΄ λμ€κ² λ λ°°κ²½ μ΄μΌκΈ° CORSλ 무μμΈκ°? π‘ κ°μ΄ 보면 μ’.. λΌμ΄λΈλ¬λ¦¬(Library) vs νλ μμν¬(Framework) μ°¨μ΄μ λΌμ΄λΈλ¬λ¦¬κ° κ°κ° κ°λ³μ μΈ κΈ°λ₯μ νλ μ½λλΌκ³ νλ©΄, νλ μμν¬λ μ΄κ²λ€μ΄ μ°κ²°λμ΄ κΈ°μ΄μ μΈ ννλ₯Ό κ°μΆ μ½λ 'ν'μ΄λ€. λ λ€ λκ΅°κ°κ° μ§λμ μ½λλ₯Ό μ¬μ©νλ€λ μ μμ λΉμ·νλ€. λΌμ΄λΈλ¬λ¦¬λ λκ΅°κ°κ° μ§λμ μ½λλ₯Ό κ°μ Έλ€ μ°λ κ²μ΄κ³ , νλ μμν¬λ νλ μμν¬μμ μ 곡νλ κΈ°λ³Έ ν μμμ λ΄κ° μ½λλ₯Ό λ§λΆμ¬ μ°λ κ²μ΄λ€. λΌμ΄λΈλ¬λ¦¬ : λ΄κ° 컨νΈλ‘€νμ¬ μ½λ©νλ€. (λ΄κ° κ°) νλ μμν¬ : νλ μμν¬μ κ·μΉμ λ°λΌ μ½λ©νλ€. (νλ μμν¬κ° κ°) π μ°Έκ³ μλ£ λΌμ΄λΈλ¬λ¦¬? νλ μμν¬? μ°¨μ΄μ MVC μΉ νλ μμν¬κ° λκ°μ? [ν¨ν€μ§λ§€λμ ] package.jsonμ΄λ? π package.jsonμ΄λ? νλ‘μ νΈ μ 보λ₯Ό κ΄λ¦¬νλ νμΌμ΄λ€. μ΄λ κ³³μμλ λμΌν κ°λ°νκ²½μ ꡬμΆν μ μκ² ν΄μ€λ€. π dependencies vs devDependencies dependenciesλ ν¨ν€μ§μ λ°°ν¬ μ ν¬ν¨λ μμ‘΄μ± λͺ¨λμ μ§μ νλ€. devDependenciesλ ν¨ν€μ§μ κ°λ° μ μ¬μ©λ μμ‘΄μ± λͺ¨λμ μ§μ νλ€. π μ°Έκ³ μλ£ μ²μ μμνλ Node.js κ°λ° π‘ κ°μ΄ 보면 μ’μ Post [ν¨ν€μ§λ§€λμ ] npmμ΄λ? π npm(Node Package Manager)μ΄λ? λ§ κ·Έλλ‘ 'λ Έλ ν¨ν€μ§ 맀λμ 'λ‘, νΉμ κΈ°λ₯μ νλ μλ° μ€ν¬λ¦½νΈ ν¨ν€μ§κ° νμνλ©΄ npmμμ μ°Ύμ μ€μΉνλ©΄ λλ€. ν¨ν€μ§κ° λ€λ₯Έ ν¨ν€μ§λ₯Ό μ¬μ©ν μλ μλλ° devjindev.tistory.com [ν¨ν€μ§λ§€λμ ] npmμ΄λ? π npm(Node Package Manager)μ΄λ? λ§ κ·Έλλ‘ 'λ Έλ ν¨ν€μ§ 맀λμ 'λ‘, νΉμ κΈ°λ₯μ νλ μλ° μ€ν¬λ¦½νΈ ν¨ν€μ§κ° νμνλ©΄ npmμμ μ°Ύμ μ€μΉνλ©΄ λλ€. ν¨ν€μ§κ° λ€λ₯Έ ν¨ν€μ§λ₯Ό μ¬μ©ν μλ μλλ° μ΄λ₯Ό 'μμ‘΄ κ΄κ³'λΌκ³ νλ€. π npm vs yarn yarnμ νμ΄μ€λΆμμ λ§λ ν¨ν€μ§ 맀λμ μ΄λ€. npmμ μΌκ΄μ±, 보μ, λΉλμ μ±λ₯ λ±μ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ yarnμ λ§λ€μλ€. npmμ ν¨ν€μ§λ€μ΄ μ½λλ₯Ό μλμ μΌλ‘ μ¦μ μ€ννλ κ²μ νμ©ν λΏλ§ μλλΌ μμ‘΄μ±λ€λ μ¦μ μλμ μΌλ‘ μ€νλμ΄ νΈλ¦¬ν¨μ μ 곡νκΈ°λ νμ§λ§, 보μμ μνμ΄ μμ μ μλ€. μ΄μ λ€λ₯΄κ² yarnμ μ€μ§ yarn.lock νΉμ package.jsonλ‘ λΆν° μ€μΉλμ΄ yarn.lockμ λͺ¨λ μ₯μΉλ€μ΄ κ°μ ν¨.. νλ‘μΈμ€(Process) vs μ€λ λ(Thread) μ°¨μ΄μ νλ‘μΈμ€λ μμ ν λ 립μ μ΄κΈ° λλ¬Έμ μμ(μ½λ, λ°μ΄ν°, ν, μ€ν)μ λ€λ₯Έ νλ‘μΈμ€μ 곡μ νμ§ μλλ€. μ€λ λλ λ³λμ μ€ν νλ¦μ μ μ§νκΈ° μν΄ μ€νλ§ λ 립μ μΌλ‘ μ μ§νκ³ , κ·Έ μ΄μΈμ μμμ λ€λ₯Έ μ€λ λμ 곡μ νλ€. νλ‘μΈμ€λ μ΄μ체μ κ΄μ μμμ μ€ν νλ¦μ ꡬμ±νκ³ , μ€λ λλ νλ‘μΈμ€ λ΄μμμ μ€ν νλ¦μ ꡬμ±νλ€. μ΄μ 1 2 λ€μ