TIL.65 part.9

hyunki__ss·2022년 9월 22일
0

2022년 9월 22일 목요일

@ 잠을 잘자니깐, 확실히 컨디션이 좋다,
공부가 우선이지만, 그렇다고 건강을 버리지는 말자,
결국 건강해야 양적인 부분을 가져갈 수 있고
그 이후에 질적인 부분을 높일 수가 있다.
오늘부터 대망의 스프링부트 진도가 시작된다고 하니
더욱 설레는 마음으로 기운내자.

[수업 순서]

  • JPQL
  • 스프링부트

[네이티브 SQL]

  • JPQL은 데이터베이스들이 따로 지원하는 것들에 있어
    모든 것을 SQL로 자동으로 바꿔주지 않는다.
    (인라인 뷰, UNION, INTERSECT 등)
    네이티브 SQL은 SQL을 개발자가 직접 정의해서
    사용할 수 있도록 해주는 수동모드이다,
    다양한 이유로 JPQL을 사용하지 못하는 경우
    또는 SQL 쿼리를 최적화해서 데이터베이스의
    성능을 향상 시키는 경우 사용한다.

[JDBC API와의 차이점]

  • 네이티브 SQL은 JPA의 영속성 컨텍스트의 기능을
    그대로 사용할 수 있다는 점이 차이점이다.

[타임리프]

  • 타임리프는 스프링부트에서 공식적으로 지원하는
    뷰 템플릿으로 JSP와 달리 html 확장자를
    가지고 있어 JSP처럼 Servlet이 문서를
    표현하는 방식이 아니므로 서버 없이 동작한다.

[템플릿 엔진(Template Engine)]

  • 데이터와 이 데이터를 표현할 템플릿을
    결합해주는 도구로 스프링부트가 지원하는
    템플릿 엔진은 Thymeleaf, Freemaker,
    Mustache, Groovy가 있다.

[타임리프 문법 적용]

  • 스프링부트의 templates 폴더 하위에
    html 확장자를 쓰고 xmlns:th 네임스페이스를
    추가하고 타임리프 문법을 사용할 수 있다.

[타임리프의 장점]

  • natural templates를 제공
  • HTML의 기본 구조를 그대로 사용하며
    HTML 파일을 직접 열어도 동작한다.
  • 개발 시 디자인과 개발이 분리 되어
    작업 효율이 좋다.
  • WAS를 통하지 않고 파일을 웹 브라우저를 통해
    열 수 있어서 퍼블리셔와 협업이 용이하다.

[타임리프의 단점]

  • jsp 태그 라이브러리와 custom 태그들을
    사용할 수 없어 기존 JSP 코드를
    재사용할 수 없다.
  • 기존 태그를 유지하며 속성으로 템플릿 구문을
    넣는데 있어 어느정도 한계가 있고
    자바스크립트의 도움을 필요할 수 있다.

※ 스프링부트를 본격적으로 배울텐데,
뭔가 이전에 배웠던 것들이 조합이 되면서
조금 더 친숙한 느낌이고, 추가적으로
굉장히 편리한 것 같아서 기대된다,
잘 배워놔서 프로젝트에도 사용하고
실무에서도 유연하게 사용할 수 있도록 하자!

profile
야구선수 출신 개발자

0개의 댓글