분류 전체보기
-
이번 포스트에서는 HTML 코드 작성시 코딩 속도에 날개를 달아줄 Emmet의 필수 사용법에 대해 알아보자. Emmet - the essential toolkit for web developers Emmet은 HTML 태그 작성을 매우 빠르게 할 수 있게 도와주는 도구이다. https://emmet.io/ Emmet — the essential toolkit for web-developers Emmet — the essential toolkit for web-developers Emmet is a plugin for many popular text editors which greatly improves HTML & CSS workflow: Demo | @@@ tooltip: Type CSS-like ab..
Emmet 필수 사용법이번 포스트에서는 HTML 코드 작성시 코딩 속도에 날개를 달아줄 Emmet의 필수 사용법에 대해 알아보자. Emmet - the essential toolkit for web developers Emmet은 HTML 태그 작성을 매우 빠르게 할 수 있게 도와주는 도구이다. https://emmet.io/ Emmet — the essential toolkit for web-developers Emmet — the essential toolkit for web-developers Emmet is a plugin for many popular text editors which greatly improves HTML & CSS workflow: Demo | @@@ tooltip: Type CSS-like ab..
2024.02.28 -
이번 포스트에서는 Spring이 관리하는 빈의 생명주기(Life Cycle)에 대해 살펴보자.빈의 생명 주기 빈의 생명 주기스프링의 빈은 다음과 같은 생명 주기를 갖는다.생성자를 호출하여 객체를 생성한다.1의 과정을 통해 생성자 주입을 하거나 별도의 setter 메서드를 이용해서 의존성을 주입한다.아직 빈을 활용하기 이전에 초기화 메서드를 실행한다. 초기화 메서드에서는 빈에서 사용하려는 자원을 초기화 할 수 있다.빈을 사용한다.빈을 다 사용한 후 소멸 메서드를 실행한다. 소멸 메서드에서는 빈에서 사용했던 자원의 정리 작업을 진행할 수 있다. 초기화 및 소멸 메서드초기화 메서드와 소멸 메서드에 대해 살펴보자. 초기화 메서드소멸 메서드주요 용도빈에서 사용하려는 자원의 초기화빈에서 사용한 자원의 정리호출 시점..
07. 빈의 생명주기이번 포스트에서는 Spring이 관리하는 빈의 생명주기(Life Cycle)에 대해 살펴보자.빈의 생명 주기 빈의 생명 주기스프링의 빈은 다음과 같은 생명 주기를 갖는다.생성자를 호출하여 객체를 생성한다.1의 과정을 통해 생성자 주입을 하거나 별도의 setter 메서드를 이용해서 의존성을 주입한다.아직 빈을 활용하기 이전에 초기화 메서드를 실행한다. 초기화 메서드에서는 빈에서 사용하려는 자원을 초기화 할 수 있다.빈을 사용한다.빈을 다 사용한 후 소멸 메서드를 실행한다. 소멸 메서드에서는 빈에서 사용했던 자원의 정리 작업을 진행할 수 있다. 초기화 및 소멸 메서드초기화 메서드와 소멸 메서드에 대해 살펴보자. 초기화 메서드소멸 메서드주요 용도빈에서 사용하려는 자원의 초기화빈에서 사용한 자원의 정리호출 시점..
2024.02.23 -
이번 포스트에서는 빈의 스코프에 대해 살펴보자.빈의 스코프(Scope) CoffeeShop 시스템새롭게 하나의 CoffeeShop을 개업한다고 생각해보자. CoffeeShop에는 Barista가 근무할텐데 이 Barista는 손이 엄청 빠르기 때문에 아무리 많은 주문이 들어와도 순식간에 처리할 수 있다. 즉 맛있게 커피를 만들 수 있는 단 한 명만 필요하다. 그리고 CoffeeShop은 인기가 많아서 엄청나게 많은 Coffee가 팔리고 있다.일단 이 일과 관련된 3개의 클래스를 작성해보자.@Data@AllArgsConstructorpublic class Coffee { // Coffee는 stateful 하다. private String client; private String menu..
06. 빈의 스코프이번 포스트에서는 빈의 스코프에 대해 살펴보자.빈의 스코프(Scope) CoffeeShop 시스템새롭게 하나의 CoffeeShop을 개업한다고 생각해보자. CoffeeShop에는 Barista가 근무할텐데 이 Barista는 손이 엄청 빠르기 때문에 아무리 많은 주문이 들어와도 순식간에 처리할 수 있다. 즉 맛있게 커피를 만들 수 있는 단 한 명만 필요하다. 그리고 CoffeeShop은 인기가 많아서 엄청나게 많은 Coffee가 팔리고 있다.일단 이 일과 관련된 3개의 클래스를 작성해보자.@Data@AllArgsConstructorpublic class Coffee { // Coffee는 stateful 하다. private String client; private String menu..
2024.02.22 -
이번 포스트에서는 inline 형태로 Thymeleaf를 사용하는 방법에 대해 살펴보자. inline style inlie expression 기본적으로 Thyleleaf는 html 태그에 사용자 정의 속성을 이용해서 부가적인 기능을 추가한다. inline style은 사용자 정의 속성 없이 [[${...}]] 처럼 두 개의 대괄호 내에 표현식을 작성하는 방식이다. property 사용 attribute 사용 제목: [[#{home.title}]] 사용자: [[${user.name}]] 만약 [[]] 자체를 사용해야 하는 경우에는 th:inline="none"을 이용해서 escape 시켜줘야 한다. A double array looks like this: [[1, 2, 3], [4, 5]]! inline..
[Thymeleaf] 06. inline style이번 포스트에서는 inline 형태로 Thymeleaf를 사용하는 방법에 대해 살펴보자. inline style inlie expression 기본적으로 Thyleleaf는 html 태그에 사용자 정의 속성을 이용해서 부가적인 기능을 추가한다. inline style은 사용자 정의 속성 없이 [[${...}]] 처럼 두 개의 대괄호 내에 표현식을 작성하는 방식이다. property 사용 attribute 사용 제목: [[#{home.title}]] 사용자: [[${user.name}]] 만약 [[]] 자체를 사용해야 하는 경우에는 th:inline="none"을 이용해서 escape 시켜줘야 한다. A double array looks like this: [[1, 2, 3], [4, 5]]! inline..
2024.01.14 -
이번 포스트에서는 Thymeleaf에서 페이지의 레이아웃을 재사용하기 위한 thymeleaf-layout-dialect에 대해 살펴보자. 레이아웃 재사용 웹 페이지 레이아웃의 특징Thymeleaf에서는 th:fragment, th:insert, th:replace를 이용해서 페이지마다 반복되는 뷰 부분(fragment)을 모듈화 하고 재사용할 수 있었다. 웹 페이지를 작성하다 보면 이런 fragment 만 복되드는 것이 아니라 레이아웃도 반복되는 것을 쉽게 알 수 있다.위 그림을 보면 regist.html과 modify.html은 header+footer fragment에 각각의 content가 들어간 것을 알 수 있다. detail.html과 manage.html은 base-layout에 추가로 c..
[Thymeleaf] 05.레이아웃 재사용이번 포스트에서는 Thymeleaf에서 페이지의 레이아웃을 재사용하기 위한 thymeleaf-layout-dialect에 대해 살펴보자. 레이아웃 재사용 웹 페이지 레이아웃의 특징Thymeleaf에서는 th:fragment, th:insert, th:replace를 이용해서 페이지마다 반복되는 뷰 부분(fragment)을 모듈화 하고 재사용할 수 있었다. 웹 페이지를 작성하다 보면 이런 fragment 만 복되드는 것이 아니라 레이아웃도 반복되는 것을 쉽게 알 수 있다.위 그림을 보면 regist.html과 modify.html은 header+footer fragment에 각각의 content가 들어간 것을 알 수 있다. detail.html과 manage.html은 base-layout에 추가로 c..
2024.01.14 -
이번 포스트에서는 객체지향 프로그래밍 설계의 5가지 주요 원칙인 S.O.L.I.D.에 대해 살펴보자. SRP(Single Responsibility Princlple: 단일 책임 원칙) 개요객체의 응집도(cohesion)에 관한 내용으로 하나의 클래스는 하나의 책임만 가진다.클래스가 제공하는 모든 기능은 그 책임을 수행하는데 집중한다.환경이 바뀌어 완전히 새로운 기능을 추가해야 한다면 그 클래스는 분할되어야 한다.주로 클래스의 설계 즉 추상화와 연관된 개념이다. 설명SRP는 다른 원칙들에 비해 가장 손쉽게 설명이 가능한 원칙이다. 주변에 있는 큰 패밀리 레스토랑에 가보자. 많은 직원들이 요리, 서빙, 안내, 정리 등 다양한 업무를 보고 있다. 그런데 이들은 모두 자기의 업무에 집중한다.만약 한 직원이 ..
S.O.L.I.D.이번 포스트에서는 객체지향 프로그래밍 설계의 5가지 주요 원칙인 S.O.L.I.D.에 대해 살펴보자. SRP(Single Responsibility Princlple: 단일 책임 원칙) 개요객체의 응집도(cohesion)에 관한 내용으로 하나의 클래스는 하나의 책임만 가진다.클래스가 제공하는 모든 기능은 그 책임을 수행하는데 집중한다.환경이 바뀌어 완전히 새로운 기능을 추가해야 한다면 그 클래스는 분할되어야 한다.주로 클래스의 설계 즉 추상화와 연관된 개념이다. 설명SRP는 다른 원칙들에 비해 가장 손쉽게 설명이 가능한 원칙이다. 주변에 있는 큰 패밀리 레스토랑에 가보자. 많은 직원들이 요리, 서빙, 안내, 정리 등 다양한 업무를 보고 있다. 그런데 이들은 모두 자기의 업무에 집중한다.만약 한 직원이 ..
2024.01.09 -
이번 포스트에서는 Thymeleaf에서의 layout 작성 방법에 대해 알아보자. Thymeleaf 레이아웃 th:fragment 일반적으로 웹 페이지들은 header, footer 등 반복적으로 등장하는 요소들을 가지며 이들을 매번 만들지 않고 fragment 같은 조각으로 만들어 놓고 재사용 한다. 이를 위해 Thymeleaf에서는 th:fragment를 사용한다. /src/main/resources/fragments 아래처럼 header.html과 footer.html을 만들어보자. header를 구성할 때는 각 페이지의 부제목(subtitle)을 파라미터로 전달받아서 사용하기 위해 header(subtitle)의 형태를 사용할 수 있다. Welcome To Thymeleaf Test Page 부제..
[Thymeleaf] 04. 레이아웃이번 포스트에서는 Thymeleaf에서의 layout 작성 방법에 대해 알아보자. Thymeleaf 레이아웃 th:fragment 일반적으로 웹 페이지들은 header, footer 등 반복적으로 등장하는 요소들을 가지며 이들을 매번 만들지 않고 fragment 같은 조각으로 만들어 놓고 재사용 한다. 이를 위해 Thymeleaf에서는 th:fragment를 사용한다. /src/main/resources/fragments 아래처럼 header.html과 footer.html을 만들어보자. header를 구성할 때는 각 페이지의 부제목(subtitle)을 파라미터로 전달받아서 사용하기 위해 header(subtitle)의 형태를 사용할 수 있다. Welcome To Thymeleaf Test Page 부제..
2023.12.14 -
이번 포스트에서는 Thymeleaf에서의 제어문에 대해 살펴보자. 반복문 th:each Thymeleaf에서 반복문을 사용하기 위해서는 th:each를 사용한다. 반복의 대상은 배열이나 Collection, Stream 등이 가능하다. 간단히 th:each="item, status: ${iterable}" 문장의 사용예를 보면서 사용법을 익혀보자. noidageaddr count name age addr th:each는 for-each 문장과 유사하게 iterable 한 요소를 하나씩 item으로 분리해서 사용한다. item은 다시 ctx의 속성으로 등록되므로 ${item} 형태로 사용할 수 있다. 상태 관리 옵션으로 사용되는 status는 반복도는 상황을 체크하기 위한 여러 속성이 제공된다. statu..
[Thymeleaf] 03. 제어문이번 포스트에서는 Thymeleaf에서의 제어문에 대해 살펴보자. 반복문 th:each Thymeleaf에서 반복문을 사용하기 위해서는 th:each를 사용한다. 반복의 대상은 배열이나 Collection, Stream 등이 가능하다. 간단히 th:each="item, status: ${iterable}" 문장의 사용예를 보면서 사용법을 익혀보자. noidageaddr count name age addr th:each는 for-each 문장과 유사하게 iterable 한 요소를 하나씩 item으로 분리해서 사용한다. item은 다시 ctx의 속성으로 등록되므로 ${item} 형태로 사용할 수 있다. 상태 관리 옵션으로 사용되는 status는 반복도는 상황을 체크하기 위한 여러 속성이 제공된다. statu..
2023.12.14