error: package com.querydsl.core.types does not exist 가 발생함.//querydsl 추가 시작 def querydslDir = "src/main/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } configurations { compileOnly { extendsFrom annotationProcessor } querydsl.extendsFrom compileC..
java.lang.NullPointerException at com.querydsl.jpa.impl.JPAProvider.getTemplates(JPAProvider.java:88) at com.querydsl.jpa.impl.JPAQuery.(JPAQuery.java:48) at com.querydsl.jpa.impl.JPAQueryFactory.query(JPAQueryFactory.java:138) at com.querydsl.jpa.impl.JPAQueryFactory.select(JPAQueryFactory.java:72) at com.querydsl.jpa.impl.JPAQueryFactory.selectFrom(JPAQueryFactory.java:102) at com.psj.itembrow..
개요인터넷을 돌아다니던 도중.. 리스트에 단일한 객체만 들어가는 경우 Collection.singletonList() 를 사용하는 것이 좋다는 글을 보았다.테스트 코드인 경우 유용함 - 실 비즈니스 로직엔 싱글톤보단 단순 리스트 사용하는 게 확장에 유리하기에.. 실제로 GPT 도 싱글톤 리스트를 추천하는 것을 보았다.왜 싱글톤 리스트를 단일값인 경우 사용하는 거지?일단 장점이 몇가지 있다.불변성Collections.singletonList 는 불변 리스트를 생성한다.해당 리스트는 단 하나의 요소만 포함되고, 생성 후에는 해당 요소를 추가하거나 제거할 수 없다!메모리 효율사실 정말 미미한 정도라 의미가 있나 싶지만…테스트 코드는 최대한 가벼워야한다고 생각한다!내부적으로 단일 요소만을 저장하기에, 메모리 사..
[KOTLIN] 봉인된 클래스(sealed class) : 클래스 계층의 확장 제한기본sealed 클래스클래스 계층을 정의할 때 계층 확장을 제한하는 방법 제공함.하위 클래스는 모든 가능한 하위 타입을 제한적으로 나열할 수 있게 함.when 식에서 else 분기 없이도 완전성을 보장한다.예제 : 식(Expression) 계층interface Expr class Num(val value: Int) : Expr class Sum(val left: Expr, val right: Expr) : Expr fun eval(e: Expr): Int = when (e) { is Num -> e.value is Sum -> eval(e.right) + eval(e.left) else -> throw IllegalArgu..
최소 스패닝 트리 ( Mininum Spanning Tree, MST )가중치가 할당된 연결 그래프에서 모든 정점을 최소한의 비용으로 연결하는 부분 그래프임요런 식으로 구성된 그래프구조이다.특징스패닝 트리그래프의 모든 정점을 포함하는 트리그래프의 모든 정점이 연결되어 있으며, 사이클이 없음최소 비용간선들의 가중치 합이 최소인 트리연결 그래프그래프의 모든 정점이 서로 연결되어 있어야 한다.어떤 정점에서 다른 모든 정점으로 가는 경로가 존재한다.대표 알고리즘크루스칼 알고리즘프림 알고리즘사용처여러 도시를 도로로 연결시 가능한 가장 적은 비용으로 모든 도시를 연결하고자 하는 경우 최소 스패닝 트리가 이용됨물류 네트워크의 최적화에 사용한다고 보면됨.크루스칼과 유니온 파인드를 사용한 문제 풀이흐름간선 리스트 준비모..