Skip to content

Tech Stack

Jeongeun-Choi edited this page Dec 20, 2020 · 21 revisions

๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง ๊ธฐ์ˆ  ์Šคํƒ

ํ”„๋ก ํŠธ ๊ธฐ์ˆ  ์Šคํƒ ๐Ÿ‘ฉโ€๐Ÿ’ป (๋งŽ์€๊ฒƒ์ด ์žˆ์—ˆ๋Š”๋ฐ์š”? ์—†์—ˆ์Šต๋‹ˆ๋‹ค...)

  • Web Audio API

    • ์Œ์„ฑํŽธ์ง‘๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ๋กœ ์š”๊ตฌ์‚ฌํ•ญ์— ์กด์žฌํ•˜์—ฌ Web Audio API๋ฅผ ํ™œ์šฉ
  • Sass

    • CSS Pre-processor๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์Šคํƒ€์ผ๋ง ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •.
    • ์›นํŒฉ ์„ค์ •์„ ํ†ตํ•ด ๋ฒˆ๋“ค๋ง ํ•˜์—ฌ ์‚ฌ์šฉ
  • canvas

    • ์˜ค๋””์˜ค ํŒŒํ˜•์„ ์ž๋ฅด๊ฑฐ๋‚˜ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜ ๋ถ™์—ฌ๋„ฃ๊ธฐ ๋“ฑ ๋‹ค์–‘ํ•œ ํŽธ์ง‘ ์ธํ„ฐ๋ ‰์…˜์ด ํ•„์š”ํ•œ๋ฐ ์„ฑ๋Šฅ๋ฉด์—์„œ canvas๊ฐ€ ์œ ๋ฆฌํ•  ๊ฒƒ์ด ํŒ๋‹จ
    • ์˜ค๋””์˜ค ํŒŒํ˜•์„ ์กฐ์ž‘ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„๋Œ€์— ๋”ฐ๋ผ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์กฐ์ ˆํ•ด๋„ ์ถฉ๋ถ„ํ•  ๊ฒƒ์ด๋ผ ํŒ๋‹จ
  • Vanila JS

    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋งŒ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • React.js

    • ํ”„๋กœ์ ํŠธ ํŠน์„ฑ์ƒ ๋‹จ์ผ ํŽ˜์ด์ง€ํ˜•ํƒœ์ด๋ฉฐ SPA๋กœ ๊ฐœ๋ฐœํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค
    • React์˜ ์žฅ์ ์€ ๋น ๋ฅธ ๋ Œ๋”๋ง ์†๋„์— ์žˆ๋Š”๋ฐ ํ”„๋กœ์ ํŠธ์—์„œ ๋นˆ๋ฒˆํ•œ ๋ Œ๋”๋ง์ด ์ผ์–ด๋‚˜๋Š” ๋ถ€๋ถ„์€ ์˜ค๋””์˜ค ํŒŒํ˜•์„ ๊ทธ๋ ค์ฃผ๋Š” ๋ถ€๋ถ„์ด๋‹ค. canvas๋กœ ํŒŒํ˜•์„ ๊ทธ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์–ด์ฐจํ”ผ ๋‹ค์‹œ ๊ทธ๋ ค์ฃผ๊ณ  ๋ Œ๋”๋งํ•˜๋ฏ€๋กœ ์ด์ ์„ ์–ป๊ธฐ๊ฐ€ ๋ฏธ๋ฏธํ•˜๋‹ค๊ณ  ํŒ๋‹จ.
    • ํ”„๋ ˆ์ž„์›Œํฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ์—†์ด Javascript๋กœ๋งŒ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • React-Router

    • ๋‹จ์ผํŽ˜์ด์ง€ ํ˜•ํƒœ์ด๊ณ , ์ถ”ํ›„์— loginํŽ˜์ด์ง€๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค ํ•˜๋”๋ผ๋„ ํŽ˜์ด์ง€ ์ˆ˜๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์— React-Router๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จ.
    • ๋ฌด์ž‘์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌด๊ฑฐ์›Œ์ง€๊ณ , ๋™์ž‘์ด ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ถ”ํ›„์— ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํŽ˜์ด์ง€๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด history API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง์ ‘ ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํŒ…์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • Redux

    • Redux๋ฅผ ํ™œ์šฉํ•˜๋ ค๋ฉด ํ•™์Šต ๋น„์šฉ์ด ์กด์žฌํ•˜๊ณ , flux ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
    • ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ์ƒ ๋ณต์žกํ•œ ์ƒํƒœ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”์—†์„ ๊ฒƒ์ด๋ผ ํŒ๋‹จํ•˜์—ฌ Observer or Pub/Sub ํŒจํ„ด์„ ํ™œ์šฉํ•˜์—ฌ ์ƒํƒœ๊ด€๋ฆฌ store๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • Styled-components

    • React๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •

๋ฐฑ์—”๋“œ ๊ธฐ์ˆ  ์Šคํƒ ๐Ÿ‘จโ€๐Ÿ’ป

  • Nginx

    • ๋กœ๊ทธ์ธ ์—†์ด ์˜จ๋ผ์ธ์œผ๋กœ ์˜ค๋””์˜ค ํŒŒํ˜•์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์ง€์•Š๊ธฐ๋กœ ๊ฒฐ์ •.
    • Nginx๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •์ ํŒŒ์ผ๋งŒ ์ œ๊ณตํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์—ฌ ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ ์‚ญ์ œ

    • Node.js
      • Express๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ API ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
    • TypeORM
      • TypeScript๋ฅผ ๋„์ž…ํ•˜๋ฉด์„œ ๋ฐฑ์—”๋“œ๋„ TypeORM์„ ๋„์ž…ํ•˜์—ฌ ๊ฒฌ๊ณ ํ•œ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
    • MySQL
      • ๋ฐฐํฌ์„œ๋ฒ„๋Š” MySQL์„ ํ™œ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
    • SQlite
      • ๋กœ์ปฌ ๊ฐœ๋ฐœ์šฉ์œผ๋กœ๋Š” ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ , ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด SQlite๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
    • pm2
      • pm2๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ๋ฅผ ํ•˜๋„๋ก ๊ฒฐ์ •

๊ณตํ†ต ๊ธฐ์ˆ  ์Šคํƒ ๐Ÿงšโ€โ™€๏ธ

  • Jest
    • ํ…Œ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Jest๋ฅผ ํ™œ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • TypeScript
    • TypeScript๋ฅผ ๋„์ž…ํ•˜์—ฌ ํƒ€์ž… ์ •์˜๋ฅผ ํ†ตํ•œ ์•ˆ์ •์ ์ด๊ณ , ์ž๋™์™„์„ฑ ๋ฐ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์—ฌ์„œ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ ๋ฐ ์ข‹์€ ๊ฐœ๋ฐœ๊ฒฝํ—˜์„ ์–ป๊ธฐ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
  • ESlint/Prettier
    • ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ lint ์„ค์ •์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •
    • prettier๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ฝ”๋“œ์˜ ํฌ๋งทํŒ…๊ณผ ๊ด€๋ จํ•ด prettier์˜ ์ž๋™ ์ˆ˜์ • ๊ธฐ๋Šฅ์˜ ๋„์›€์„ ๋ฐ›์•„ ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ์„ ๋งž์ถ”๊ธฐ๋กœ ๊ฒฐ์ •
    • lint-prettier ํ†ตํ•ฉ์„ค์ •์„ ํ†ตํ•ด lint๋กœ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๊ฒ€์‚ฌํ•˜๊ณ , prettier๋กœ ํฌ๋งทํŒ…์„ ๊ฒ€์‚ฌํ•˜์—ฌ ์ˆ˜์ •ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •

๐Ÿ“„ Documents

๐Ÿ“Œ Rules

๐Ÿ“ Agile Process

๐Ÿ“† Week1 Meeting Log
๐Ÿ“† Week2 Meeting Log
๐Ÿ“† Week3 Meeting Log
๐Ÿ“† Week4 Meeting Log
๐Ÿ“† Week5 Meeting Log

๐Ÿ“Ž Research

๐Ÿ” References

๐Ÿ‘ซํ”ผ์–ด์„ธ์…˜

๐Ÿ“† Week2 Peer Session
๐Ÿ“† Week3 Peer Session
๐Ÿ“† Week4 Peer Session

๐Ÿค” ํšŒ๊ณ 

๐Ÿ“ข ๊ธฐ์ˆ ๊ณต์œ 

๐Ÿ”‰ Web Audio API

๐Ÿš€Custom Element

๐Ÿ™ˆ Activity

๐Ÿ—‘๏ธ ํœด์ง€ํ†ต

Clone this wiki locally