
μ»΄νμΌ
ν΅μ
νλ©΄μ μΈν°νλ¦°ν°
μ리μ€ν ν λ μ€-μ΄μ/μ΄ν λ‘ λλ
λ§ν¬μ
μ΄μ§λΆλ₯λ²
: μ£Όμ΄μ§ λ°μ΄ν°λ₯Ό λ κ°μ§ κ·Έλ£Ή(ν΄λμ€) μ€ νλλ‘ λΆλ₯νλ λ°©λ² (μ°Έ/ κ±°μ§)
(νμΌ/ν΄λ)

μ€νμμ€-κ½μ§, 무λ£
μμ€/리μμ€μ μ°¨μ΄
* κ·Έλλ€μ μ€νλ§ μ μ©
νμ΄μ¬μ λ€λ₯Έ μ©μ΄ μ
λΉλ: μλ°μμ μ»΄νμΌ ν΄μ .class νμΌλ‘ λ§λλ κ³Όμ
/λΉλν΄
-λ§₯λ½μ μ¬κ³ / μ°λ¦¬κ° μμμΌνλκ±°λ λΉλλ₯Ό ν΄μ€! λΌκ³ λ§ν μ μμΌλ©΄ λ¨
μ’μ μ§λ¬Έμ΄μμ π
“λΉλ(build)”μ “λΉλ ν΄(build tool)”μ λΉμ·νκ² λ€λ¦¬μ§λ§, μλ―Έμ μν μ΄ λ€λ¦
λλ€.
μ½κ² λ§ν΄ λΉλλ ‘κ³Όμ ’μ΄κ³ , **λΉλν΄μ κ·Έ κ³Όμ μ μλμΌλ‘ ν΄μ£Όλ ‘λꡬ’**μμ.
π§© 1οΈβ£ λΉλ(Build)λ?
**λΉλ(build)**λ κ°λ°μκ° μμ±ν μμ€μ½λλ₯Ό μ€ν κ°λ₯ν ννλ‘ λ³ννλ κ³Όμ μ λ§ν©λλ€.
μ¦, μ¬λμ΄ μ½μ μ μλ μ½λλ₯Ό μ»΄ν¨ν°κ° μ€νν μ μλλ‘ λ§λλ κ±°μμ.
π§ μλ₯Ό λ€μ΄λ³΄λ©΄:
- Java μ½λλ₯Ό μ»΄νμΌν΄μ .class νμΌλ‘ λ§λλ κ³Όμ
- μ¬λ¬ νμΌμ νλμ μ€ν νμΌ(.exe, .jar, .apk)λ‘ λ¬Άλ κ³Όμ
- μΉ νλ‘μ νΈμμ JS, CSS, μ΄λ―Έμ§ λ±μ μμΆ/μ΅μ ννλ κ³Όμ
μ΄ λͺ¨λ κ² “λΉλ”μμ.
βοΈ 2οΈβ£ λΉλν΄(Build Tool)μ΄λ?
λΉλν΄μ μμ “λΉλ κ³Όμ ”μ μλνν΄μ£Όλ νλ‘κ·Έλ¨μ΄μμ.
λΉλλ λ§€λ² λ°λ³΅μ μ΄κ³ 볡μ‘νκΈ° λλ¬Έμ, λΉλν΄μ΄ μ΄λ₯Ό λμ μ²λ¦¬ν΄μ€λλ€.
π© μ£Όμ μν
- μ»΄νμΌ(compile)
- ν μ€νΈ μ€ν(test)
- ν¨ν€μ§(package)
- μμ‘΄μ± κ΄λ¦¬(dependency management)
- λ°°ν¬(deploy)
π‘ 3οΈβ£ μμλ‘ λΉκ΅ν΄λ³΄κΈ°
| λΉλ (κ³Όμ ) | μμ€μ½λλ₯Ό μ€ν νμΌλ‘ λ§λλ νμ | javac Main.java |
| λΉλν΄ (λꡬ) | λΉλ κ³Όμ μ μλννκ³ κ΄λ¦¬ | Maven, Gradle, Webpack, Vite, npm scripts |
π§ 4οΈβ£ μ½κ² λΉμ νμλ©΄
- “λΉλ”λ μ리λ₯Ό λ§λλ κ³Όμ μ΄κ³ ,
- “λΉλν΄”μ μ리 κ³Όμ μ μλμΌλ‘ ν΄μ£Όλ μ리 λ‘λ΄μ΄μμ. π³
μ리λ₯Ό μ¬λμ΄ μΌμΌμ΄ ν μλ μμ§λ§, λ‘λ΄μ΄ νλ©΄ λ λΉ λ₯΄κ³ μ ννμ£ .

λ°±μλλ§ νλ©΄ μ»΄νμΌ
μ 체 λ€ νλ©΄ μμ€
λ°±μλλ? api
μλ-λ,
μ¬μ©μ μ μ₯μμ λ°±, νλ‘ νΈ(νλ©΄)
-μλ°: λ°±μλ->ν΄λμ€ (μ»΄νμΌ , λΉλ? μλ°νμΌμ λΉλνλ©΄ ν΄λμ€κ° μμ±λ¨)
-리μμ€: νλ‘ νΈμλ, μΈν°νλ‘ νΈ μΈμ΄
μλ°κ° νμ΄μ¬μΌλ‘ λ°κΎΈλ©΄ μμ΄μ¬μ΄ λλ κ²
λ°±μλ-νμ΄μ¬
νλ‘ νΈμλ = μ¬μ©μκ° λ³΄λ νλ©΄,
λ°±μλ = κ·Έ νλ©΄ λ€μμ μλνλ μμ€ν
μ΄λΌκ³ ν μ μμ΅λλ€.
π» 1οΈβ£ νλ‘ νΈμλ(Frontend)λ?
π§© μ μ
νλ‘ νΈμλλ **μ¬μ©μμκ² μ§μ 보μ΄λ λΆλΆ(UI)**μ λ§λλ μμμ
λλ€.
λΈλΌμ°μ μμ μ€νλλ©°,
μ¬μ©μκ° ν΄λ¦·μ
λ ₯·μ΄λνλ λͺ¨λ μκ°μ μμλ₯Ό λ΄λΉν΄μ.
π οΈ μ£Όμ κΈ°μ
- HTML: ꡬ쑰λ₯Ό λ§λ¦
- CSS: λμμΈ(μμ, λ°°μΉ λ±)μ λ΄λΉ
- JavaScript: νλ©΄μ λμ(λ²νΌ ν΄λ¦, μ λλ©μ΄μ λ±)μ ꡬν
- νλ μμν¬/λΌμ΄λΈλ¬λ¦¬: React, Vue.js, Angular λ±
π‘ μμ
- λ‘κ·ΈμΈ νμ΄μ§μ μ λ ₯μ°½, λ²νΌ, λμμΈ
- κ²μν λͺ©λ‘, μ’μμ λ²νΌ, λκΈ μ°½
- λ§μ°μ€ ν΄λ¦ μ νμ΄μ§ μ ν ν¨κ³Ό
π₯οΈ 2οΈβ£ λ°±μλ(Backend)λ?
π§© μ μ
λ°±μλλ μ¬μ©μ λμ 보μ΄μ§ μλ μλ² μͺ½ λ‘μ§μ μ²λ¦¬νλ μμμ
λλ€.
μ¦, λ°μ΄ν°λ₯Ό μ μ₯νκ³ , κ³μ°νκ³ , μ λ¬νλ μν μ΄μμ.
π οΈ μ£Όμ κΈ°μ
- νλ‘κ·Έλλ° μΈμ΄: Java, Python, Node.js, Go, C# λ±
- DB(Database): MySQL, PostgreSQL, MongoDB λ±
- μλ² νλ μμν¬: Spring, Django, Express, FastAPI λ±
π‘ μμ
- λ‘κ·ΈμΈ μ λΉλ°λ²νΈλ₯Ό νμΈνκ³ μΈμ μμ±
- κ²μκΈ μ μ₯ λ° μ‘°ν
- κ²°μ μ²λ¦¬, λ©μΌ λ°μ‘, API μλ΅
π 3οΈβ£ νλ‘ νΈμλ ↔ λ°±μλ κ΄κ³
μ΄ λμ νμ μλ²μ ν΄λΌμ΄μΈνΈ κ΄κ³λ‘ νλ ₯ν©λλ€.
| νλ‘ νΈμλ | μ¬μ©μ μ λ ₯μ λ°κ³ νλ©΄μ νμ | μ¬μ©μκ° λ‘κ·ΈμΈ λ²νΌ ν΄λ¦ |
| λ°±μλ | μ λ ₯κ°μ μ²λ¦¬νκ³ κ²°κ³Όλ₯Ό λ°ν | λ‘κ·ΈμΈ μ 보 νμΈ ν μ±κ³΅/μ€ν¨ μλ΅ |
| ν΅μ λ°©μ | API (REST, GraphQL λ±) | /api/login νΈμΆ ν JSON μλ΅ |
리μμ€----> μλ°λ‘ 보λ (classpath)
-μλ°: λ°±μλ- (μ»΄νμΌ , λΉλ) ->ν΄λμ€ : (μλ°νμΌμ λΉλνλ©΄ ν΄λμ€κ° μμ±λ¨)
-리μμ€: νλ‘ νΈμλ, μΈν°νλ‘ νΈ μΈμ΄
1. classpathλ?
classpathλ Javaμμ ν΄λμ€λ 리μμ€λ₯Ό μ°Ύλ κ²½λ‘(path)λ₯Ό μλ―Έν©λλ€.
μ½κ² λ§ν΄μ,
"JVM(Java Virtual Machine)μ΄ .class νμΌμ΄λ μ€μ νμΌμ μ°Ύμ λ μ΄λμ μ°ΎμμΌ νλμ§ μλ €μ£Όλ κ²½λ‘"
λΌκ³ μκ°νμλ©΄ λ©λλ€.
2. classpath:/ μ μλ―Έ
μ΄ ννμ μ£Όλ‘ Spring μ€μ μμ μμ£Ό 보μ
λλ€.
μλ₯Ό λ€μ΄ @PropertySource("classpath:/config/app.properties") κ°μ μ½λμ.
μ¬κΈ°μ classpath:/ λ λ€μμ λ»ν©λλ€:
“νμ¬ νλ‘μ νΈμ classpath 루νΈ(root)λ‘λΆν° νμΌμ μ°ΎμλΌ.”
μ¦,
- classpath: → "ν΄λμ€ν¨μ€ μμμ μ°Ύλλ€"
- / → "루νΈ(맨 μ²μ κ²½λ‘)λΆν° μ°Ύλλ€"
λ κ°λ₯Ό ν©μ³ classpath:/ κ° λλ κ±°μμ.
:/
: is (be λμ¬)
static -ν΄μ²΄νμ§ λ§! exλͺ¨λ리μ κ·Έλ¦Όμ μ΄λμ 보λ λκ°μ κ·Έλ¦Όμ΄ λλκ²
μκΉ static λ²μν νμ μλ μ΄μ λ μΈμ΄λ‘ 보λκ²μ΄ μλλ μ΄λ―Έμ§λ‘ 보λ κ²μ
***
spring.mvc.view.prefix=/ spring.mvc.view.suffix=.htmlμμ MVCκ° λμΌ?
πΉ MVCλ 무μμΈκ°?
MVCλ Model–View–Controller μ μ½μμμ.
μΉ μ ν리μΌμ΄μ
μ ꡬ쑰μ μΌλ‘ λλκΈ° μν λνμ μΈ λμμΈ ν¨ν΄(μ€κ³ ν¨ν΄) μ
λλ€.
| Model (λͺ¨λΈ) | λ°μ΄ν°μ λΉμ¦λμ€ λ‘μ§μ λ΄λΉ | DBμμ μ¬μ©μ μ 보λ₯Ό κ°μ Έμ€λ μ½λ |
| View (λ·°) | νλ©΄μ 보μ¬μ£Όλ λΆλΆ | HTML, JSP, Thymeleaf ν νλ¦Ώ λ± |
| Controller (컨νΈλ‘€λ¬) | μ¬μ©μμ μμ²μ λ°κ³ , λͺ¨λΈκ³Ό λ·°λ₯Ό μ°κ²° | /login μμ²μ λ°κ³ λ‘κ·ΈμΈ μ²λ¦¬ ν login.htmlλ‘ μ΄λ |
π μ¦,
- Controllerλ “μ€κ° κ΄λ¦¬μ”
- Modelμ “λ°μ΄ν° λ΄λΉμ”
- Viewλ “νλ©΄ λμμ΄λ”
λΌκ³ 보면 μ΄ν΄κ° μ½μ΅λλ€.
ν μ€ μμ½
MVCλ?
Model(λ°μ΄ν°) - View(νλ©΄) - Controller(μμ² μ²λ¦¬)μ ꡬ쑰λ‘
μΉ μ ν리μΌμ΄μ μ μν λ³λ‘ λλμ΄ κ΄λ¦¬νλ μ€κ³ ν¨ν΄μ λλ€.
그리κ³
spring.mvc.view.prefix μ suffix λ
“Controllerκ° λ°ννλ View μ΄λ¦μ μ€μ HTML(λλ JSP) νμΌλ‘ λ§€μΉν΄μ£Όλ μ€μ ”μ΄μμ.
'Project ESG+AI > Tech Basics' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [μ°Έκ³ ]κ³μ°κΈ° μ½λ μ§ κ±° (0) | 2025.10.15 |
|---|---|
| 5μΌμ°¨. IT κ°λ μ 리 (0) | 2025.10.15 |
| 4μΌμ°¨. IT κ°λ μ 리 (0) | 2025.10.14 |
| 2μΌμ°¨. IT κ°λ μ 리 (0) | 2025.10.01 |
| 1μΌμ°¨. IT κ°λ μ 리 (0) | 2025.10.01 |