[Backend] ์• ์ž์ผ(Agile) ์ดํ•ดํ•˜๊ธฐ
ยท
๐Ÿ› ๏ธBackend/๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€
โœ… 1. ์• ์ž์ผ์ด๋ž€? ์• ์ž์ผ(Agile)์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜์ด๋‹ค.์• ์ž์ผ(Agile)์„ ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญ์„ํ•˜๋ฉด "๊ธฐ๋ฏผํ•œ", "์‹ ์†ํ•œ" ์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„๋‹ค.์ฆ‰, ๋ณ€ํ™”์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๋ฉฐ ์ ์ง„์ ์œผ๋กœ ์ œํ’ˆ์„ ๊ฐœ๋ฐœํ•ด ๋‚˜๊ฐ€๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์„ ์˜๋ฏธํ•œ๋‹ค.โœ… 2. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ด๋ž€?์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ฒด๊ณ„์ ์ด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ•ด๋†“์€ ๋ฐฉ์‹ ๋˜๋Š” ์ ˆ์ฐจ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.์‰ฝ๊ฒŒ๋งํ•ด, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ฌด์ž‘์ • ๋งŒ๋“ค์ง€ ์•Š๊ณ , ์–ด๋–ค ์ˆœ์„œ๋กœ, ์–ด๋–ป๊ฒŒ, ๋ˆ„๊ฐ€, ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ •ํ•ด๋‘” ์„ค๊ณ„๋„ ๊ฐ™์€ ๊ฒƒ์ด์ฒ˜๋Ÿผ ๋‹จ๊ณ„๋ฅผ ์ •ํ•ด์„œ ๋‹จ๊ณ„์— ๋งž๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ, ํ•ด๋‹น ๋‹จ๊ณ„๋ฅผ ๊ทœ๋ช…ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.โœ… 3. ์• ์ž์ผ ๋งŒ๋“ค์–ด์ง„ ์ด์œ 2001๋…„ ๋ฏธ๊ตญ ์œ ํƒ€์ฃผ์˜ ํ•œ ๋ฆฌ์กฐํŠธ์—์„œ 17๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ์—ฌ ๋งŒ๋“  ๊ฒƒ์ด "์• ์ž์ผ ..
[Backend] ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ์ตœ์ ํ™” ์ข…๋ฅ˜
ยท
๐Ÿ› ๏ธBackend/๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ž€์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜์—ฌ ์š”์ฒญ์— ๋”ฐ๋ฅธ ์‘๋‹ต์„ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฃผ๊ธฐ ์œ„ํ•œ ์ตœ์ ํ™”๋ฅผ ์˜๋ฏธํ•œ๋‹ค. โœ… 1. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ตœ์ ํ™”๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ: ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ, ์—ฐ์†์„ ์ตœ์†Œํ™” ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ: ๋” ๋‚˜์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋Œ€์ฒด โœ… 2. DB ์ตœ์ ํ™”์ฟผ๋ฆฌ ์ตœ์ ํ™”: ๋น„ํšจ์œจ์ ์œผ๋กœ ์ž‘์„ฑ๋œ DB ์ฟผ๋ฆฌ ๊ฐœ์„  ( ์˜ˆ์‹œ: ์ธ๋ฑ์Šค ์ถ”๊ฐ€, ์ฟผ๋ฆฌ ๋ฆฌํŒฉํ† ๋ง, ์กฐ์ธ ์ตœ์ ํ™” )์ปค๋„ฅ์…˜ ํ’€: DB์™€์˜ ์—ฐ๊ฒฐ์„ ์žฌํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ฅ์…˜ ํ’€(HikariCP ๋“ฑ)์„ ์„ค์ •ํ•˜์—ฌ DB ์ปค๋„ฅ์…˜ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌN+1 ๋ฌธ์ œ ํ•ด๊ฒฐ: JPA๋‚˜ ORM์—์„œ ๋ฐœ์ƒํ•˜๋Š” N+1 ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ DB ์š”์ฒญ ์ตœ..
[Backend] ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ž€?
ยท
๐Ÿ› ๏ธBackend/๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€
์„ฑ๋Šฅ ์ตœ์ ํ™”๋ž€?์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ๋•Œ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค.์ฆ‰, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ณด๋‚ด๋Š” ๊ณผ์ •์—์„œ ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต์„ ์œ„ํ•ด์„œ์ด๋‹ค.์„œ๋ฒ„๋Š” ๊ฒฐ๊ตญ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ†ต์‹ ์„ ํ•˜๋ฉฐ, ์ด ๊ณผ์ •์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ์ตœ์ ํ™”๋Š” 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.๐Ÿงฑ1. ํ•˜๋“œ์›จ์–ด ์ตœ์ ํ™” (Infastructure ์ธก๋ฉด)์Šค์ผ€์ผ ์—…: CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ๋“ฑ ํ•œ ๋Œ€์˜ ์„œ๋ฒ„ ์‚ฌ์–‘์„ ์—…๊ทธ๋ ˆ์ด๋“œ. ์Šค์ผ€์ผ ์•„์›ƒ: ์„œ๋ฒ„์˜ ์ˆ˜๋ฅผ ๋Š˜๋ ค ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ (์ˆ˜ํ‰ ํ™•์žฅ).Auto Scaling, Load Balancer(HW) ๋„ ์—ฌ๊ธฐ์— ํฌํ•จ.์˜ˆ์‹œ: EC2 ์ธ์Šคํ„ด์Šค ํƒ€์ž… ๋ณ€๊ฒฝ, ์„œ๋ฒ„ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€๋‹ด๋‹น: ์ธํ”„๋ผ ์—”์ง€๋‹ˆ์–ด, ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด๐ŸŒ 2. ๋„คํŠธ์›Œํฌ ์ตœ์ ํ™” (OSI ๊ณ„..
[GitHub] Git & Git-hub
ยท
๐Ÿ› ๏ธBackend/๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€
1. ๋ฆฌ๋ˆ…์Šค ํ•„์ˆ˜ ๋ช…๋ น์–ด@ ๋ฆฌ๋ˆ…์Šค ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™ ๋ช…๋ น์–ด1. pwd (print working directory)- ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ํด๋”์˜ ๋””๋ ‰ํ† ๋ฆฌ ์ฆ‰, ํ˜„์žฌ์˜ ๊ฒฝ๋กœ์™€ ์œ„์น˜๋ฅผ ๋ณด์—ฌ ์ฃผ๋Š” ๋ช…๋ น์–ด2. ls (list)-  ํ˜„์žฌ ์žˆ๋Š” ์œ„์น˜์˜ ํด๋”๋‚ด๋ถ€์˜ ํด๋”๋‚˜ ํŒŒ์ผ๋“ค์˜ ๋‚ด์—ญ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด3. ls -a (list all)-  ํ˜„์žฌ ์žˆ๋Š” ์œ„์น˜ ํด๋” ๋ฐ ํŒŒ์ผ ๊ทธ๋ฆฌ๊ณ  ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ๋“ค ๊นŒ์ง€ ๋ชจ๋‘๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด4. cd ํด๋”๋ช… (change directory)-  ls ๋ช…๋ น์–ด์—์„œ ํ™•์ธ๋œ ํด๋”๋“ค์˜ ์ด๋™์„ ํ•ด์ฃผ๋Š” ๋ช…๋ น( ์ฆ‰, ํ˜„์žฌ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด)- cd .. ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ๋‹จ๊ณ„ ์œ„ ์ฆ‰, ์ƒ์œ„ ๋ถ€๋ชจ ํด๋”๋กœ ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝ ํ•ด์ฃผ๊ฒ ๋‹ค๋Š” ๋ช…๋ น์–ด- cd์˜ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™์€ ๋ถ€๋ชจ ํด๋”๋กœ ์ง์ ‘ ์ ‘๊ทผ์€ ๋ถˆ๊ฐ€..