๐Ÿ‘ฆ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/TIL(Today I Learned)

TIL_220602_ํŒ€ ํ”„๋กœ์ ํŠธ Django

  • -

LIFE IS TOO SHORT TO DRINK BAD WINE

' ์ข‹์€ ์™€์ธ ์•Œ๋ ค์ค„๊นŒ? ’
“ ๋‚˜์œ ํฌ๋„์ฃผ๋ฅผ ๋งˆ์‹œ๊ธฐ์—๋Š” ์ธ์ƒ์€ ๋„ˆ๋ฌด๋‚˜ ์งง๋‹ค ”

 

1. ํŒ€ ์†Œ๊ฐœ

1) ํŒ€ ๋ช… : ์‚ฌ๋‹ค๋ฆฌ

 

2) ํ”„๋กœ์ ํŠธ ๋ช… : LADDER TO WIINE

 

3) ํŒ€ ์›

์ด๋ฆ„ ์—ญํ•  git / blog
์—„๊ด€์šฉ ์ƒ์„ธํŽ˜์ด์ง€
๋ฆฌ๋ทฐ ๊ด€๋ฆฌ(CRUD)
์ฐœ ๊ด€๋ฆฌ
https://github.com/angar2
https://angar2.tistory.com/
๋‚˜์„ฑ๊ทผ ๋ฉ”์ธํŽ˜์ด์ง€
ํŒ”๋กœ์šฐ ๊ด€๋ฆฌ
SG-Marco (github.com)
sg-marco.github.io
์ด๋™ํ˜„ ๋จธ์‹ ๋Ÿฌ๋‹
์ œํ’ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ(์ถ”์ฒœํฌํ•จ)
๊ฐœ์ธํŽ˜์ด์ง€
https://github.com/DHL68
https://atommi.tistory.com/
ํ•œ๊ฑดํฌ ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ https://github.com/hangunhee94
https://hee94.tistory.com/

 

4) ํŒ€ GITHUB

https://github.com/camp-ladder/ladder_to_wine

 

GitHub - camp-ladder/ladder_to_wine

Contribute to camp-ladder/ladder_to_wine development by creating an account on GitHub.

github.com

 

2. ํ”„๋กœ์ ํŠธ ๊ธฐํš

์ž ์‹œ ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ

๋”๋ณด๊ธฐ

KEEP

ํ˜‘์—…

  • ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ํŒ€์›๊ณผ ๊ณต๋™์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
  • ํ™”๋ฉด ๊ณต์œ ๋ฅผ ํ†ตํ•ด ์ฆ‰์„์—์„œ ์ƒํ™ฉ์„ ๊ณต์œ ํ•˜๊ณ  ํ•จ๊ป˜ ํ™•์ธ
  • ๋‹ค์–‘ํ•œ git ๊ธฐ๋Šฅ ์‚ฌ์šฉ
    • PR(ํ’€ ๋ฆฌํ€˜์ŠคํŠธ)
    • issue
    • ๋ธŒ๋žœ์น˜ ๋ถ„ํ•  ์ž‘์—…
    • ๊ธฐ๋ณธ๊ธฐ๋Šฅ: ์Šคํƒœ์‹œ, ํ๊ธฐ, ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๋ณ€๊ฒฝ
  • ์ฝ”๋“œ ๋งˆ๊ฐ ๋…ธ๋ ฅ(๋ถˆํ•„์š”ํ•œ ์ฃผ์„, print๋ฌธ, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜/์ž„ํฌํŠธ ์ œ๊ฑฐ ๋“ฑ)
  • ํ•„์š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์‚ฌ์ „ ์กฐ์‚ฌ ๋ฐ ์‹คํ˜„ ๊ฐ€๋Šฅ์„ฑ ํŒ๋‹จํ•˜๊ณ  ํ”„๋กœ์ ํŠธ ์ผ์ •์— ๋งž์ถฐ ์ง„ํ–‰
    • ex. ์นด์นด์˜คํ†ก ๊ณต์œ  ๊ธฐ๋Šฅ ์‚ฌ์ „ ์กฐ์‚ฌ ํ›„ ๊ตฌํ˜„ ์†Œ์š”์‹œ๊ฐ„ ํŒ๋‹จ

๊ธฐ์ˆ 

  • flask-blueprint API ๋ชจ๋“ˆํ™”
  • ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„(์นด์นด์˜ค)
  • ์ž‘์—… ์„œํฌํŠธ ํ”„๋กœ๊ทธ๋žจ ์ ๊ทน ์‚ฌ์šฉ(postman ๋“ฑ)
  • ์ตœ๊ทผ ํ•™์Šต ๋‚ด์šฉ์„ ์ ๊ทน์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ
    • ํ”„๋กœ์ ํŠธ ํ”„๋ก ํŠธ & ๋ฐฑ์—”๋“œ ๋ถ„๋ฆฌ ์ ์šฉ(javascript-fetch()ํ•จ์ˆ˜)
    • ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฉ์‹ ์ ์šฉ

TRY

ํ˜‘์—…

  • ๊ฐ ๋‹ด๋‹น ๊ธฐ๋Šฅ ๋ณ„ ์ฝ”๋“œ ๋ฆฌ๋ทฐ
  • ๊ฐ ๋‹ด๋‹น ๊ธฐ๋Šฅ ๋ณ„ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ž‘์„ฑ(๊ธฐํš)
  • ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์€ ์‹ค๋ ฅ์˜ ํŒ€์›์ด ํŒ€๋‚ด ๋ฏธ๋‹ˆ ๊ฐ•์˜ ์‹œ๋„(๋ผ์ด๋ธŒ ์ฝ”๋”ฉ)
  • ํŒ€์› ๊ฐœ์ธ์˜ ์—ญ๋Ÿ‰์„ ํŒŒ์•…ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ณ  ์ •๊ธฐ์ ์œผ๋กœ ์ƒํƒœ ๊ณต์œ 
  • ์ •๊ธฐ ์†Œํ†ต ์‹œ๊ฐ„ ๊ณ„ํš
    • ์•„์นจ ํšŒ์˜: ์–ด์ œ์˜ ํšŒ๊ณ / ์˜ค๋Š˜์˜ ํ• ์ผ ๊ณต์œ 

๊ธฐ์ˆ 

  • ์–ธ์–ด๋ณ„, ์“ฐ์ž„๋ณ„๋กœ ๋ณ€์ˆ˜๋ช…์ด๋‚˜ ํ•จ์ˆ˜๋ช… ์ง€์ • ๊ทœ์น™์„ ์‚ฌ์ „์— ์•ฝ์†
  • ๋ฆฌํŽ™ํ† ๋ง ์‹œ๋„
    • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•œ ๋” ๋‚˜์€ ์ฝ”๋“œ ๋ชจ์ƒ‰
    • pylint ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ
    • ๊ธฐ๋Šฅ๋ณ„ ํ•จ์ˆ˜ ๋ชจ๋“ˆํ™” ์ ๊ทน ์‹œ๋„
  • ๊ฐ€์ƒํ™˜๊ฒฝ(์ธํ„ฐํ”„๋ฆฌํ„ฐ)์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ํŒ€๋‚ด ๊ณต์œ 

 

ํ™”๋ฉด ๊ตฌ์„ฑ

๐Ÿ”น ์™€์ด์–ดํ”„๋ ˆ์ž„

 

๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‚ฌํ•ญ

  • [ ] ์‚ฌ์šฉ์ž ์„œ๋น„์Šค
    • [ ] ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
      • [ ] ํšŒ์›๊ฐ€์ž…
      • [ ] ๋กœ๊ทธ์ธ
      • [ ] ์ •๋ณด ์ˆ˜์ •
      • [ ] ํƒˆํ‡ด
    • [ ] ํŒ”๋กœ์ž‰, ํŒ”๋กœ์šฐ
    • [ ] ๋งˆ์ดํŽ˜์ด์ง€
      • [ ] ๋ฆฌ๋ทฐ ๋‚ด์—ญ ๋ฆฌ์ŠคํŠธ ๋…ธ์ถœ
      • [ ] ์ฐœํ•˜๊ธฐ ๋ฆฌ์ŠคํŠธ : many-to-many
  • [ ] ๋ฉ”์ธ ์„œ๋น„์Šค
    • [ ] ์™€์ธ ์ •๋ณด
      • [ ] ์™€์ธ์˜ ์ •๋ณด ์—…๋กœ๋“œ
      • [ ] ์™€์ธ ์ฐœํ•˜๊ธฐ
      • [ ] ์™€์ธ์˜ ๋ฆฌ๋ทฐ ์ž‘์„ฑ
      • [ ] ์™€์ธ์˜ ํ‰์  ์ฃผ๊ธฐ
    • [ ] ์™€์ธ ์ถ”์ฒœ ๊ธฐ๋Šฅ
      • [ ] ๋จธ์‹ ๋Ÿฌ๋‹ ์ ์šฉ (์กฐ๊ฑด : ๊ฐ€๊ฒฉ, ๋ง›, ์›์‚ฐ์ง€, ๊ฒ€์ƒ‰๊ธฐ๋ก ๋“ฑ)
      • [ ] ํ•ด๋‹น ์™€์ธ๊ณผ ๋น„์Šทํ•œ ์™€์ธ ์ถ”์ฒœ ๋ชฉ๋ก ๋…ธ์ถœ (์ด๋ฏธ์ง€, ์ด๋ฆ„, ๊ฐ„๋žตํ•œ ์„ค๋ช…)

 

DB ์„ค๊ณ„

๐Ÿ”น erdcloud

 

API ์„ค๊ณ„

๐Ÿ”น ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

๊ธฐ๋Šฅ๋ณ„ ์„ค๋ช… ํ•จ์ˆ˜ ์ฃผ์†Œ ์š”์ฒญ ์‘๋‹ต
signup ์œ ์ € ๋ฐ์ดํ„ฐ ์ €์žฅ POST /signup * key : (ํ•ด๋‹น ‘id’์˜ value) email: Input-sign-email, nickname: Input-sign-nickname, password: Input-sign-password, password_check: Input-sign-password-check, user_age: Input-sign-age  
login ๋กœ๊ทธ์ธ ์ •๋ณด ํ™•์ธ ํ† ํฐ ์ƒ์„ฑ POST /login * key : (ํ•ด๋‹น ‘id’์˜ value) user_id: Input-login-id, password: Input-login-password  
get_user_info ์œ ์ € ์ •๋ณด ๋ณด๋‚ด๊ธฐ GET /getuserinfo    

 

๐Ÿ”น /main ๋ฉ”์ธ ํŽ˜์ด์ง€

๊ธฐ๋Šฅ๋ณ„ ์„ค๋ช… ํ•จ์ˆ˜ ์ฃผ์†Œ ์š”์ฒญ ์‘๋‹ต
home ๋ฉ”์ธ GET /<int : user_id>    

 

๐Ÿ”น <user:id>/detail ์ƒ์„ธ ํŽ˜์ด์ง€

๊ธฐ๋Šฅ๋ณ„ ์„ค๋ช… ํ•จ์ˆ˜ ์ฃผ์†Œ ์š”์ฒญ ์‘๋‹ต
get_wine ์›๋ณธ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์ €์žฅ GET /wine/<int : wine_id>    
wishes ์œ„์‹œ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€/์ œ๊ฑฐ GET /<int : wine_id>    
reviews ์™€์ธ ๋ฆฌ๋ทฐ ์ž‘์„ฑ POST /review/<int : wine_id>    
review_update ์™€์ธ ๋ฆฌ๋ทฐ ์ˆ˜์ • UPDATE /review/<int : review_id>   /review/update/<int : review_id>
review_delete ์™€์ธ ๋ฆฌ๋ทฐ ์‚ญ์ œ DELETE /review/<int : review_id>    

 

๐Ÿ”น /user ๊ฐœ์ธํŽ˜์ด์ง€

๊ธฐ๋Šฅ๋ณ„ ์„ค๋ช… ํ•จ์ˆ˜ ์ฃผ์†Œ ์š”์ฒญ ์‘๋‹ต
wishes_view ์œ„์‹œ๋ฆฌ์ŠคํŠธ ๋ชฉ๋ก ์—ด๋žŒ GET /wish/<int : user_id>    
user_update ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ • UPDATE /user/<int : user_id>    
user_delete ํšŒ์›ํƒˆํ‡ด DELETE /user/<int : user_id>    

 

์ผ์ • ๊ณ„ํš

ํŒ€ ์ผ์ •

https://www.notion.so/3d719771d4c247ddbd0ac8a5275d52d5?v=9dddd39fd8b84df0b97370d2955e3427 

 

ํŒ€ ์ผ์ •

A new tool for teams & individuals that blends everyday work apps into one.

www.notion.so

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.