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