profile
๐Ÿง  ๋‘๋‡Œ ํ’€๊ฐ€๋™ ๊ฐœ๋ฐœ๋กœ๊ทธ
post-thumbnail

๐Ÿณโ€œ๊ทธ๋ƒฅ ์„œ๋ฒ„ ํ•˜๋‚˜๋กœ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ข€ ํ•ด๋ดค์ˆ˜๋‹คโ€ (with Swarm & Compose)

ํด๋Ÿฌ์Šคํ„ฐ๋„ ์—†๊ณ , ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋„ ์—†๊ณ , Nginx๋„ ์—†๊ณ , ๋ˆ๋„ ์—†๋Š”๋ฐ ๋ฌด์ค‘๋‹จ์€ ํ•˜๊ณ ์‹ถ๋‹ˆ? ๊ทธ๋Ÿผ ๋„Œ Docker Swarm ์ด์•ผ

2025๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๐Ÿง™๐Ÿปโ€โ™‚๏ธ์ฝ”ํ‹€๋ฆฐ ํ™•์žฅํ•จ์ˆ˜๋กœ ์ธ์ƒ ๊ฐˆ์•„๋„ฃ์€ ์ฐ ํ‘ผ๋‹ค

โ€œ๋‚ด ์•ˆ์˜ ํ™•์žฅํ•จ์ˆ˜๊ฐ€ ๊ฟˆํ‹€๊ฑฐ๋ฆฐ๋‹คโ€ฆ!"

2025๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๐Ÿƒ โ€œRedis์•ผ, ๋„ˆ๋งŒ ๋ฏฟ๋Š”๋‹ค(?)โ€ - ์บ์‹œ ์—ฐ๋™ ์‹คํ™”

Spring์—์„œ Redis ์‰ฝ๊ฒŒ ํ™œ์šฉํ•˜๊ณ  ํ†ต์ˆ˜ ์•ˆ ๋งž๋Š” ๊ฟ€ํŒ ๊ณต์œ ํ•œ๋‹ค.

2025๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๐Ÿงฉ์ดํ˜ผ์€ ์•„๋‹ˆ๊ณ ์š”, ๊ทธ๋ƒฅ ์„œ๋กœ ๋ฐฉ์„ ๋‚˜๋ˆˆ ๊ฒ๋‹ˆ๋‹ค (๋ฉ€ํ‹ฐ๋ชจ๋“ˆ ๋ถ„๋ฆฌ๊ธฐ)

ํ•จ๊ป˜ํ•ด์„œ ์ฆ๊ฑฐ์› ๊ณ  ๋‹ค์‹  ๋งŒ๋‚˜์ง€ ๋ง์ž (๋ฉ€ํ‹ฐ๋ชจ๋“ˆ ์ด์•ผ๊ธฐ)

2025๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

์ด์ œ ์ฝ”ํ”„๋ง (Kotlin + Spring)

์ฝ”ํ‹€๋ฆฐ + ์Šคํ”„๋ง ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋А๋‚€์ ์•ˆ๋“œ๋กœ์ด๋“œ๋Š” ์ฝ”ํ‹€๋ฆฐ์ด ์ด๋ฏธ ๋Œ€์„ธ๋กœ ์ž๋ฆฌ์žก์€์ง€ ๊ฝค ๋˜์—ˆ์ง€๋งŒ.. ๋ฐฑ์—”๋“œ๋Š” ์•„์ง ์ž๋ฐ”+์Šคํ”„๋ง ์กฐํ•ฉ์ด ํ›จ์”ฌ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.์ตœ๊ทผ ์œ ๋‹ˆ์ฝ˜ ๊ธฐ์—…๋“ค์ด ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฝ”ํ‹€๋ฆฐ+์Šคํ”„๋ง ์กฐํ•ฉ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๋”ฐ๋ผ์จ๋ดค๋‹ค.์‚ฌ์‹ค ์˜ˆ์ „์—๋Š”

2022๋…„ 8์›” 6์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

QueryDSL ๋™์  ์ฟผ๋ฆฌ

DB์—์„œ ๊ฐ’์„ ์กฐํšŒํ•  ๋•Œ ์กฐํšŒ ์กฐ๊ฑด์ด ๋™์ ์œผ๋กœ ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค.SQL ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์กฐํšŒํ•  ๋•Œ ์ฃผ๋กœ when/case ๋“ฑ์˜ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ.. ๊ฐœ์ธ์ ์œผ๋กœ when/case ๋ฌธ์€ ์•ˆํ‹ฐํŒจํ„ด์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.. (SQL์„ ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฒŒ

2022๋…„ 8์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด๋ณด์ž!!

try/catch ๋ธ”๋ก์€ ์›๋ž˜ ์ถ”ํ•˜๋‹ค. ์ฝ”๋“œ ๊ตฌ์กฐ์— ํ˜ผ๋ž€์„ ์ผ์œผํ‚ค๋ฉฐ, ์ •์ƒ ๋™์ž‘๊ณผ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋™์ž‘์„ ๋’ค์„ž๋Š”๋‹ค. (ํด๋ฆฐ์ฝ”๋“œ)์œ„์™€ ๊ฐ™์ด try-catch๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‚ด ์†๊ฐ€๋ฝ๋„ ์•„ํ”„๊ณ .. ๊ฐ€๋…์„ฑ๋„ ๋–จ์–ด์ง„๋‹ค.. ์Šคํ”„๋ง์˜ @ControllerAdvise ๋ฅผ ์ด

2022๋…„ 8์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๋ฐ˜๋ณต์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ํ•„๋“œ๋Š” JPA Auddit์„ ์‚ฌ์šฉํ•˜์ž

์‹ค๋ฌด์—์„œ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ƒ์„ฑํ•˜๋‹ค๋ณด๋ฉด auddit(๊ฐ์‚ฌ) ๋ชฉ์ ์œผ๋กœ ๊ฑฐ์˜ ๋ชจ๋“  ์—”ํ‹ฐํ‹ฐ์— ๋“ค์–ด๊ฐ€๋Š” ํ•„๋“œ(์ปฌ๋Ÿผ)๋“ค์ด ์žˆ๋‹ค. ์ผ์ผ์ด ์ž‘์„ฑํ•˜๊ธฐ ๋งค์šฐ ๊ท€์ฐฎ์€๋ฐ.. Spring Data Auddit ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๊ท€์ฐฎ์„ ์ผ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค..Spring Audit ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„

2022๋…„ 8์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Setter๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง™์‹œ๋‹ค!!

์—”ํ‹ฐํ‹ฐ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๋ช‡๊ฐ€์ง€ ์›์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.๊ทธ์ค‘ ์—”ํ‹ฐํ‹ฐ(๊ฐ์ฒด)์˜ Setter ์‚ฌ์šฉ ๊ธˆ์ง€ ์›์น™(?) ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.์—”ํ‹ฐํ‹ฐ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์Šต๊ด€์ ์œผ๋กœ ๋ชจ๋“  ํ•„๋“œ์— setter๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ Setter๋ฅผ ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ๋‚จ์šฉํ•˜๋‹ค ๋ณด๋ฉด ์—ฌ๊ธฐ

2022๋…„ 8์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท