현실을 넘어
close
프로필 배경
프로필 로고

현실을 넘어

  • 분류 전체보기
    • 자바
      • 일반
      • 알고리즘
      • 객사오
      • 스프링입문객체지향
      • 리팩토링
      • 스프링부트3
      • JPA
      • QueryDsl
      • Spring Security
    • 코틀린
      • 코틀린인액션
      • 알고리즘
    • 일 관련 삽질
    • JIRA
    • 도메인주도개발
    • DB
      • Mysql
    • MQ
      • Apache Kafka
    • Docker-Kubernetes
    • GITHUB
    • REST API
    • 리눅스
  • 홈
  • 태그
  • 방명록

리스트의 요소가 단일값인 경우 Collections.singletonList 를 사용해야하는 이유

개요인터넷을 돌아다니던 도중.. 리스트에 단일한 객체만 들어가는 경우 Collection.singletonList() 를 사용하는 것이 좋다는 글을 보았다.테스트 코드인 경우 유용함 - 실 비즈니스 로직엔 싱글톤보단 단순 리스트 사용하는 게 확장에 유리하기에.. 실제로 GPT 도 싱글톤 리스트를 추천하는 것을 보았다.왜 싱글톤 리스트를 단일값인 경우 사용하는 거지?일단 장점이 몇가지 있다.불변성Collections.singletonList 는 불변 리스트를 생성한다.해당 리스트는 단 하나의 요소만 포함되고, 생성 후에는 해당 요소를 추가하거나 제거할 수 없다!메모리 효율사실 정말 미미한 정도라 의미가 있나 싶지만…테스트 코드는 최대한 가벼워야한다고 생각한다!내부적으로 단일 요소만을 저장하기에, 메모리 사..

  • format_list_bulleted 자바/리팩토링
  • · 2024. 2. 19.
  • textsms

[팁] compareTo 기준점

compareTo 기준 어느 쪽을 기준으로 정렬되는 건지 알기 어려울때..두 사람의 키 를 비교하는 것과 비슷하다.1. 첫번 째 사람의 키가 더 크다면compareTo 의 결과 양수키 큰놈이 더 뒤로 간다.2. 두 사람의 키가 동일comapreTo 결과 03. 첫 번째 사람의 키가 더 작다면compareTo 결과 음수 키 작은 놈이 앞으로 온다. Uploaded by N2T

  • format_list_bulleted 자바/일반
  • · 2024. 2. 19.
  • textsms
[프로젝트] 모킹 클래스의 private 필드에 테스트 데이터 삽입 방법 - `ReflectionTestUtils`

[프로젝트] 모킹 클래스의 private 필드에 테스트 데이터 삽입 방법 - `ReflectionTestUtils`

ReflectionTestUtils는 Spring Framework 에서 제공하는 유틸리티 클래스이다.테스트 시나리오에서 리플렉션(reflection)을 사용하여 객체의 private 필드에 접근private 메서드를 호출할 때 사용한다.일반적으로 이러한 작업은 Java의 접근 제어 규칙 때문에 직접적으로는 할 수 없지만, 리플렉션을 사용하면 가능해진다.일반적으로 모킹된 객체의 경우 별도의 Mockito#when 등을 통하여는 실제 도메인 데이터의 흐름을 테스트 할 수 없기에,즉, 엔티티의 경우 access level 이 PROTECTED 로 보통 설계되어있기에, 엔티티안의 값을 전부 채워넣는 건 시간 낭비이기에 해당 리플렉션을 사용함.해당 테스트용 리플렉션을 사용해야한다.예제import org.spri..

  • format_list_bulleted 자바/리팩토링
  • · 2024. 2. 4.
  • textsms

[Security] PasswordEncoder..?

@Bean public PasswordEncoder passwordEncoder() { return PasswordEncoderFactories.createDelegatingPasswordEncoder(); }PasswordEncoder 빈 주입return new BCryptPasswordEncoder(); -> return PasswordEncoderFactories.createDelegatingPasswordEncoder();으로 변경하였다.Password Storage :: Spring SecuritySpring Security’s PasswordEncoder interface is used to perform a one-way transformation of a password to let the..

  • format_list_bulleted 자바/Spring Security
  • · 2024. 1. 19.
  • textsms

[프로그래머스] 행렬의 덧셈 (Java)

package org.example.알고리즘.행렬의덧셈; import java.util.Arrays; /**/ class Solution { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(Arrays.deepToString(solution.solution(new int[][]{{1, 2}, {2, 3}}, new int[][]{{3, 4}, {5, 6}}))); } public int[][] solution(int[][] arr1, int[][] arr2) { ArrayClass arrayClass1 = new ArrayClass(arr1); ArrayClass arrayClass..

  • format_list_bulleted 자바/알고리즘
  • · 2024. 1. 14.
  • textsms

[리팩토링 일기] 삭제 기능을 TDD 진행시 다른 기능이 선행으로 필요한 경우

@Nested @Sql(scripts = {"classpath:sql/member/insert_member.sql", "classpath:sql/shippinginfo/insert_shipping_info.sql", "classpath:sql/product/insert_product.sql", "classpath:sql/order/insert_order_product.sql", "classpath:sql/order/insert_order.sql"}) class DeleteTest { @Test @DisplayName("주문에 대한 삭제일 업데이트시 true 를 반환하는지 테스트") void When_DeleteSoftly_Expect_MethodReturnTrue() { // given as @Sql /..

  • format_list_bulleted 자바/리팩토링
  • · 2023. 11. 10.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
  • ㅇ
전체 카테고리
  • 분류 전체보기
    • 자바
      • 일반
      • 알고리즘
      • 객사오
      • 스프링입문객체지향
      • 리팩토링
      • 스프링부트3
      • JPA
      • QueryDsl
      • Spring Security
    • 코틀린
      • 코틀린인액션
      • 알고리즘
    • 일 관련 삽질
    • JIRA
    • 도메인주도개발
    • DB
      • Mysql
    • MQ
      • Apache Kafka
    • Docker-Kubernetes
    • GITHUB
    • REST API
    • 리눅스
최근 글
인기 글
최근 댓글
태그
  • #Kotlin
  • #자바
  • #리팩토링
  • #객체지향
  • #ddd
  • #도메인주도개발
  • #JPA
  • #QueryDSL
  • #알고리즘
  • #객사오
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바