๐ก JWT + SpringSecurity๋ฅผ ์ฌ์ฉํ์ฌ ํ์๊ฐ์
Rest API ๊ตฌํ โก๏ธ 2ํ ๋ฐ๋ก๊ฐ๊ธฐ: JWT ๋ก๊ทธ์ธ ๋ฐ ํ์ ์ ๋ณด ์กฐํ โก๏ธ 3ํ ๋ฐ๋ก๊ฐ๊ธฐ: Refresh Token ๊ฐ๋ฐํ๊ฒฝ SpringBoot 3.1.4 kotlin / java 17 MariaDB ๊ธฐ๋ณธ JPA ์ค์ ์ ๋ค๋ฃจ์ง ์๋๋ค. ๋ฏธ๋ฆฌ ์ค์ ํ ์ํ์ ํ๋ก์ ํธ์์ ๊ฐ์ !!! 1. build.gradle.kts ์ค์ dependencies { ... implementation("org.springframework.boot:spring-boot-starter-security") implementation("io.jsonwebtoken:jjwt-api:0.11.5") runtimeOnly("io.jsonwebtoken:jjwt-impl:0..
์์ฝ1. FAQ ๋ฌธ์๋ฅผ Embedding์ ๋ง๋ค์ด Vector DB์ ์ ์ฅ2. ์ฌ์ฉ์ ์ง์๊ฐ ๋ค์ด์ฌ ์, 2-1. ํด๋น ์ง์์ Embedding ๊ฐ์ ์ป์ ํ 2-2. cosineSimilarity๋ฅผ ์ฌ์ฉํ์ฌ, ๊ฐ์ฅ ์ ์ฌ๋๊ฐ ๋์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ดEmbedding ์์ฑOpenAI์ text-embedding-ada-002 ๋ชจ๋ธ ์ฌ์ฉ์์ : ๊ณต์ ๋ฌธ์ | cookbook์๋ ์ฝ๋ ์์๋ Flask๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ด ์๋ํฌ์ธํธ๋ฅผ ๊ตฌํํ ๊ฒ์ผ๋ก, ์ฌ์ฉ์๊ฐ POST ์์ฒญ์ ๋ณด๋ด๋ฉด ํด๋น ์ง์์ ์๋ฒ ๋ฉ ๊ฐ์ ๋ฐํํ๋ค.from flask import Flask, request, jsonifyfrom elasticsearch import Elasticsearchimport openaiapp = F..
Scavenger๋? Naver DEVIEW 2023 - ๋น์ ์ ์ฝ๋๋ ์๊ฐ๋ณด๋ค ๋ง์ด ์ฃฝ์ด์๋ค. ๋ฐํ์์ | GITHUB GitHub - naver/scavenger: A runtime dead code analysis tool A runtime dead code analysis tool. Contribute to naver/scavenger development by creating an account on GitHub. github.com - ๋ฐํ์ Dead Code ๋ถ์ ๋๊ตฌ - ๋ฉ์๋ ํธ์ถ ๊ธฐ๋ก์ ์์งํ์ฌ ์๊ฐํ - Java Agent ๋ฐฉ์ ์ฌ์ฉ => ์ ์ง๋ณด์ ์ฉ์ด, ์ปดํ์ผ ๋ฐ ํ
์คํธ ์๋ ํฅ์! ์ปดํฌ๋ํธ - Agent: ์ฝ๋ ๋ฒ ์ด์ค๋ฅผ ์ค์บํ๊ณ , ์ดํ๋ฆฌ์ผ์ด์
๋ด ๋ฉ์๋ ํธ์ถ ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก Co..
Caffeine Cache ๋? ๋ก์ปฌ์บ์๋ ํด๋น ๊ธฐ๊ธฐ์์๋ง ์ฌ์ฉ๋๋ ์บ์์ด๋ค. ์๋๊ฐ ๋น ๋ฅด์ง๋ง ๋ถ์ฐ ์์คํ
์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ด ๊นจ์ง ์ ์๋ค. ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ์ด๋์ ๋๊น์ง ์ ํฉ์ฑ์ ๋ง์ถฐ์ผํ ์ง, ์ผ๋ง๋ ์๋๊ฐ ์ค์ํ ์ง์ ๋ฐ๋ผ ์บ์๋ฅผ ์ ํํ๋ค. Caffeine Cache๋ java ์บ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ๋์ ์ฑ๋ฅ์ ๊ฐ์ง๊ณ ์๋ ์บ์์ด๋ค. Caffeine์ Window TinyLfu eviction ์ ์ฑ
์ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ด๋ ์ต์ ์ ์ ์ค๋ฅ ์ ์ ๊ณตํ๋ค. Setting build.gradle.kts dependencies { implementation("org.springframework.boot:spring-boot-starter-cache") implementation("com.github.b..