๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

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

[Redis] redis ์บ์‹œ ์„œ๋ฒ„ ํ™œ์šฉ ํ›„ ์„ฑ๋Šฅ ๋น„๊ต (feat.postman) ์‹œ๊ฐ„ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ postman์ป์Œ ์บ์‹œ ์„œ๋ฒ„ ์•ˆ์“ธ ๋•Œ( ์ผ๋ฐ˜์ ์œผ๋กœ DB์™”๋‹ค๊ฐ”๋‹ค)์‹œ๊ฐ„ ์ธก์ •ํ•  ๋•Œ๋Š” ์—ฌ๋Ÿฌ๋ฒˆ apiํ˜ธ์ถœํ•ด์„œ ํ‰๊ท ์ ์ธ ๊ฐ’์œผ๋กœ ์ƒ๊ฐํ•ด์•ผ๋จ. ์บ์‹œ ์„œ๋ฒ„ ์“ธ ๋•Œ์ฒ˜์Œ์—๋Š” ์ด๋ ‡๊ฒŒ ๋œธ์™œ๋ƒ? cacheMiss๊ฐ€ ๋ฐœ์ƒํ•ด์„œ DB๊ฐ”๋‹ค์™”๊ธฐ๋•Œ๋ฌธ ํ•˜์ง€๋งŒ ๋‹ค์‹œ ๋‘๋ฒˆ์งธ๋ถ€ํ„ฐ + ํ‰๊ท ์ ์œผ๋กœ7ms๋กœ ์—„์ฒญ ๋นจ๋ผ์ง !!!! 370ms -> 7ms๋กœ ์—„์ฒญ ๋นจ๋ผ์ง„๊ฑฐ ํ™•์ธ ๊ฐ€๋Šฅ 2025. 11. 28.
[Redis] Redis CacheAside ์ „๋žต ๊ฐ„๋‹จํžˆ ์ ์šฉํ•ด๋ณด๊ธฐ @Cachable ์–ด๋…ธํ…Œ์ด์…˜ (๊ฒŒ์‹œํŒ ํ† ์ดํ”„๋กœ์ ํŠธ) ์ผ๋‹จ ํ˜„์žฌ ๋‚ด service์ฝ”๋“œ๋Š”๋‹จ์ˆœํžˆ DB์ฐ”๋Ÿฌ์„œ ๊ฐ–๊ณ  ์˜ค๋Š” ์ฝ”๋“œ์ž„.@Servicepublic class BoardService { private BoardRepository boardRepository; public BoardService(BoardRepository boardRepository) { this.boardRepository = boardRepository; } public List getBoards(int page, int size) { Pageable pageable = PageRequest.of(page -1, size); Page pageOfBoards = boardRepository.findAllBy.. 2025. 11. 28.
[error] Unable to determine Dialect without JDBC metadata ํ•ด๊ฒฐ SpringBoot๋ž‘ mariaDB(ํ˜น์€ mySQL) ์—ฐ๋™์ด ์•ˆ๋์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ธ๋“ฏ. application.properties๋‚˜ application.yml ํŒŒ์ผ ๊ฐ€์„œ์˜คํƒ€๋‚˜ ๋ญ ๋นผ๋จน์€๊ฑฐ ์—†๋‚˜ ๋ณด์„ธ์š” ์ €์˜ ๊ฒฝ์šฐ๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋“ฑ๋กํ•ด๋†“์€ .env ํŒŒ์ผ ์ธ์‹์ด ์•ˆ๋ผ์„œ ์—๋Ÿฌ๋‚˜ ๊ฐ”์Œ. ๊ทผ๋ฐ ๋งค๋ฒˆ ํ”„๋กœ์ ํŠธ ๊ป๋‹ค ํ‚ฌ๋•Œ๋งˆ๋‹ค edit Configuration๋“ค์–ด๊ฐ€์„œ .envํŒŒ์ผ ๋“ฑ๋กํ•ด์ค˜์•ผ ํ•˜๋Š”๊ฑด๊ฐ€..? ํ  2025. 11. 28.
[IntelliJ] ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํŒŒ์ผ(.env) ์ธ์‹ ์‹œํ‚ค๊ธฐ ๋น„๋ฒˆ์ด๋‚˜ ํ‚ค ๊ฐ™์€ ์ •๋ณด๋Š” ๊นƒ์— ์˜ฌ๋ผ๊ฐ€๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์—.env ํŒŒ์ผ ๋งŒ๋“ค์–ด์„œ ๋”ฐ๋กœ ๋ณด๊ด€ํ•ด์•ผ๋Œ. ๐Ÿ“.env ํŒŒ์ผ ์œ„์น˜๋ณดํ†ต resources ํŒŒ์ผ ์•„๋ž˜์— ๋งŒ๋“ค๋”๋ผ๊ตฌ์š”์ €๋„ ์—ฌ๊ธฐ๋‹ค ๋งŒ๋“ฆ ๐Ÿ“์ธํ…”๋ฆฌ์ œ์ด๊ฐ€ ์ธ์‹ํ•˜๊ฒŒ๋”..์ด๋ฒˆ ํ† ์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์•ผ๋ฏˆ ํŒŒ์ผ ์“ฐ๊ณ ์ž‡๊ณ ์•ˆ์— ์ด๋ ‡๊ฒŒ ์ง€์ •ํ•ด๋†จ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ ์ธํ…”๋ฆฌ์ œ์ด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ธ์‹ํ•˜๊ฒŒ ํ•˜๋А๋ƒconfiguration edit์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ํŒŒ๋ž€์ƒ‰ ๊ธ€์”จ์ธ Modify options ํด๋ฆญ Operating System ํ•˜์œ„์— Environment variables ํด๋ฆญ ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์— ์›๋ž˜๋Š” ์—†๋˜Environment variables ์ž…๋ ฅํ•˜๋Š” ์นธ์ด ๋œธ.์˜ค๋ฅธ์ชฝ์— ํด๋” ์•„์ด์ฝ˜ ํด๋ฆญํ•ด์„œ .env ํŒŒ์ผ ์„ ํƒํ•˜๋ฉด ์ธ์‹์™„. ๋งŒ์•ฝ์— ์•ˆ๋œจ๋ฉด ๊ฑ ๊ฒฝ๋กœ๋งŒ ๋งž์ถฐ์ฃผ๊ณ  ์ˆ˜๋™์œผ๋กœ .env ๊ฒฝ.. 2025. 11. 27.
[Redis] ์บ์‹ฑ ์ „๋žต-Cache Aside, Write Around / ์บ์‹ฑ ๋œป / TTL ๋œป ์บ์‹œ๋ผ๋Š”๊ฑด... ์ „๊ณต ์ˆ˜์—… ๋“ค์œผ๋ฉด์„œ ์ˆ˜๋„์—†์ด ๋ฐฐ์šด๊ฑฐ์ง€๋งŒ..์ƒˆ์‚ผ ๊ฐ„๋žตํžˆ ๋‚ด ์–ธ์–ด๋กœ ์ •๋ฆฌํ•ด๋ณธ์ ์€ ์—†๋Š” ๋“ฏ ํ•ด์„œ ์ •๋ฆฌํ•˜๋Š” ์ค‘ ๐Ÿ“Cache ๋ž€?RAM์— ์ €์žฅ๋˜๋Š” ์ž„์‹œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•„๋Š” DB๋Š” ๋””์Šคํฌ์— ์ €์žฅ๋จ.๋”ฐ๋ผ์„œ ์ฝ์–ด์˜ค๊ธฐ, ์“ฐ๊ธฐ์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ. ๋ฐ˜๋ฉด์— RAM์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๊ฒŒ ๋˜๋ฉด, ๋นจ๋ฆฌ ์™“๋‹ค๊ฐ“๋‹ค๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ๋•Œ๋ฌธ์— ์กฐํšŒ ์„ฑ๋Šฅ์ด ๋งค์šฐ ๋นจ๋ผ์ง.ํ•˜์ง€๋งŒ RAM๊ฐ€๊ฒฉ์ด ๋น„์‹ผ๋ฐ์—” ๋‹ค ์ด์œ ๊ฐ€ ์ž‡์ง€์š”.. ๐Ÿ“์บ์‹ฑ ์ „๋žต 2๊ฐ€์ง€ 1. Cache Aside ์ „๋žต์–ด๋–ป๊ฒŒ "์กฐํšŒ"ํ• ์ง€์— ๊ด€ํ•œ ์ „๋žต์ด๋‹ค.์šฐ์„ , ๋‚ด๊ฐ€ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์‹ถ์„๋•Œ, ์ผ๋‹จ ์บ์‹œ๋กœ ๊ฐ€. ๊ทธ๋ฆฌ๊ณ  ์บ์‹œ์— ๋‚ด๊ฐ€ ์ฐพ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€์žˆ์œผ๋ฉด(=Cache Hit) ๊ฑ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๊ณ ์—†์œผ๋ฉด(=Cache Miss) ๊ทธ์ œ์„œ์•ผ DB๋กœ ๊ฐ€์„œ ์ฐพ์Œ. ๊ทธ๋ฆฌ๊ณ  DB์— .. 2025. 11. 25.
[Redis] ์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น์–ด ์ •๋ฆฌ + ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ ๐Ÿ“์ž์ฃผ ์“ฐ์ด๋Š” ๋ช…๋ น์–ด 7๊ฐœ ์ •๋ฆฌโ–ถ๏ธ๋ฐ์ดํ„ฐ ์ €์žฅํ•˜๊ธฐ - ๊ฐ€์žฅ ๊ธฐ๋ณธ, ๋งŒ๋ฃŒ๊ธฐ๊ฐ„ ์—†์ดset [key] [value]set spacefish:name kimspacefish:name kim โ–ถ๏ธ๋ฐ์ดํ„ฐ ์ €์žฅํ•˜๊ธฐ - ๋งŒ๋ฃŒ๊ธฐ๊ฐ„ ์žˆ๊ฒŒset [key] [value] ex [๋งŒ๋ฃŒ๊ธฐ๊ฐ„(์ดˆ)]set spacefish:hobby reading ex 30 โ–ถ๏ธ๋ฐ์ดํ„ฐ ์กฐํšŒํ•˜๊ธฐkey๊ฐ’์œผ๋กœ value๊ฐ€ ๋ญ”์ง€ ์กฐํšŒํ•˜๋Š”๊ฑฐ์ž„get [key]get spacefish:name (nil) ๋‚˜์˜ค๋ฉด ์—†๋‹ค๋Š” ๋œป์ž„ โ–ถ๏ธ๋งŒ๋ฃŒ๊ธฐ๊ฐ„ ์กฐํšŒํ•˜๊ธฐttl [key]ttl spacefish:hobby23์ดˆ ๋‚จ์•˜๋‹ค๋Š” ๋œป์ž„.. ~์‹œ๊ฐ„์ด ํ˜๋Ÿฌ 30์ดˆ๊ฐ€ ๋‹ค ์ง€๋‚˜๊ณ ~- 2 ๋ผ๊ณ  ๋œธ : ํ‚ค๊ฐ€ ์—†๋‹ค๋Š” ๋œป (30์ดˆ ์ง€๋‚˜์„œ ์‚ญ์ œ๋์œผ๋‹ˆ๊นŒ) *๋งŒ์•ฝ์— ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์„ ์ง€์ •ํ•ด๋‘.. 2025. 11. 24.
[Redis] Windows์— Redis ์„ค์น˜ํ•˜๊ธฐ โ–ถ๏ธ์•„๋ž˜ ์‚ฌ์ดํŠธ์—์„œ ํ™•์žฅ์ž .msi์˜ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redisgithub.com redis์˜ ๊ธฐ๋ณธ ํฌํŠธ๋Š” 6379์ด๋‹ค. ๊ธฐ๋ณธ 100MB์ด๋‹ค. โ–ถ๏ธInstallํ•ด์„œ ์„ค์น˜ ์ง„ํ–‰ โ–ถ๏ธ์ž‘์—…๊ด€๋ฆฌ์ž>์„œ๋น„์Šคํƒญ ๋“ค์–ด๊ฐ€๋ณด๋ฉด.. 2025. 11. 24.
[Redis] MacOS์— Redis ์„ค์น˜ํ•˜๊ธฐ โžก๏ธTerminal ํ‚ค๊ณ  homebrew ์„ค์น˜ (์„ค์น˜ ๋˜์–ด์žˆ๋Š” ์‚ฌ๋žŒ์€ skip)homebrew ์„ค์น˜๋Š” ์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ https://space-fish.tistory.com/50 brew์„ค์น˜ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด terminal์— brew --version๋ผ๊ณ  ์ณ์„œ ํ™•์ธ โžก๏ธ ํ„ฐ๋ฏธ๋„์— redis ์„ค์น˜ ๋ช…๋ น์–ดbrew install redis โžก๏ธ ์„ค์น˜ ๋๋Š”์ง€ ํ™•์ธbrew services info redis โžก๏ธ redis ์‹œ์ž‘ํ•ด๋ณด๊ธฐbrew services start redis startํ•˜๊ณ  ๋‹ค์‹œ info ๋ณด๋‹ˆ๊นŒ running์— ์ œ๋Œ€๋กœ ์ฒดํฌ ๋˜์–ด์žˆ์Œ. โžก๏ธ redis ์ค‘์ง€ ๋ช…๋ น์–ดbrew services stop redis stopํ•˜๊ณ  info๋กœ ํ™•์ธํ•ด๋ณด๋‹ˆ๊นŒ ์ž˜ ๋ฉˆ์ถฐ์žˆ์Œ. --๋‹ค์‹œ redis ์‹œ์ž‘ํ•˜๊ณ .. 2025. 11. 24.
[MariaDB] ๋งฅ๋ถ MariaDB ์„ค์น˜, ์‹คํ–‰, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ์œˆ๋„์šฐPC์—์„œ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๋งฅ๋ถ ์‚ฐ ๊ธฐ๋… ์ž‘์—… ํ™˜๊ฒฝ ์…‹ํŒ…ํ•˜๋Š” ์ค‘...๊นŒ๋จน์„๊นŒ๋ด ๊ธฐ๋กํ•˜๋Š” ์ค‘ MariaDB ์„ค์น˜, ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •1. Terminal ์ผœ์„œ ์•„๋ž˜ ๋ช…๋ น์–ด ์‹คํ–‰brew update// ๊ฐ€์žฅ ์ตœ์‹  ์ƒํƒœ๋ฉด Already-up-to-date? ์•”ํŠผ ๋จธ ์ด๋Ÿฌ์ผ€ ๋œธbrew install mariadb 2. ์„ค์น˜ ํ™•์ธmariadb -V 3. ์„œ๋ฒ„ ์‹œ์ž‘mysql.server start 4. mariadb ์ ‘์† 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชฉ๋ก ํ™•์ธshow databases; ์•„๋ฌด๊ฒƒ๋„ ์†๋Œ€์ง€ ์•Š์€ ์ƒํƒœ์—์„  ์ด๋ ‡๊ฒŒ ์ž‡์Œ 6. mysql ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋“ค์–ด๊ฐ„ ๋‹ค์Œ root ๊ณ„์ • ํ™•์ธuse mysql;select host, user, password from user; ํ˜„์žฌ passw.. 2025. 9. 15.
๋ฐ˜์‘ํ˜•