• Home
  • About
    • on Weekend photo

      on Weekend

      ๐™Ž๐™ฉ๐™ช๐™™๐™ฎ๐™ž๐™ฃ๐™œ

    • Learn More
    • Instagram
    • Github
  • Archive
    • All Posts
    • All Tags
    • All Categories
  • Categories
    • Problem Solving
    • TIL
    • Study
    • Etc
    • ํ•„์‚ฌ
  • Projects

2021.08.04

04 Aug 2021

์ตœ๊ทผ์˜ ๊ทผํ™ฉ

์ตœ๊ทผ์— TIL์„ ๋ชป์“ด์ง€ ์˜ค๋ž˜๋๋‹ค. ์š”์ฆ˜์˜ ๋‚˜๋Š” ์ธํ„ด์„ ํ•˜๊ณ  ์žˆ๊ณ ,๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ์„ฑ์žฅ์— ๋„์›€์ด ๋˜์ง€ ์•Š์œผ๋ฆฌ๋ผ๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ๋“ค์—ˆ๋˜ ๊ณณ์—์„œ, ๊ธฐ๋Œ€ํ–ˆ๋˜ ๊ฒƒ ๊ทธ ์ด์ƒ์œผ๋กœ ๋งŽ์€ ๊ฒƒ๋“ค์„ ๋ฐฐ์šฐ๊ณ  ์žˆ๋‹ค.

์‹ ๊ธฐํ•˜๊ฒŒ๋„ ๋‚ด๊ฐ€ ์ •ํ™•ํžˆ ์•ฝํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๋ชจ๋‘ ๋ฐฐ์šฐ๊ฒŒ ๋˜๋ฉด์„œ, ์ „๋ฐ˜์ ์œผ๋กœ ์ดํ•ด์˜ ํญ์ด ๋„“์–ด์ง„ ๊ธฐ๋ถ„์ด๋‹ค.

๊ฐ€๋ น DB๊ฐ€ ์•ฝํ–ˆ์—ˆ๋Š”๋ฐ, ๋งˆ์นจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŽ์ด ๋‹ค๋ฃจ๋Š” ๋ถ€์„œ๋กœ ๋ฐฐ์น˜๋˜๋ฉด์„œ ์ƒ๊ฐ์ง€๋„ ๋ชปํ•˜๊ฒŒ mysql๊ณผ NoSQL์„ ์ „๋ถ€ ๋‹ค๋ฃจ๋Š” ๊ฒฝํ—˜์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ํ‰์†Œ์— ๊ด€์‹ฌ์ด ๋งŽ์•˜๋˜ ๊ฒ€์ƒ‰ ์—”์ง„์ธ Elastic Search์— ๋Œ€ํ•ด์„œ๋„ ๊ณต๋ถ€ํ•˜๊ณ  ์ ์šฉํ•ด๋ณด๋Š” ๊ฒฝํ—˜์„ ์Œ“์•„๋ณด๊ณ  ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํŠนํžˆ ๊ณต๋ถ€ํ•  ๋•Œ์— ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ผ์ด ์—†๋‹ค๋ณด๋‹ˆ, ์ˆ˜๋ จ์„ ๋งŽ์ด ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋Š”๋ฐ, ์ •๋ง ์ข‹์€ ๊ธฐํšŒ๋‹ค.

ํ˜น์€ ๋Š˜ ๊ถ๊ธˆํ•ดํ•˜๋˜ ํ•˜๋“œ์›จ์–ด ์ชฝ๊ณผ์˜ ํ†ต์‹ ์„ ๋‹ค๋ฃจ๊ธฐ๋„ ํ•˜๊ณ , ์ง€๋‚œ ๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„  ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด, ์•„๋‘์ด๋…ธ์— ์—ฐ๊ฒฐ๋œ ์„ผ์„œ๋“ค๊ณผ ํ†ต์‹ ์„ ํ†ตํ•ด ์„ผ์„œ ์กฐ์ž‘์„ ํ•˜๊ณ , ์„ผ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€ ๊ทธ ๊ฐ’์„ ๋‹ค๋ฅธ ๋‹จ์— ์ด์ฃผ๋Š” ์ž‘์—…๋„ ํ•ด๋ณด์•˜๋‹ค.

๊ทธ๋‚˜๋งˆ ํ•  ์ค„ ์•„๋Š”๊ฒŒ ๋ฐฑ์—”๋“œ๋‹ค๋ณด๋‹ˆ, ๋ฐฑ์—”๋“œ ๊ด€๋ จ ์ž‘์—…๋“ค์„ ๊ฝค๋‚˜ ๋งŽ์ด ํ–ˆ๋‹ค. ์ด ์—ญ์‹œ๋„ ํ‰์†Œ์— ์ ‘ํ•ด๋ณด์ง€ ๋ชปํ–ˆ๋˜ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•œ ๋ฒˆ์€ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ํ•˜๊ณ , ํ•œ ๋ฒˆ์€ ์งง๊ฒŒ ์žฅ๊ณ ๋ฅผ ์จ๋ณด๊ณ , ๊ธธ๊ฒŒ Flask๋ฅผ ์จ๋ณด๊ณ  ์žˆ๊ธฐ๋„ ํ•˜๋‹ค. ๋งค์šฐ ๋งŒ์กฑ์ค‘!

๊ฝค๋‚˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์Šคํƒ์„ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์žˆ๋Š”๋ฐ, ์ด๊ฑธ ๊ณผ์—ฐ ์Šคํƒ์ด๋ผ๊ณ  ํ•  ๋งŒํผ ๋‚ด๊ฐ€ ๊นŠ๊ฒŒ ์•„๋Š”์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋งŒโ€ฆ ์ธํ„ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋‚˜๋ฆ„ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐฐํฌ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ์„ ์ •๋„์˜ ๊ฒฝํ—˜์„ ํ•ด๋ณธ ์Šคํƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์Šคํ”„๋ง๋ถ€ํŠธ, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ AWS Beanstalk์— ๋ฐฐํฌํ•˜๊ธฐ
  • pretrained ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ์˜์ƒAI, ๊ทธ๋ฆฌ๊ณ  ์›น์บ  ๋‹จ๊ณผ ์—ฐ๊ฒฐ๋œ OpenCV
  • ๋ฐ์ดํ„ฐ๋ถ„์„ : ์ „์ฒ˜๋ฆฌ, ํ†ต๊ณ„ ๊ทธ๋ฆฌ๊ณ  ๊ฐ„๋‹จํ•œ ๋ชจ๋ธ ์ž‘์„ฑ(ํ•˜๋ผ๋Š” ๊ฒƒ๋งŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์ดˆ๊ธ‰์ž ์ˆ˜์ค€..ใ…Žใ…Ž ๊ทธ๋ž˜๋„ ํ•˜๊ธด ํ•œ๊ฑฐ๋‹ˆ๊นŒ!)
  • ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด (์ฒดํ—˜ ์ •๋„)
  • ELK ํŠนํžˆ Elastic Search ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์•ˆ์—์„œ NoSQL ์ฟผ๋ฆฌ
    • json data bulk
    • ์—ฌ๋Ÿฌ aggregation
    • indexing
  • ์ˆ˜๋งŽ์€ ๋ฐฐํฌ : EC2, Beanstalk, ๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์–ด๋–ค epc๋ฅผ ๋ฐ›๋”๋ผ๋„ ์„œ๋ฒ„๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒฝํ—˜โ€ฆ ๊ทธ๋ฆฌ๊ณ  ์ง€์˜ฅ๊ฐ™์€ port์™€์˜ ์‹ธ์›€
    • 20% ์ •๋„๋Š” ์ต์ˆ™ํ•ด์ง„ ๋ฆฌ๋ˆ…์Šค ๊ทผ๋ฐ ๊ตฌ๊ธ€๋ง์„ ๊ณ๋“ค์ธ..
  • Jenkins : ์ง€์˜ฅ๊ฐ™์•˜๋˜ Jenkins ์—ฐ๊ฒฐ๊ณผ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ.. ๊ทธ๋ฆฌ๊ณ  ์…ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž๋™ ๋ฐฐํฌ๋˜๊ฒŒ ํ•˜๊ธฐ
  • ํ˜ผ์ž๋งŒ์˜ ๋Œ€๊ฒฐ
    • HW, ์›น/์•ฑ, DB์™€ ๋ชจ๋“  ํ†ต์‹ ์„ ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์น˜์šฐ๊ณ  ์žˆ๋Š” ๋‚˜
    • ์‹œ๊ฐ„์— ์ซ“๊ฒจ API๋ฅผ ์–‘์‚ฐํ•ด๋‚ด๋ฉด์„œ ๋งŒ๋“ค์–ด๋‚ธ ๊ธฐ์ˆ ๋ถ€์ฑ„๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ์œ„ํ•ด ๋ˆˆ๋ฌผ ํ˜๋ฆฌ๋ฉฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž˜ ์งœ์ž๊ณ  ๋งค๋ฒˆ ๋‹ค์งํ•˜๋Š” ์Šค์Šค๋กœ ๋ถˆ๋Ÿฌ์˜จ ์žฌ์•™๋“ค
    • ์—‰๋ง์œผ๋กœ (๋‚ด๊ฐ€) ์งœ๋†“์€ DB๋ฅผ ์ˆ˜์Šตํ•˜๊ธฐ ์œ„ํ•ด ์—‰๋ง์œผ๋กœ ์งœ๋†“์€ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜์Šตํ•˜๊ธฐ ์œ„ํ•ด ์—‰๋ง์œผ๋กœ ์งœ๋†“์€ API๋ฅผ ์ˆ˜์Šตํ•˜๊ธฐ
    • ์—‰๋ง์œผ๋กœ ์„ค์ •ํ•ด๋‘” ์„œ๋ฒ„ ์…‹ํŒ…์„ ์ˆ˜์Šตํ•˜๊ธฐ ์œ„ํ•ด ์—‰๋ง์œผ๋กœ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉฐ ์ ์  ๋Š˜์–ด๊ฐ€๋Š” ๋ชจ๋“  ์—‰๋ง๊ณผ ๋งˆ์ฃผํ•œ ๋‚˜
    • ์—‰๋ง์œผ๋กœ ์„ค๊ณ„ํ•œ ๊ตฌ์กฐ๋ฅผ ์ˆ˜์Šตํ•˜๊ธฐ ์œ„ํ•œ ์ง€์˜ฅ๊ฐ™์€ ๊ณต๋ถ€ (์—˜๋ผ์Šคํ‹ฑ์„œ์น˜.. ๊ฐ€๋งŒ ์•ˆ๋‘”๋‹ค)
  • ๊ทธ๋ ‡๊ฒŒ ์™ธ์›Œ์ง€์ง€ ์•Š๋˜ ์ธํ…”๋ฆฌ์ œ์ด ๋‹จ์ถ•ํ‚ค๋“ค์„ ์–ด๋–ป๊ฒŒ๋“  ์‚ฌ์šฉํ•˜๋ฉด์„œ ์† ํ†ต์ฆ์„ ์ค„์ด๊ณ  ์žˆ๋Š” ๋‚˜์ž์‹ .. ๋งˆ์šฐ์Šค๊นŒ์ง€ ์“ฐ๊ธฐ์—๋Š” ์†์ด ๋„ˆ๋ฌด ์•„ํ”„๊ณ .. ๋…ธํŠธ๋ถ ํ‚ค๋ณด๋“œ๋„ ์ด์   ์†์ด ์—†์–ด์งˆ ๊ฒƒ ๊ฐ™๋‹ค ๋„ˆ๋ฌด ์•„ํ”„๋‹ค ใ… ใ… 
  • ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์• ์ž์ผ ๊ทธ๋ฆฌ๊ณ  ์ƒ๊ฐ๋ณด๋‹ค ๋งค์šฐ ์ข‹์•˜๋˜ ์• ์ž์ผ
  • ๊ทธ ์™€์ค‘์— Jira๋„ ์จ๋ณด์•˜์Œ
  • git์€ ์ด์ œ ์•ˆ์“ฐ๋ฉด ์•ˆ๋จ..

์ด๋Ÿฐ ๊ธฐ์ˆ ์ ์ธ ๊ฒƒ๋“ค์„ ๋ฐฐ์› ๋‹ค. ์“ฐ๋‹ค๋ณด๋‹ˆ ์Šคํƒ์ด ์•„๋‹ˆ๋ผ ๊ทธ๋ƒฅ ๊ฒฝํ—˜ํ•œ ์‹ ๋ฌ˜ํ•œ ์ผ๋“ค์„ ์„œ์ˆ ํ•œ ๊ฒŒ ๋˜์–ด๋ฒ„๋ ธ์ง€๋งŒโ€ฆ

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

๊ทธ๋ ‡๋‹คโ€ฆ ๋น ๋ฅธ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ ๋˜์–ด๋ฒ„๋ ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ ์ž˜ ํ•ด๋‘” ์„ค๊ณ„๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€, ์ฒ˜์Œ ์ž˜ ์งœ๋‘” ์ฝ”๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€๋ฅผ ๋ผˆ์ €๋ฆฌ๊ฒŒ ๋А๋‚€๋‹ค. ๋๋‚˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณต๋ถ€๋„ ์ข€ ํ•˜๊ณ , FE ๊ณต๋ถ€๋„ ์ข€ ํ•˜๊ณ , Spring๋„ ์˜ค๋žœ๋งŒ์— ํ•ด์•ผ๊ฒ ๋‹ค. ์•„๋ฌดํŠผ ๊นŒ๋จน์„ ๊ฒƒ ๊ฐ™์•„์„œ ๊ธฐ์–ต๋‚˜๋Š” ๋Œ€๋กœ ์จ๋‘”๋‹ค. ์กฐ๊ธˆ ๋” ๋ฏธ๋ฆฌ ๊ธฐ๋ก์„ ์‹œ์ž‘ํ–ˆ๋”๋ผ๋ฉด ์ข‹์•˜๊ฒ ์ง€๋งŒโ€ฆ ๋„ˆ๋ฌด ๋ฐ”๋นด๋‹ค

์‚ฌ์‹ค ์˜ค๋Š˜๋„ ๋ฐ”์œ๋ฐ ์„œ๋ฒ„ ํ„ฐ์ ธ์„œ ํ•  ์ผ์ด ์—†๊ณ  API ์งœ๊ธฐ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ๋‚˜์™€์„œ ์•”๊ฒƒ๋„ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ์ธํ…”๋ฆฌ์ œ์ด๋ผ๋„ ๋“ค์—ฌ๋‹ค๋ณด๊ณ  ์žˆ์–ด์•ผ ๋ญ๋ผ๋„ ํ•œ ๊ธฐ๋ถ„์ด์–ด์„œโ€ฆ ๊ดœํžˆ ์˜ค๋žœ๋งŒ์— TIL์ด๋ผ๋„ ์จ๋ณธ๋‹ค.

-๋-



TIL Share Tweet +1