전체 글

나만의 기록... 까먹지말자...
⚡추상 팩토리 패턴이란? 추상 팩토리 패턴은 생성 패턴중 하나이다. 팩토리 패턴과 유사한 패턴으로 관련성이 있는 여러 객체의 집합을 생성하기 위한 인터페이스를 제공한다. 이 패턴은 클라이언트 코드에서 구체적인 객체를 직접 생성하는 의존성을 제거하고, 서로 관련된 객체들의 집합을 생성하는 인터페이스를 제공합니다. 추상 팩토리 패턴은 일종의 "팩토리의 팩토리" 라고 할 수 있다. 즉, 팩토리 객체를 생성하는 팩토리를 만들어서 이를 통해 서로 관련된 객체들을 생성한다. 이렇게 추상화된 인터페이스를 통해 클라이언트 코드는 구체적인 객체 생성 방법을 알 필요 없이 추상화된 팩토리 객체를 사용하여 객체를 생성할 수 있다. 이렇게 추상화된 인터페이스를 통해 클라이언트 코드는 객체 생성 방법이 변경되더라도, 코드 수정..
⚡팩토리 메소드 패턴이란? 팩토리 메소드 패턴(Factory Method Pattern)은 객체를 생성하기 위한 인터페이스를 정의하고, 객체의 생성을 서브클래스에게 위임하여 객체 생성을 유연하게 처리할 수 있는 디자인 패턴이다. ⚡팩토리 메소드 패턴은 어떤 경우에 사용하는가? 객체 생성과 관련된 코드의 변경을 최소화하고 싶을 때 객체 생성 코드를 별도의 클래스로 분리하여, 이를 수정할 경우에도 클라이언트 코드를 수정할 필요가 없어져 유지보수성을 높일 수 있다. 객체 생성에 대한 자세한 정보를 숨기고 싶을 때 클라이언트 코드에서는 팩토리 메서드를 호출하여 객체를 생성하고, 구체적인 객체 생성에 대한 정보는 팩토리 클래스 내부에 감추어 진다. 이를 통해 객체 생성에 대한 자세한 정보를 숨기고, 클라이언트 코..
디자인 패턴을 사용해서 리팩터링을 하면서 계속해서 어떤 패턴을 사용해야 하는지 고민을 하고 매번 찾아보게 되는 거 같아서 내가 쉽게 이해하고 다시 보기 위해 디자인 패턴에 대해서 정리를 해보려고 한다. 일단 가장 기본이 되는 싱글턴 패턴 부터 정리를 해보도록 하겠다. ⚡싱글턴 패턴이란? 싱글턴(singleton)은 클래스에 인스턴스가 하나만 생성되도록 하는 패턴이다. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 클래스의 생성자를 private으로 선언하여 외부에서 인스턴스를 직접 생성할 수 없게 만든 다음, 클래스 내부에서 유일한 인스턴스를 생성하고 이를 반환하는 static 메서드를 구현한다. 이렇게 구현된 ..
· DevOps
⚡개요 내가 사용중인 Intellij 플러그인을 정리 해보려고 한다. 집에나 회사에서 Intellij를 사용해서 개발할때 여러 플러그인을 사용을 하면서 괜찮았던 플로그인에 대해서 정리를 해 놓으려고 한다. (내용을 자세하게 설명하지 않을 예정) 새로운 플러그인에 대해서 알게 되고 경험해봤을때 좋다면 계속해서 내용을 늘려 나가려고 한다. 😁 🎨디자인 관련 플러그인 디자인적으로 개발 환경을 이쁘게 꾸미는 플러그인에 대해서 소개 하려고한다. 개개인별로 다를수가 있기때문에 내가 적은 플러그인 말고 다른 플러그인도 많이 있으니 알아보고 사용하길 바란다. 1️⃣ One Dark Theme 여러 블로그를 보면 많이 추천하는 테마 플러그인이다. 디자인이 무난하면서 계속해서 코드를 봤을때 눈이 아프지 않아서 좋아서 사용..
· Spring
⚡ 개요 spring boot를 사용하면서 기본적인 yml 설정 파일이 존재하고, 프로파일 설정을 하게 되면 프로파일 설정된 값이 우선으로 설정이 된다는것도 협업을 하면서 알고 있었다. 그렇다면 신규 구축 및 서로 다른 설정을 할때 우선순위가 어떻게 되는지 궁금해서 정리를 해보려고 한다. ⚡ 우선 순위 내용 정리 Spring Boot에서는 여러 개의 YAML 파일을 사용하여 애플리케이션 구성을 관리할 수 있다. 이러한 파일은 다음과 같은 우선순위를 가지고 있다. 기본 값 (default) Spring Boot에는 application.yml 또는 application.properties 파일이 기본값으로 제공된다. 이 파일은 다른 구성 파일에 정의되지 않은 모든 구성 속성을 가지고 있다. 프로파일별 값 ..
· Java
⚡ Stream 이란? Java Stream은 자바 8부터 추가된 기능으로, 컬렉션과 배열과 같은 데이터 소스에서 요소를 처리하고 다양한 연산을 수행할 수 있는 API이다. Java Stream API는 함수형 프로그래밍의 개념을 기반으로 만들어졌기 때문에 람다식과 함께 사용할 수 있다. Java Stream은 크게 생성, 중간 연산, 최종 연산으로 구성된다. 생성 연산은 Stream 객체를 생성하는 역할을 하고 중간 연산은 Stream 객체의 요소를 처리하거나 필터링하는 등의 작업을 수행하며 최종 연산은 Stream 객체의 요소를 이용하여 결과를 도출하는 작업을 수행한다. Java Stream API에는 다양한 중간 연산과 최종 연산이 제공되며 이를 활용하여 데이터를 처리하고 다양한 연산을 수행할 수 ..
· CS
⚡ 개요 개발에 대해서 어느정도 한다고 생각했지만 기본이 너무 부족하다는것을 깨닫고 CS 기본적인 내용에 대해서 정리를 하면서 다시 한번 공부중이다. ⚡ 기본 java 기본 타입 : int, long, float, double, char, short, byte, boolean java Wrapper 클래스 : Integer, Long, Float, Double, Character, Short, Byte, Boolean ⚡ 개념 및 내용 정리 오토박싱과 오토 언박싱은 자바에서 데이터 타입을 변환하는데 사용되는 개념이다. 오토박싱 기본 데이터 타입의 값을 해당 래퍼 클래스의 객체로 자동으로 변환하는 것을 말한다. 예를 들어 int 타입의 변수를 Integer 타입으로 할당하면 자동으로 오토박싱이 발생한다. ..
· Spring
이번에는 좀 가벼운 내용으로 쉬어가려고 한다...😅😅😅 개발을 진행 하다 보니 지루함도 느끼고 개발이 하기 싫을때가 있다. 그럴때마다 리프레쉬를 하기 위해서 여러 좋은 글들을 읽거나 재미있는것을 찾아 보곤 한다. 그러던 도중 매일 보는 콘솔에 찍히는 기본 배너는 어떻게 나오며 어떻게 변경하지??? 라는 생각을 하게 되었고 배너를 변경하는 법을 찾아보게 되었다. ⚡배너를 변경하는 방법 Spring Boot 에서 배너를 변경하고 싶다면 src/main/resources 폴더에 banner.txt 파일을 작성하게 되면 해당 텍스트를 배너로 표현을 해줍니다. (매우 간단😤) 테스트용으로 아래의 참조 사이트를 이용해서 만들어본 배너 이다. (😁😁) ⚡참조 사이트 배너 생성 사이트 Spring Boot banner..
· Java
⚡ 개요 이번에는 QueryDsl에서 DateType을 사용하는 방법에 대해서 정리를 해보려고 한다. QueryDsl을 사용하면서 Projections을 통해 쿼리 결과를 DTO 클래스로 변환해서 반환을 받고 리턴을 하는 경우가 종종 있다. 이때 조회 Entity 의 타입이 Date Type인 경우 변환을 할때 타입 에러가 발생하게 된다. 우리의 경우 데이터를 조회할때 예를 들어 1000개의 데이터중 필요한 Entity를 조회 해서 DTO로 변환을 하는 작업을 한다. 데이터의 양이 적다면 속도적인 측면에서 크게 문제가 되지 않지만 이력쪽 데이터를 조회하는 경우에는 속도적인 측면에서 많은 저하가 발생을 하게 되었다. 또한 데이터가 적더라도 컬럼의 타입 그대로가 아닌 변환을 해서 사용 해야하는 경우에도 En..
HaeTae
soTech