일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vavr
- 양자컴퓨터
- 테슬라
- TSLA
- api cache
- Cache
- mysql
- java
- elasticsearch cache
- aggs
- Docker
- aqqle
- Query
- NORI
- request cache
- Elasticsearch
- Analyzer
- dbeaver
- KNN
- redis
- ann
- Selenium
- java crawler
- Aggregation
- 아이온큐
- IONQ
- Elastic
- file download
- JPA
- API
- Today
- Total
목록Java (27)
아빠는 개발자
검색결과중 일부 메소드에서 처리하는 데이터 들만 캐싱해야하는 상황.. 일단 구현해보자 https://father-lys.tistory.com/42 에서 세팅한 redis 정보를 활용 우선 컨드롤러 생성 CacheService 의 getCaches 를 호출 package com.doo.aqqle.controller; import com.doo.aqqle.model.CommonResult; import com.doo.aqqle.service.CacheService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.Requ..
지난시간 elasticsearch 의 file system cache 를 사용해서 성능을 올려보았는데 https://father-lys.tistory.com/40 [java] API - file system cache (request cache) API 를 만들고 응답시간을 측정해서 최적의 성능을 만들어 보자 일단 제물이 될 index 820만건의 location-index 일단 aqqle 의 shop API 를 응용해서 후다닥 만들어 보자. 복붙해서 이름만 바꾸니까 1분 미 father-lys.tistory.com 캐싱하면 redis 니까 함 넣어보잣 우선 redis 설치 https://father-lys.tistory.com/41 그리고 aqqle api 에 redis 설정 1. build.gradl..
API 를 만들고 응답시간을 측정해서 최적의 성능을 만들어 보자 일단 제물이 될 index 820만건의 location-index 일단 aqqle 의 shop API 를 응용해서 후다닥 만들어 보자. 복붙해서 이름만 바꾸니까 1분 미만 컷 지금은 bool > filter > term 쿼리로 조회하니 응답속도가 빠르다. 일단 이 상태에서 리소스 사용과 응답속도를 측정해보잣 캐싱이 안되고 있지만 너무 빠르다 일단 지난 캐시 테스트와 같은 구조로 multi_match 쿼리 와 count집계(aggs) 를 두번 추가 전체쿼리 더보기 { "size":100, "query":{ "bool":{ "must":[ { "multi_match":{ "query":"country_code", "fields":[ "CO^1...
비동기는 건강에 해롭다.. 컴터가 맛이 갔네.. maven 레포지토리에 가보자 https://mvnrepository.com/search?q=selenium 셀레니움을 써야 하니까 셀레니움 추가 build.gradle dependencies { ... // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.0' ... } ThreadPoolTaskExecutor 설정 @Slf4j @Configuration @EnableAsync(proxyTargetClass = true..
selenium 크롤링 라이브러리 크롬 정보 확인 크롬 정보 크롬 드라이버 다운로드 페이지에 접속해보자 https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, p..
Java의 CompletableFuture에서 get()과 join() 메소드는 모두 완료된 CompletableFuture의 결과를 반환 get() join() interrupt O X interrupt 발생 InterruptedException 인터럽트 차단 Exception ExecutionException UncheckedExecutionException get() 메소드는 java.util.concurrent.Future 인터페이스에 정의되어 있으므로 이 인터페이스를 구현하는 다른 클래스와 호환 가능하지만, join() 메소드는 CompletableFuture 클래스에만 특화되어 있기 때문에 CompletableFuture와만 사용할 수 있다 일반적으로 CompletableFuture을 다룰 때..
한개의 컬럼에 UNIQUE 설정 @Column(name="column" , unique=true) long column 두 개 이상 컬럼을 묶어 UNIQUE 설정 @Table 속성 uniqueConstraints 사용 @Entity @Table( name="keywords", uniqueConstraints={ @UniqueConstraint( name={"contstraintName"} columnNames={"keyword", "use_yn"} ) } ) @Data public class Entity{ @Column(name="keyword") String keyword; @Column(name="use_yn") String use_yn; }