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

WIL5

AI ์ž˜ ์“ฐ๋Š” ๊ฐœ๋ฐœ์ž? ์˜ค๋Š˜ ๋ฌธ๋“ '๋‚˜๋Š” AI๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ธ๊ฐ€?' ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.์ด์ œ ๊ฐœ๋ฐœ์ž์™€ ChatGPT์™€ ๊ฐ™์€ LLM์€ ๋—„ ์ˆ˜ ์—†๋Š” ์‚ฌ์ด๊ฐ€ ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.๋‚˜๋Š” ์ด๋Ÿฌํ•œ ์‹œ๋Œ€ ํ๋ฆ„์— ๋งž์ถฐ AI๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ธ๊ฐ€?์— ๋Œ€ํ•œ ์˜๋ฌธ์ด ๋“ค์—ˆ๋‹ค.์‚ฌ์‹ค ์˜๋ฌธ์ด๋ผ๊ธฐ ๋ณด๋‹ค๋Š” "์•„๋‹ˆ๋‹ค" ๋ผ๋Š” ๋‹ต์ด ์ด๋ฏธ ์ •ํ•ด์ ธ ์žˆ๋Š” ์งˆ๋ฌธ์ด์—ˆ๋‹ค. ๋‚˜๋Š” ์–ด๋–ป๊ฒŒ AI๋ฅผ ์“ฐ๊ณ ์žˆ๋Š”๊ฐ€?๋‚ด๊ฐ€ ๋ฌธ์ œ๋ผ๊ณ  ๋А๋‚€ ์ง€์ ๋‚˜๋Š” ํ˜„์žฌ ChatGPT ์œ ๋ฃŒ ๋ฒ„์ „๊ณผ, Cursor AI ์œ ๋ฃŒ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.๋ฌด๋ ค 2๊ฐœ์˜ AIํˆด์„ ์œ ๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋‹ˆ, ๋‚˜๋Š” ์™„์ „ ํŠธ๋ Œ๋””ํ•œ ๊ฐœ๋ฐœ์ž์ž–์•„ ~ ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์„๊นŒ?๊ทธ๋ ‡๋‹ค๊ธฐ์—” ๋‚ด๊ฐ€ ์ตœ๊ทผ์— CursorAI(์ •ํ™•ํžˆ๋Š” ์—ฌ๋Ÿฌ ๋ชจ๋ธ ์ค‘ Claude ์‚ฌ์šฉ ์ค‘)์—๊ฒŒ ๊ฐ€์žฅ ๋งŽ์ด ํ•œ ๋ง์€ 2๊ฐ€์ง€๋‹ค."์•„๋‹ˆ ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ""์—ฌ์ „ํžˆ ๋‚ด๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ .. 2024. 12. 19.
Two-Phase Locking (2PL) 2PL ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ2PL์€ ์™œ ์ฐฉ์•ˆ๋˜๊ฒŒ ๋˜์—ˆ์„๊นŒ?๊ฐ’์— ์ ‘๊ทผํ•˜๊ธฐ ์ „์— lock์„ ์žก๊ณ , ์ ‘๊ทผ์ด ๋๋‚œ ํ›„์— lock์„ ํ•ด์ œํ–ˆ๋‹ค์–ธ๋œป๋ณด๋ฉด lock์„ ๊ต‰์žฅํžˆ ์ž˜ ์‚ฌ์šฉํ•œ ๊ฒƒ ๊ฐ™๋‹ค๊ทธ๋Ÿฐ๋ฐ ์ •์ƒ์ ์ธ ๊ฒฐ๊ณผ(serialํ•˜๊ฒŒ ์ˆ˜ํ–‰)๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™€์•ผ ํ•œ๋‹คbalx = 220, baly = 330 (T9 -> T10)balx = 210, baly = 340 (T10 -> T9)ํ•˜์ง€๋งŒ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋Š” balx = 220, baly = 340 ์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”๋‹คlock์„ ์‚ฌ์šฉํ•˜์˜€์Œ์—๋„ serializable ํ•˜์ง€ ์•Š์€ schedule์ด ๋ฐœ์ƒํ–ˆ๋‹ค๊ฐ’์— ์ ‘๊ทผํ•˜๊ธฐ ์ „์— lock์„ ์žก๋Š” ๊ฒƒ์€ ์ข‹์•˜์œผ๋‚˜, lock์„ ๋„ˆ๋ฌด ๋นจ๋ฆฌ ํ•ด์ œํ•œ ๊ฒƒ์ด ๋ฌธ์ œ ๋‹คlock์„ ๊ฑธ๊ณ  ํ‘ธ๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ๊ทœ์ œ๊ฐ€ ํ•„์š”ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค 2PLTwo-Pha.. 2024. 5. 10.
๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ” ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ๊ฐ‘์ž๊ธฐ ์™œ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋๋ƒ๋ฉด,,,ํ˜„์žฌ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•  ๋•Œ, ํ‰๋ฌธ์— Salt ๊ฐ’์„ ๋ถ™์ธ ๋‹ค์Œ Hashing(ํ•ด์‹ฑ)์„ ํ•ด์„œ DB์— ์ €์žฅ ํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.ํ‰๋ฌธ์ด ์•„๋‹ˆ๋ผ ํ•ด์‹œ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์ด์œ ๋Š” ํ˜น์—ฌ๋‚˜ ์•…์˜์ ์ธ ๊ณต๊ฒฉ์ž์— ์˜ํ•ด ๋…ธ์ถœ๋˜์—ˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์‹ค์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์•Œ์•„๋‚ด์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์—ฌ๋‹ด์ด์ง€๋งŒ ์š”์ฆ˜์€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ๋ฅผ ํ•˜๋ฉด, ๊ธฐ์กด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ pas*w*rd ์ด๋Ÿฐ ์‹์œผ๋กœ ์•Œ๋ ค์ฃผ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฌด์กฐ๊ฑด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ ํ•œ๋‹ค.๊ทธ ์ด์œ ๊ฐ€ ํ•ด์‹œ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ž˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ญ์˜€๋Š”์ง€ ์•Œ์ง€ ๋ชปํ•˜๊ธฐ์—, ์•Œ๋ ค์ค„ ์ˆ˜๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ ! Salt ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์˜ˆ์ „์— ๋ณด์•ˆ ์‹œ๊ฐ„์— ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ”์ด๋ผ๋Š” ๊ณต๊ฒฉ๋ฒ•์„ ๋ฐฐ์› ์—ˆ๋Š”๋ฐ,์ด ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ” ๊ณต๊ฒฉ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด.. 2024. 5. 1.
๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด, ๊น€์˜ํ•œ๋‹˜์˜ "๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹" ๊ฐ•์˜๋ฅผ ๋“ค์—ˆ๋‹ค. ๊ทธ ์ค‘์— ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์ฒ˜์Œ์ด๋ผ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ ๊ฐ•์˜ - ์ธํ”„๋Ÿฐ ์‹ค๋ฌด์— ๊ผญ ํ•„์š”ํ•œ HTTP ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ์˜ฌ๋ฐ”๋ฅธ HTTP API ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค., [์‚ฌ์ง„] ๐Ÿ“ฃ ํ™•์ธํ•ด์ฃผ์„ธ์š”!๋ณธ ๊ฐ•์˜๋Š” ์ž๋ฐ” ์Šคํ”„๋ง ์™„์ „ ์ •๋ณต ์‹œ๋ฆฌ์ฆˆ์˜ ์„ธ ๋ฒˆ์งธ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์šฐ์•„ํ•œํ˜•์ œ๋“ค ์ตœ์—ฐ์†Œ ๊ธฐ์ˆ  www.inflearn.com (PPL์•„๋‹˜...) ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ Stateless Protocol HTTP ํ”„๋กœํ† ์ฝœ์€ ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์„ ์ง€ํ–ฅํ•œ๋‹ค ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š๋Š”๋‹ค ์žฅ์ : ์„œ๋ฒ„์˜ ํ™•์žฅ์„ฑ์ด ๋†’๋‹ค(Scale Out) ๋‹จ์ : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „์†กํ•˜๋Š”.. 2024. 3. 8.
GraphQL๊ณผ N + 1 ๋ฌธ์ œ ์ฐพ์•„๋ณด๊ฒŒ ๋œ ๊ณ„๊ธฐ ํ˜„์žฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ, ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ๊ฐ„์˜ ์˜์กด๋„๋ฅผ ๋–จ์–ดํŠธ๋ฆฌ๊ณ ์ž GraphQL์„ ๋„์ž…ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค GraphQL์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋ก ํŠธ์ธก์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด๊ฐ€๋Š” ํ˜•์‹์ด๊ธฐ ๋•Œ๋ฌธ์—, RestAPI์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋–„๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ GraphQL์„ ์‚ฌ์šฉํ•˜๋ฉด Resolver๊ฐ€ ์—ฐ์‡„์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” N + 1 ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋นˆ๋ฒˆํ•˜๋‹ค๊ณ  ํ•ด์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ์œ„ํ•ด ์•Œ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. N + 1 ๋ฌธ์ œ๋ž€? 1๋ฒˆ์˜ ์ฟผ๋ฆฌ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ์ฐธ์กฐํ•˜๋Š” ๋ฐ์ดํ„ฐ N๊ฐœ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ ค N + 1 ๋ฒˆ์˜ ์ฟผ๋ฆฌ ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•˜๋‚˜์˜ ๋ธ”๋กœ๊ทธ์— 3๊ฐœ์˜ ๋Œ“๊ธ€์ด ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž. ์ด๋•Œ, ๋ธ”๋กœ๊ทธ์™€ ๋Œ“๊ธ€์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ.. 2024. 2. 27.