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

์ „์ฒด ๊ธ€263

[์ž‘๋ฌธ] ์–ด๋ฆฐ ๋‚ ์˜ ์˜จ๋„์™€, ๋‹ค๊ฐ€์˜ค๋Š” ์‚ถ์˜ ๋ฌด๊ฒŒ ์–ด๋ฆฐ ์ˆœ๊ฐ„์„ ๋– ์˜ค๋ฅด๊ฒŒ ํ•ด์ฃผ๋Š” ๋งŒ๋‚จ์ด ์žˆ๋‹ค.์–ด๋ ธ์„ ์  ๊ทธ๋•Œ ๊ทธ ์ˆœ๊ฐ„์˜ ๊ฐ์ • ๋ถ„์œ„๊ธฐ๋ฅผ ๋А๋ผ๊ฒŒ ํ•ด์ฃผ๋Š” ๋งŒ๋‚จ์ด๋‹ค. ํฌ๊ฒŒ ๊ณ ๋ฏผ ์ƒ๊ฐ ์—†์ด, ํŽธํ•˜๊ฒŒ ์ด์•ผ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.๋‹ด์†Œ๋ฅผ ๋‚˜๋ˆ„๋ฉฐ, ํ•œ์ž” ๊ธฐ์šธ์ด๋ฉฐ ์˜ˆ์ „ ๊ทธ ์‹œ์ ˆ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆˆ๋‹ค.์–ด๋ ธ์„ ๋•Œ๋Š” ๊ณ ๋ฏผ์˜ ๋ฌด๊ฒŒ๊ฐ€ ๋œํ–ˆ์—ˆ๋‹ค. ํ—ˆ๋‚˜ ์ง€๊ธˆ์˜ ๋Œ€ํ™”๋Š” ๋งˆ๋ƒฅ ํŽธํ•˜๊ฒŒ ์›ƒ์Œ์˜ ์ด์•ผ๊ธฐ๊ฐ€ ์ฃผ๋ฅผ ์ด๋ฃจ์ง„ ์•Š๋Š”๋‹ค.๊ฐœ์ธ์˜ ์‚ถ๋ณด๋‹ค, ๋ฌด๋ฆฌ์˜ ์‚ถ์„ ์ฑ…์ž„์งˆ ์ค€๋น„๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์‚ถ์˜ ๋ฌด๊ฒŒ๋ฅผ ๋” ๋ฌด๊ฒ๊ฒŒ ๋А๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์‚ถ์ด ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•˜๋ฉด ๋” ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ ๋‹ค.๊ทธ ์—ญ์‹œ "๋ฌด๋ฆฌ"์˜ ์‚ถ๊ณผ ์•ˆ์œ„๋ฅผ ์‹ ๊ฒฝ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž์ด๊ธฐ ๋•Œ๋ฌธ์—,์ตœ๊ทผ ๋งค์„œ์šด ์†๋„๋กœ ๋ฐœ์ „ํ•˜๋Š” ๊ธฐ์ˆ ๋™ํ–ฅ์„ ๋น„์ถ”์–ด๋ณด๋ฉด ์ง€๋‚˜๊ฐ€๋Š” ํ˜„์žฌ์™€ ๋‹ค๊ฐ€์˜ฌ ๋ฏธ๋ž˜์— ๋” ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•œ๋‹ค. ์ •๋ง ๋งˆ์Œ๋งŒ ๋จน์œผ๋ฉด ๊ฐœ๋ฐœ์ž 1๋ช…์ด ๋„๋ฉ”์ธ ์ „๋ฌธ๊ฐ€๋กœ ๋ฐœ๋‹์›€ ํ•˜์—ฌ.. 2026. 7. 13.
[Redis] PostGIS๋ฅผ Redis Geo๋กœ ๋ฐ”๊พธ๋ฉด ์ •ํ•ฉ์„ฑ์€ ๋ˆ„๊ฐ€ ์ฑ…์ž„์งˆ๊นŒ? ์ง€์—ญ ๊ธฐ๋ฐ˜ ํƒ์ƒ‰ ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ์ค‘ Redis Geospatial์„ ์ฃผ์ œ๋กœ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ๊ฐ€์ƒ ์ธํ„ฐ๋ทฐ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.ํ”„๋กœ์ ํŠธ์˜ ํฐ ํ๋ฆ„์€ ์ต์ˆ™ํ–ˆ๋‹ค. PostgreSQL/PostGIS์—์„œ ์ฒ˜๋ฆฌํ•˜๋˜ ๋ฐ˜๊ฒฝ ๊ฒ€์ƒ‰์„ Redis Geo ์ฝ๊ธฐ ๋ชจ๋ธ๋กœ ๋ถ„๋ฆฌํ–ˆ๊ณ , ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์€ ์•ฝ 400ms์—์„œ 100ms๋กœ ์ค„์—ˆ๋‹ค. "PostGIS ๋ฐ˜๊ฒฝ ๊ฒ€์ƒ‰์ด ๋ฌด๊ฑฐ์›Œ์„œ Redis Geo๋กœ ๋ฐ”๊ฟจ๋‹ค."ํ‹€๋ฆฐ ๋ง์€ ์•„๋‹ˆ์ง€๋งŒ, ์ด ๋ฌธ์žฅ๋งŒ์œผ๋กœ๋Š” ๋งŽ์€ ๋ถ€๋ถ„์ด ๋น ์ ธ ์žˆ์—ˆ๋‹ค. PostGIS๋Š” ๊ณต๊ฐ„ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ST_DWithin ๊ฐ™์€ ํ•จ์ˆ˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•ด ํ›„๋ณด๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์ฟผ๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋Š”์ง€, Redis๋ฅผ ์„ ํƒํ–ˆ๋‹ค๋ฉด ์›๋ณธ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋””์— ๋‚จ๋Š”์ง€, Redis ๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„๋ฝ๋˜๋ฉด ๋ˆ„๊ฐ€ ๋ณต๊ตฌํ•˜๋Š”์ง€๊นŒ์ง€ ์„ค๋ช…ํ•ด์•ผ ํ–ˆ๋‹ค. .. 2026. 6. 21.
[Message Queue] Outbox๋ฅผ ์ผ๋Š”๋ฐ๋„ ์ค‘๋ณต ์ฒ˜๋ฆฌ๊ฐ€ ์ƒ๊ธฐ๋Š” ์ด์œ  ์ตœ๊ทผ ๊ฒฐ์ œ ๋™๊ธฐํ™” ์‹œ์Šคํ…œ๊ณผ Outbox, Kafka, SQS ๊ด€๋ จ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ฒˆ ์ฃผ์— ๋น„์ƒ ๊ฒฐ์ œ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์‹œ์Šคํ…œ์„ ์ฃผ์ œ๋กœ ๊ฐ€์ƒ ๋ฉด์ ‘์„ ์ง„ํ–‰ํ–ˆ๋‹ค.ํ”„๋กœ์ ํŠธ ํ๋ฆ„์€ ๋Œ€๋žต ์ด๋žฌ๋‹ค. ์„œ๋ฒ„ ์ „๋ฉด ์žฅ์•  ์ƒํ™ฉ์—์„œ client๊ฐ€ VAN์‚ฌ์™€ ์ง์ ‘ ๊ฒฐ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ฒฐ์ œ ๋ฐ์ดํ„ฐ๋ฅผ local DB์— ์ €์žฅํ•œ๋‹ค. ์„œ๋ฒ„๊ฐ€ ๋ณต๊ตฌ๋˜๋ฉด Sync Server๋กœ ๋™๊ธฐํ™” ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , Sync Server๋Š” DynamoDB์— ์ƒํƒœ๋ฅผ ์ €์žฅํ•œ ๋’ค SQS๋ฅผ ํ†ตํ•ด Worker์— ์ „๋‹ฌํ•œ๋‹ค. Worker๋Š” Payment App์— ๋™๊ธฐํ™” ์š”์ฒญ์„ ๋ณด๋‚ด ์ตœ์ข… DB์— ๋ฐ˜์˜ํ•œ๋‹ค. ์ฒ˜์Œ 1๋ถ„ ์„ค๋ช…์—์„œ๋Š” ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ๊ฝค ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋งํ•œ ๊ฒƒ ๊ฐ™์•˜๋‹ค."์žฅ์•  ์ƒํ™ฉ์—์„œ๋„ ๊ฒฐ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋ณต๊ตฌ ํ›„ sync-id ๊ธฐ์ค€์œผ๋กœ ์ค‘๋ณต ๋ฐ˜์˜์„ ๋ง‰๋Š”๋‹ค.. 2026. 5. 24.
[์ž‘๋ฌธ] ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š” ์‚ฌ๋žŒ์—์„œ ์ฑ…์ž„์ง€๋Š” ์‚ฌ๋žŒ์œผ๋กœ AI๊ฐ€ ๋‚ด ์‚ถ๊ณผ ์ผ์— ๋“ค์–ด์˜ค๊ณ  ๋‚˜์„œ๋ถ€ํ„ฐ,๊ฐœ๋ฐœ์ž๋กœ์„œ ๋‚˜์˜ ์ •์ฒด์„ฑ์— ๋Œ€ํ•ด ํฐ ํ˜ผ๋ž€์ด ์™”์—ˆ๋‹ค. ๋งค์šฐ ์‹ฌ๋„ ๊นŠ์€ ์ˆ™๊ณ  ๋์— ๋– ๋ฏผ ์ฒซ ํƒ€๊ฑด.๋ฐ˜๋ณต๊ณผ ์ œ์–ด์™€ ์ฑ…์ž„์— ๋”ฐ๋ฅธ ์„ค๊ณ„๋ฅผ ๋งˆ์นœ ๋’ค ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž์™€ ๋‚˜๋ˆˆ ์šฐ๋ฆฌ์˜ ์ปจ๋ฒค์…˜๊ณผ ๋ชฉํ‘œ.๊ทธ ๋•Œ๋Š” ๊ทธ๋Ÿฐ ์ผ๋“ค์ด ์ž์—ฐ์Šค๋Ÿฌ์› ๊ณ , ๊ทธ๋Ÿฐ ๋Œ€ํ™”๊ฐ€ ์˜๋ฏธ ๊นŠ์—ˆ๋‹ค. ์ฝ”๋“œ ์ปจ๋ฒค์…˜, ์•„ํ‚คํ…์ฒ˜ ๋“ฑ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆŒ ๋•Œ๋ฉด,ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๊ฐ์ž์˜ ์ž…์žฅ๊ณผ ๋ชจ๋“ˆ ๋ณ„ ์ฑ…์ž„ ๋“ฑ๊ณผ ์—ฌํƒ€ ๊ธฐ์ˆ  ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฒฌํ•ด๊ฐ€ ์˜ค๊ฐ”๊ณ ,๊ฐ์ž์˜ ์˜ค๋žœ ์ˆ™๋ จ๋œ ์Šต๊ด€๋“ค์„ ์˜ˆ๋กœ ๋“ค๋ฉฐ ๊ธฐ์ˆ  ์ด์•ผ๊ธฐ ๊ฝƒ์„ ํ”ผ์› ๋‹ค. AI Agentic Coding ์‹œ๋Œ€์ธ ์ง€๊ธˆ, ๋งŽ์€ ๊ฐœ๋ฐœ ๋ฌธํ™”๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค.์ฃผ๋‹ˆ์–ด๋Š” AI๋ฅผ ํ†ตํ•ด ๊ธฐ์ˆ  ๊ฒฌํ•ด์— ๋”ฐ๋ฅธ Best Practice๋ฅผ ํ•™์Šตํ•˜๊ณ ,์‹œ๋‹ˆ์–ด๋Š” AI๋ฅผ ํ†ตํ•ด ๊ธฐ์กด ์ง€์‹์„ ์ด์šฉํ•˜์—ฌ ๋” ์ƒ์‚ฐ์„ฑ ๋†’์€ ๊ฐœ๋ฐœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค... 2026. 5. 22.
[DataBase] PostgreSQL MVCC๋Š” ๊ฒฐ์ œ ์ •ํ•ฉ์„ฑ์„ ์–ด๋””๊นŒ์ง€ ๋ณด์žฅํ• ๊นŒ? ์ตœ๊ทผ ํฌ์ธํŠธ ๊ฒฐ์ œ ์‹œ์Šคํ…œ ๊ด€๋ จ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์‹ ๊ทœ ์„œ๋น„์Šค์ด๋‹ค๋ณด๋‹ˆ, ๊ฝค ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. "๊ฒฐ์ œ ์Šน์ธ๋˜๊ณ , ํฌ์ธํŠธ ์ถฉ์ „ํ•˜๊ณ , ์ด๋ ฅ์„ ๋‚จ๊ธฐ๋ฉด ๋˜๋Š” ๊ฑฐ ์•„๋‹Œ๊ฐ€?"๋ฌผ๋ก  ์‹ค์ œ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ๋„ ๊ทธ๋ ‡๊ฒŒ ๊ฐ€๋ณ๊ฒŒ ๋ณธ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ํฐ ํ๋ฆ„๋งŒ ๋†“๊ณ  ๋ณด๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•ด ๋ณด์˜€๋‹ค.๊ทธ๋Ÿฐ๋ฐ ์ •๋ฆฌํ•˜๋ฉด ํ• ์ˆ˜๋ก ๋ญ”๊ฐ€ ๊ณ„์† ์ฐ์ฐํ–ˆ๋‹ค. PG callback์€ ์ค‘๋ณต์œผ๋กœ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๊ณ , ์Šน์ธ API๋Š” timeout์ด ๋‚  ์ˆ˜ ์žˆ๊ณ , callback๊ณผ ๋Œ€์‚ฌ ๋ฐฐ์น˜๊ฐ€ ๊ฐ™์€ ๊ฒฐ์ œ๋ฅผ ๋™์‹œ์— ํ™•์ •ํ•˜๋ ค๊ณ  ํ•  ์ˆ˜๋„ ์žˆ์—ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ํฌ์ธํŠธ ์‚ฌ์šฉ API์™€ ๋งŒ๋ฃŒ ๋ฐฐ์น˜๊ฐ€ ๊ฐ™์€ point lot์„ ๋™์‹œ์— ๊ฑด๋“œ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค.์ด๋Ÿฐ ์ผ€์ด์Šค๋ฅผ ํ•˜๋‚˜์”ฉ ํŽผ์ณ๋†“๊ณ  ๋ณด๋‹ˆ ๊ฒฐ๊ตญ ์งˆ๋ฌธ์€ ํ•˜๋‚˜๋กœ ๋ชจ์˜€๋‹ค."PostgreSQL๋„ ์“ฐ๊ณ  ์žˆ๊ณ , MVCC.. 2026. 5. 16.
[๊ธฐ์ˆ  ๊ณผ์ œ] ๋น„๊ต ๊ฒฌ์  ๋ฌธ์˜ ๋ฒค๋” ์ถ”์ฒœ, Query๋ฐฉ์‹์—์„œ AI ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ๋„์ž…๊ณผ ์ „ํ™˜๊ธฐ ๋ชฉ์ฐจ์„œ๋ก  — PO์˜ ํ•œ ๋งˆ๋””์—์„œ ์‹œ์ž‘๋œ ๊ธฐ์ˆ  ๊ณผ์ œLegacy๊ฐ€ ์™œ ์•„ํŒ ๋Š”์ง€ ๋จผ์ € ๋“ค์—ฌ๋‹ค๋ณด์žํ›„๋ณด ๊ธฐ์ˆ  ์Šคํƒ ๋น„๊ต๊ฐ€์žฅ ๋ฌด์„œ์šด ์งˆ๋ฌธ — "์•ˆ์ „ํ•˜๊ฒŒ ์–ด๋–ป๊ฒŒ ๋ฐ”๊ฟ€ ๊ฒƒ์ธ๊ฐ€"OpenSearch ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ ์„ค๊ณ„Shadow ๋ชจ๋“œ — 281๊ฑด์˜ ์กฐ์šฉํ•œ ์‹คํ—˜์ „๋ฉด ์ „ํ™˜, ๊ทธ๋ฆฌ๊ณ  ์ง€ํ‘œ ๋ณ€๋™์˜ ๋กค๋Ÿฌ์ฝ”์Šคํ„ฐํŠœ๋‹์˜ ์—ฌ์ •์ˆ˜์น˜๋กœ ๋ณด๋Š” ์ตœ์ข… ์„ฑ์ ๊นจ์ง€๊ณ  ๋ฐฐ์šด ๊ฒƒ๋“ค๋‚จ์€ ๊ณผ์ œ๋งˆ์น˜๋ฉฐ ์„œ๋ก  โ˜•์–ด๋А ๋‚  ์•„์นจ, PO ๋ถ„๊ป˜์„œ ๋‹ค๊ฐ€์™€ ๋ง์”€ํ•˜์…จ๋‹ค. "๊ฒฌ์  ๋ฌธ์˜ ์ถ”์ฒœ์ด ์ข€… ๋œฌ๊ธˆ์—†๋Š” ๋ฒค๋”๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฑฐ ๊ฐ™์•„์š”." ์†์œผ๋กœ ์กฐ์šฉํžˆ "์•„ ๊ทธ๊ฑฐ์š”…" ํ•˜๊ณ  ์ˆ˜๊ธํ–ˆ๋‹ค.์šฐ๋ฆฌ๋„ ์•Œ๊ณ  ์žˆ์—ˆ๋‹ค. ๊ฝค ์˜ค๋ž˜์ „๋ถ€ํ„ฐ. ํ˜„์žฌ ๋น„๊ต ๊ฒฌ์  ๋ฌธ์˜ ๊ธฐ๋Šฅ์€, ์‚ฌ์žฅ๋‹˜(๋จธ์ฒœํŠธ)์ด "์„œ์ดˆ๋™ ๊ทผ์ฒ˜ ์ธํ…Œ๋ฆฌ์–ด ๊ฒฌ์  ๋ฐ›๊ณ  ์‹ถ์–ด์š”"๋ผ๊ณ  ์š”์ฒญ์„ ๋„ฃ์œผ๋ฉด, ์‹œ์Šคํ…œ์ด ๋‹ต๋ณ€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ฒค๋” 30๋ช…์„ ์ถ”๋ ค์„œ ๊ฒฌ์ .. 2026. 4. 19.
[ํšŒ๊ณ ] 2025๋…„์„ ๋ณด๋‚ด๋ฉฐ ์–ด๋А๋ง BE๋กœ ์ผํ•œ ์ง€, 3๋…„์ฐจ๊ฐ€ ๋˜์—ˆ๋‹ค.์ฒซ ํšŒ์‚ฌ ์‹œ์ž‘ ๋•Œ 3๋…„ ๋’ค์— ๋‚˜๋Š” ์–ด๋–ค ๋ชจ์Šต์ผ์ง€์— ๋Œ€ํ•ด ๋– ์˜ฌ๋ ธ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค. ๊ทธ ๋•Œ์˜ ๋‚œ, 20๋Œ€ ์ค‘๋ฐ˜์˜ ๋‚˜์ด์— ์ž์‹ ๊ฐ๋„ ๋„˜์ณค๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์‰ฝ๊ฒŒ ๋ณด์˜€๊ณ , ์ผ์— ์˜์š•๋„ ๋„˜์ณค๋‹ค.๋ชจ๋“  ๊ฒƒ์ด ์ƒˆ๋กœ์› ์œผ๋‹ˆ! ๐Ÿค“ ๋งŒ 3๋…„์ด ๋˜๋‹ˆ, ์ด์ œ๋Š” ํ•˜๋Š” ์ผ์— ๋Œ€ํ•ด ์ต์ˆ™ํ•ด์ง„ ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๋ผ๋Š” ์ง๊ตฐ์— ์ ์‘์ด ๋œ ๊ฒƒ์ด๋‹ค.ํšŒ์‚ฌ์—์„œ ์•ž์œผ๋กœ ์–ด๋–ค ์ผ์„ ํ•ด์•ผ ํ• ์ง€, ์–ด๋–ป๊ฒŒ ํŒ€์— ๊ธฐ์—ฌํ•ด์•ผ ํ• ์ง€. + ์–ด๋–ค ๋ฌธ์„œ๋ฅผ ๋‚จ๊ฒจ์•ผ ํ• ์ง€.๋‹จ์ˆœํžˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋”ฉ์— ์žฌ๋ฏธ๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ, ์„ค๊ณ„์™€ ํ† ๋ก  ๊ทธ๋ฆฌ๊ณ  ์—…๋ฌด ํ™˜๊ฒฝ๊ณผ ๊ธฐํš์—์„œ์˜ ํฅ๋ฏธ๊ฐ€ ๋” ์˜๋ฏธ ๊นŠ์–ด์กŒ๋‹ค. ํšŒ๊ณ ๋ฅผ ๋Šฆ๊ฒŒ ์“ฐ๋Š” ๊ฐ์ด ์žˆ๋Š”๋ฐ.. ์ตœ๊ทผ์— ๋„ˆ๋ฌด ์ •์‹  ์—†์—ˆ๋‹ค. ์—ฐ๋ง๋ถ€ํ„ฐ ์‹œ์ž‘ ๋œ ๊ฒฐ์ œ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ์„ ํ•œ ๋‹ฌ ๋‚ด์— ๋๋งˆ์ณ์•ผ ํ•˜๋Š” ์‚ด์ธ์ .. 2026. 1. 25.
[๊ธฐ์ˆ  ๋ถ€์ฑ„] Legacy ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ ํ‘œ์ค€ํ™” ๋ฐ ๋น„์šฉ ๋ฐ API Latency ๊ฐœ์„ ๊ธฐ ์„œ๋ก ์šฐ๋ฆฌ ํŒ€์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ ์ค‘, community ๋ผ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค.ํšŒ์‚ฌ ์•ฑ ๋‚ด ํƒญ ์ค‘ ํ† ํฌ ํƒญ์˜ ์„œ๋ฒ„ ํ”„๋กœ์ ํŠธ์ธ๋ฐ.. ์ •๋ง ์–ด์ด ์—†๊ณ , ํ™”๋‚  ์ •๋„ ๊ตฌ์กฐ๋‹ค..ํƒ€ ํŒ€์—์„œ ์šฐ๋ฆฌ ํŒ€์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฑ…์ž„์ด ๋„˜์–ด์™”์„ ๋•Œ, ์ธ์ˆ˜ ์ธ๊ณ„ ์—†์ด ๋˜์ ธ์ง€๋“ฏ ๋ฐ›์•˜๊ณ , ๋ฌด์—‡๋ณด๋‹ค ๊ธฐ์กด ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์ด ํ‡ด์‚ฌํ•˜์‹  ์ƒํ™ฉ์ด๋ผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋” ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค. ํƒ€ ํŒ€์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ด€๋ จ ๋ฌธ์˜๋ฅผ ์ฃผ์‹œ๊ฑฐ๋‚˜, PM์ด ๊ด€๋ จ ์—…๋ฌด ์š”์ฒญ์„ ์ฃผ์‹ค ๋•Œ๋ฉด, ํ•ญ์ƒ ๊ดด๋ž„ํ•œ ๊ตฌ์กฐ ๋•Œ๋ฌธ์— ํŒŒ์•…ํ•˜๋Š”๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์—๋Ÿฌ ๋กœ๊ทธ๊ฐ€ ์ „ํ˜€ ํŠธ๋ž˜ํ‚น ๋˜์ง€ ์•Š์•˜๋‹ค.์‚ฌ๋‚ด ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ํ‘œ์ค€ํ™”๊ฐ€ ์ „ํ˜€ ๋˜์–ด ์žˆ์ง€ ์•Š์•˜๊ธฐ์—, ๋กœ๊ทธ๋ฅผ ํšŒ์‚ฌ ๋‚ด๋ถ€๋ง์—์„œ๋งŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ทธ๋งˆ์ €๋„ ์œ ์‹ค ๋˜์–ด ํŒŒ์•…ํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค. ์ƒ๊ฐ๋งŒ ํ•˜๋ฉด ํ•œ์ˆจ๋งŒ ๋‚˜์˜ค๋Š” ํ”„๋กœ์ ํŠธ์˜€๋‹ค.. .. 2025. 11. 23.
[์ž‘๋ฌธ] AI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ด ์‹ค๋ ฅ์ด ๋Š˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์•„์š”? ์ตœ๊ทผ ์—”์ง€๋‹ˆ์–ด๋ง ์ง๊ตฐ์—์„œ, AI๋ฅผ ํ™œ์šฉํ•œ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ์  ์‹œ๋„๋ฅผ ๋งŽ์ด ํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค.ํšŒ์‚ฌ ์ฐจ์›์—์„œ๋„ ๋งŽ์ด ๊ถŒ์œ ๋ฅผ ํ•˜๋Š” ๋ถ„์œ„๊ธฐ์ด๊ธฐ๋„ ํ•˜๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ๋„, ์˜ฌํ•ด ์ดˆ๋ถ€ํ„ฐ coding agent๋“ค์„ ์ฐธ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋‹ค.์ž‘๋…„๊นŒ์ง„ ๊ฑฐ์˜ GPT๋งŒ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ์˜ฌํ•ด ์ดˆ๋ถ€ํ„ฐ ์ •๋ง ๋ฒ”๋žŒํ•˜๋“ฏ์ด ์—ฌ๋Ÿฌ ๋ชจ๋ธ๋“ค๊ณผ ๋‹ค์–‘ํ•œ agent๋“ค์ด ํ„ฐ์ ธ ๋‚˜์™”๋‹ค.Claude Code, Gemini CLI, Cursor ๋“ฑ๋“ฑ.. ๋’ค์ฒ˜์ง€์ง€ ์•Š์œผ๋ ค ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค ๊ด€์‹ฌ ๊ฐ€์ ธ ์‚ฌ์šฉํ•ด ๋ณด๊ณ , ์—…๋ฌด์— ์ ์šฉํ•ด๋ณด๊ณค ํ–ˆ์—ˆ๋‹ค.FE์˜ ๊ฒฝ์šฐ, ๋ˆˆ์„ ๋œจ๋ฉด ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ๊ฐ€ ๋ฐ”๋€Œ๋“ฏ ํ•ญ์ƒ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๋“ค์ด ๋‚˜์™”์ง€๋งŒ, BE๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋œํ–ˆ์—ˆ๋‹ค.๋‚˜๋Š” BE ๊ฐœ๋ฐœ์ž์ง€๋งŒ, ์˜ฌํ•ด๋งŒํผ์€ FE๊ฐœ๋ฐœ์ž์˜ ๋งˆ์Œ์ด ์ดํ•ด๊ฐ€ ๊ฐ”๋‹ค.์ •๋ง ๋งค์ผ ์•„์นจ ๋ˆˆ์„ ๋œจ๋ฉด ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๋“ค, ๋ชจ๋ธ๋“ค์ด ๋‚˜์™”๋‹ค.์ •์‹ ์—†๋Š” ์™€์ค‘ ๋’ค.. 2025. 9. 14.
[์ž‘๋ฌธ] Product ์ค‘์‹ฌ ๊ฐœ๋ฐœ vs ์„ฑ๊ณผ ์ค‘์‹ฌ ๊ฐœ๋ฐœ ๊ฐœ๋ฐœ์ž๋กœ ์ผ์„ ํ•˜๋ฉด์„œ, ์ผ์„ ์ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํ•ญ์ƒ ๊ณ ๋ฏผ์„ ํ•ด์™”๋‹ค.์ผ์„ ์ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๊ณง, ๋‚ด ์„ฑ๊ณผ๋ฅผ ๋“œ๋Ÿฌ๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์•„์ง ๋งŒ 3๋…„์ด ์•ˆ ๋˜์—ˆ์ง€๋งŒ ํšŒ์‚ฌ๋ฅผ ์˜ฎ๊ฒจ ๋‹ค๋‹ˆ๋ฉฐ ๊ฐ ๊ฐœ๋ฐœ์ž์˜ ํ‰๊ฐ€ ๊ธฐ์ค€์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์„ ์ฃผ๋กœ ํ•ด์™”๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ์—ฌ๋Ÿฌ ์ผ๋“ค์„ ๊ฒช์œผ๋ฉฐ ์ •๋ฆฌ๋œ ํ˜„์žฌ์˜ ๊ฒฐ๋ก ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.๊ฐœ๋ฐœ์ž์˜ ์„ฑ๊ณผ๋ž€ ๊ณง, ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์ ์ธ ๋ถ€์ฑ„์™€ ๊ฐœ์„ ์˜ ์ด๋Ÿ‰๊ณผ ์ž„ํŒฉํŠธ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.๋‚ด๊ฐ€ ์Šค์Šค๋กœ ์ƒ๊ฐํ•œ ๊ฒฐ๋ก ์ด ์•„๋‹Œ, ๊ณ ์šฉ์ž๋“ค (ํ‰๊ฐ€์ž๋“ค, ๋ฆฌ๋” ๋“ฑ)์˜ ๋ง์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ฆฌ ๋œ ๊ฒฐ๋ก ์ด๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฐ๋ก ์œผ๋กœ ๋งˆ์Œ ๋จน๊ณ  ์ผ์„ ํ•ด์˜ค๋‹ค ๋ณด๋‹ˆ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ–‰์œ„๋ฅผ ์ž์—ฐ์Šค๋ ˆ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•œ ์ผ์ด ์ž„ํŒฉํŠธ๊ฐ€ ์ปธ๋“  ์ ๋“ , ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋ชฉ์†Œ๋ฆฌ๋ฅผ ํฌ๊ฒŒ ๋‚ด๋Š” ๊ฒƒ์ด๋ฅผ ํ…Œ๋ฉด ์Šฌ๋ž™์œผ๋กœ ๋ฆฌ๋” ๊ธ‰.. 2025. 8. 31.
[์ž‘๋ฌธ] ๋„Œ ์•„์ง๋„ ์ผ์—์„œ ์žฌ๋ฏธ๋ฅผ ์ฐพ๋‹ˆ? ํ–‡์ˆ˜๋กœ ๋ฒŒ์จ ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ 3๋…„ ์ฐจ๊ฐ€ ๋˜์–ด ๊ฐ„๋‹ค.2023๋…„ 1์›”๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ์œผ๋‹ˆ, ์–ด๋А๋ง 3๋…„ ์ฐจ๋ผ๋Š” ๋ง์ด ์‹ค๊ฐ ๋‚œ๋‹ค. ์˜ค๋žœ๋งŒ์— ํ›„์•”๋™์˜ ์ž‘์€ ์นดํŽ˜์— ์™”๋‹ค. ๋‚ด ์•ž์— ์•‰์€ ์นœ๊ตฌ๋Š” ์ฑ„์šฉ ์ „ํ˜• ๊ณผ์ œ๋ฅผ ํ•˜๊ณ  ์žˆ๊ณ , ๋‚˜๋Š” ๊ทธ ์นœ๊ตฌ์˜ ๊ฒฐ์ œ ํ…Œ์ด๋ธ” ์„ค๊ณ„์— ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ์—ˆ๋‹ค. ๊ผญ ์ž˜ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์นดํŽ˜ ์ฐฝ๋ฐ– ํ’๊ฒฝ์„ ๋ณด๋ฉฐ ์ž ์‹œ ์ƒ๊ฐ์— ์ž ๊ฒผ๋‹ค. ์š”์ฆ˜ ๋“œ๋Š” ์ƒ๊ฐ๊ณผ ํšŒ์‚ฌ ๋™๋ฃŒ๋“ค๊ณผ ๋‚˜๋ˆˆ ์ด์•ผ๊ธฐ๋“ค์ด ๋จธ๋ฆฟ์†์„ ๋งด๋ˆ๋‹ค.๋‚˜๋Š” ์š”์ฆ˜ ๋ฌด์—‡์„ ์œ„ํ•ด ์ผํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด, ์š”์ฆ˜ ์ผ์ด ์žฌ๋ฏธ๊ฐ€ ์—†๋‹ค. ์ทจ๋ฏธ๊ฐ€ ํ•„์š”ํ•œ ๊ฑธ๊นŒ, ์•„๋‹ˆ๋ฉด ๋‚ด๊ฐ€ ์ง€๊ธˆ ํ•˜๊ณ  ์žˆ๋Š” ์ผ์—์„œ ๋” ์ด์ƒ ์žฌ๋ฏธ๋ฅผ ๋А๋ผ์ง€ ๋ชปํ•˜๋Š” ๊ฑธ๊นŒ? ์˜ฌํ•ด ์ดˆ๊นŒ์ง€๋งŒ ํ•ด๋„ ๋ถ„๋ช…ํžˆ ์žฌ๋ฏธ์žˆ์—ˆ๋Š”๋ฐ. ์ „ ํšŒ์‚ฌ์— ์žˆ์„ ๋•Œ, ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋ถ„์ด "์ฝ”๋”ฉ์€ ๋…ธ๊ฐ€๋‹ค๋‹ค."๋ผ๊ณ  ๋ง์”€ํ•˜์…จ๋‹ค. ๋‹น์‹œ์˜ ๋‚˜๋Š” ๊ฝค.. 2025. 7. 20.
[์‹œ์Šคํ…œ ์„ค๊ณ„] 3๊ฐœ์›” ๊ฐ„์˜ CQRS(mini ver.) ๋„์ž…๊ธฐ ์˜ค๋ž˜๊ฐ„๋งŒ์— ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.์ตœ๊ทผ ์ƒ๋ฐ˜๊ธฐ ํšŒ์‚ฌ ๋ฐ ๊ฐœ์ธ ์—…๋ฌด์— ๋„ˆ๋ฌด ์ •์‹ ์ด ์—†๊ธฐ๋„ ํ•ด์„œ, ๊ณต๋ถ€ํ•˜๊ฑฐ๋‚˜ ์ ์šฉํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜์ง€ ์•Š์•˜๋‹ค. ์—ฐ์ฐจ๊ฐ€ ์Œ“์ผ์ˆ˜๋ก ํšŒ์‚ฌ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ์—…๋ฌด๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ,๊ฐœ์„ ์„ ๊ณ๋“ค์—ฌ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ•ญ์ƒ ์ƒ๊ฐํ•˜๋ฉฐ ๊ฐœ๋ฐœ์„ ํ•˜๋ ค ํ•œ๋‹ค.์ด๋ฒˆ 2๋ถ„๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์˜€๊ณ  ์ €๋ฒˆ ์ฃผ ๊ธˆ์š”์ผ, ๋“œ๋””์–ด ๋จธ๋ฆฟ์†์œผ๋กœ ์ƒ๊ฐ๋งŒ ํ–ˆ๋˜ ์ตœ์„ ์˜ ์„ค๊ณ„๋ฅผ ์šด์˜ ํ™˜๊ฒฝ์— ์ ์šฉํ•˜๊ณ  ๋‚˜์„œ๋Œ€๋žต 3๊ฐœ์›” ๊ฐ„์˜ ์ผ๋Œ€๊ธฐ๋ฅผ ์ถ”ํ›„์— ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ์‹œ์ž‘ํ•œ๋‹ค. ์ด๋ฒˆ์— CQRS๋ฅผ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. (ํ•˜์ง€๋งŒ RDBMS๋กœ ๊ณ๋“ค์ธ..)ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์„ค๊ณ„๊ฐ€ ์•„๋‹ˆ๋ผ, ์ •๋ง ์ ์šฉํ•ด์•ผ ํ•  ์ƒํ™ฉ์ด ์™”๋‹ค.๋ฐฐ๊ฒฝ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. Phase.1 [ Data Pipeline ํ†ตํ•œ Readonly ์ œ๊ณต ]DA(data ana.. 2025. 6. 22.
[Spring Framework] Bean ๋“ฑ๋ก์— ๋Œ€ํ•œ ์žฌ๊ณ  V2 Bean ๋“ฑ๋ก์— ๋Œ€ํ•œ ์žฌ๊ณ SpringBoot์—์„œ Bean์„ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ. 1. ํด๋ž˜์Šค์— ์ง์ ‘ @Component ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ 2. @Configuration ์• ๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•ด @Bean ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ์‹ ์œ„ 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ๋ณดํŽธ์ ์ด๋‹ค.sweeeetgoguma.tistory.com์ด์ „ ํฌ์ŠคํŠธ์— ์ด์–ด ์ด๋ฒˆ์—๋Š” Spring Framework์˜ ์ž๋ž‘! Conditional ์‹œ๋ฆฌ์ฆˆ๋ฅผ ํ™œ์šฉํ•œ Bean ๋“ฑ๋ก์— ๋Œ€ํ•ด ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์‹œ์ž‘ํ•˜๋ฉฐ ์˜ฌํ•ด ์ดˆ๋ถ€ํ„ฐ ์ •๋ง ์ผ์ด ๋งŽ๋‹ค. ๋ญ.. ๊ฐˆ ์ˆ˜๋ก ์Œ“์—ฌ๊ฐ„๋‹ค. ๊ธฐ์ˆ ์  ๋ฐฑ๋กœ๊ทธ๋งŒ ๋ช‡ ์‹ญ ๊ฐœ ์ •๋„ ๋˜๋Š” ๋“ฏํ•˜๋‹ค.๋ค์œผ๋กœ ๊ธฐ์ˆ  ๊ณผ์ œ์™€ ๋ถ€์ฑ„๋„ ๋งŽ์ด ๋Š˜์–ด๋‚ฌ๋‹ค. ๋‹น์žฅ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ธ‰ํ•œ ๊ฑด์€ ์•„๋‹ˆ์ง€๋งŒ, ์ด๋ฒˆ ์ฃผ๋Š” ๋‹คํ–‰ํžˆ ์‹œ๊ฐ„์ด ์—ฌ์œ ๋กœ์šด ๊ฒƒ ๊ฐ™์•„ ํ‹ˆํ‹ˆ์ด ๊ฐœ์„ ์„ ํ–ˆ๋‹ค. .. 2025. 3. 18.
์˜ฌ๋ฆผํ”ผ์•„ ๊ฐ„๋‹ค๋Š” ๋งˆ์Œ์œผ๋กœ ์ตœ๊ทผ์— ์šด๋™ ๊ด€๋ จ ์œ ํŠœ๋ธŒ๋ฅผ ๋ณด๋‹ค๊ฐ€, ์ œ๋ชฉ๊ณผ ๊ฐ™์€ ๋Œ“๊ธ€์„ ๋ดค๋‹ค. ๊ทธ ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•˜์‹  ๋ถ„์€ ์ง์žฅ์ธ์ด์…จ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์ •๋ง ์—ด์‹ฌํžˆ ํ•˜์‹œ๋Š” ๊ฒƒ ๊ฐ™๊ณ  ์‹ค์ œ๋กœ ๊ฐœ์ธ ์ฑ„๋„์— ์—…๋กœ๋“œํ•˜์‹  ์šด๋™ ์˜์ƒ๊ณผ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋ดค์„ ๋•Œ ์–ด๋งˆ์–ด๋งˆํ–ˆ๋‹ค.๊ทธ๋Ÿฐ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ผํ•˜๋ฉด์„œ ์šด๋™๊นŒ์ง€ ์—ด์‹ฌํžˆ ํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์„ ํ…๋ฐ.. ๋Œ€๋‹จํ•œ ์‚ฌ๋žŒ๋“ค ๋งŽ๊ตฌ๋‚˜. ๋‚ด๊ฐ€ ํ•œ์ฐฝ ์šด๋™์„ ์—ด์‹ฌํžˆ ํ•  ๋•Œ, ๋ฐ”๋””๋นŒ๋”ฉ ๋Œ€ํšŒ๋„ ๊ด€์‹ฌ์ด ๋งŽ์•˜๋‹ค. ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋ชธ ์ข‹์€ ์‚ฌ๋žŒ๋“ค์ด ๋‚˜์˜จ๋‹ค๋Š” Mr.Olympia ๋Š” ๋งค ์—ฐ๋ง์— ์—ด๋ ธ๊ณ , ๋‚œ ํ•ญ์ƒ ์ฑ™๊ฒจ๋ดค์—ˆ๋‹ค.๊ทธ ๋Œ€ํšŒ์— ์ถœ์ „ํ•˜๋Š” ์„ ์ˆ˜๋“ค์€ ๋ชธ๋„ ๋ฌผ๋ก  ํƒ‘๊ธ‰์ด์ง€๋งŒ, ์ •์‹ ๋ ฅ๋„ ํƒ‘๊ธ‰์ด๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. (์—…์ด๋‹ˆ๊นŒ ๊ทธ๋Ÿด ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.) ๊ทธ ์„ ์ˆ˜ ๋ถ„๋“ค์˜ ์šด๋™ ์˜์ƒ์„ ๋ณด๋ฉด์„œ, ์ผ๋ฐ˜์ธ์ด์ง€๋งŒ ์ตœ๋Œ€ํ•œ ํ‚ค์›Œ๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค.์นดํŽ˜์ธ ์„ญ์ทจ๋„ ๋งŽ์ด ๋Š˜๋ฆฌ๊ณ , .. 2025. 3. 10.
[์ด๋ฒคํŠธ ์†Œ์‹ฑ๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜] CH.3 ์ด๋ฒคํŠธ ์†Œ์‹ฑ I ์ด๋ฒˆ ์ฑ•ํ„ฐ๋ฅผ ์ฝ์œผ๋ฉด์„œ, ๊ธฐ์กด์— ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋˜ ์Šคํƒ€์ผ์˜ ๋ชจํ˜ธํ•œ ๊ฐœ๋…๋“ค์ด ๋ช…ํ™•ํžˆ ์ •๋ฆฌ ๋˜๋Š” ๋А๋‚Œ์ด ๋“ค์—ˆ๋‹ค.์ด๋Ÿฐ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์ธ์ง€ํ•˜๋ฉด์„œ, ์•ž์œผ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋ฉด kotlin ์Šคํƒ€์ผ์˜ ํŒจํ‚ค์ง€ ์ •๋ฆฌ์— ์ข€ ๋” ์ง‘์ค‘ํ•ด์•ผ ๋˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๋‹ค. ๋ชจ๋“  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์ง„ ์•Š์„ ๊ฒƒ์ด๋ฉฐ, ๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ ๋‚ด์šฉ ์ด์™ธ์— ์ƒˆ๋กญ๊ฒŒ ๋ฐ›์•„ ๋“ค์ธ ๋‚ด์šฉ๋งŒ ์ •๋ฆฌํ•  ๊ฒƒ์ด๋‹ค!! ๋„๋ฉ”์ธ ์ด๋ฒคํŠธ๋ณ€๊ฒฝ์˜ ๋‹จ์œ„๋ฅผ ๋น„์ฆˆ๋‹ˆ์Šค ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ๊ฒฐ๊ณผ๋กœ ์ •์˜์ด๋ฒคํŠธ๋ž€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋„๋ก "์‹œ์Šคํ…œ"์— ์š”์ฒญํ•œ ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ํžŒํŠธ์ด๋ฉด์„œ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•œ ์ด์œ ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ…Œ๋ฉด, PasswordChanged ๋ผ๋Š” ๊ฐ์ฒด์˜ ๋„ค์ด๋ฐ์„ ๋ณด๋ฉด, ๋„๋ฉ”์ธ์—์„œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์ฆ‰์‹œ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. public class QuantityChan.. 2025. 3. 4.
๋ฐ˜์‘ํ˜•