Spanning Tree 최소한의 간선을 사용하여 그래프 내의 모든 정점을 이어준 트리이다. 신장트리 라고도 한다. 특징 하나의 그래프에 여러 개의 Spanning Tree를 가질 수 있다. 노드가 N개 있다면 간선은 N-1개 이다. Minimum Spanning
모임에서 노쇼, 잦은 결석 등 불성실한 태도로 피해를 입은 사례가 많습니다.취업 스터디 사기 등으로 피해를 입은 사례가 많습니다.후기와 평점 기능을 통해 이전 활동에서의 태도, 성실성 등을 파악합니다.위치 인증을 통해 신뢰도를 향상할 수 있습니다.안드로이드: 제니, 콘
DAG에서 최단경로를 찾기 위해서는 먼저 위상정렬을 수행하여 topological order를 찾아야 한다.위상 정렬을 하는 방법은 아래 포스트에 정리해놓았다.https://velog.io/@hyeon3356/DAG-%EC%97%90%EC%84%9C-Short
DAG Directed Acyclic Graph 로, 방향이 있고 사이클이 없는 그래프를 말한다. DAG 에서 최단 경로를 찾기 위해 Topological Sorting(위상 정렬)을 이용할 수 있다. Topological Sorting DAG 에서는 사이클이 없기
문자열 매칭 문자열이 주어졌을 때 특정한 패턴과 매칭되는 위치를 찾는 것을 말한다. Brute Force 알고리즘 먼저 가장 단순한 방법을 떠올리자면, 모든 문자열의 위치에 대해 패턴을 하나하나 다 비교해보는 방법이다. 문자열의 길이를 N 패턴의 길이를 M 이라고
Knapsack Problem에는 두 가지 종류가 있다.Fractional Knapsack Problem 0/1 Knapsack ProblemFractional Knapsack Problem 의 경우에는 그리디로 해결할 수 있다. 하지만 0/1 Knapsack Prob
코드를 위와 같이 바꾸면 count 쿼리가 생략 가능한 경우 생략해서 처리한다.1\. 페이지 시작 && 컨텐츠가 페이지사이즈보다 작을 때2\. 마지막 페이지 && 컨텐츠 사이즈가 페이지사이즈보다 작을 때스프링 데이터 JPA는 Sort을 Querydsl의 정렬(Order
QueryFactory 주입 방법 생성자 내부에서 설정 외부에서 injection 받기 QueryFactory를 아래와 같이 스프링 빈으로 등록한다. 이 방법의 경우, QueryFactory 변수를 final 로 선언하면 @RequiredArgsConstruct
여기서는 애플리케이션을 구동할 때 더미 데이터를 넣어주는 init 함수를 만들어보자.애플리케이션이 실행될 때는 더미데이터가 들어가지만, 테스트케이스가 실행될 때는 init 함수가 동작되지 않도록 application.yml 을 설정한다.인프런 김영한 님의 강의 실전!
프로젝션 대상이 둘 이상일 때는 Tuple 이나 DTO로 조회한다.Tuple은 com.querydsl.core에 위치한다.튜플은 가능하면 Repository 단 내에서만 사용하고, 외부로 보낼 때는 DTO 로 변환하여 보내자.순수 JPA에서 DTO를 조회할 때는 new
집합 집합 함수 group by having 절도 사용 가능하다. 조인 기본 조인 기본 조인 세타 조인 세타 조인이란? 연관 관계가 없는 엔티티를 조인하는 것이다. 세타 조인을 사용할 경우, left outer join 이나 right outer join 이 불
데이터베이스 테이블은 아래와 같이 세팅해주었다. JPQL vs Querydsl JPQL 코드 Querydsl 코드 Q-Type 사용법 기본 인스턴스를 static import 해서 사용하는 방법을 권장한다! 같은 테이블을 조인해야 하는 경우가 아니라면 기본 인
프로젝트 생성 querydsl 은 스프링부트에서 버전관리는 해주지만, starter에는 없다. 따로 라이브러리를 내려받아야 한다. 따라서 프로젝트 생성 시 아래와 같은 Dependencies 로 설정한다. 엔티티 생성 테스트를 위해 pk 만 가지는 엔티티를 ent
객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA과 관리하며, 엔티티라고 한다. 주의 기본 생성자가 있어야 한다. (public or protected) final 클래스, enum, interface, inner 클래스에서는 사용할 수 없다. 저
영속성 컨텍스트는 엔티티를 영구 저장하는 환경이다.위 코드를 실행하면 entity 객체가 바로 DB 에 입력이 되는 것이 아니라, 영속성 컨텍스트로 등록이 되는 것이다.EntityManager를 통해서 영속성 컨텍스트에 접근할 수 있다.비영속 (new/transient
애플리케이션이 실행되면 단 1개의 EntityManagerFactory 가 생성되고, 종료되면 없어진다.하나의 트랜잭션(쓰레드)가 생성될 때마다 EntityManagerFactory 가 EntityManager을 생성해준다. JPA의 모든 데이터 변경은 트랜잭션 안에서
H2 Database는 개발 중이나 테스트 용도로 사용하기 좋은 데이터베이스이다.h2/bin 내에서 아래의 명령어 실행JDBC URL에 jdbc:h2:~/database_name 와 같이 입력 후 '실행' 버튼을 클릭한다.그러면 ~/database_name.mv.db
RecyclerView 만으로는 화면에 출력되지 않는다. RecyclerView의 구성요소 ViewHolder(필수) : 항목에 필요한 뷰 객체를 가진다. Adapter(필수) : 항목을 구성한다. LayoutManager(필수) : 항목을 배치한다. ItemDeco
Activity Activity 데이터 보내기 데이터 받기 Activity -> Fragment 데이터 보내기 데이터 받기 Fragment -> Activity 데이터 보내기 데이터 받기 Activity 종료 시 result 전달 Activity 호출 r
화면 상단에 배터리, 네트워크, 시간 등이 표시된 부분을 상태바라고 한다. 이 상태바는 시스템이 제어하는 부분이기 때문에 앱이 제어할 수 없다. 그래서 상태바에 알림을 출력하려면 시스템에 의뢰를 해야하는데, 이때 알림을 제공하는 API 를 사용한다. 알림은 Notifi