2022/04(6)
-
MySQL Ngram, 제대로 이해하기
MySQL의 fulltext 검색 알고리즘 중, ngram을 이해하고 사용할 줄 알게끔 습득하는 것이 해당 포스팅의 목표입니다. 👜 Ngram? 이전 포스팅에서 Full-Text 검색을 다루었는데요. 이번에는 단어을 파싱하여 검색하는 과정에서 필요한 parser 중 "ngram"에 대해 포스팅하고자 합니다. Ngram의 특징에는 아래 3가지가 있습니다. ✔️ Built-in ngram은 MySQL의 Built-in Parser로써, 다른 기본 제공 서버 플러그인과 마찬가지로 서버가 시작될 때 자동으로 로드됩니다. 즉, 따로 설치할 필요없이 사용할 수 있다는 큰 장점을 가집니다. ✔️ MySQL의 지원 또한 InnoDB 및 MyISAM 엔진을 지원하며, ngram은 중국어, 일본어, 한국어(CJK)를 지원..
2022.04.25 -
MySQL FullText Search, 제대로 이해하기
MySQL의 fulltext search 에 대한 이해와 MATCH AGAINST 사용법을 간단히 알아보는 것이 해당 포스팅의 목표입니다. 후속 포스팅으로 FULLTEXT 검색 파서 중 하나인 "ngram" 사용법에 대해 다룰 때 구문 사용법을 조금 더 자세히 알아볼 예정이며, 해당 포스팅에서는 FullText 기본적인 내용과 활용법에 대해 알아보고자 합니다. Full-Text Searches MySQL을 사용할 때, LIKE 연산을 통한 패턴 일치 검색을 사용하고는 합니다. LIKE 연산을 통해 검색을 하게 되면 인덱스를 통한 검색을 못할 때가 생기곤 하는데요. 이럴 때 고려해볼 수 있는 것이 바로 오늘 다룰 전문 검색, Full-Text 검색입니다. FullText 검색은 단어 또는 구문에 대한 검색..
2022.04.24 -
SQL Execution Plan, 제대로 이해하기
Execution Plan을 읽고 해석할 수 있는 것이 이 포스팅의 목표입니다. 본 포스팅은 사용된 코드나 데이터는 직접 테스트 한 내용으로, 만약 직접 테스트 해보고 싶다면 아래의 내용을 참고해주세요. Mysql Version: 8.0.26 Test DB: employees 테스트 DB는 해당 링크의 'Example Databases > employee data'에서 다운받으실 수 있습니다. 해당 테스트 DB는 아래와 같은 구조로 구성되어 있습니다. Execution Plan? 실행 계획이란, 말 그대로 SQL 문으로 요청한 데이터를 어떻게 불러올 것인지에 관한 계획, 즉 경로를 의미합니다. 지름길을 사용해 데이터를 빠르게 찾아낼 것인지, 지름길이 있어도 멀리 돌아가서 찾을 것인지 미리 확인할 수 있습..
2022.04.17 -
Spring Security, 제대로 이해하기 - FilterChain
Spring Security의 인증, 인가 과정을 FilterChain을 살펴보며 이해하는 것이 본 포스팅의 목표입니다. 해당 포스팅은 1부 Spring Security, 어렵지 않게 설정하기의 이은 포스팅이지만, 읽는데 순서는 상관없습니다. 이해하는데 서로 도움이 되는 포스팅입니다. ----------------- INDEX ----------------- [ 1부: 설정 ] WebSecurityConfigurerAdapter HttpSecurity WebSecurity [ 2부 - 인증, 인가 동작 원리: FilterChain] 📚 Big Picture 초기화 사용자 요청 후 ? 🔗 FilterChain SecurityContextPersistenceFilter LogoutFilter Username..
2022.04.14 -
Caffeine Cache, 어렵지 않게 사용하기 1
Caffeine Cache에 대해 알아보고 사용법에 대해 알아보는 것이 해당 포스팅의 목표입니다. 이 전 포스팅에서는 Spring Cache에 대해 다뤘습니다. Cache를 사용하기 위해서는 CacheManager가 필요한데요. 이번 포스팅에서는 로컬 캐시 중 성능에 유리한 Caffeine Cache를 다뤄보겠습니다. 본 편은 Caffeine Cache를 다루는 "Caffeine Cache, 어렵지 않게 사용하기 2" 로 이어집니다. ------------------- INDEX ------------------- Caffeine Cache? Caffeine versus .. 📌 Caffeine VS EhCache 📌 Benchmarks Caffeine 기능 📌 Population Strategy 📌 E..
2022.04.04 -
Spring Cache, 제대로 사용하기
Spring Cache 사용법, Annotation 등을 알아보고 설정 방식을 알아보는 것이 해당 포스팅의 목표입니다. 📌 Spring Cache Series ✔ Spring Cache, 제대로 사용하기 ✔ Caffeine Cache, 제대로 사용하기 1 ✔ Caffeine Cache, 제대로 사용하기 2 해당 포스팅에서는 Spring Cache에 대해 다룹니다. Cache를 사용하기 위해서는 CacheManager가 필요한데요. 연결되는 다음 포스팅에서는 로컬 캐시 중 성능에 유리한 Caffeine Cache를 다룹니다. ----------------- INDEX ----------------- Cache ? 📌 Cache Abstraction 📌 Cache Manager 📌 의존성 추가 @Enable..
2022.04.03