profile
컴공학부생입니다.
post-thumbnail

크루스칼 알고리즘

Spanning Tree 최소한의 간선을 사용하여 그래프 내의 모든 정점을 이어준 트리이다. 신장트리 라고도 한다. 특징 하나의 그래프에 여러 개의 Spanning Tree를 가질 수 있다. 노드가 N개 있다면 간선은 N-1개 이다. Minimum Spanning

2023년 9월 19일
·
0개의 댓글
·
post-thumbnail

WithMe 프로젝트

모임에서 노쇼, 잦은 결석 등 불성실한 태도로 피해를 입은 사례가 많습니다.취업 스터디 사기 등으로 피해를 입은 사례가 많습니다.후기와 평점 기능을 통해 이전 활동에서의 태도, 성실성 등을 파악합니다.위치 인증을 통해 신뢰도를 향상할 수 있습니다.안드로이드: 제니, 콘

2023년 9월 14일
·
0개의 댓글
·
post-thumbnail

DAG 에서 최단 경로 찾기

DAG에서 최단경로를 찾기 위해서는 먼저 위상정렬을 수행하여 topological order를 찾아야 한다.위상 정렬을 하는 방법은 아래 포스트에 정리해놓았다.https://velog.io/@hyeon3356/DAG-%EC%97%90%EC%84%9C-Short

2023년 8월 10일
·
0개의 댓글
·
post-thumbnail

Topologycal Sorting (위상 정렬)

DAG Directed Acyclic Graph 로, 방향이 있고 사이클이 없는 그래프를 말한다. DAG 에서 최단 경로를 찾기 위해 Topological Sorting(위상 정렬)을 이용할 수 있다. Topological Sorting DAG 에서는 사이클이 없기

2023년 8월 9일
·
0개의 댓글
·

KMP 알고리즘

문자열 매칭 문자열이 주어졌을 때 특정한 패턴과 매칭되는 위치를 찾는 것을 말한다. Brute Force 알고리즘 먼저 가장 단순한 방법을 떠올리자면, 모든 문자열의 위치에 대해 패턴을 하나하나 다 비교해보는 방법이다. 문자열의 길이를 N 패턴의 길이를 M 이라고

2023년 8월 7일
·
0개의 댓글
·

0/1 Knapsack Problem

Knapsack Problem에는 두 가지 종류가 있다.Fractional Knapsack Problem 0/1 Knapsack ProblemFractional Knapsack Problem 의 경우에는 그리디로 해결할 수 있다. 하지만 0/1 Knapsack Prob

2023년 8월 5일
·
1개의 댓글
·

스프링 데이터 페이징

코드를 위와 같이 바꾸면 count 쿼리가 생략 가능한 경우 생략해서 처리한다.1\. 페이지 시작 && 컨텐츠가 페이지사이즈보다 작을 때2\. 마지막 페이지 && 컨텐츠 사이즈가 페이지사이즈보다 작을 때스프링 데이터 JPA는 Sort을 Querydsl의 정렬(Order

2023년 7월 29일
·
0개의 댓글
·

QueryFactory 주입 방법

QueryFactory 주입 방법 생성자 내부에서 설정 외부에서 injection 받기 QueryFactory를 아래와 같이 스프링 빈으로 등록한다. 이 방법의 경우, QueryFactory 변수를 final 로 선언하면 @RequiredArgsConstruct

2023년 7월 29일
·
0개의 댓글
·

애플리케이션 실행 시 init 함수 작성법

여기서는 애플리케이션을 구동할 때 더미 데이터를 넣어주는 init 함수를 만들어보자.애플리케이션이 실행될 때는 더미데이터가 들어가지만, 테스트케이스가 실행될 때는 init 함수가 동작되지 않도록 application.yml 을 설정한다.인프런 김영한 님의 강의 실전!

2023년 7월 29일
·
0개의 댓글
·

Querydsl 중급 문법

프로젝션 대상이 둘 이상일 때는 Tuple 이나 DTO로 조회한다.Tuple은 com.querydsl.core에 위치한다.튜플은 가능하면 Repository 단 내에서만 사용하고, 외부로 보낼 때는 DTO 로 변환하여 보내자.순수 JPA에서 DTO를 조회할 때는 new

2023년 7월 28일
·
0개의 댓글
·

Querydsl 기본 문법 - 2

집합 집합 함수 group by having 절도 사용 가능하다. 조인 기본 조인 기본 조인 세타 조인 세타 조인이란? 연관 관계가 없는 엔티티를 조인하는 것이다. 세타 조인을 사용할 경우, left outer join 이나 right outer join 이 불

2023년 7월 28일
·
0개의 댓글
·

Querydsl 기본 문법 - 1

데이터베이스 테이블은 아래와 같이 세팅해주었다. JPQL vs Querydsl JPQL 코드 Querydsl 코드 Q-Type 사용법 기본 인스턴스를 static import 해서 사용하는 방법을 권장한다! 같은 테이블을 조인해야 하는 경우가 아니라면 기본 인

2023년 7월 25일
·
0개의 댓글
·

Querydsl 프로젝트 설정

프로젝트 생성 querydsl 은 스프링부트에서 버전관리는 해주지만, starter에는 없다. 따로 라이브러리를 내려받아야 한다. 따라서 프로젝트 생성 시 아래와 같은 Dependencies 로 설정한다. 엔티티 생성 테스트를 위해 pk 만 가지는 엔티티를 ent

2023년 7월 24일
·
1개의 댓글
·

엔티티 매핑

객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA과 관리하며, 엔티티라고 한다. 주의 기본 생성자가 있어야 한다. (public or protected) final 클래스, enum, interface, inner 클래스에서는 사용할 수 없다. 저

2023년 6월 15일
·
0개의 댓글
·
post-thumbnail

영속성 컨텍스트

영속성 컨텍스트는 엔티티를 영구 저장하는 환경이다.위 코드를 실행하면 entity 객체가 바로 DB 에 입력이 되는 것이 아니라, 영속성 컨텍스트로 등록이 되는 것이다.EntityManager를 통해서 영속성 컨텍스트에 접근할 수 있다.비영속 (new/transient

2023년 6월 14일
·
0개의 댓글
·
post-thumbnail

JPA 구동 방식과 JPQL

애플리케이션이 실행되면 단 1개의 EntityManagerFactory 가 생성되고, 종료되면 없어진다.하나의 트랜잭션(쓰레드)가 생성될 때마다 EntityManagerFactory 가 EntityManager을 생성해준다. JPA의 모든 데이터 변경은 트랜잭션 안에서

2023년 6월 14일
·
0개의 댓글
·
post-thumbnail

H2 Database

H2 Database는 개발 중이나 테스트 용도로 사용하기 좋은 데이터베이스이다.h2/bin 내에서 아래의 명령어 실행JDBC URL에 jdbc:h2:~/database_name 와 같이 입력 후 '실행' 버튼을 클릭한다.그러면 ~/database_name.mv.db

2023년 6월 4일
·
0개의 댓글
·

리사이클러 뷰 (RecyclerView)

RecyclerView 만으로는 화면에 출력되지 않는다. RecyclerView의 구성요소 ViewHolder(필수) : 항목에 필요한 뷰 객체를 가진다. Adapter(필수) : 항목을 구성한다. LayoutManager(필수) : 항목을 배치한다. ItemDeco

2023년 5월 2일
·
0개의 댓글
·

Activity, Fragment 간 데이터 전달

Activity Activity 데이터 보내기 데이터 받기 Activity -> Fragment 데이터 보내기 데이터 받기 Fragment -> Activity 데이터 보내기 데이터 받기 Activity 종료 시 result 전달 Activity 호출 r

2023년 5월 2일
·
0개의 댓글
·
post-thumbnail

알림 띄우기

화면 상단에 배터리, 네트워크, 시간 등이 표시된 부분을 상태바라고 한다. 이 상태바는 시스템이 제어하는 부분이기 때문에 앱이 제어할 수 없다. 그래서 상태바에 알림을 출력하려면 시스템에 의뢰를 해야하는데, 이때 알림을 제공하는 API 를 사용한다. 알림은 Notifi

2023년 4월 19일
·
0개의 댓글
·