PYTHON

[Python] django ktx project ๊ณ„ํš

girin_dev 2023. 2. 19. 14:03
728x90
๋ฐ˜์‘ํ˜•

๐Ÿฆ ๋ช…์ ˆ๋งˆ๋‹ค 1์‹œ๊ฐ„ ๋™์•ˆ KTX ๊ธฐ์ฐจ ์˜ˆ๋งค๋ฅผ ์œ„ํ•ด ์ƒˆ๋กœ๊ณ ์นจํ•˜๋Š” ๊ฒŒ ์ง€์ณ์„œ, 

๋‚ด ํ‘œ๋ฅผ ์ฐพ์•„ ์˜ˆ๋งคํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

( KTX API์—๋Š” ํ‘œ ์˜ˆ๋งค API๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋™์  ์›น ํฌ๋กค๋ง์„ ํ•ด์•ผ ํ•œ๋‹ค. )

 

์ง์žฅ ์ƒํ™œ๊ณผ ๋ณ‘ํ–‰ํ•˜๋ฉฐ 1๋‹ฌ ์ •๋„ ์†Œ์š” ํ•  ์˜ˆ์ •์ด๋‹ค. 

๋”ฐ๋ผ์„œ, ๋ชฉํ‘œ๋Š” KTX๋ฅผ ํ‘œ๋ฅผ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์˜ˆ๋งค ์ƒ๊ฐ์ด๋‹ค. 

 

 

ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ : pycharm pro / python 3.8.6  / django 3.2 / react / oracle cloud / 

 

 

์™œ python ์ธ๊ฐ€? 

1. ๋ฌธ๋ฒ•์ด ์‰ฝ๊ณ  ๊ฐ€๋…์„ฑ์ด ๋†’๋‹ค๋Š” ์žฅ์ 

2. ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด๋ฏ€๋กœ, ์ปดํŒŒ์ผ ์—†์ด ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๋กœ ํ™•์ธ ๊ฐ€๋Šฅ.

3. ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ๋‚ฎ๋‹ค.

4. ๋น ๋ฅธ ๊ฐœ๋ฐœ ์†๋„. 1๋ฒˆ๊ณผ ์ด์–ด์ง€๋Š” ํ•ญ๋ชฉ์ด๋‹ค.  -- ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋ฏ€๋กœ,

 

๋‹จ์  : 

1. ๋А๋ฆฌ๋‹ค.  -- ํ‘œ๋งŒ ์˜ˆ๋งคํ•˜๋ฉด ๋˜๋ฏ€๋กœ, ๋А๋ ค๋„ ์ƒ๊ด€ ์—†์œผ๋‹ˆ๊นŒ. 

2. GIL ( global interpreter lock )   --  ๋ณ‘๋ ฌ ์ž‘์—… ํ•  ์ผ ์—†์œผ๋‹ˆ๊นŒ.

       -- ๋ณ‘๋ ฌ ์ž‘์—…๋„ ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™œ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์— ๋ชจ๋“  ์ž์›์„ ํ—ˆ๋ฝํ•˜๊ณ , ๋‚˜๋จธ์ง€ ์Šค๋ ˆ๋“œ์— ๋ฝ์„ ๊ฑด๋‹ค.

 

์™œ ์Ÿ๊ณ ์ธ๊ฐ€? 

 

1. ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค ์›น ํ”„๋ ˆ์ž„์›Œํฌ

2. ์ฒ˜์Œ ์ ‘ํ•˜๋ฏ€๋กœ, ์„ธ์„ธํ•œ ์„ค์ •์„ ํ•˜๋Š”๋ฐ์— ์ต์ˆ™ํ•˜์ง€ ์•Š๋‹ค.

3. ์™ธ๋ถ€์—์„œ๋„ ์›น์„ ํ†ตํ•ด API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , ํ‘œ๋ฅผ ์˜ˆ๋งคํ•˜๊ธฐ๋ฅผ ์›ํ•ด์„œ. 

         : oracle cloud ํ™˜๊ฒฝ์— ์„œ๋ฒ„๋ฅผ ๋‘๊ณ  ์‹ถ์–ด์„œ, 

4. ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ํ™œ๋ฐœํ•ด์„œ, ๋‹ค์–‘ํ•œ ์ •๋ณด ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ต์ง€ ์•Š์Œ. 

 

 

 

์™œ Oracle cloud์ธ๊ฐ€? 

 

1. centos 8 ๋ฒ„์ „ ์ต์ˆ™ํ•จ ( ๊ทธ๋ ‡๊ฒŒ ์„ค์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ, ๋‹ค๋ฅธ ๋ฒ„์ „์ด๋‚˜, ๋‹ค๋ฅธ  ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•ด๋„ ๋œ๋‹ค. ) 

2. gitlab ์„ ํ†ตํ•œ CI / CD ๊ตฌ์„ฑ์„ ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ๋ฏ€๋กœ, 

3. ๋ฌด๋ฃŒ๋ผ์„œ.  

 

 

 

ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ django ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค. 

pycharm pro ๋ฒ„์ „ + django 4.1.7 + python 3.8.6 ์œผ๋กœ ์ถ”์„์šฉ KTX ์—ด์ฐจํ‘œ ์˜ˆ๋งค๋ฅผ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ๊ณ„ํš์ด๋‹ค.

 

 

chat gpt์—๊ฒŒ ์Ÿ๊ณ ๊ฐ€ ์–ด๋–ค ํ”„๋ ˆ์ž„์›Œํฌ์ธ์ง€ ๋Œ€๋žต์ ์œผ๋กœ ์„ค๋ช…์„ ๋“ค์—ˆ๋‹ค.

๊ณต์‹์‚ฌ์ดํŠธ๋ณด๋‹ค ๊ฐ€๋ณ๊ฒŒ ๋ณด๊ธฐ ์ข‹๋‹ค. (์ •ํ™•ํ•œ ์ •๋ณด ์œ ๋ฌด๋Š” ๋‹น์—ฐํžˆ ์‚ฌ์šฉ์ž๊ฐ€ ํŒ๋‹จํ•ด์•ผ ํ•œ๋‹ค.)

 

๐Ÿ˜’ RESTful api๋กœ์„œ๋งŒ ๋ฐฑ์—”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ํ”„๋ก ํŠธ๋Š” ๋ทฐ, ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹์„ ๋“ฏ ํ•˜๋‹ค( ๋˜๋Š” ํ”„๋ก ํŠธ ์—†์ด ์ง„ํ–‰?) 

๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์žˆ์œผ๋‹ˆ,  ๋‘๋ฒˆ์งธ์—์„œ ์ œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ, ์Ÿ๊ณ  ํ…œํ”Œ๋ฆฟ + js ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ™์ด์“ฐ๋Š” ๋ฐฉ์‹์„ ์จ๋ณด์•„์•ผ ๊ฒ ๋‹ค.

 

ํ”„๋กœ์ ํŠธ๋Š” ์›น ํฌ๋กค๋ง์„ ํ†ตํ•  ๊ฒƒ์ด๋ฏ€๋กœ, DataBase๋ฅผ ๋”ฐ๋กœ ์“ธ ํ•„์š”๊ฐ€ ์—†์„ ๋“ฏ ํ•˜๋‹ค, ๋กœ๊ทธ์ธ๋“ฑ, ๊ธฐํƒ€ ์“ธ๋ฐ์—†๋Š” ๊ธฐ๋Šฅ์„ ์ง€๊ธˆ ๋‹น์žฅ ๊ตฌํ˜„ํ•˜์ง€๋Š” ์•Š๊ฒ ์ง€๋งŒ, ๋งŒ์•ฝ ๋‚˜์ค‘์— ํ•„์š”ํ•˜๋‹ค๋ฉด Oracle Cloud ์— ์žˆ๋Š” ์ž์›์„ ์“ฐ๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค. // ์•„๋‹ˆ๋ฉด h2 db.

 

java์—์„œ ๋งŽ์ด ์ผ๋˜ MVC ๊ตฌ์กฐ์™€ ๋™์ผํ•œ ํ˜•์‹์ธ๋ฐ, ๋ช…์นญ๋งŒ Controller๊ฐ€ ์•„๋‹Œ Template๋กœ ๋ถˆ๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค 

 

์ด ์™ธ์—๋Š” 

 

Django

The web framework for perfectionists with deadlines.

docs.djangoproject.com

 

๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์•ผ ํ•œ๋‹ค.

320x100
๋ฐ˜์‘ํ˜•