Skip to content
@E1-I4

TTOBAGI

[๋˜๋ฐ”๊ธฐ๋„๊ฐ] ์ œ์ฃผ ๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผ ๋„๊ฐ

๋˜๋ฐ”๊ธฐ๋„๊ฐ ๋…ธ์…˜ ๋ฉ”์ธ๋น„์ฃผ์–ผ

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” 2022๋…„ 11์›” ์นด์นด์˜ค, ๊ตฌ๋ฆ„์—์„œ ์ฃผ์ตœํ•˜์—ฌ ์ง„ํ–‰ํ•œ ์ œ 3ํšŒ 9oorumthon ์ถœํ’ˆ์ž‘์ž…๋‹ˆ๋‹ค.



โถ ๋ฐฐ๊ฒฝ

๐Ÿฆ€ ์™œ โ€˜๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผโ€™์— ์ดˆ์ ์„ ๋‘์–ด ๊ธฐํš๋˜์—ˆ๋‚˜์š”?

ํ™˜๊ฒฝ๋ถ€๊ฐ€ 2022๋…„์— ์ง€์ •ํ•œ ์ œ์ฃผ๋„์˜ ๋ฉธ์ข…์œ„๊ธฐ ์•ผ์ƒ๋™๋ฌผ์€ ๋ฌด๋ ค

๐Ÿฆ… โ… ๊ธ‰ ๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผ ์ „๊ตญ 49์ข… ์ค‘ 16์ข…
๐ŸฆŽ โ…ก๊ธ‰ ๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผ ์ „๊ตญ 127์ข… ์ค‘ 72์ข… ์— ๋‹ฌํ•ด์š”.

์„œ์‹์ง€๋ฅผ ์žƒ๊ณ  ์„œ์„œํžˆ ์ง€๊ตฌ๋ฅผ ๋– ๋‚˜๊ณ  ์žˆ๋Š” ์ด ๋™๋ฌผ๋“ค์€, ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋„ ๊ด€์‹ฌ์„ ๋ฐ›์ง€ ๋ชปํ•˜๊ณ  ์žŠํ˜€์ง€๊ณ  ์žˆ๋‹ต๋‹ˆ๋‹ค.

๐ŸŒ ์žŠํ˜€์ง€๋Š” ๋™๋ฌผ๋“ค๊ณผ ๊ทธ ๋™๋ฌผ๋“ค์„ ์•„ํ”„๊ฒŒ ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ์•Œ๋ ค์คŒ์œผ๋กœ์จ
์ œ์ฃผ๋„์˜ ๋ฉธ์ข…์œ„๊ธฐ์ข…, ๋” ๋‚˜์•„๊ฐ€ ํ™˜๊ฒฝ ๋ณดํ˜ธ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ด€์‹ฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋–จ๊นŒ์š”?


๊ทธ๋ž˜์„œ ํƒ„์ƒ๋œ ์ €ํฌ์˜ ์„œ๋น„์Šค! ๋ฐ”๋กœ ๋˜๋ฐ”๊ธฐ๋„๊ฐ์ด์—์š”.

โท ์„œ๋น„์Šค ์†Œ๊ฐœ

๐Ÿฆ€ ๋˜๋ฐ”๊ธฐ๋„๊ฐ์€ ์–ด๋–ค ์„œ๋น„์Šค์ธ๊ฐ€์š”?


๐Ÿšถ โ€˜๋˜๋ฐ”๊ธฐโ€™๋ž€ โ€˜์–ธ์ œ๋‚˜ ํ•œ๊ฒฐ๊ฐ™์ด ๊ผญ ๊ทธ๋ ‡๊ฒŒโ€™๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„ ์ œ์ฃผ๋„ ๋ฐฉ์–ธ์œผ๋กœ,
์ œ์ฃผ๋„์˜ ๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผ๋“ค์ด ๋„๊ฐ์œผ๋กœ ๋‚จ์•„ ์–ธ์ œ๋‚˜ ํ•œ๊ฒฐ๊ฐ™์ด ๊ผญ ๊ทธ๋ ‡๊ฒŒ ์šฐ๋ฆฌ์˜ ๊ณ์— ํ•จ๊ป˜ํ•  ๊ฒƒ์ด๋ผ๋Š” ๋œป์„ ๋‹ด์•˜์–ด์š”.

๐Ÿ‘Š โ€˜๋˜๋ฐ”๊ธฐ๋„๊ฐโ€™์€ ์ œ์ฃผ๋„ ๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผ์„ ์œ„ํ•œ ๋„๊ฐ์œผ๋กœ, ๋™๋ฌผ๋“ค์˜ ์‹ค์ œ ์„œ์‹์ง€์— ์ง์ ‘ ๋ฐฉ๋ฌธํ•ด ํ™˜๊ฒฝ ๋ฌธ์ œ ๊ด€๋ จ ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋™๋ฌผ ์นด๋“œ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ฐธ์—ฌํ˜• ๊ฒŒ์ด๋ฏธํ”ผ์ผ€์ด์…˜ ์„œ๋น„์Šค์˜ˆ์š”.


๐Ÿฆ€ ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์ด ๊ถ๊ธˆํ•ด์š”.

๋˜๋ฐ”๊ธฐ๋„๊ฐ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€์˜ˆ์š”.

  1. ๐Ÿ“– ๋„๊ฐ
  2. ๐Ÿ—บ๏ธ ์„œ์‹์ง€๋„

๐Ÿ—บ๏ธ ์„œ์‹์ง€๋„

์ œ์ฃผ๋„ ์ง€๋„์—์„œ ์„œ์‹์ง€๋ฅผ ํด๋ฆญํ•ด ๋™๋ฌผ์˜ ์‹ค๋ฃจ์—ฃ์œผ๋กœ ํฅ๋ฏธ๋กœ์šด ํžŒํŠธ๋ฅผ ์–ป๊ณ  ํ•ด๋‹น ์ง€์—ญ์— ์ง์ ‘ ๋ฐฉ๋ฌธํ•ด ๋ณด์•„์š”.

์„œ์‹์ง€์— ๋„์ฐฉํ•˜๋ฉด ๋™๋ฌผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์š”! ํ™˜๊ฒฝ์˜ค์—ผ์œผ๋กœ ์ธํ•ด ์•„ํŒŒํ•˜๋Š” ๋™๋ฌผ์—๊ฒŒ ๋„์›€์„ ์ฃผ์–ด ์นด๋“œ๋ฅผ ์ˆ˜์ง‘ํ•ด ๋ณด์•„์š”.

๐Ÿ“– ๋„๊ฐ

์ˆ˜์ง‘ํ•œ ๋™๋ฌผ๋“ค์„ ๋„๊ฐ์—์„œ ๋‹ค์‹œ ๋งŒ๋‚˜ ๋ณด์•„์š”. ์–ธ์ œ๋‚˜ ํ•œ๊ฒฐ๊ฐ™์ด ๊ผญ ๊ทธ๋ ‡๊ฒŒ ์ €ํฌ ๊ณ์— ๋จธ๋ฌด๋ฅผ ๊ฑฐ๋ž๋‹ˆ๋‹ค.


๐Ÿฆ€ ์•„ํ‚คํ…์ณ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‚˜์š”?

Slide 16_9 - 2


โš™ ์•ˆ์ „ํ•˜๊ณ  ์•ˆ์ •์ ์ธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์•„ํ‚คํ…์ณ ๊ตฌ์„ฑ

  • ์ง์ ‘ ๊ตฌ์ž…ํ•œ Domain(ttobagi.site) ์—ฐ๊ฒฐ๊ณผ SSL์ธ์ฆ์„ ์ ์šฉ(ํ”„๋ก ํŠธ: www.ttobagi.site, ๋ฐฑ์—”๋“œ: api.ttobagi.site)ํ•˜์—ฌ ์•ˆ์ „ํ•œ ์›น์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ–ˆ์–ด์š”.
  • ํ”„๋ก ํŠธ๋Š” Cloud Front์™€ S3๋ฅผ ์ด์šฉํ•ด ์ •์  ์›น ํ˜ธ์ŠคํŒ…์œผ๋กœ ๋ฐฐํฌํ•˜์˜€๊ณ , ๋ฐฑ์—”๋“œ๋Š” ELB์™€ EC2๋ฅผ ์—ฐ๊ฒฐํ•ด ๋ฐฐํฌํ–ˆ์–ด์š”.
  • ํŠนํžˆ ํ”„๋ก ํŠธ๋Š” Github Action์„ ์ด์šฉํ•ด ์ž๋™ ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ–ˆ์–ด์š”.


โธ ํ•ต์‹ฌ ๊ธฐ์ˆ 

๐Ÿฆ€ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ํ™œ์šฉ๋œ ๊ธฐ์ˆ ์ด ๊ถ๊ธˆํ•ด์š”.


๐Ÿ”ฅ ์‰ฝ๊ณ  ๋น ๋ฅธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” Single Page Application

์•„๋ž˜ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด React ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ–ˆ์–ด์š”.

- React: JSX ๋ฌธ๋ฒ•๊ณผ Virtual DOM์„ ์‚ฌ์šฉํ•˜๋Š” JavaScript SPA ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
- Styled-Components: ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„ ์Šคํƒ€์ผ๋ง์„ ์ง€์›ํ•˜๋Š” CSS-in-JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ—บ๏ธ Kakao Map API์— ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ์ง€๋„ ๊ตฌํ˜„

- ์นด์นด์˜ค๋งต API๋ฅผ ์‚ฌ์šฉํ•ด ์ง€๋„ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์–ด์š”.
- Geolocation์„ ํ™œ์šฉํ•ด ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ‘œ์‹œํ–ˆ์–ด์š”.
    - ๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด SSL ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ https ํ™˜๊ฒฝ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์–ด์š”.
- ๋‹ค์ˆ˜์˜ ๋งˆ์ปค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๋งˆ์ปค ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค๋†“์œผ๋ฉด ์ด๋ฆ„๊ณผ ์ฃผ์†Œ๊ฐ€ ๋ณด์ด๋„๋ก ๋งŒ๋“ค์—ˆ์–ด์š”.

๐Ÿ‘ค Kakao Login Api๋ฅผ ํ™œ์šฉํ•œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

- ์นด์นด์˜ค๋กœ๋ถ€ํ„ฐ ์ธ๊ฐ€์ฝ”๋“œ๋ฅผ ๋ฐ›๊ณ  ๋ฐฑ์—”๋“œ์— ๋„˜๊ฒจ์ฃผ์—ˆ์–ด์š”.
- ๋ฐฑ์—”๋“œ์—์„œ ์˜จ ํ† ํฐ์„ ํ™•์ธํ•˜๊ณ  ํ™ˆํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํ•ด์ฃผ์—ˆ์–ด์š”.

๐Ÿ’ก Axios ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ HTTP ๋น„๋™๊ธฐ ํ†ต์‹ 

- ์š”์ฒญ ๊ฐ์ฒด์— url์ด ์กด์žฌํ•˜๊ณ  ์ž๋™์œผ๋กœ JSON ๋ฐ์ดํ„ฐ ํ˜•์‹์œผ๋กœ ์ „ํ™˜ํ•ด์ฃผ์–ด ์‚ฌ์šฉํ–ˆ์–ด์š”.
- react hook ๊ธฐ๋ฐ˜์—์„œ๋Š” useEffect๋ฅผ ์‚ฌ์šฉํ•ด lifeCycle์„ ๊ด€๋ฆฌํ–ˆ์–ด์š”.
- ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ง‘ํ•œ ๋™๋ฌผ ๋„๊ฐ์„ ์ „์ฒด ๋„๊ฐ๊ณผ ๋น„๊ตํ•ด ์ˆ˜์ง‘ํ•˜์ง€ ์•Š์€ ๊ฒƒ์€ ์ƒ‰๊น”์ด ์—†๋Š” ์ด๋ฏธ์ง€๋กœ ๊ฐ€์ ธ์™”์–ด์š”.

๐Ÿฆ€ ๋ฐฑ์—”๋“œ์—์„œ ํ™œ์šฉ๋œ ๊ธฐ์ˆ ์ด ๊ถ๊ธˆํ•ด์š”.

๐Ÿ”ฅ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์กฐํšŒ ยท ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋™๋ฌผ ๋„๊ฐ API ๊ตฌ์ถ•

- ์•„๋ž˜ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด REST API ์„œ๋ฒ„๋ฅผ ์„ค๊ณ„ ๋ฐ ๋ฐฐํฌํ–ˆ์–ด์š”.

    - Django Rest Framework (DRF): Python ๊ธฐ๋ฐ˜์˜ Django REST API ํ”„๋ ˆ์ž„์›Œํฌ
    - NGINX: ๋น ๋ฅธ ์ •์ ํŒŒ์ผ(์ด๋ฏธ์ง€ ๋“ฑ) ์„œ๋น™ ๋‹ด๋‹น

- ๋™๋ฌผ ๋„๊ฐ์„ ์‰ฝ๊ฒŒ ์กฐํšŒ ๋ฐ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋ธ API๋ฅผ ์„ค๊ณ„ํ–ˆ์–ด์š”.

๐Ÿ”’ Kakao Social Login๊ณผ JWT๋ฅผ ํ™œ์šฉํ•œ ์•ˆ์ „ํ•œ ๋กœ๊ทธ์ธ

- JSON Web Token (JWT)์„ ์ด์šฉํ•ด ์•ˆ์ „ํ•œ ๋กœ๊ทธ์ธ API๋ฅผ ๊ตฌํ˜„ํ–ˆ์–ด์š”.
- ๋ฐฑ์—”๋“œ์—์„œ ์นด์นด์˜ค ๋กœ๊ทธ์ธ API๋ฅผ JWT์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๋”์šฑ ์•ˆ์ „ํ•œ ๋กœ๊ทธ์ธ API๋ฅผ ์„ค๊ณ„ํ–ˆ์–ด์š”.


+ ์•ž์œผ๋กœ์˜ ๊ณ„ํš

ํ”„๋ก ํŠธ์—”๋“œ

๐Ÿ™‹ ์•ž์œผ๋กœ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ๋Š” ์ด๋Ÿฐ ๊ฑธ ๊ตฌํ˜„ํ•ด ๋ณผ ์˜ˆ์ •์ด์—์š”.

- JavaScript์—์„œ TypeScript๋กœ ๋ฆฌํŒฉํ† ๋ง์„ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด์—์š”.
- ๋ณด๋‹ค ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด React Native๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๊ฐœ๋ฐœํ•  ์˜ˆ์ •์ด์—์š”.
๋ฐฑ์—”๋“œ

๐Ÿ™‹ ์•ž์œผ๋กœ ๋ฐฑ์—”๋“œ์—์„œ๋Š” ์ด๋Ÿฐ ๊ฑธ ๊ตฌํ˜„ํ•ด ๋ณผ ์˜ˆ์ •์ด์—์š”.

- ๊ณต๊ณต ๋ฐ์ดํ„ฐ ํฌํ„ธ์˜ ์˜คํ”ˆ API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ œ์ฃผ๋„ ๋ฉธ์ข…์œ„๊ธฐ ๋™๋ฌผ์„ ์กฐํšŒํ•ด ๋„๊ฐ์— ์ถ”๊ฐ€ํ•ด ๊ฐˆ ์˜ˆ์ •์ด์—์š”.
- ์ฃผ๋ณ€ ์ƒ๊ถŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜์—ฌ ๋„๊ฐ ์ง€๋„์™€ ์—ฐ๊ฒฐํ•ด๋ณผ ์˜ˆ์ •์ด์—์š”.
- ๋ชจ์€ ๋„๊ฐ์ด๋‚˜ ๋™๋ฌผ ์นด๋“œ๋ฅผ SNS์— ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก API๋ฅผ ์„ค๊ณ„ํ•  ์˜ˆ์ •์ด์—์š”.
- ๋”์šฑ ๊ฐ„ํŽธํ•˜๊ณ  ์•ˆ์ •์ ์ธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด Kubernetes๋ฅผ ๋„์ž…ํ•ด๋ณผ ์˜ˆ์ •์ด์˜ˆ์š”.


โบ ํŒ€ ์†Œ๊ฐœ

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €ํฌ๋Š” ๋˜๋ฐ”๊ธฐ๐ŸฆŽ์ž…๋‹ˆ๋‹ค!

๋˜๋ฐ”๊ธฐ, ํฌ๊ธฐํ•˜์ง€ ์•Š๋Š”๋‹ค! ๐Ÿ‘Š
E๊ฐ€ 1๋ช…, I๊ฐ€ 4๋ช…โ€ฆ (๊ทธ๋ž˜์„œ ์›๋ž˜ ํŒ€ ์ด๋ฆ„์ด E1I4์˜€์ง€๋งŒ ์ฝ๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ ๊ฐœ๋ช…ํ–ˆ์–ด์š”๐Ÿ˜‚)


%EB%98%90%EB%B0%94%EA%B8%B0%EB%8F%84%EA%B0%90_%ED%8C%80%EC%86%8C%EA%B0%9C_2

์™ผ์ชฝ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋˜๋ฐ”๊ธฐ ํŒ€์›๋“ค์„ ์†Œ๊ฐœํ•ด ๋“œ๋ ค์š”.

Group 427321978
๋””์ž์ด๋„ˆ:์œค๊ฐ€๋นˆ
Group 427321946
ํ”„๋ก ํŠธ์—”๋“œ:๊น€์›ํ‘œ
Group 427321947
ํ”„๋ก ํŠธ์—”๋“œ:์žฅ์ง€์•„ (ํŒ€์žฅ)
์ œ์ฃผ๊ฒ€๋…์ˆ˜๋ฆฌ ์นด๋“œ 2์ฐจ ์ˆ˜์ •
๋ฐฑ์—”๋“œ:์กฐ์€์ฐฌ
Group 427321952
๊ธฐํš:์‹ ํ™์„

Pinned Loading

  1. ttobagi-frontend ttobagi-frontend Public

    ๋‚ด ์ฃผ๋ณ€ ๋ฉธ์ข…์œ„๊ธฐ์ข… ๐Ÿฆ– ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋„๊ฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

    JavaScript 3 3

  2. ttobagi-backend ttobagi-backend Public

    backend for ttobagi web service

    JavaScript 1

Repositories

Showing 3 of 3 repositories
  • ttobagi-frontend Public

    ๋‚ด ์ฃผ๋ณ€ ๋ฉธ์ข…์œ„๊ธฐ์ข… ๐Ÿฆ– ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋„๊ฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

    E1-I4/ttobagi-frontendโ€™s past year of commit activity
    JavaScript 3 3 0 0 Updated Jul 22, 2023
  • .github Public

    TTOBAGI's README REPO

    E1-I4/.githubโ€™s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Dec 7, 2022
  • ttobagi-backend Public

    backend for ttobagi web service

    E1-I4/ttobagi-backendโ€™s past year of commit activity
    JavaScript 1 Apache-2.0 0 0 0 Updated Dec 6, 2022

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ