ํฌ์ŠคํŠธ

Django's Design philosophies

Django's Design philosophies

๐Ÿ’ก DJANGO ์„ค๊ณ„ ์ฒ ํ•™

Django docs์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ฝ์œผ๋ฉด์„œ ์ •๋ฆฌํ–ˆ๋‹ค.


1. ๋А์Šจํ•œ ๊ฒฐํ•ฉ

Django์˜ ๊ธฐ๋ณธ ๋ชฉํ‘œ๋Š” โ€˜๋А์Šจํ•œ ๊ฒฐํ•ฉโ€™๊ณผ โ€˜ํƒ„ํƒ„ํ•œ ์‘์ง‘โ€™์ด๋‹ค.

๋А์Šจํ•œ ๊ฒฐํ•ฉ์€ ํ•˜๋‚˜์˜ ์ฝคํฌ๋„ŒํŠธ์˜ ๋ณ€๊ฒฝ์ด ๋‹ค๋ฅธ ์ฝคํฌ๋„ŒํŠธ๋“ค์˜

๋ณ€๊ฒฝ์„ ์š”๊ตฌํ•˜๋Š” ์œ„ํ—˜์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ

์ฝคํฌ๋„ŒํŠธ ๊ฐ„์˜ ๋‚ด๋ถ€ ์˜์กด์„ฑ์„ ์ค„์ด๋Š” ๊ฒƒ์„ ์ถ”๊ตฌํ•˜๋Š” ๋””์ž์ธ ๋ชฉํ‘œ๋‹ค.

๋А์Šจํ•œ ๊ฒฐํ•ฉ์€ ์‹œ์Šคํ…œ์„ ๋”์šฑ ์œ ์ง€ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค๊ณ ,

์ „์ฒด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋”์šฑ ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹œ์Šคํ…œ์˜ ์œ ์—ฐ์„ฑ์„

์ฆ๊ฐ€ํ•˜๊ฒŒ ํ•˜๋ ค๋Š” ์˜๋„๋ฅผ ๊ฐ€์ง„ ํฌ๊ด„์ ์ธ ๊ฐœ๋…์ด๋‹ค.

ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ ๊ณ„์ธต์€ ์ •๋ง๋กœ ํ•„์š”ํ•˜๊ธฐ ์ „์—๋Š” ์„œ๋กœ ์•Œ์ง€ ๋ชปํ•ด์•ผํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Template ์‹œ์Šคํ…œ์€ ์›น ์š”์ฒญ์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•˜๊ณ ,

DataBase ๊ณ„์ธต์€ ๋ฐ์ดํ„ฐ ํ‘œ์ถœ์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•˜๋ฉฐ, View ์‹œ์Šคํ…œ์€

ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์–ด๋–ค Template ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์ง€ ๋ชปํ•œ๋‹ค.

Django๋Š” ํŽธ์˜์„ฑ์„ ์œ„ํ•ด ํ’€ ์Šคํƒ์œผ๋กœ ์ œ๊ณต๋˜์ง€๋งŒ, ์Šคํƒ์˜ ๊ฐ ๋ถ€๋ถ„์€

๊ฐ€๋Šฅํ•œ ํ•œ ๋…๋ฆฝ์„ฑ์„ ๊ฐ–๋Š”๋‹ค.


2. ์ ์€ ์ฝ”๋“œ

Django๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ‹€์— ๋ฐ•ํžŒ ์ฝ”๋“œ๋ฅผ ๋ฐฐ์ œํ•ฉ๋‹ˆ๋‹ค.

Django๋Š” ์ธํŠธ๋กœ์ŠคํŽ™์…˜๊ณผ ๊ฐ™์€ Python์˜ ๋™์ ์ธ ๊ธฐ๋Šฅ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.


3. ์‹ ์†ํ•œ ๊ฐœ๋ฐœ

21์„ธ๊ธฐ์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฃผ์•ˆ์ ์€ ์›น ๊ฐœ๋ฐœ์˜ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Django๋Š” ๋†€๋ผ์šฐ๋ฆฌ๋งŒํผ ๋น ๋ฅธ ์›น ๊ฐœ๋ฐœ์„ ๊ฐ€๋Šฅ์ผ€ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


4. ๋ฐ˜๋ณตํ•˜์ง€ ๋ง ๊ฒƒ(DRY)

๊ณ ์œ ํ•œ ๊ฐœ๋… ๋ฐ ๋ฐ์ดํ„ฐ๋Š” ๋‹จ ํ•œ ๋ฒˆ, ๋‹จ ํ•œ ๊ณณ์— ์กด์žฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์กฑํ•ฉ๋‹ˆ๋‹ค.

์ค‘๋ณต์„ฑ์€ ๋‚˜์œ ๊ฒƒ์ด๊ณ , ์ •๊ทœํ™”๋Š” ์ข‹์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌํ•œ ์ด์œ ๋กœ, ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ตœ์†Œํ•œ์˜ ๊ฒƒ๋“ค์„ ๊ฐ€์ง€๊ณ  ์ตœ๋Œ€ํ•œ์˜ ๊ฒƒ์„

๋งŒ๋“ค์–ด๋‚ด๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“š Reference

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.