μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

[JPA] ν…œν”Œλ¦Ώ μ—”μ§„μ΄λž€ 뭘까?

미둜910 2024. 10. 4. 10:00
πŸ’‘
1. ν…œν”Œλ¦Ώ 엔진에 λŒ€ν•œ κ°œλ…μ„ 말할 수 μžˆλ‹€.
2. SSR, CSR에 λŒ€ν•œ κ°œλ…μ„ μ„€λͺ…ν•  수 μžˆλ‹€.

 

ν…œν”Œλ¦Ώ μ—”μ§„μ΄λž€?

  • ν…œν”Œλ¦Ώ 엔진(Template Engine)은 정적 파일(예: HTML, XML λ“±)을 λ™μ μœΌλ‘œ λ³€ν™˜ν•  수 μžˆλŠ” λ„κ΅¬μž…λ‹ˆλ‹€. μ„œλ²„μ—μ„œ 데이터λ₯Ό λ°›μ•„, 동적인 μ½˜ν…μΈ λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•΄ ν…œν”Œλ¦Ώ νŒŒμΌμ— λ³€μˆ˜λ‚˜ ν‘œν˜„μ‹μ„ μ‚½μž…ν•΄ μ²˜λ¦¬ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈμ— 동적 μ›Ή νŽ˜μ΄μ§€λ₯Ό 응닡할 수 있게 λ©λ‹ˆλ‹€.

μ—­ν• 

  • 동적 μ›Ή νŽ˜μ΄μ§€ 생성: μ„œλ²„μ—μ„œ HTML ν…œν”Œλ¦Ώ νŒŒμΌμ„ 가져와, μ„œλ²„μ—μ„œ 처리된 데이터λ₯Ό μ‚½μž…ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 동적인 μ›Ή νŽ˜μ΄μ§€λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.
  • μ½”λ“œ μž¬μ‚¬μš©μ„±: μ—¬λŸ¬ μ›Ή νŽ˜μ΄μ§€μ—μ„œ λ™μΌν•œ κ΅¬μ‘°λ‚˜ λ””μžμΈμ„ μ‚¬μš©ν•˜λŠ” 경우, ν…œν”Œλ¦Ώ 엔진을 μ‚¬μš©ν•˜λ©΄ κ³΅ν†΅λœ λ ˆμ΄μ•„μ›ƒμ„ μ‰½κ²Œ μž¬μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

ν…œν”Œλ¦Ώ μ—”μ§„μ˜ μ’…λ₯˜

  • μ„œλ²„μ‚¬μ΄λ“œ ν…œν”Œλ¦Ώ 엔진(SSR): μ„œλ²„μ—μ„œ HTML을 λ Œλ”λ§ν•˜κ³ , 데이터가 μ‚½μž…λœ HTML을 ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ „μ†‘ν•©λ‹ˆλ‹€. (Thymeleaf, JSP, Freemarker …)
  • ν΄λΌμ΄μ–ΈνŠΈμ‚¬μ΄λ“œ ν…œν”Œλ¦Ώ 엔진(CSR): ν΄λΌμ΄μ–ΈνŠΈ(λΈŒλΌμš°μ €)μ—μ„œ 데이터λ₯Ό λ°›μ•„, ν…œν”Œλ¦Ώμ„ λ Œλ”λ§ν•˜μ—¬ 동적인 νŽ˜μ΄μ§€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.(React, Vue.js)

 

SSR(Server-Side Rendering, μ„œλ²„μ‚¬μ΄λ“œ λ Œλ”λ§) λ™μž‘ 원리