일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- spanId
- java sentry
- jpa
- java list
- map
- kotlin
- elasticsearch
- intellij recode issue
- @FunctionalInterface
- 센트리
- SpringMVC
- list
- java.util.list
- Spring JPA
- ResponseBody
- java lambda
- java
- sentry environment
- traceId
- spring
- CompletableFuture
- cache sizes may be underestimated as a result
- HashMap
- EnableWebMvc
- spring MVC
- DeferredImportSelector
- java recode with intellij
- software.aws.rds.jdbc.mysql.Driver
- Spring Boot
- intellij issue
- Today
- Total
목록전체 글 (66)
du.study기록공간
이전에도 간단하게 다룬적이 있지만 따로 기록을 위하여 다시 작성하려합니다. JPA서 limit사용하고 싶은 경우에 Pageable를 사용하게 됩니다. 우선 데이터와 repository는 다음과 같습니다. (mysql) (repository) public interface AccountRepository extends JpaRepository { List findByIdGreaterThan(Long id, Pageable pageable); } 해당상태에서 조회하는 쿼리는 다음과같이 할 수 있습니다. int batch = 2; long startId = 0; while(true){ List list = accountRepository.findByIdGreaterThan(startId,PageRequest...
이번에는 자바로 JPA Null 처리하는 방법에 대해 기록하려합니다. 당연하게 db조회시, 객체가 없을경우 null이 발생할 수 있고, 우리는 null을 대비해야만 합니다. 1. Optional 이전에 Java8 부터 등장한 Optional에 대해 포스팅을 한 적이 있습니다. duooo-story.tistory.com/38?category=881766 Java Optional 사용하기 이번에는 Optional 사용법에 대해 기록해보려 합니다. 먼저 Optional은 NULL 처리( 또는 반환값이 없는 ) 에 유용하게 사용되며 이 덕분에 런타임에서 발생되는 NullPointerException를 좀 더 깔끔하도록?(사� duooo-story.tistory.com JPA에서 단일 엔티티를 조회하는 경우, O..
이상하게 Intellij 에서 AutoImport를 할때, java.util.List가 Auto Import 되지않는 이슈가 있었습니다. 이게 대체 왜지??? 하면서 해결법을 찾아봤는데.. 해결은 다음과 같이 하였습니다. File -> settings -> Editor -> General -> Auto Import 에 들어가서 다음과 같은 부분을 제거해줍니다. 이게 왜 대체 설정되어있을까.. 하는 의문이 들지만 해당부분을 제거하면 List를 자동으로 임포트할때 정상동작합니다. 이상한걸로 시간이 뺏긴 느낌이지만.. 해결이 되었으므로 Done!
JpaRepository를 사용하면서 매번 사용하고 있는 API들에 대해 한번 기록해보려합니다. 우선 테스트를 다음과같은 간략학 JpaRepository를 작성하였습니다. import org.springframework.data.jpa.repository.JpaRepository; public interface AccountRepository extends JpaRepository { } 다음과 같이 JpaRepository 를 상속만 하면되며 별도의 @Repository를 이용하여 등록하지 않아도 됩니다.(이부분은 추후에 다시 찾아보는걸로) repository의 준비가 끝났고, 이제 사용할 수 있는 method를 정리하려 합니다. JpaRepository를 살펴보면, 내부적으로 PagingAndSort..
JPA를 사용하다보면 가끔 Bulk 업데이트를 위하여, query를 사용하여 업데이트 하는 경우가 있습니다. 그리고 이 경우, 우리는 항상 @modifying를 사용하게 됩니다. 그렇다면 어째서 @modifying를 사용해야만 하는것을까라는 궁금증이 생겼습니다. 그래서 @Query를 이용해서 업데이트 쿼리를 작성하되 @modifying를 사용, 미사용 상태로 돌려본 후, 결과를 지켜봤습니다. 우선 Repository interface에 @Modifying을 선언하지 않고 실행한 결과입니다. @Component public class JpaRunner implements ApplicationRunner { @Autowired private Repo repo; @Transactional @Override p..
앞으로 좀 자세하게 작성해 나갈 내용들에 대해서 간략한 요약을 작성하려합니다. 내부적으로 확인해봐야할게 매우 많지만, 우선 코드가 조금 익숙치 않아 기본부터 간략하게 정리하려 합니다. 현재 코틀린을 다루는 기술 이라는 책을 보면서 필요한 부분은 추가로 작성중입니다. 1. 필드 및 변수 - 다음과 같이 val, var 을 통해서 변수를 선언할 수 있다. 차이점이 있다면, val은 java 기준 final처럼 불변을 보장하며, var의 경우 가변필드로 사용할 수 있다. val test = "hello world" var test2 = "hello world2" - 타입을 생략 할 수 있다. 다음과 같이 변수에 대해서 타입을 생략할 수 있다. 단, 추론한 타입과 내가 원한 타입이 다를수 있음에 주의하고 왠만하..
이 글은 코틀린을 전~~~혀 모르는 개발자가 공식홈페이지를 보며 따라해보며 배워가는 글 입니다. 해당 글은 https://kotlinlang.org/docs/reference/basic-syntax.html에서 보면서 처음부터 따라해보는것을 목표로 합니다. 언어를 새로 돌려볼땐 국룰 Hello World를 찍어보려합니다. 우선https://kotlinlang.org/docs/tutorials/getting-started.html 해당 공식 페이지의 문서대로 설정하였습니다. (너무 잘나와있기에..) fun main() { println("Hello world") } 계속 자바를 메인으로 써서 그런진 모르겟지만, 별도 클레스 선언없이 바로 메인을 실행하는건 조금 어색합니다. 뜬금없지만 코틀린을 갑자기 살펴보..
이번엔 스프링에서 사용하고 있는 Scheduling에 대해서 기록해보려합니다. 현재 저희 프로젝트에서는 일정시간단위로 반복되는 작업 처리 방법 중 하나로 해당 Scheduled를 사용하고 있습니다. 오늘 갑자기 코드를 보면서 해당 @Scheduled 가 어떻게 실행되고 set되는지가 궁금하여 조금 간략하게나마 여기에 기입해보려합니다. 먼저 Spring에서 Scheduling을 사용하려면 @Configuration을 선언한 설정파일과 같이 @EnableScheduling를 선언해야합니다. @Configuration @EnableScheduling public class ScheduleConfiguration implements SchedulingConfigurer { @Override public void..
이번에는 자바 8부터 비동기를 기능을 지원해주는 CompletableFuture에 대해 기록하려합니다. 이 글은 https://www.youtube.com/watch?v=PzxV-bmLSFY&t=8s토비좌 의 강의를 듣고 공부를 위해 작성하고 있습니다. 기존에 자바에서 비동기 작업을 진행한다 하면 별도의 쓰레드풀 생성, Future, FutureTask 을 통한 비동기처리 또는 ThreadPoolTaskExecutor등 다양한 방법이 있긴했습니다. 하지만 8에서 보다 간단하면서 비동기 작업의 결과를 만들어 낼 수 있는 CompletableFuture가 등장했습니다. 특징으로는 1. CompletionStage 을 implement하고있어 비동기 작업을 의존적으로 또다른 기능을 수행할 수 있게 해줍니다. ..
이번에는 Optional 사용법에 대해 기록해보려 합니다. 먼저 Optional은 NULL 처리( 또는 반환값이 없는 ) 에 유용하게 사용되며 이 덕분에 런타임에서 발생되는 NullPointerException를 좀 더 깔끔하도록?(사실 코드 보는사람 케바케인지라.. 만약 자바 개발자가 Optional을 모른다면) 지원해주고 있습니다. 현재 저희 프로젝트에서도 dao 에서 받아온 값을 Optional을 통해 처리하고 있어 이번 기회에 기록해보려 합니다. 테스트는 간단하게 main함수에서 private함수를 호출하는 식으로 테스트 할 예정입니다. 먼저 Optional을 살펴보면 다음과같은 변수를 가지고 있습니다. public final class Optional { private static final O..