01. 리μ‘νΈ(React, React.js λλ React JS) – (μΉ νλ μμν¬)
μλ°μ€ν¬λ¦½νΈ λΌμ΄λΈλ¬λ¦¬μ νλλ‘ μ¬μ©μ μΈν°νμ΄μ€(UI)λ₯Ό λ§λ€κΈ° μν΄ μ¬μ©λλ€.
- νμ΄μ€λΆμ μννΈμ¨μ΄ μμ§λμ΄ Jordan Walkeκ° κ°λ°
- μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ μ΄λ λͺ¨λ°μΌ μ ν리μΌμ΄μ κ°λ°μ μ¬μ©λ μ μλ€.
02. μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ (single-page application, SPA)
μλ²λ‘λΆν° μμ ν μλ‘μ΄ νμ΄μ§λ₯Ό λΆλ¬μ€μ§ μκ³ νμ¬μ νμ΄μ§λ₯Ό λμ μΌλ‘ λ€μ μμ±ν¨μΌλ‘μ¨ μ¬μ©μμ μν΅νλ μΉ μ ν리μΌμ΄μ μ΄λ μΉμ¬μ΄νΈ
- HTML, μλ°μ€ν¬λ¦½νΈ, CSS νμν λͺ¨λ μ½λλ νλμ νμ΄μ§λ‘ λΆλ¬μ€κ±°λ,μ μ ν μμλ€μ λμ μΌλ‘ λΆλ¬λ€μ¬μ νμνλ©΄ λ¬Έμμ μΆκ°νλλ°, λ³΄ν΅ μ¬μ©μμ λμμ μλ΅νκ² λλ λ°©μ
- μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ κ³Όμ μν΅μ λ·νΈμ μλ μΉ μλ²μμ λμ μΈ ν΅μ μ μλ°νκΈ°λ νλ€.
03. μ¬μ©μ μΈν°νμ΄μ€ (User Interface)
μ¬μ©μκ° μ»΄ν¨ν°μ μμ¬μν΅μ ν΅ν΄ μνΈ μμ©νλ μμ€ν
μ¬μ©μμ κΈ°κ³/μμ€ν /μ¬λ¬Όμ΄ μν΅νλλ° λμμ μ€λ€.
ex_μ¬μ©μμ μ€λ§νΈν°, μ¬μ©μμ μ»΄ν¨ν° μ¬μ΄λ₯Ό μλλ€.
> νλ‘ νΈμλλ μ¬μ©μκ° λ³Ό μ μλ νλ©΄μΈ UIλ₯Ό μλ―Ένλ€.
04. Axios
- Axiosλ λΈλΌμ°μ , Node.jsλ₯Ό μν Promise APIλ₯Ό νμ©νλ HTTP λΉλκΈ° ν΅μ λΌμ΄λΈλ¬λ¦¬μ λλ€.
- λ°±μλλ νλ‘ νΈμλλ ν΅μ μ μ½κ²νκΈ° μν΄ Ajaxμ λλΆμ΄ μ¬μ©ν©λλ€.
- μ΄λ―Έ μλ°μ€ν¬λ¦½νΈμλ λ©μ§ fetch apiκ° μμ§λ§, νλ μμν¬μμ ajaxλ₯Ό ꡬνν λ axiosλ₯Ό μ°λ νΈ
http νλ‘ν μ½μ μ΄μ©ν΄μ λ°μ΄ν°λ₯Ό μμ²νκ³ λ°μμ¬ μ μλ λΌμ΄λΈλ¬λ¦¬
https://github.com/axios/axios
GitHub - axios/axios: Promise based HTTP client for the browser and node.js
Promise based HTTP client for the browser and node.js - GitHub - axios/axios: Promise based HTTP client for the browser and node.js
github.com
05. λκΈ° vs λΉλκΈ° : λ°μ΄ν°λ₯Ό λ°λ λ°©μ
λκΈ°(synchronous : λμμ μΌμ΄λλ)
- μμ²κ³Ό κ·Έ κ²°κ³Όκ° λμμ μΌμ΄λλ€
- κ²°κ³Όκ° μ£Όμ΄μ§ λκΉμ§ μ무κ²λ λͺ»νκ³ λκΈ°ν΄μΌ νλ λ¨μ
- μκ°μ΄ μ ν΄μ Έμλ€λ κ²μΌλ‘ taskλ³λ‘ μμ μκ°μ΄ κΈ΄ μκ°μ λκ°μ΄ λΆμ¬νλ€λ©΄ ? 'CPU μκ° λλΉ'
λΉλκΈ°(Asynchronous : λμμ μΌμ΄λμ§ μλ)
- μμ²κ³Ό κ²°κ³Όκ° λμμ μΌμ΄λμ§ μλλ€.
- μκ°μ΄ 걸리λλΌλ κ·Έ μκ° λμ λ€λ₯Έ μμ μ ν μ μμΌλ―λ‘ μμμ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μλ μ₯μ
06. JPA(Java Persistence API)
- νΉμ κΈ°λ₯μ νλ λΌμ΄λΈλ¬λ¦¬κ° μλ ORMμ μ¬μ©νκΈ° μν΄ λ§λ μΈν°νμ΄μ€
- ORM(Object-Relational Mapping) κΈ°μ νμ€μΌλ‘ μ¬μ©λλ μΈν°νμ΄μ€μ λͺ¨μ
- ORMμ΄κΈ° λλ¬Έμ μλ° ν΄λμ€μ DBν μ΄λΈμ λ§€ννλ€.(sqlμ λ§€ννμ§ μλλ€)
- JPAλ₯Ό ꡬνν λνμ μΈ μ€νμμ€ `Hibernate`
07. ORM
- ORMμ DB ν μ΄λΈμ μλ° κ°μ²΄λ‘ λ§€νν¨μΌλ‘μ¨ κ°μ²΄κ°μ κ΄κ³λ₯Ό λ°νμΌλ‘ SQLμ μλμΌλ‘ μμ±νμ§λ§ Mapperλ SQLμ λͺ μν΄μ£Όμ΄μΌ νλ€.
- Classμ RDB(Relational DataBase)μ ν μ΄λΈμ λ§€ν(μ°κ²°)
08. μμμ±
λ°μ΄ν°λ₯Ό μμ±ν νλ‘κ·Έλ¨μ΄ μ’ λ£λμ΄λ μ¬λΌμ§μ§ μλ λ°μ΄ν°μ νΉμ±
- μμμ±μ κ°μ§ μμΌλ©΄, λ°μ΄ν°λ λ©λͺ¨λ¦¬μμλ§ μ‘΄μ¬νκ³ , νλ‘κ·Έλ¨μ΄ μ’ λ£λλ©΄ λ°μ΄ν°λ λͺ¨λ μ¬λΌμ§λ€.
- λ°μ΄ν°λ₯Ό νμΌμ΄λ DBμ μꡬ μ μ₯ν¨μΌλ‘μ¨ λ°μ΄ν°μ μμμ±μ λΆμ¬
09. λΉλ(Build)
μμ€μ½λ νμΌμ μ»΄ν¨ν°μμ μ€νν μ μκ² λ³ννλ κ³Όμ λλ κ²°κ³Όλ¬Ό
- νλ‘μ νΈμμ μ°μΈ νμΌ λ° μμ (.xml, .jpg, .jar, .properties)μ JVMμ΄λ ν°μΊ£κ°μ WASκ° μΈμν μ μλ κ΅¬μ‘°λ‘ ν¨ν€μ§ νλ κ³Όμ λ° κ²°κ³Όλ¬Ό
10. λΉλ λꡬ(Build tool)
λμ΄λλ λΌμ΄λΈλ¬λ¦¬μ λΌμ΄λΈλ¬λ¦¬μ λ²μ λκΈ°νμ μ΄λ €μμ ν΄μνκ³ μ λ±μ₯
ex) Ant / Maven / Gradle
Ant
- νλ‘μ νΈκ° λ°©λν κ²½μ° μ€ν¬λ¦½νΈ κ΄λ¦¬λ λΉλ κ³Όμ μ΄ λ³΅μ‘ν΄μ§λ€.
- μ€ν¬λ¦½νΈ μμ±λ λ§κ³ , λΌμ΄λΈλ¬λ¦¬ μμ‘΄κ΄λ¦¬κ° λμ§ μμ λΆνΈν¨
maven
- νμν λΌμ΄λΈλ¬λ¦¬λ₯Ό νΉμ λ¬Έμ(pom.xml)μ μ μν΄ λμΌλ©΄ λ΄κ° μ¬μ©ν λΌμ΄λΈλ¬λ¦¬ λΏλ§ μλλΌ ν΄λΉ λΌμ΄λΈλ¬λ¦¬κ° μλνλλ°μ νμν λ€λ₯Έ λΌμ΄λΈλ¬λ¦¬λ€κΉμ§ κ΄λ¦¬νμ¬ λ€νΈμν¬λ₯Ό ν΅ν΄μ μλμΌλ‘ λ€μ΄λ°μ μ€λ€.
Gradle
- κ°λ° μ§μμ μ€μ μ λ λΉλ λꡬ
- Antμ Mavenκ³Ό κ°μ μ΄μ μΈλ λΉλ λꡬμ λ¨μ μ 보μνκ³ μ₯μ μ μ·¨ν©νμ¬ λ§λ μ€νμμ€ λΉλ λꡬ
- λ©μ΄λΈ(Maven)μ pom.xmlμ Gradle μ©μΌλ‘ λ³ν κ°λ₯
'μ‘°κ°κ°λ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
CI / CD (μ§μμ μΈ ν΅ν© / λ°°ν¬) (0) | 2025.02.10 |
---|---|
[DBeaver] λ¨μΆν€ / νμ©λ² (0) | 2024.06.25 |
λκΈ