๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ199

[ TIL ] ์ตœ์ข… ํ”„๋กœ์ ํŠธ_Day24 ์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ๋“ค ๐Ÿง ํ•œ๊ธ€ ํ˜•ํƒœ์†Œ ๋ถ„์„์„ ํ™œ์šฉํ•œ ์กฐํšŒ ๊ฐœ์„  + ์ž๋™ ์™„์„ฑ API ๋ถ„๋ฆฌํ•˜๊ธฐNori ๋ถ„์„๊ธฐ & Nori Tokenizer๊ฐœ๋…๊ฐœ๋…Nori ๋ถ„์„๊ธฐNori Tokenizer์„ค๋ช…Elasticsearch์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•œ๊ธ€ ์ „์šฉ ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐํ•œ๊ธ€์„ ํ˜•ํƒœ์†Œ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜๋Š” Tokenizer์š”์•ฝํ•œ๊ธ€์„ ๋ถ„์„ํ•˜๋Š” ์™„์„ฑ๋œ ๋ถ„์„๊ธฐ (Analyzer)ํ˜•ํƒœ์†Œ ๋‹จ์œ„๋กœ ๋‹จ์–ด๋ฅผ ๋‚˜๋ˆ„๋Š” Tokenizer์„ค์ • ๋ฐฉ์‹analyzer: "nori"tokenizer: "nori_tokenizer"Nori ๋ถ„์„๊ธฐํ•œ๊ธ€ ํ…์ŠคํŠธ๋ฅผ ํ˜•ํƒœ์†Œ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค."๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž" → ["๋ฐฑ์—”๋“œ", "๊ฐœ๋ฐœ", "์ž"]์–ด๋ฏธ, ์กฐ์‚ฌ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค."๊ฐœ๋ฐœ์ž๊ฐ€" → ["๊ฐœ๋ฐœ", "์ž"]์‚ฌ์šฉ์ž ์‚ฌ์ „ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.ex) "AI๊ฐœ๋ฐœ์ž" → "AI", .. 2025. 3. 8.
[ TIL ] ์ตœ์ข… ํ”„๋กœ์ ํŠธ_Day 23 ์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ๋“ค ๐Ÿง Elasticsearch ๋ถ€๋ถ„ ๊ฒ€์ƒ‰ + ์ž๋™ ์™„์„ฑ ๊ณต๋ถ€ํ•˜๊ธฐ & ๊ตฌํ˜„ํ•˜๊ธฐNori ๋ถ„์„๊ธฐ๋Š” ํ•œ๊ธ€์„ ํ˜•ํƒœ์†Œ ๋‹จ์œ„๋กœ ๋ถ„์„ํ•œ๋‹ค.n-gram ๋ถ„์„๊ธฐ๋ฅผ ํ†ตํ•ด ํ…์ŠคํŠธ๋ฅผ ์ผ์ •ํ•œ ๊ธธ์ด์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆ„์–ด ์ธ๋ฑ์‹ฑํ•  ์ˆ˜ ์žˆ๋‹ค.min_gram - ์ตœ์†Œmax_gram - ์ตœ๋Œ€→ ๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ๋„ tokenizer๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ถ€๋ถ„ ๊ฒ€์ƒ‰ + ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์„ ์จ๋ณผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ? ๊ณ ๋ฏผ ์‚ฌํ•ญQ. Nori-๋ถ„์„๊ธฐ๋Š” ํ•œ๊ธ€ ํ˜•ํƒœ์†Œ๋กœ ๋ถ„์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ํ˜•ํƒœ์†Œ๊ฐ€ ์•„๋‹Œ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์›ํ•˜๋Š” ๊ฒฐ๊ด๊ฐ’์„ ์–ป์ง€ ๋ชปํ•˜๋Š” ๊ฑธ๊นŒ?A.Nori ๋ถ„์„๊ธฐ๋Š” ํ˜•ํƒœ์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ˜•ํƒœ์†Œ๊ฐ€ ์•„๋‹Œ ๋‹จ์–ด๋Š” ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค!์‚ฌ์šฉ์ž ์‚ฌ์ „ ๋“ฑ๋ก์ด๋‚˜ ngram ๋ถ„์„๊ธฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค... 2025. 3. 6.
[ TIL ] ์ตœ์ข… ํ”„๋กœ์ ํŠธ_Day 22 ์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ๋“ค ๐Ÿง ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐRedis์™€ MySQL ๋™๊ธฐํ™” ๋กœ์ง ๋ฆฌํŒฉํ† ๋ง๋”๋ณด๊ธฐ์ˆ˜์ •ํ•˜๊ธฐ ์ „ ๋กœ์ง@Component@RequiredArgsConstructorpublic class HistoryScheduler { private final UserFindByService userFindByService; private final HistoryRepository historyRepository; private final RedisTemplate redisTemplate; /** * Redis์— ์ €์žฅ๋œ ๊ฒ€์ƒ‰๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ DB์— ์ €์žฅํ•˜๋Š” ์Šค์ผ€์ค„๋Ÿฌ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. * * 30๋ถ„๋งˆ๋‹ค ์‹คํ–‰์ด ๋˜๋ฉฐ, ๊ฐ ์‚ฌ์šฉ์ž์˜ ๊ฒ€์ƒ‰์–ด๋ฅผ Redis์—์„œ ๊ฐ€์ ธ์™€์„œ DB์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. .. 2025. 3. 5.
[ Spring ] ๋กœ๊ทธ ๋ ˆ๋ฒจ(Log Level) ์™„๋ฒฝ ์ •๋ฆฌ! ๋กœ๊ทธ ๋ ˆ๋ฒจ(Log Level)์ด๋ž€?!๋กœ๊ทธ ๋ฉ”์‹œ์ง€์˜ ์ค‘์š”๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์ค€์„ ์˜๋ฏธํ•œ๋‹ค.๋กœ๊น… ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.๋กœ๊ทธ ๋ ˆ๋ฒจ(Log Level)1. TRACE๊ฐ€์žฅ ์ƒ์„ธํ•œ ๋กœ๊ทธ ๋ ˆ๋ฒจ์ด๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ํ๋ฆ„๊ณผ ๋””๋ฒ„๊น… ์ •๋ณด๋ฅผ ์ƒ์„ธํ•˜๊ฒŒ ๊ธฐ๋กํ•œ๋‹ค.์ฃผ๋กœ ๋””๋ฒ„๊น…์„ ์ง„ํ–‰ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.2. DEBUG๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‚ด๋ถ€ ๋™์ž‘์„ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ๋ถ„์„ํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค€๋‹ค.3. INFO์ •๋ณด์„ฑ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฃผ์š” ์ด๋ฒคํŠธ๋‚˜ ์‹คํ–‰ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.4. WARN๊ฒฝ๊ณ ์„ฑ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๋‚˜ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜ ์ƒํ™ฉ์„ ์•Œ๋ฆฌ๋Š” ๋ฉ”์‹œ์ง€์ด๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ •์ƒ.. 2025. 3. 2.
[ TIL ] ์ตœ์ข… ํ”„๋กœ์ ํŠธ_Day 18 ์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ๋“ค ๐Ÿง ๊ฐœ์ธ ๋ฐœํ‘œ ์˜์ƒ ๋ฌธ์„œ ์ค€๋น„ํ•˜๊ธฐ1. ์˜์‚ฌ๊ฒฐ์ •_์ „์ฒด ์ฑ„์šฉ ๊ณต๊ณ  ์กฐํšŒ API (ํ•„ํ„ฐ๋ง, ๊ฒ€์ƒ‰์–ด ํฌํ•จ)์— Elasticsearch ์ ์šฉ[ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ ]์‚ฌ์šฉ์ž๊ฐ€ ์กฐ๊ฑด ์„ ํƒ ๋ฐ ๊ฒ€์ƒ‰์–ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์ฑ„์šฉ ๊ณต๊ณ ๋ฅผ ์กฐํšŒํ•˜๋Š” API๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.Elasticsearch๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.[ ์ฃผ์š” ๋กœ์ง ]์ฃผ์š” ๋กœ์ง์€ ์ด ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ ์ง‘๋‹ˆ๋‹ค.์ฒซ์งธ, ์ง€์—ญ, ๊ฒฝ๋ ฅ ๋“ฑ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด ๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฒ€์ƒ‰์–ด๊ฐ€ ์—†๋‹ค๋ฉด ์ „์ฒด ์ฑ„์šฉ ๊ณต๊ณ ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.๋‘˜์งธ, ์ง€์—ญ, ํ•™๋ ฅ, ๊ฒฝ๋ ฅ, ์ฑ„์šฉ ๊ธฐ๊ฐ„ ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ์„ ํƒํ•˜์—ฌ ์ฑ„์šฉ ๊ณต๊ณ ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์…‹์งธ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ๊ฒ€์ƒ‰์–ด๊ฐ€ ํฌํ•จ๋œ ์ฑ„์šฉ ๊ณต๊ณ  ์ œ๋ชฉ์„ ๊ธฐ์ค€์œผ๋กœ ๊ด€๋ จ.. 2025. 3. 1.
[ TIL ] ์ตœ์ข… ํ”„๋กœ์ ํŠธ_Day 17 ์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ๋“ค ๐Ÿง ์ค‘๊ฐ„ ๋ฐœํ‘œ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ์ด๋ฒˆ ์ค‘๊ฐ„ ๋ฐœํ‘œ๋ฅผ ๋‚ด๊ฐ€ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค! ์ตœ์ข… ๋ฐœํ‘œ๋Š” ํ•  ์ž์‹ ์ด ์—†์–ด์„œ....PPT์— ๋“ค์–ด๊ฐ€์•ผ ํ•  ๋‚ด์šฉ ์ •๋ฆฌํ•˜๊ณ  ๋‚ด์šฉ๋“ค ์ดํ•ดํ•˜๋ฉด์„œ ๋ฐœํ‘œ ๋Œ€๋ณธ ์ž‘์„ฑํ•˜๊ณ  ํ•˜๋‹ค ๋ณด๋‹ˆ ํ•˜๋ฃจ๊ฐ€ ์ง€๋‚˜๊ฐ„ ๊ฒƒ ๊ฐ™๋‹ค..๊ฐœ์ธ ๊ตฌํ˜„์‚ฌํ•ญ ๋‚ด์šฉ ์ •๋ฆฌํ•˜๊ธฐ๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ์œ„ํ•ด ๊ฐœ์ธ์ด ์ง„ํ–‰ํ•œ ๊ตฌํ˜„์‚ฌํ•ญ๋“ค์„ ์ •๋ฆฌํ–ˆ๋‹ค. ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ • ํ๋ฆ„์„ ๋Œ€์ถฉ ์ •๋ฆฌํ•ด๋†จ๊ณ  ๋‚ด์ผ ์•„์นจ๋ถ€ํ„ฐ ํ•ด์„œ ํ…œํ”Œ๋ฆฟ ์ž‘์„ฑ ํ›„ ์˜์ƒ ์ดฌ์˜ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค! ๋‚ด์ผ ๊ณ„ํš โฐ๊ฐœ์ธ ์˜์ƒ ์ค€๋น„ํ•˜๊ธฐ๋ฐœํ‘œ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ+ ์ถ”๊ฐ€ ๊ณ„ํš์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค ~_~ 2025. 2. 27.