본문 바로가기

분류 전체보기9

[Java코테] 다이나믹 프로그래밍 백준 강의 수강하면서 기록해야하는 주요 개념들을 정리해보았다.  1. 다이나믹 프로그래밍다이나믹프로그래밍은 큰 문제를 작은 문제로 나누어서 해결하는 프로그래밍 방식을 의미한다. 2. 다이나믹 프로그래밍의 성질1. 다이나믹 프로그래밍에서 각 문제는 한 번만 풀어야한다. 2. Optimal Substructure 를 만족하기 때문에, 같은 문제는 구할 때마다 정답이 같다. 3. 따라서, 정답을 한번 구했으면, 정답을 어딘가에 메모해놓는다.(Memorization) 4. 이런 메모하는 것을 코드의 구현에서는 배열에 저장하는 것으로 할 수 있다. 5. 메모를 한다고 해서 영어로 Memorization이라고 한다.  3. 다이나믹프로그래밍의 유형1. DP(Dynamic Programming) :큰 문제를 작은 문.. 2024. 5. 22.
[Springboot]Thymeleaf의 기본 문법 Thymeleaf는 코드에서 어떻게 사용되는가?Thymeleaf는 HTML 템플릿(.html) 안에서 사용되는 서버 사이드 템플릿 엔진이기 때문에 HTML 문법과 Thymeleaf 문법을 함께 사용한다. 일반적으로 Thymeleaf 문법은 HTML 요소의 속성으로 삽입되어 동적으로 데이터를 처리하고 제어한다. HTML태그에서 Thymeleaf 속성을 사용하기 위해서는 반드시 html태그에 다음과 같이 Thymeleaf 네임스페이스 선언을 해줘야한다. 위 코드 중 xmlns:th="http://www.thymeleaf.org" 는 th 접두사를 사용하여 Thymeleaf의 템플릿 기능을 사용하겠다는 의미이다. 위와 같이 Thymeleaf 네임스페이스 선언을 했다면, Thymeleaf 문법을 HTML 속성.. 2024. 5. 17.
[Springboot] 서버 사이드 렌더링과 클라이언트 사이드 렌더링 1. 왜 Spring Boot 개발에서 Thymeleaf를 권장하는가?이전 게시물에서 Javascript를 예시로 들며 동적인 콘텐츠를 처리하는 여러 수단 중 왜 Thymeleaf를 권장하는지 의문을 가졌었다. Spring Boot 개발에서 Thymeleaf를 권장하는 이유는 여러 가지가 있다. 물론 JavaScript를 사용하여 동적인 콘텐츠를 처리할 수도 있지만, Spring Boot와 Thymeleaf 조합이 제공하는 이점이 많기 때문이다. 2. 서버 사이드 렌더링과 클라이언트 사이드 렌더링Thymeleaf: 서버 사이드 렌더링을 지원한다. 페이지가 서버에서 완전히 렌더링되어 클라이언트로 전송되므로, 초기 페이지 로드 속도가 빠르고 SEO(검색 엔진 최적화)에 유리하다. 검색 엔진 크롤러가 쉽게 콘.. 2024. 5. 17.
[SpringBoot] 템플릿 엔진 Thymeleaf는 무엇일까? 1. Thymeleaf란 무엇인가?  Thymeleaf는 주로 Java 기반 웹 애플리케이션에서 HTML 템플릿을 처리하고 관리하기 위해 사용되며, Spring Boot 애플리케이션에서 프론트엔드와 백엔드를 연결하는 역할을 수행한다.    2. 왜 HTML 템플릿을 그대로 사용하지 않는가?: 기본 HTML 템플릿에는 다음과 같은 한계가 존재하기 때문이다.정적 콘텐츠: HTML 자체로는 동적인 데이터를 포함할 수 없다. HTML 파일에 작성된 내용은 변경되지 않으며, 서버에서 데이터를 받아와서 동적으로 업데이트할 수 없다. 따라서 동적으로 웹 페이지를 생성하려면 HTML 템플릿에서 동적인 로직을 사용할 수 있도록 도와줄 또 다른 수단이 필요한 것이다. 표현 논리 사용 불가:HTML에서는 조건문과 반복.. 2024. 5. 17.