728x90

전체 글 343

이펙티브 자바 읽고 정리해보기 4 & 5.

아이템 4 : 인스턴스화를 막기 위해 private 생성자 활용하라java.lang.Math 클래스나 java.util.Arrays는 기본 타입 값이나 배열 관련 메서드를 모아둔 클래스로, 실무에서 이와 같이 정적 메서드와 정적 필드만 있는 클래스를 구현할 수도 있다. 또한 java.util.Collections처럼 특정 인터페이스 구현체를 생성하는 정적 메서드(팩터리)를 모아놓을 수 있다(java 8부터는 해당 메서드를 인터페이스에 넣을 수 있다). final 클래스 관련 메서드를 모아놓을 때에도 사용할 수 있다. final 클래스를 상속한 하위클래스에 메서드를 넣을 수 없다정적 멤버만 있는 유틸리티 클래스는 인스턴스로 사용하기 위한 목적이 아니지만, 생성자를 명시하지 않으면 컴파일러가 public 생..

08. 14 TIL : mySQL ~ ORDER BY NULL

ORDER BY NULL은 MySQL에서 사용되는 특수한 구문으로,결과 집합의 정렬을 무효화하거나 비활성화하는 데 사용됩니다. 즉, 정렬을 하지 않겠다는 의미입니다 보통 MySQL 쿼리에서 ORDER BY 절을 사용하면 결과가 특정 열을 기준으로 정렬됩니다. 그러나 때로는 정렬을 원하지 않거나 정렬이 불필요할 수 있습니다. 이때 ORDER BY NULL을 사용하면 쿼리가 정렬 없이 수행됩니다.이 구문은 주로 다음과 같은 상황에서 유용합니다:GROUP BY와 함께 사용: GROUP BY 절을 사용할 때 MySQL은 기본적으로 결과를 그룹핑된 열을 기준으로 정렬합니다. 하지만 정렬이 필요 없는 경우 ORDER BY NULL을 사용해 불필요한 정렬을 방지하고 성능을 최적화할 수 있습니다.SELECT colum..

TIL, WIL/TIL📘 2024.08.14

08.07 TIL : QueryDSL 필요성 및 장점 이해

문제 : CTE 문법을 활용한 쿼리 작성 및 개선을 위한 분석 작업 도중 queryDSL의 필요성을 보다 확실하게 이야기하고 싶어 근거를 확인해보게 되었다. * 내가 확실하게 느낀 장점들1. 타입 안전성컴파일 시 쿼리 타입을 검사한다. MyBatis의 경우에는 런타임에서 오류가 확인 가능해 테스트 단계까지 가서 오류가 확인 가능하므로 이 과정을 개선할 수 있다. 2. 유지보수DAO 패턴의 경우 쿼리 변경 시 관련 코드를 모두 수정해야 한다.

TIL, WIL/TIL📘 2024.08.07

이펙티브 자바 읽고 정리해보기 3.

아이템 3 : private 생성자나 열거 타입으로 싱글턴임을 보장하라싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 대표적인 케이스로 함수(아이템 24)같은 stateless 객체나 설계상 유일해야 하는 시스템 Component가 있다. 클래스를 싱글턴으로 만들면 클라이언트를 테스트하기 어려워질 수 있다. 타입을 인터페이스로 정의한 후 그 인터페이스를 구현해서 만든 싱글턴인 경우에만 Mock을 사용할 수 있기 때문이다싱글턴은 일반적으로 두 가지 방식으로 만든다. 모두 private 생성자를 사용하고 인스턴스 접근 수단으로는 static 멤버변수를 둔다1) public static이 final 필드인 경우public class A { public static final A Ins..

이펙티브 자바 읽고 정리해보기 2.

아이템 2 : 생성자에 매개변수가 많다면 빌더를 고려하라정적 팩터리와 생성자 방식은 선택적 매개변수에 관련해 동일한 제약을 공유한다. 선택 매개변수가 많아질 수록 대응이 어렵다는 점이다. 이 경우 점층적 생성자 패턴을 통해 모든 경우의 수에 해당하는 생성자를 만들어 이 경우에 대비할 수 있으나, 이는 매개변수가 많아질 수록 코드 가독성과 작성 난이도가 올라가는 것은 똑같다다른 대안으로 자바 빈즈 패턴을 이용해 매개변수가 없는 생성자로 객체를 만든 후, 설정자를 이용해 원하는 매개변수의 값을 설정하는 것이다public class A { // 기본값이 있는 경우, 매개변수는 초기화된다 private int a = -1; // 필수; 기본값 없음 private int b = -1; // 필수; 기본값 없..

07. 09 TIL : 엑셀 다운로드 기능 구현에 필요한 스터디

참고한 글https://techblog.woowahan.com/2698/ 아 엑셀다운로드 개발,,, 쉽고 빠르게 하고 싶다 (feat. 엑셀 다운로드 모듈 개발기) | 우아한형제{{item.name}} 1. 들어가며 안녕하세요! 정산시스템팀 병아리 개발자 최태현입니다. 최근에 엑셀 다운로드 개발을 편하게 할 수 있는 모듈을 만들게 되었습니다. 제가 엑셀 다운로드 모듈을 만들게techblog.woowahan.com https://jindory.tistory.com/entry/Java-POI%EB%A1%9C-%EC%97%91%EC%85%80-%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0 [Java] POI로 데이터 엑셀 다운받기안녕하세요. 개발자 Jindory입니다. 오늘은 POI 라이브..

TIL, WIL/TIL📘 2024.07.09

06. 12 TIL : 문자열을 IntStream으로 변환하는 쉬운 방법 chars()

프로그래머스 문제를 풀다가 마주한 chars() Instream으로 아주 쉽게 변환해준다. 또는 이번 문제는 그냥 CharArray로만 비교해도 된다. https://school.programmers.co.kr/learn/courses/30/lessons/120886 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr

TIL, WIL/TIL📘 2024.06.12

05. 17 TIL: 엔티티 객체 참조 vs id 참조

애그리거트(애그래게잇) 첫 등장! 참고한 글 : https://medium.com/@SlackBeck/id%EB%A1%9C-%EB%8B%A4%EB%A5%B8-%EC%95%A0%EA%B7%B8%EB%A6%AC%EA%B2%8C%EC%9E%87%EC%9D%84-%EC%B0%B8%EC%A1%B0%ED%95%98%EB%9D%BC-4d64f1591e60 ID로 다른 애그리게잇을 참조하라필자는 지난 글 전반부에서 도메인 주도 설계Domain-Driven Design에서 말하는 구조물 중 하나인 조립물AGGREGATE[1]에 대해 이야기했다. 조립물을 구현하다 보면 다른 조립물을 참조해야 할 때가 있다.medium.com

TIL, WIL/TIL📘 2024.05.17
728x90