[Java] UUID 이해 및 사용방법
·
Java/이론 및 문법
해당 글에서는 UUID에 대해서 이해하며 구조를 파악하여 이를 활용할 수 있는 방법에 대해서 이해를 돕기 위해 작성한 글입니다.  1) UUID(Universally Unique Identifier) 정의 및 구조 1. UUID 정의💡 UUID(Universally Unique Identifier)란?- 범용 고유 식별자를 의미하며 중복이 되지 않는 유일한 값을 구성하고자 할때 주로 사용이 되는고유 식별자를 의미합니다.- 주로 세션 식별자, 쿠키 값, 무작위 데이터베이스 키 등에 사용이 됩니다.  2. UUID 구조💡 UUID는 16바이트(128비트) 형태의 구조를 가지며 하나의 UUID 길이는 36자리이며 “4개의 하이픈(-)”과 “32개의 16진수 문자열”로 구성이 되어있습니다. 구조길이 (바이트..
[Java] Spring Boot AOP(Aspect-Oriented Programming) 이해하고 설정하기
·
Java/Spring Boot
해당 글에서는 Spring AOP에 대해 이해하고 환경설정을 해보는 방법에 대해서 공유를 목적으로 작성한 글입니다.1) Spring AOP(Aspect-Oriented Programming, AOP)1. AOP 용어 이해하기 💡 Spring AOP란?- Spring AOP는 스프링 프레임워크에서 제공하는 기능 중 하나로 관점 지향 프로그래밍을 지원하는 기술입니다. Spring AOP는 로깅, 보안, 트랜잭션 관리 등과 같은 공통적인 관심사를 모듈화 하여 코드 중복을 줄이고 유지 보수성을 향상하는데 도움을 줍니다.💡 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP) 이란?- 객체 지향 프로그래밍 패러다임을 보완하는 기술로 메소드나 객체의 기능을 핵심 관심사(Core Co..
[Java] 정규표현식(RegExp) 이해하기 : 패턴, 문자 클래스, 자주 사용 패턴
·
Java/이론 및 문법
해당 글의 목적은 주요 정규식 조작함수를 이해하고 예제를 통한 이해를 돕기 위해 작성한 글입니다. 해당 글에서는 모든 함수에 대해서는 포함하고 있지 않으며 자주 사용되는 함수 위주로 작성하였습니다.    1) 정규표현식(Regular Expression)💡 정규표현식(Regular Expression)- 정규표현식 혹은 정규식은 특정 문자열의 규칙을 가지는 문자열의 집합을 표현하는 데 사용되는 언어를 의미합니다.   1. 정규표현식 패턴(Regular Expression Pattern)1.1. 문자 클래스(Character classes) 💡 문자 클래스(Character classes)  - 문자와 숫자를 구분하는 것과 같이 문자 종류를 구분하는 데 사용합니다.정규식 패턴설명패턴 종류예제\\w'문자..
[Java] Global Exception 이해하고 구성하기 : Controller Exception
·
Java/Spring Boot
해당 글에서는 Controller에서 발생하는 Exception을 Global Exception을 구성하여서 처리하는 방법에 대해서 공유합니다. 1) 개발 환경💡 Global Exception을 적용하는데 활용한 개발환경입니다.개발환경버전java1.8Spring Boot2.7.4빌드관리도구Gradle 7.5개발 툴IntelliJ IDEA 2022.3    2) Controller 내에서 발생하는 Exception 처리 전체적 흐름💡@RestControllerAdvice / @ExceptionHandler를 이용한 Controller 내에서 Exception 처리에 대한 전체적 흐름입니다.1. API 정상 동작 처리클라이언트는 데이터를 담아서 @RequestBody, @RequstParam, @Path..
[Java] 생성자 패턴 이해하기 : 점층적 생성자, 자바 빈즈, Builder 패턴)
·
Java/아키텍처 & 디자인 패턴
해당 글에서는 생성자 패턴에 대해서 이해하고, 어떤 패턴으로 생성자를 구성하는 것이 좋을지에 대해서 공유합니다. 1) 생성자 패턴의 종류 1. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 💡 점층적 생성자 패턴 - 생성자를 매개변수에 개수만큼 구성하는 패턴을 의미합니다. public class SuccessCode { private int status; private String code; private String message; // 매개변수 1개 SuccessCode(int status) { this(status, null, null); } // 매개변수 2개 SuccessCode(int status, String code) { this(status, code, ..
[Java] HikariCP 이해하고 적용하기 (with. MyBatis)
·
Java/Spring Boot
해당 글에서는 HikariCP에 대해 이해하고 영속성 프레임워크(Persistence Framework)인 MyBatis와 연동을 하는 적용 방법에 대해서 공유 목적으로 작성한 글입니다.      💡 [참고] 이전에 구성하였던 환경에 'HikariCP'를 적용하였습니다 [JAVA] Spring Boot내에서 MyBatis & PostgreSQL 연동하기해당 글에서는 Spring Boot내에 Mybatis와 PostgreSQL을 연결하고 로직 처리를 위한 환경 설정 및 파일 구성에 대해서 공유합니다. 1) 사전 확인 작업 1. DB 드라이버 설치 확인 # postgreSQL 버전을 확인한다.adjh54.tistory.com  1) 개발 환경💡 해당 글은 Spring Boot 내에 HikariCP를 사용..
[Java/Library] Spring Boot 2.x 환경에서 Swagger 이해하고 적용하기 : SpringDoc openAPI UI
·
Java/라이브러리 활용
해당 글에서는 Spring Boot 개발 환경에서 Swagger를 적용하는 방법에 대해서 설명합니다.    💡 [참고] Spring Boot 3.x 버전을 사용하시는 경우, 아래의 링크를 참고하셔야 합니다. [Java] Spring Boot 3.x Swagger3 이해하고 적용하기 : SpringDoc OpenAPI Starter WebMVC UI 및 구성 방법해당 글에서는 Spring Boot 3.x 버전 내에서 Swagger3을 SpringDoc OpenAPI Starter WebMVC UI를 통해 이해하고 설정하는 방법에 대해 알아봅니다.1) Swagger💡Swagger- RESTful 웹 서비스를 설계, 구축, 문서화 및 사adjh54.tistory.com  💡 [참고] Swagger에 대해..
[Java] Lombok 이해하고 적용하기 -1 : 설정 및 기초
·
Java/Spring Boot
해당 글은 Spring Boot 내에 Lombok을 구성하는 방법에 대해서 작성하였습니다.  1) 적용 개발환경개발 환경버전java1.8Spring Boot2.7.4빌드관리도구Gradle 7.5개발 툴IntelliJ IDEA 2022.3   2) Lombok💡 Lombok - Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다. 이는 코드의 가독성을 향상시키고 개발 생산성을 높일 수 있습니다. - 어노테이션을 사용하여 코드를 간결하게 작성하고, 컴파일 시점에서 필요한 코드를 자동으로 생성합니다. 따라서 Lombok을 사용하면 개발자는 더 적은 노력으로 효율적인 코드를 작성할 수 있습니다.  1. Lombok 설치하기..
[Java/IntelliJ] Spring Boot Devtools 이해하고 설정하기
·
Java/Spring Boot
해당 글은 Spring Boot의 spring-boot-devtools에 대해 이해하고 Automatic Restart, Live Reload의 기능 사용방법에 대해서 공유 목적으로 작성한 글입니다. 1) spring-boot-devtools💡 spring-boot-devtools- Spring Boot Application을 개발하고 디버깅을 하는데 도움이 되는 도구 모음을 의미합니다.- 개발 단계에서 자동으로 다시 로드되는 기능을 제공하여 개발자가 변경 사항을 신속하게 확인할 수 있도록 도움을 줍니다. 또한 라이브 리로딩, 프로퍼티 변경 감지 및 자동 재시작과 같은 기능도 제공합니다 💡 오픈소스 빌드 자동화 툴(Gradle 혹은 Maven) 내에 라이브러리를 추가합니다.# Gradledepende..