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

TIL_220503_ํŒ€ ํ”„๋กœ์ ํŠธ S.A

  • -

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ์ธํ”„๋กœ์ ์ธ

์ธ์Šคํƒ€ ๋ฐ์Šคํฌํƒ‘ UIํด๋ก  ์ฝ”๋”ฉ ๊ณผ์ œ๊ฐ€ ๋์ด ๋‚ฌ๋‹ค.

์˜ค๋Š˜์€ ์•„์นจ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ํŒ€ ํ”„๋กœ์ ํŠธ ๋ฐœ์ œ๊ฐ€ ์žˆ๋Š” ๋‚ ์ด๋‹ค.

๊ณผ์ œ์˜ ์—ฐ์†์ด๋‹ค.
์ฝ”๋”ฉ์˜ ์—ฐ์†์ด๋‹ค.
๋ฐฐ์›€์˜ ์—ฐ์†์ด๋‹ค.

'์ƒˆ๋กœ์›€'์˜ ์—ฐ์†์ด๋‹ค.




๋ฌด์—‡์„ ๋Š๊ผˆ๋Š”๊ฐ€.

๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋„๊ตฌ์˜ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค์คฌ๋‹ค๋ฉด,
์ด๋ฒˆ์—๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ด๋ฃจ์–ด ๋„๊ตฌ์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ œ๊ฐ€ ๋˜๊ฒ ๋‹ค.

์ด์ œ๋Š” ๋ณธ๊ฒฉ์ ์ธ ๋ฐฑ์—”๋“œ ์—ญํ• ์„ ๋งก๊ฒŒ ๋œ๋‹ค.
์ˆ˜์—… ์ด์™ธ์—๋Š” ๊ฒฝํ—˜์ด ์—†์–ด ๋ง‰์—ฐํ•˜๊ธฐ๋งŒํ•œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ๋‚˜๋ฅผ ์ƒ๋‹นํžˆ ์œ„์ถ•๋˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.
๊ธฐํš์—์„œ ๋ฌด์ˆ˜ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๋ถ€๋‹ด๊ณผ ๋ฐฑ์—”๋“œ์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” API ์„ค๊ณ„์—์„œ ์ƒ๋‹นํ•œ ์–ด๋ ค์›€์„ ๋Š๊ผˆ๋‹ค.

ํŠนํžˆ API ์„ค๊ณ„๋Š” ์ œ๋Œ€๋กœ ์ดํ•ดํ•  ์ˆ˜ ์—†์–ด์„œ ๋ณด๋‹ค ๋ชปํ•ด ์ƒ๊ฐ์ด ๋ฉˆ์ถ”๋Š” ์ฆ์ƒ๊นŒ์ง€ ๋ณด์˜€๋‹ค.
ํ•˜๋ฃจ๊ฐ€ ๋‹ค ์ง€๋‚˜๊ณ  ๋‚˜์„œ์•ผ ์กฐ๊ธˆ์€ ์ดํ•ดํ•˜๊ณ , ๋‹น์žฅ์˜ ์„ค๊ณ„๋ณด๋‹ค ๊ธฐ๋Šฅ์˜ ์ง€ํ‘œ๋ฅผ ์ฐ๊ณ  ๋งŒ๋“ค์–ด๊ฐ€๋ฉฐ ๊ทธ๋ ค๊ฐ€๋Š” ์„ค๊ณ„๋ผ ์ดํ•ดํ–ˆ๋‹ค.

๋” ๋งŽ์€ ์ˆ˜์—…์„ ํ•„์š”๋กœ ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๊ณต๋ถ€ํ•ด์•ผํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋‹ค์ˆ˜ ํ•„์š”ํ•˜๋‹ค ํŒ๋‹จํ–ˆ๋‹ค.
๋‚ด์ผ์€ ๋ณธ๊ฒฉ์ ์ธ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ด ๋  ๊ฒƒ์ด๊ณ , ์ตœ๋Œ€ํ•œ ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์ฐพ์•„ ํ•ด๋ณด๋„๋ก ํ•˜์ž.

๋Š˜ ๊ทธ๋ž˜์™”๋‹ค.
๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ํ•œ์˜ ๋งŒํผ.
์ด๋ฒˆ์—๋„ ๋งˆ์ฐฎ๊ฐ€์ง€.




ํŒ€ KTLO(๊น€3์ด1) ํ”„๋กœ์ ํŠธ ๊ธฐํš : S.A

ํ˜‘์—… ๊ทธ๋ผ์šด๋“œ ๋ฃฐ

๋”๋ณด๊ธฐ

Git
- readme ์ž‘์„ฑ (ํ”„๋กœ์ ํŠธ ๊ฐœ์š”, ํ•„์ˆ˜ ์กฐ๊ฑด, ๊ตฌ์„ฑ) = ๊ธฐํš์•ˆ
- ๋ธŒ๋žœ์น˜ ๋ช…์นญ์„ ์ž‘์„ฑ ์‹œ ํ•œ๋ฒˆ์— ์•Œ์•„๋ณผ ์ˆ˜ ์—†๋Š” ์ด๋ฆ„, ๋„ˆ๋ฌด ๊ธด ์„ค๋ช…์กฐ์˜ ์ด๋ฆ„์€ ์ž์ œํ•œ๋‹ค.
- ์ปค๋ฐ‹ ๋ฒ”์œ„(๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ถ€๋ถ„๊นŒ์ง€)
- ๋ธŒ๋žœ์น˜ ๋ช…์นญ
(new:์ƒˆ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ๋ชฉ์ ์ธ ๋ธŒ๋žœ์น˜, test:๋ฌด์–ธ๊ฐ€๋ฅผ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋ธŒ๋žœ์น˜, bug:๋ฒ„๊ทธ ์ˆ˜์ •์ด ๋ธŒ๋žœ์น˜)

ํ•˜๋“œ
- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(python, Javascript ๋“ฑ) ์ˆ™์ง€
- ์ž์‹ ์ด ๋งก์€ ์—ญํ• ์˜ ๊ด€๋ จํ•œ ์›น์ข…ํ•ฉ ๊ฐ•์˜ ์ฐธ๊ณ 
- ๊ณต์šฉ ๋ฉ”๋ชจ์žฅ์„ ์ด์šฉํ•ด ๊ฐ์ž์˜ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€ ๊ณต์œ 
- ๊ณต์œ ํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ์ฝ”๋ฉ˜ํŠธ ๋‹ฌ๊ธฐ
- ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๊ณตํ†ต ์–ธ์–ด ์‚ฌ์šฉ(์ˆ˜์ •๋ฒ”์œ„_๊ธฐ๋Šฅ_์ˆ˜์ •ํ•œ ๋‚ด์šฉ/์ถ”๊ฐ€)
- ๋ณ€์ˆ˜๋ช…, ํ•จ์ˆ˜๋ช…, ํด๋ž˜์Šค๋ช… ๋“ฑ ๋ช…์นญ ๋ฐ API๋ฅผ ํ†ต์ผ
- ์ฃผ์„๋‹ฌ๊ธฐ(๊ตฌ์ฒด์ : ์˜์—ญ๊ณผ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๋ช…์นญ) ์˜ˆ)<---- ํ”„๋กœํ•„ ๋ ˆ์ด์•„์›ƒ / fixed ---->
- ๊ฒฝ๋กœ ์ง€์ •(index(main) : ../๊ฒฝ๋กœ/ํŒŒ์ผ๋ช…, ํ•˜์œ„ ํŽ˜์ด์ง€ ๊ฒฝ๋กœ : ./๊ฒฝ๋กœ/ํŒŒ์ผ๋ช…)
- ํด๋” ์ •๋ฆฌ (templetes, static(style, scripts, images)

์†Œํ”„ํŠธ
- ์‹œ๊ฐ„ ์ˆ™์ง€(์—ด๊ณต์ธ์ฆ ์ฒดํฌ)
- ๋ชจ์ž„ ์‹œ๊ฐ„ ์ฐธ์—ฌ
- ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์‚ฌ์ „ ์กฐ์‚ฌ
- ๋ฐฐ๋ ค์™€ ์กด์ค‘
- ์ ๊ทน์ ์ธ ์†Œํ†ต
- ๋™๊ธฐ๋ถ€์—ฌ
- ์ƒํ˜ธ์‹ ๋ขฐ

ํ”ผ๋“œ๋ฐฑ

[๋ธŒ๋žœ์น˜ ์ „๋žต] : ๋ธŒ๋žœ์น˜ ๋‹จ์œ„๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ์ „๋žต
- pandas git ๋ธŒ๋žœ์น˜ ๋ช… ์ฐธ๊ณ 
- ๋ธŒ๋žœ์น˜ ๋ช… ์˜ˆ์‹œ ) feat/login (feat ๋งŒ ์†์•„ ๋ณด๊ธฐ ์šฉ์ดํ•จ)
-- ์ปค๋ฐ‹ ) commit

- main ๋ณ‘ํ•ฉ ๋ธŒ๋žœ์น˜ ์ง€์ •
-- main <- merge 'feat/login'

- ์–ธ์–ด ์ˆ™์ง€ ์–ด๋Š์ •๋„ ๊ทœ๋ชจ ์ •ํ•˜๊ธฐ(๊ตฌ์ฒด์ ์œผ๋กœ)
-- 1~10 ๋‹จ๊ณ„ ์—ญ๋Ÿ‰ ํŒŒ์•…

- issue ํƒญ ํ™œ์šฉ
-- ๊ณต์šฉ ๋ฉ”๋ชจ์žฅ์„ ์ด์šฉํ•ด ๊ฐ์ž์˜ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€ ๊ณต์œ 
-- ๊ณต์œ ํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ์ฝ”๋ฉ˜ํŠธ ๋‹ฌ๊ธฐ
-- issue ์— ๋Œ€ํ•œ ์ปค๋ฐ‹์— ๋ฒˆํ˜ธ ๋‹ฌ๊ธฐ
์˜ˆ์‹œ)
-- #3(์ด์Šˆ๋„˜๋ฒ„) python indentation ์˜ค๋ฅ˜ : ๋“ค์—ฌ์“ฐ๊ธฐ ์˜ค๋ฅ˜
-- commit : #3(์ด์Šˆ๋„˜๋ฒ„) ๋ฌธ๋ฒ• ์ˆ˜์ •

- ์ข‹์€ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๊ธฐ๋ฒ• ์ฐพ์•„๋ณผ๊ฒƒ

- ๋ณ€์ˆ˜๋ช…์„ ๋งŒ๋“œ๋Š” ๊ทœ์น™
-- ์Šค๋„ค์ดํฌ ์Šคํƒ€์ผ : login_name.py

- REST API : API ์„ค๊ณ„ ๋ฐฉ์‹
-- pep8 ์ฐธ๊ณ 

- ์›น๊ฐœ๋ฐœ
-- RFC ์ฐธ๊ณ 

- ์–ด๋–ค ๋ฐฉ์‹์˜ ์ƒํ˜ธ์‹ ๋ขฐ, ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ํ• ์ง€(๊ตฌ์ฒด์ ์ธ ์•ก์…˜)

- ์ฃผ์„์€ ํ˜‘์—…์—์„œ ์ž˜ ์•ˆ์“ฐ๋ ค๊ณ  ํ•œ๋‹ค.
-- ํœด๋จผ์—๋Ÿฌ ๋ฐœ์ƒ์‹œ ํ˜ผ๋ž€๊ฐ€์ค‘
-- ์ฝ๊ธฐ๋งŒ ํ•ด๋„ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋„์˜ ์ฃผ์„ ์ ์ ˆํžˆ ์‚ฌ์šฉ

 


ํŒ€ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ
- ์ธ์Šคํƒ€๊ทธ๋žจ์„ Flask๋กœ ๊ตฌํ˜„ํ•ด๋ณธ๋‹ค.
- ํ•„์ˆ˜ ํฌํ•จ๊ธฐ๋Šฅ๋“ค์„ ์—ญํ• ๋ถ„๋‹ด์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•ด๋ณธ๋‹ค.
- Git์„ ํ™œ์šฉํ•ด์„œ ํ˜‘์—…์˜ ๋Šฅ๋ฅ ์„ ์˜ฌ๋ฆฐ๋‹ค.
- ์ •ํ•ด์ง„ ๊ธฐ๊ฐ„์•ˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ œ์ถœํ•œ๋‹ค.

ํŒ€ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„
- Carstagram ( ์นด์Šคํƒ€๊ทธ๋žจ )

ํŒ€ ํ”„๋กœ์ ํŠธ ์„ค๋ช…
- ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ์ธ์Šคํƒ€๊ทธ๋žจ ๋ฐ์Šคํฌํƒ‘ UI ํด๋ก  ์ฝ”๋”ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด์ œ๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ ์ธ์Šคํƒ€๊ทธ๋žจ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ์—ญํ•  ๋ถ„๋‹ดํ•˜์—ฌ ์ ์šฉํ•˜๊ณ , ์ธ์Šคํƒ€๊ทธ๋žจ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๊ตฌํ˜„

์™€์ด์–ดํ”„๋ ˆ์ž„
- ์ธ์Šคํƒ€๊ทธ๋žจ์˜ ๋””์ž์ธ์„ ๊ธฐ๋ฐ˜
- ๋ฉ”์ธ ์ปจ์…‰

  • ์ƒ‰์ƒ : Black(#000000), White(#ffffff), Gray(f808080)
  • ํฐํŠธ : Noto Sans Korean
    • ๋กœ๊ณ  ํฐํŠธ : ์ถ”์–ต์€ ์ž ๋“ค์ง€ ์•Š๋Š”๋‹ค์ฒด

๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค (API)

  • ํšŒ์›๊ฐ€์ž…
  • ๋กœ๊ทธ์ธ
  • ํ”ผ๋“œ ํŽ˜์ด์ง€
    • ๊ฒŒ์‹œ๊ธ€ ์—…๋กœ๋“œ
      • ์‚ฌ์ง„ ์—…๋กœ๋“œ
      • ๊ธ€ ์—…๋กœ๋“œ
    • ๋Œ“๊ธ€
    • ์ข‹์•„์š”
    • ๋”๋ณด๊ธฐ ๋ชจ๋‹ฌ
    • Follower / Following
  • ๋งˆ์ด ํŽ˜์ด์ง€
    • ๊ฒŒ์‹œ๋ฌผ ๋ชฉ๋ก
    • ๊ฒŒ์‹œ๊ธ€ ํ™œ๋™๊ธฐ๋ก


๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ API
- Notion : https://www.notion.so/API-6e37b7ecf6614e62b63da7fce0a965eb

 

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ API

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

www.notion.so


public github repo ์ฃผ์†Œ
https://github.com/DHL68/Carstagram

 


์—ญํ•  ๋ถ„๋‹ด
- ๋ฉ”์ธํŽ˜์ด์ง€ ๋ฐ ํ”„๋กœํ•„ํŽ˜์ด์ง€ ํ”„๋ก ํŠธ์—”๋“œ ๋‹ค์ง€๊ธฐ
- ๊น€๊ทœ๋ฏผ, ์ด๋™ํ˜„

- ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
- ๊น€๋ฏผ์žฌ, ๊น€์ง„์ˆ˜

- ์„œ๋ฒ„API , ๊ฐ์ข… ๊ธฐ๋Šฅ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ
- ๊น€๊ทœ๋ฏผ, ์ด๋™ํ˜„, ๊น€์ง„์ˆ˜, ๊น€๋ฏผ์žฌ ( ๊ฐ™์ด ํ˜‘๋ ฅํ•ด์„œ ํ•˜๋Š”๋ฐฉํ–ฅ )

- ๋ฉ”์ธํŽ˜์ด์ง€ ๊ธฐ๋Šฅ
- ๊น€๊ทœ๋ฏผ, ์ด๋™ํ˜„

- myํŽ˜์ด์ง€ ๊ธฐ๋Šฅ
- ๊น€์ง„์ˆ˜, ๊น€๋ฏผ์žฌ

์ž‘์—… ์˜ค๋ฅ˜ ๊ฒ€ํ† 
- Github : issues์— ์˜ค๋ฅ˜, ๋ฒ„๊ทธ๋‚œ ์‚ฌํ•ญ๋“ค์„ ๊ธฐ์ž…ํ•˜๊ณ  ํ•จ๊ป˜ ๊ณต์œ ํ•ด์„œ ํ•ด๊ฒฐ (์ฝ”๋ฉ˜ํŠธ, ์‹ค์‹œ๊ฐ„ ํ™”๋ฉด๊ณต์œ  )

์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์žฌ ๊ฒ€ํ†  ๋ฐ ์—ญํ•  ์žฌ๋ถ„๋ฐฐ
- ๊ธฐ๋ณธ ํ•„์ˆ˜ ์‚ฌํ•ญ๋“ค์ด ์˜ˆ์ •๋œ ์ œ์ถœ ๊ธฐ๊ฐ„๋ณด๋‹ค ์ผ์ฐ ๋๋‚ฌ์„ ๊ฒฝ์šฐ ์žฌ ๊ฒ€ํ†  ๋ฐ ์žฌ๋ถ„๋ฐฐ ํ›„ ์ถ”๊ฐ€ ์ž‘์—… ์ง„ํ–‰

์ž‘์—… ์ผ์ • ๋ฐ ์ˆœ์„œ
- Github์— ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑํ›„ ์—ฐ๊ฒฐ์ƒํƒœ ํ™•์ธ ( Push Pull ํŒ€์› ์ „์ฒด ํ™•์ธํ›„ ํŒŒ์ผ ํด๋”๋ช… ํ†ต์ผ)
- ๋งก์€ ์—ญํ• ์— ๊ด€ํ•œ ์ž๋ฃŒ๋“ค ๊ณต๋ถ€ ( ๊ตฌ๊ธ€๋ง, ํŠœํ„ฐ๋‹˜ ๋„์›€, ์œ ํŠœ๋ธŒ ์˜์ƒ, ์›น์ข…๋ฐ˜ ๊ฐ•์˜ ์ฐธ๊ณ  )
- 5/3 : ๊ธฐํš ๋ฐ ๋ชฉ์—… ์ž๋ฃŒ ๊ณต๋ถ€
- 5/4 : 3์ผ๋‚  ํ–ˆ๋˜ ๊ณต๋ถ€ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ์ž ๋งก์€ ํŒŒํŠธ์˜ ํ‹€ ์žก๊ธฐ
- 5/5 : ์žก์€ ํ‹€์„ ํ† ๋Œ€๋กœ ์ค‘๊ฐ„ ์ ๊ฒ€ ๋ฐ ์ˆ˜์ •์‚ฌํ•ญ ์ˆ˜์ • (๊ธฐ๋Šฅ test)
- 5/6 : ํ•„์ˆ˜๊ธฐ๋Šฅ์—๋Œ€ํ•œ ๊ตฌํ˜„
- 5/7 : ์ง„ํ–‰ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ or ๋ถ€์กฑํ•œ ํ•„์ˆ˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„
- 5/8 : ์ง„ํ–‰ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ or ๋ถ€์กฑํ•œ ํ•„์ˆ˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„
- 5/9 : ๊ธฐ๋Šฅ ์˜ค๋ฅ˜ ์ˆ˜์ •
- 5/10 : ์ตœ์ข… ์ ๊ฒ€ ๋ฐ ๋ฐœํ‘œ ์ค€๋น„

 
 
 
Contents

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

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