Skip to content

mundeug/md8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋ฌธ๋“

์‚ฐ์ฑ… ์•ˆ์—์„œ ์†Œ์†Œํ•œ ์œ„๋กœ, ์ž‘์€ ํ–‰๋ณต, ๊ธ์ •์  ๊ฐ์ •์„ ๋ฐœ๊ฒฌํ•ด ๊ฑด๊ฐ•ํ•œ ์‚ถ์„ ๋˜์ฐพ์ž

๋ชฉ์ฐจ

  1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
  2. ์„œ๋น„์Šค ์†Œ๊ฐœ
  3. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
  4. ๊ธฐ์ˆ  ์†Œ๊ฐœ
  5. ํšŒ๊ณ 

1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๋ฐฐ๊ฒฝ

"๐ŸŒผ์‚ฐ์ฑ… ์•ˆ์—์„œ ์†Œ์†Œํ•œ ์œ„๋กœ, ์ž‘์€ ํ–‰๋ณต, ๊ธ์ •์  ๊ฐ์ •์„ ๋ฐœ๊ฒฌํ•ด ๊ฑด๊ฐ•ํ•œ ์‚ถ์„ ๋˜์ฐพ์ž๐ŸŒท"

  • ๋ฐ”์œ ์ผ์ƒ์„ ์‚ด์•„๊ฐ€๋Š” ํ˜„๋Œ€์ธ๋“ค์€ ํ•˜๋ฃจ์˜ ๋Œ€๋ถ€๋ถ„์„ โ€œ์•‰์•„์„œโ€ ์ƒํ™œํ•จ
    _ 2002๋…„ ์„ธ๊ณ„๋ณด๊ฑด๊ธฐ๊ตฌ๋Š” ์˜์ž๋ณ‘(sitting desease)๋ผ๋Š” ์ƒˆ๋กœ์šด ์งˆ๋ณ‘์„ ๊ณต์‹์ ์œผ๋กœ ๋ฐœํ‘œํ•จ _ 2021๋…„ ใ€Œ์งˆ๋ณ‘๊ด€๋ฆฌ์ฒญ ๊ตญ๋ฏผ๊ฑด๊ฐ•ํ†ต๊ณ„ใ€์— ๋”ฐ๋ฅด๋ฉด 19์„ธ ์ด์ƒ ์„ฑ์ธ์ด ํ•˜๋ฃจ ํ‰๊ท  ์•‰์•„์„œ ๋ณด๋‚ด๋Š” ์‹œ๊ฐ„์€ 8.9์‹œ๊ฐ„์œผ๋กœ, ํ•˜๋ฃจ 24์‹œ๊ฐ„ ์ค‘ 3 ๋ถ„์˜ 1 ์ด์ƒ์„ ์•‰์•„์„œ ์ง€๋ƒ„ * 4๋ช… ์ค‘ 1๋ช…(24.6%)์€ ์•‰์•„์„œ ๋ณด๋‚ด๋Š” ์‹œ๊ฐ„์ด ํ•˜๋ฃจ 12์‹œ๊ฐ„์„ ๋„˜์Œ
  • ์ŠคํŠธ๋ ˆ์Šค์— ํ•ญ์ƒ ๋…ธ์ถœ๋˜์–ด ์žˆ๋Š” ํ˜„๋Œ€์ธ๋“ค์—๊ฒŒ ์ด๋ฅผ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด๊ฐ•ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋‹ˆ์ฆˆ ๋˜ํ•œ ์ ์  ์ปค์ง€๊ณ  ์žˆ์Œ
    _ ๊ณ ๋„๋กœ ๋ณต์žกํ™”๋œ ์‚ฌํšŒ์—์„œ ์šฐ๋ฆฌ๋Š” ๋ถˆํŠน์ • ๋‹ค์ˆ˜์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋กฏ์ด ๋‚˜์˜ ๋‚ด๋ฉด์„ ๋งˆ์ฃผํ•˜๋Š” ์‹œ๊ฐ„์€ ์ค„์–ด๋“ค ์ˆ˜๋ฐ–์— ์—†์Œ _ ์•ฝํ•ด์ง„ ์ž์•„๋กœ ์ธํ•ด ํŽธ์•ˆํ•œ ์‹ฌ๋ฆฌ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์— ์–ด๋ ค์›Œํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋Š˜์–ด๋‚˜๊ณ  ์žˆ์Œ
  • ๋ฌธ๋“์€ ์‚ฐ์ฑ… ๋ฌธํ™”๋ฅผ ์ผ์ƒํ™”ํ•ด์„œ ํ˜„๋Œ€์ธ๋“ค์˜ ๋ชธ๊ณผ ๋งˆ์Œ์˜ ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ํ•ด์†Œํ•˜๊ณ  ๊ฑด๊ฐ•ํ•œ ์‚ถ์„ ๋˜์ฐพ๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค์ž„
    _ ๋งค์ผ๋งค์ผ ๋‚˜์˜ ์‚ฐ์ฑ… ๊ฒฝ๋กœ, ์ƒ๊ฐ, ์‚ฌ์ง„์„ ๊ธฐ๋กํ•˜๊ณ  ๊ฐ™์€ ์ทจ๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ์†Œํ†ตํ•˜๋ฉฐ, ์„œ๋กœ์˜ ์ผ์ƒ์„ ๊ณต์œ ํ•˜๋Š” ๊ธ์ •์ ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ์Œ _ ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์ด ๋ณต์žกํ•œ ํ˜„๋Œ€ ์‚ฌํšŒ์˜ ์ŠคํŠธ๋ ˆ์Šค๋กœ๋ถ€ํ„ฐ ์ž ์‹œ ๋ฉ€์–ด์ง€๊ณ , ๋ชธ๊ณผ ๋งˆ์Œ์ด ๊ฑด๊ฐ•ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ˜•์„ฑํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•จ

์ฃผ์š” ๊ธฐ๋Šฅ

Tracking ์ •๋ณด ๊ฒฝ๋กœ ์ขŒํ‘œ, ๊ฑฐ๋ฆฌ, ์†Œ์š” ์‹œ๊ฐ„, ์นผ๋กœ๋ฆฌ ํŽธ์˜์‹œ์„ค ์ •๋ณด ๋ฐ˜๊ฒฝ 50m ๋‚ด ์Œ์ˆ˜๋Œ€, ํ™”์žฅ์‹ค, ์•ˆ์ „์ง€ํ‚ด์ด ์‹œ์„ค๋ฌผ ์‹ค์‹œ๊ฐ„ ํ˜„ํ™ฉ ์ •๋ณด ๋ฏธ์„ธ๋จผ์ง€ ์ •๋ณด, ๋‚ ์”จ ์ •๋ณด

1๏ธโƒฃ Tracking

  1. ๋‚ด ์‚ฐ์ฑ… ๊ฒฝ๋กœ ์‹ค์‹œ๊ฐ„ ๊ธฐ๋ก
    • ์‚ฐ์ฑ… ๊ฒฝ๋กœ ๋‚ด ํŽธ์˜์‹œ์„ค ์ •๋ณด๋ฅผ ์ง‘๊ณ„ํ•˜์—ฌ ๊ฒฝ๋กœ ์ •๋ณด์™€ ํ•จ๊ป˜ ์ €์žฅ
    • ์‚ฐ์ฑ… ํ›„ ์ œ๋ชฉ, ๋‚ด์šฉ, Tracking ์ •๋ณด, ํŽธ์˜์‹œ์„ค ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ์ƒ์„ธ ์ •๋ณด ์—…๋กœ๋“œ
  2. ์‚ฐ์ฑ… ์‹œ์ž‘ ์‹œ ๋‚ด๊ฐ€ ์ด๋™ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ง€๋„์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ‘œ์‹œ

2๏ธโƒฃ Bigdata

  1. 185๊ฐœ ๋‘๋“œ๋ฆผ๊ธธ ์ถ”์ฒœ
    • ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜ (๊ตฌ๋‹จ์œ„) ๊ธฐ์ค€์œผ๋กœ ๊ฐ€๊นŒ์šด ๋‘๋“œ๋ฆผ๊ธธ์„ ์ •๋ ฌํ•˜์—ฌ ์ถ”์ฒœ
    • ๋‘๋“œ๋ฆผ๊ธธ ๋ณ„ ๋‚œ์ด๋„/์ฝ”์Šค๊ธธ์ด/์†Œ์š”์‹œ๊ฐ„, ์Œ์ˆ˜๋Œ€/ํ™”์žฅ์‹ค/์•ˆ์ „์ง€ํ‚ด์ด ์‹œ์„ค๋ฌผ ์œ ๋ฌด ์ •๋ณด๋ฅผ ์ œ๊ณต
  2. 185๊ฐœ ๋‘๋“œ๋ฆผ๊ธธ ์‹ค์‹œ๊ฐ„ ํ˜„ํ™ฉ ์ œ๊ณต
    • ๋‘๋“œ๋ฆผ๊ธธ์˜ ์ž…๊ตฌ ๊ธฐ์ค€ ์‹ค์‹œ๊ฐ„ ํ˜ผ์žก๋„, ๋ฏธ์„ธ๋จผ์ง€ ๋†๋„, ์˜จ๋„๋ฅผ API ์‚ฌ์šฉํ•˜์—ฌ ์ œ๊ณต
  3. ์—ฐ๊ด€ ๊ฒ€์ƒ‰์–ด ํฌ๋กค๋ง ๊ฒฐ๊ณผ ์ œ๊ณต
    • ํ•ด๋‹น ๋‘๋“œ๋ฆผ๊ธธ์˜ ๋ช…์นญ ๊ฒ€์ƒ‰ ๋‰ด์Šค ๊ฒฐ๊ณผ๋ฅผ ํฌ๋กค๋งํ•ด ๋งŽ์ด ๋„์ถœ๋œ ๋‹จ์–ด๋ฅผ ์›Œ๋“œ ํด๋ผ์šฐ๋“œ ํ˜•ํƒœ๋กœ ์š”์•ฝํ•˜์—ฌ ์ œ๊ณต

3๏ธโƒฃ Recommend

  1. ์ถ”์ฒœ ์ˆœ์œผ๋กœ ์ •๋ ฌ
    • ์‚ฌ์šฉ์ž์˜ ์œ„์น˜(์œ„ยท๊ฒฝ๋„), ์„ ํ˜ธ ๊ฑฐ๋ฆฌ, ์„ ํ˜ธ ์‹œ๊ฐ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ FAISS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ฒœํ•จ
  2. ์ฐœ ๋งŽ์€ ์ˆœ์œผ๋กœ ์ •๋ ฌ
    • ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์ด ์ฐœ์„ ๋งŽ์ด ๋ˆ„๋ฅธ ์ˆœ์œผ๋กœ ์ •๋ ฌ
  3. ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ
    • ๊ฒฝ๋กœ ๋‚ด ์Œ์ˆ˜๋Œ€, ํ™”์žฅ์‹ค, ์•ˆ์ „์ง€ํ‚ด์ด ์‹œ์„ค๋ฌผ ์œ ๋ฌด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋”์šฑ ์ƒ์„ธํ•œ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ
  4. ์‚ฌ์šฉ์ž ์ •๋ณด ์ฆ‰์‹œ ์ˆ˜์ •
    • 'Recommend' ํƒญ์—์„œ ์ถ”์ฒœ์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ฆ‰์‹œ ์ˆ˜์ • ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ฒ„ํŠผ์„ ๊ตฌํ˜„

4๏ธโƒฃ Feed

  1. ํ•€ ๋งŒ๋“ค๊ธฐ
    • ์ง€๋„ ์ƒ ํ˜„์žฌ ์œ„์น˜์— 24์‹œ๊ฐ„ ํ›„ ์‚ฌ๋ผ์ง€๋Š” ์ˆํผ ํ˜•์‹์˜ 'ํ•€' ๊ธฐ๋Šฅ์œผ๋กœ ์‚ฌ์ง„ ๊ณต์œ  ๊ฐ€๋Šฅ
    • ์‚ฐ์ฑ… ๊ฒฝ๋กœ ๊ธฐ๋ก ์ค‘ 'ํ•€ ๋งŒ๋“ค๊ธฐ' ๋ฒ„ํŠผ์œผ๋กœ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ธฐ๊ธฐ์˜ ์‚ฌ์ง„์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ์ฐ๊ธฐ ๊ฐ€๋Šฅ
  2. ํ”ผ๋“œ ๋งŒ๋“ค๊ธฐ
    • ๋‚ด๊ฐ€ ์ €์žฅํ•œ ์‚ฐ์ฑ…๋กœ ์ •๋ณด์™€ ์—ฐ๋™ํ•˜์—ฌ ํ”ผ๋“œ ์ƒ์„ฑ ๊ฐ€๋Šฅ
    • ํ”ผ๋“œ์—๋Š” ์‚ฌ์ง„์„ ์—ฌ๋Ÿฌ ์žฅ ์„ ํƒํ•˜์—ฌ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ œ๋ชฉ๊ณผ ํ•ด์‹œํƒœ๊ทธ ์ž‘์„ฑ ๊ฐ€๋Šฅ
    • ํ”ผ๋“œ์—์„œ
  3. ์ด์šฉ์ž ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
    • ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๋‹‰๋„ค์ž„์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํŒ”๋กœ์šฐ/์–ธํŒ”๋กœ์šฐ ๊ฐ€๋Šฅ
  4. ํ•ด์‹œํƒœ๊ทธ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
    • ํ”ผ๋“œ์˜ ํ•ด์‹œํƒœ๊ทธ๋กœ ๊ฒŒ์‹œ๋ฌผ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ

5๏ธโƒฃ User

  1. ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„
    • ์›น๋ทฐ ํ˜•์‹์œผ๋กœ ์นด์นด์˜ค ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„
    • ๊ธฐ๊ธฐ ๋‚ด Async Storage์— user id๋ฅผ ์ €์žฅํ•˜์—ฌ ๋™์ผํ•œ ๊ธฐ๊ธฐ์—์„œ๋Š” ๋กœ๊ทธ์•„์›ƒ ์ „๊นŒ์ง€๋Š” ์žฌ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋„๋ก ๊ตฌํ˜„
  2. ๋‚ด ์‚ฐ์ฑ… / ์ฐœํ•œ ์‚ฐ์ฑ… / ๋‚ด ํ”ผ๋“œ ํ™•์ธ
    • ๋‚ด๊ฐ€ ๋“ฑ๋กํ•œ ์‚ฐ์ฑ… ๊ฒฝ๋กœ, ์ฐœํ•œ ์‚ฐ์ฑ… ๊ฒฝ๋กœ, ๋‚ด๊ฐ€ ์˜ฌ๋ฆฐ ํ”ผ๋“œ๋ฅผ ํ•œ ํŽ˜์ด์ง€์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

์‹œ์Šคํ…œ์•„ํ‚คํ…์ฒ˜

2. ์„œ๋น„์Šค ์†Œ๊ฐœ

ํšŒ์› ๋กœ๊ทธ์ธ

ํšŒ์›๋กœ๊ทธ์ธ

์‚ฐ์ฑ… ์‹œ์ž‘

์‚ฐ์ฑ…์‹œ์ž‘

์‚ฐ์ฑ… ๋„์ค‘ 24์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์‚ฌ๋ผ์ง€๋Š” ํ•€ ์ƒ์„ฑ

ํ•€ ์ƒ์„ฑ

์‚ฐ์ฑ…๋กœ ์ €์žฅ

์‚ฐ์ฑ…๋กœ์ €์žฅ

์‚ฐ์ฑ…๋กœ ์ถ”์ฒœ

์‚ฐ์ฑ…๋กœ์ถ”์ฒœ

๋‘๋“œ๋ฆผ๊ธธ (์„œ์šธ์‹œ 185๊ฐœ ๊ณต์‹ ์‚ฐ์ฑ…๋กœ)

๋‘๋“œ๋ฆผ๊ธธ

๋‚ด ๋ฉ”์ธ ํ”ผ๋“œํ™”๋ฉด

๋ฉ”์ธํ”ผ๋“œ

์œ ์ € ํ•ด์‹œํƒœ๊ทธ๊ฒ€์ƒ‰

์œ ์ € ํ•ด์‹œํƒœ๊ทธ๊ฒ€์ƒ‰

ํŒ”๋กœ์ž‰ ํŒ”๋กœ์šฐ

ํŒ”๋กœ์ž‰ํŒ”๋กœ์šฐ

ํ”ผ๋“œ ์ƒ์„ฑ

ํ”ผ๋“œ์ƒ์„ฑ

3. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

โš™ Infra

Docker

๐ŸŽจ Front-End

React Native TypeScript Expo NPM ESLint

๐Ÿ–ฅ Back-End

Java Spring Boot Spring Cloud Spring Security

Apache Spark Apache Hadoop Apache Kafka

Python

๐Ÿ’พ DB

Redis Postgres

โš’ Tools

IntelliJ IDEA Visual Studio Code

Jira Notion

4. ๊ธฐ์ˆ  ์†Œ๊ฐœ

๐Ÿ’ฝ Infra

  • Jenkins, Docker, Ansible๋ฅผ ์ด์šฉํ•˜์—ฌ CI/CD๋ฅผ ๊ตฌ์ถ•
  • Namenode์˜ ์ด์ค‘ํ™”๋ฅผ ์ง€์›ํ•˜๋Š” Hadoop์„ ํด๋Ÿฌ์Šคํ„ฐ ํ˜•ํƒœ๋กœ ์„ค์น˜, ์—ฌ๊ธฐ์— Spark ๋ฐ Spark Streaming ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Yarn์— ์ œ์ถœํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„์‚ฐ ๋ณ‘๋ ฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๊ณ ๊ฐ€์šฉ์„ฑ ๋ณด์žฅ
  • DB ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด Redis, PostgreSQL, Eleasticsearch, Kafka๋ฅผ ๋ถ„์‚ฐ ํด๋Ÿฌ์Šคํ„ฐ ํ˜•ํƒœ๋กœ ์„ค์น˜

๐ŸŽจ Front-End

๐Ÿ–ฅ Back-End

  • Cloud
    • Gateway์—์„œ ๋ชจ๋“  ์š”์ฒญ์— ๋Œ€ํ•ด ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ํ•˜๊ธฐ ์œ„ํ•ด Global Filter ๊ตฌํ˜„
    • Gateway: Spring Cloud Gateway๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ… ๋ฐ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ˆ˜ํ–‰.
      Request์—์„œ ์œ ์ € ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜์—ฌ, ์ด๋ฅผ Kafka๋ฅผ ํ†ตํ•ด ELK์— ์ „๋‹ฌํ•˜์—ฌ ์‚ฌ์šฉ์ž ํ™œ๋™ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ˆ˜ํ–‰
    • Eureka: Spring Cloud Eureka๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ, ์„œ๋น„์Šค ํ—ฌ์Šค ์ฒดํฌ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€
    • Config: Spring Cloud Config๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ถ„์‚ฐํ™” ๋˜์–ด ์žˆ๋Š” Spring boot application์˜ ์„ค์ • ํŒŒ์ผ๋“ค์„ ์ค‘์•™์ง‘์ค‘์‹์œผ๋กœ ๊ด€๋ฆฌ
  • User
    • OAtuh2.0 ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ, ์นด์นด์˜ค์— ์ €์žฅ๋œ ํšŒ์› ์ •๋ณด๋กœ ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ์„ ํ•˜์—ฌ ๋ณธ ์„œ๋น„์Šค ์ด์šฉ
    • ์นด์นด์˜ค ํšŒ์› ์ •๋ณด ๊ธฐ๋ฐ˜์œผ๋กœ JWT ํ† ํฐ ๋ฐœ๊ธ‰
    • DB์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต ์ฝ”๋“œ ๊ด€๋ฆฌ API ๊ตฌํ˜„
    • ํŠน์ • ํšŒ์›์— ๋Œ€ํ•œ ํŒ”๋กœ์šฐ, ํŒ”๋กœ์ž‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • SNS
    • AWS S3 ํŒŒ์ผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • 24์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์‚ฌ๋ผ์ง€๋Š” ํ•€(์‚ฌ์ง„) ๊ธฐ๋Šฅ ๊ตฌํ˜„
      => redis GeoHash๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์œ„์น˜์—์„œ ํŠน์ • ๋ฐ˜๊ฒฝ๋‚ด์— ์žˆ๋Š” ํ•€ ์กฐํšŒ
    • ํ”ผ๋“œ ์ƒ์„ฑ ๋ฐ ํŒ”๋กœ์ž‰ ๊ด€๊ณ„์— ๋Œ€ํ•œ ํ”ผ๋“œ ์กฐํšŒ ๊ธฐ๋Šฅ
    • ํ•ด์‹œํƒœ๊ทธ ๋ฐ ์œ ์ € ๊ฒ€์ƒ‰
  • Tracking
    • Redis geospatial๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽธ์˜์‹œ์„ค ํƒ์ƒ‰ ์†๋„ ํ–ฅ์ƒ
    • JPA์™€ QueryDSL๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฐ์ฑ…๋กœ์™€ ํŽธ์˜์‹œ์„ค์— ๋Œ€ํ•œ CRUD ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœ
  • Recommendation
    • ์‚ฌ์šฉ์ž์˜ ์œ„์น˜, ์„ ํ˜ธ ์‚ฐ์ฑ… ์†Œ์š” ์‹œ๊ฐ„, ์„ ํ˜ธ ์‚ฐ์ฑ… ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ FAISS(Facebook AI Similarity Search)๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‚ฐ์ฑ…๋กœ๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
    • PostgreSQL๊ณผ ELK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์† ์‚ฐ์ฑ…๋กœ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœ
  • BigData
    • Spark๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 180์—ฌ๊ฐœ์˜ ๋‘๋“œ๋ฆผ๊ธธ(์„œ์šธ์‹œ ๊ณต์‹ ์‚ฐ์ฑ…๋กœ)์— ๋Œ€ํ•œ ํ˜ผ์žก๋„, ์˜จ๋„, ๋ฏธ์„ธ๋จผ์ง€, ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์›Œ๋“œ์นด์šดํŒ… ์ˆ˜ํ–‰
    • Spark Streaming์„ ํ†ตํ•ด 10Km/h ์ด์ƒ์˜ ์ด์ƒ ์‚ฐ์ฑ…๋กœ ๊ฐ์ง€ ์ˆ˜ํ–‰
    • PostGIS์™€ JPA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ฃผ๋ณ€ ๋‘๋“œ๋ฆผ๊ธธ์˜ ๋ถ„์„ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ

5. ํšŒ๊ณ 

  • ํ™์œค๊ธฐ
    ํŒ€์žฅ์œผ๋กœ์จ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ์™€ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ์— ๊ฐ€์žฅ ํž˜์ผ๋˜ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. ์ˆ˜์ค€ ๋†’์€ ๊ธฐ์ˆ ๋“ค์ด ๋‹ค์–‘ํ•˜๊ฒŒ ๋„์ž…๋˜์—ˆ๊ณ  ๋ชจ๋“  ๊ณผ์ •์ด ๋„์ „์ด์—ˆ๋˜ ๋งŒํผ Jira, git์„ ํ™œ์šฉํ•˜์—ฌ ๊ด€๋ฆฌํ–ˆ๋˜ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๊ณต์ด ์Šค์Šค๋กœ์—๊ฒŒ ํฌ๊ฒŒ ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค.

  • ๊น€ํ˜„์ข…
    ์‚ฌ๋ ค๊นŠ์€ ํŒ€์›๋“ค ๋งŒ๋‚˜ ์ด์ „์— ์ ์šฉํ•ด ๋ณด๊ณ  ์‹ถ์—ˆ๊ณ  ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ์žˆ๋Š” Spark Streaming ๊ธฐ๋ฐ˜ ์ด์ƒ ํƒ์ง€, ELK ๊ธฐ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ, Jenkins๊ธฐ๋ฐ˜ CI/CD, PostGIS ๋ฐ Redis geospatial ๋“ฑ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋”๋”์šฑ ์ข‹์€ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค.

  • ๋…ธ์„ฑ์€
    ์œ ๋Šฅํ•œ ํŒ€์›๋“ค ๋•๋ถ„์— ์ฒ˜์Œ ์ ‘ํ•˜๋Š” react native์˜ ๋Ÿฌ๋‹์ปค๋ธŒ๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋๊นŒ์ง€ ์ž˜ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— Expo๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ React Native ์•ฑ์„ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜์˜€์œผ๋‚˜, ์•ฑ์˜ ๊ทœ๋ชจ๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ์˜์กด์„ฑ ์ถฉ๋Œ ๋“ฑ Expo์˜ ์ œ์•ฝ์ด ๋Š๊ปด์ง€๋Š” ๋ถ€๋ถ„์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•ฑ์˜ ๊ทœ๋ชจ์™€ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ Expo์™€ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ ์ ˆํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐ•๊ธฐ๋ จ
    ์—ด์ •์ ์ด๊ณ  ์œ ๋Šฅํ•œ ํŒ€์›๋“ค์„ ๋งŒ๋‚˜ MSA ํŒจํ„ด์„ ๊ฒฝํ—˜ํ•˜๊ณ , ํŠนํžˆ haddop, kafka ๋“ฑ ๋น…๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์›Œํฌ์™€ Jenkins ๋“ฑ์˜ ์ธํ”„๋ผ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ์ ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฐ€์žฅ ํฐ ์ˆ˜ํ™•์ด์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ด์ˆ˜๋ฏผ

  • ์ตœ๋ฏผ์ค€
    MSA์— ๋Œ€ํ•œ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ฉฐ ์„ค๊ณ„๋ฅผ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๊ณ , ์ง์ ‘ OAuth2.0 + JWT ์ธ์ฆ๋ฐฉ์‹์„ ํ†ตํ•ด ์ธ์ฆ์— ๋Œ€ํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    ๋˜ํ•œ ํŒ€์›๋“ค๊ณผ ๋งค์ผ ์Šคํฌ๋Ÿผ์„ ํ†ตํ•ด ์„œ๋กœ์˜ ์—…๋ฌด ์ง„ํ–‰๋„์— ๋Œ€ํ•ด ์›ํ™œํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ์—…๋ฌด ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์–˜๊ธฐ, ์‚ฐ์ฑ… ๋“ฑ์„ ํ†ตํ•˜์—ฌ ์นœํ•ด์งˆ ์ˆ˜ ์žˆ๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋งˆ๋ จ๋˜์–ด ์ฆ๊ฒ๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages