본문 바로가기

dev95

Quick Start WebAssambly (wasm) WebAssambly (wasm)웹 브라우저에서 실되는 프로그래밍 언어이자 바이트코드. • 안전하다 • 빠르다 WebAssembly System Interface (WASI)WebAssembly용 모듈식 시스템 인터페이스Cross platform applications and gamesCode re-use between platforms and use casesRunning applications written in any Wasm/Wasi-compilable language on single runtime"Containerizing" application and their dependencies as single tagetAnd Many More!브라우저 외부에서 WebAssembly를 실행할 수 있다.. 2024. 6. 5.
Java Virtual Threads 사용 시 synchronized 주의 개요Virtual thread를 synchronized 구문과 함께 사용 시 주의 해야한다. Java 21 + tomcat + HttpComponents  조합으로 Virtural Therad를 활성화하여 사용하면 요청이 많은 경우 서버가 blocking되는 이슈가 발생할 수 있다.https://openjdk.org/jeps/444There are two scenarios in which a virtual thread cannot be unmounted during blocking operations because it is pinned to its carrier:When it executes code inside a synchronized block or method, orWhen it executes.. 2024. 6. 4.
REST Assured로 API 테스트하기 개요REST Assured는 Java 언어에서 Ruby, Groovy와 같은 동적 언어처럼 Rest 서비스를 테스트하고 검증하는 것은 쉽게 사용할 수 있게 해준다. 특징Given When Then 패턴으로 가독성 높은 테스트를 작성한다.Json, XML, Plain Test 응답값 검증이 쉽다.Spring, Kotlin. Scala Support Example{ "lotto": { "lottoId":5, "winning-numbers": [2,45,34,23, 7,5,3], "winners": [ { "winnerId": 23, "numbers": [2,45,34, 23, 3, 5] }, { "winnerId": 54, "numbers": [52,3,12,11, 18.. 2024. 6. 3.
Spring - Modulith 개요Spring Modulith를 사용하면 잘 구주화된 Spring boot 애플리케이션을 구축할 수 있고, 도메인 기반의 애플리케이션 모듈을 찾고 작업할 수 있도록 가이드 해준다.DDD를 위한 구조적인 코드 검증 및 문서화.모듈식 모놀리스 아키텍처는 단순성과 유지관리 용이성의 장점. Spring Boot Structuring CodeSpring Boot does not require any specific code layout to work. However, there ar some best practices that help.If you wich to enforce a structure based on domains, take a look at Spring Modulith. Locating the M.. 2024. 6. 3.
Elasticsearch - fuzzy query 개요자연어 검색은 본질적으로 부정확하다. 컴퓨터는 잔연어를 이해할 수 없기 때문에 검색에 대한 다양한 접근 방식이 있으며 각각의 장단점을 가지고 있다. 하지만 Fuzzy 쿼리는 사용자 이름 검색, 철자 오류  및 기타 문제에 대햐여 fuzzy 쿼리를 사용하여 해결할 수 있다. Fuzzy QueryLevenshtein edit distance를 사용하여 검색어와 유사한 용어가 포함된 문서를 조회할 수 있다.(Levenshtein 거리는 하나의 문자열이 다른 문자열과 일치하도록 만드는데 필요한 삽입, 삭제, 대체 및 전치수)text, keyword filed 대상으로 사용할 수 있다. edit distance는 한 용어를 다른 용어로 바꾸는데 필요한 문자 변경의 수다. (edit deistance가 클수록 .. 2024. 6. 3.
Elasticsearch - Dense vector field type 개요유사도 검색은(similarity search) 사용자가 입렵한 데이터에(문서, 이미지, ...) 대하여 가장 유사한 순서로 문서를 조회하여 정렬하는 검색 방식이다.kNN검색은 Elasticsearch 8.x 부터 제공한다.https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html k-nearest neighbor (kNN) search | Elasticsearch Guide [8.13] | ElasticThe filter is applied during the approximate kNN search to ensure that k matching documents are returned. This contrasts .. 2024. 6. 3.