전체 글 230

템플릿 엔진

템플릿 엔진템플릿 엔진(Template Engine)은 정적 파일(예 : HTML, XML 등)을 동적으로 변환할 수 있는 도구이다. 서버에서 데이터를 받아, 동적인 콘텐츠를 생성하기 위해 템플릿 파일에 변수나 표현식을 삽입해 처리하는 역할을 한다. 이를 통해 서버가 클라이언트에  동적 웹 페이지를 응답할 수 있게 된다. 역할동적 웹 페이지 생성 : 서버에서 HTML 템플릿 파일을 가져와, 서버에서 처리된 데이터를 삽입하여 클라이언트에게 동적인 웹 페이지를 전송한다.코드 재사용성 : 여러 웹 페이지에서 동일한 구조나 디자인을 사용하는 경우, 템플릿 엔진을 사용하면 공통된 레이아웃을 쉽게 재사용할 수 있다. 템플릿 엔진의 종류서버사이드 템플릿 엔진(SSR) : 서버에서 HTML을 렌더링하고, 데이터가 삽입..

Spring boot 2024.10.04

블로그 7 - 글 수정 API 만들기

Article 클래스(엔티티) 코드 추가하기 - 1package com.tenco.demo._domain.blog.entity;import com.tenco.demo.common.errors.Exception400;import jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence.Id;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;// Entity 클래스 설계 시 주의사항..

Spring boot 2024.10.02

블로그4 - 서비스, 컨트롤러 만들기

작업 1 - DTO(Data Transfer Object)클래스 만들기 (게시글 저장)DTO는 데이터 전송을 위한 객체로, 주로 계층 간 데이터 교환을 목적으로 사용된다. 예를 들어, 클라이언트에서 서버로, 혹은 서비스 계층에서 프레젠테이션 계층으로 데이터를 전달할 때 사용된다.package com.tenco.demo._domain.blog.dto;import com.tenco.demo._domain.blog.entity.Article;import lombok.AllArgsConstructor;import lombok.Data;import lombok.Getter;import lombok.NoArgsConstructor;@NoArgsConstructor@AllArgsConstructor@Getter// ..

Spring boot 2024.10.02

블로그3 - 레포지토리 만들기

PostRepository의 사용package com.tenco.demo._domain.blog.repository;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.stereotype.Repository;import com.tenco.demo._domain.blog.entity.Article;// C R U D// @Repository { // 기본적인 CRUD 기능을 자동 제공한다. // 필요 시, 만들어 놓은 곳에 추가적인 쿼리나 메서드 정의가 가능하다.} 문법 확인JpaRepository 첫 번째 타입(Article)엔티티 클래스를 넣어야 한다. 이클래스는 데이터베이스의 테이블과 연결되며, ..

Spring boot 2024.10.02

Stream API

스트림 패키지의 구분자바 I/O 스트림은 데이터를 읽고 쓰는 목적으로 사용된다. 파일, 네트워크, 메모리 등 다양한 소스에서 바이트나 문자 데이터를 읽거나 쓰기 위한 스트림이다. InputStream과 OutputStream이 대표적인 I/O 스트림이다. Stream API와 자바 I/O 스트림은 이름은 비슷하나, 완전히 다른 개념이다. Stream API는 자바 8에서 도입된 중요한 기능 중 하나로, 데이터 컬렉션(자료구조)을 처리할 때 사용되는 강력한 도구이다. 스트림(Stream)은 데이터를 선언적으로 처리할 수 있게 하며, 특히 대용량 데이터 처리 및 데이터 흐름 제어에 매우 유용하다. Stream API자바 I/O 스트림데이터 컬렉션(List, Set, Map, 배열)을 처리파일, 네트워크 등 ..

Java 2024.10.01

래퍼 클래스

프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있다. 이럴 때에 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 한다.package ch01;public class MainTest1 { public static void main(String[] args) { // 박싱, 언박싱 이라는 용어를 이해하자. int num1 = 3; // ---> Integer Integer num2 = new Integer(3); // 박싱 int num3 = num2.intValue(); // 언박싱 System.out.println(num2); System.out.println(num3);..

Java 2024.10.01

블로그2 - 엔티티 만들기

블로그 테이블 구조 확인컬럼명자료형null 허용키설명idBIGINTN기본키일련번호, 기본키titleVARCHAR(255)N 게시물 제목contentVARCHAR(255)N 내용 스프링 부트와 JPA 프로젝트에서 패키지 구조를 구성하는 트렌드는 도메인 주도 설계(Domain-Driven Design, DDD)의 원칙을 사용하는 사례가 많이 보인다. 이는 애플리케이션의 구조를 기능이나 역할에 따라 나누기보다는, 도메인 중심으로 나누어 애플리케이션의 유지보수성과 확장성을 높이려는 의도나 방식이다.(여기서 도메인은 애플리케이션이 해결하려는 특정 비즈니스 문제나 현실 세계의 문제를 의미한다. 예를 들어, 은행 애플리케이션에서 "계좌", "고객", "거래"는 중요한 비즈니스 개념이며, 이것들이 바로 그 애플리케이션..

Spring boot 2024.10.01

블로그 프로젝트 만들기1

REST APIREST API(Representational State Transfer Application Programming Interface)는 네트워크 상에서 자원을 요청하고 조작하기 위한 아키텍처 스타일이다. REST API는 주로 HTTP 프로토콜을 기반으로 하며, 클라이언트와 서버 간의 통신을 단순하고 효율적으로 수행할 수 있도록 하는 표준화 된 약속이다. REST API 주요 특징무상태성 (Statelessness) : 각 요청은 독립적이며, 서버는 클라이언트의 상태를 저장하지 않는다. 모든 요청에는 필요한 모든 정보가 포함되어 있어야 한다.클라이언트-서버 구조 : 클라이언트와 서버는 서로 독립적으로 동작하며, 클라이언트는 요청을 보내고 서버는 그에 대한 응답을 제공한다.자원 기반 : A..

Spring boot 2024.10.01