Skip to content
This repository has been archived by the owner on Sep 8, 2021. It is now read-only.

Latest commit

ย 

History

History

fe03

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

JS Piscine

FE 03

๊ธฐ๋ณธ ๊ทœ์น™

  • JS Piscine์—์„œ ์‚ฌ์šฉํ•˜๋Š” Node.JS ๋ฒ„์ ผ์€ LTS 14.x์ž…๋‹ˆ๋‹ค.
  • ๋ฌธ์ œ๋“ค์€ ๋‚œ์ด๋„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ฝ”๋“œ๋Š” ๋™๋ฃŒํ‰๊ฐ€๋ฅผ ํ†ตํ•ด ํ‰๊ฐ€๋  ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฝ๋„๋ก ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”! (์˜ˆ๋ฅผ ๋“ค์–ด ๋ณ€์ˆ˜๋ช…์„ ์˜๋ฏธ์žˆ๊ฒŒ ์ •ํ•˜๊ฑฐ๋‚˜, ํ•จ์ˆ˜ ์ด๋ฆ„์„ ๊ธฐ๋Šฅ์— ๋งž๊ฒŒ ์ž‘๋ช…ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ์š”.)
  • ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, ํ‰๊ฐ€์‹œ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ œ์ถœํ•  ํ•จ์ˆ˜์ฝ”๋“œ๋ฅผ export ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
    • ๊ตฌํ˜„ํ•ด์•ผ ํ•  ํ•จ์ˆ˜๊ฐ€ ํ•œ๊ฐ€์ง€์ผ ๊ฒฝ์šฐ, default export ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • nodemon,ย ESlintย ์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋ชจ๋“ˆ์€ย devdependenciesย ์— ์ •์˜๊ฐ€ ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ‰๊ฐ€ ์ง„ํ–‰ ์ „ย npm installย ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‚ฌ์ „ dependency ๋ชจ๋“ˆ๋“ค์„ ๋ชจ๋‘ ์„ค์น˜ ํ•ฉ๋‹ˆ๋‹ค.
  • node_modulesย ์™€ ๊ฐ™์€ ๋ถˆ ํ•„์š”ํ•œ ํŒŒ์ผ์€ย .gitignoreย ๋ฅผ ํ†ตํ•ด ์ ์ ˆํ•˜๊ฒŒ ์ œ์™ธ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Code Format์— ๋Œ€ํ•˜์—ฌ ํ‰๊ฐ€ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, eslint๋‚˜ beautify๋ฅผ ํ†ตํ•ด code format์„ ์ฒดํฌํ•˜๋ฉด์„œ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • RTFM!!
  • ์„œ๋ธŒ์ ํŠธ๋Š” ์ œ์ถœ ๋งˆ๊ฐ 1์‹œ๊ฐ„ ์ „๊นŒ์ง€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ ๋ฌธ์ œ์— ์˜ค๋ฅ˜(์˜คํƒ€๋‚˜ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜)๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๋ฉด ๊นƒํ—™ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ด์Šˆ๋ฅผ ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋„์›€์œผ๋กœ JS Piscine์ด ๋”์šฑ ์™„๋ฒฝํ•ด์ง‘๋‹ˆ๋‹ค :)

FE 03 - ๋‚˜๋งŒ์˜ Issue Tracker

์ œ์ถœํ•  ํด๋” ์ด๋ฆ„ : fe03
์ œ์ถœํ•  ํŒŒ์ผ ์ด๋ฆ„ : ์ œํ•œ ์—†์Œ
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์™ธ๋ถ€ ๋ชจ๋“ˆ : ์ œํ•œ ์—†์Œ
์ฐธ๊ณ ์‚ฌํ•ญ : ์—†์Œ

๋‚˜๋งŒ์˜ Issue Tracker

React์™€ Github v3 API๋กœ ๋‚˜๋งŒ์˜ Issue Tracker๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•„์š”.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/ํ”„๋ ˆ์ž„์›Œํฌ์—๋Š” ์ œํ•œ์ด ์—†๊ณ  ์ž์œ ๋กญ๋‹ค. ํ•˜์ง€๋งŒ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์ƒ๋Œ€๋ฐฉ์„ ์„ค๋“ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ค€์ˆ˜ํ•œ UI/UX๋ฅผ ๊ตฌ์„ฑํ•ด์•ผํ•œ๋‹ค.

๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ํŠน์ • ์ €์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒ€์ƒ‰๋œ ์ €์žฅ์†Œ์˜ ์ด์Šˆ๋ฅผ ๋ชฉ๋ก์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด์Šˆ๋ฅผ ์ƒ์„ฑ/ํŽธ์ง‘/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด์Šˆ ๊ธฐ๋Šฅ
    • ๋‹ด๋‹น์ž๋ฅผ ์ง€์ •/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋Œ“๊ธ€์„ ์ƒ์„ฑ/ํŽธ์ง‘/์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ผ๋ฒจ์„ ์ƒ์„ฑ/ํŽธ์ง‘/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋Œ“๊ธ€์„ ์ž ๊ธˆ/ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด์Šˆ๋ฅผ ๋‹ซ๊ฑฐ๋‚˜ ์—ด ์ˆ˜ ์žˆ๋‹ค.
  • ์ด์Šˆ, ๋ผ๋ฒจ์„ ๋ฌดํ•œ ์Šคํฌ๋กค๋ง์œผ๋กœ ๋ชฉ๋ก์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด์Šˆ๋ฅผ ์ƒ๋‹จ์— pinํ•  ์ˆ˜ ์žˆ๋‹ค.
    • pin ์ด์Šˆ๋“ค์€ drag and drop์„ ํ†ตํ•ด ์นด๋“œ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ชจ๋“  ๋™์ž‘์€ ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ํŽ˜์ด์ง€์— ๋ฐ”๋กœ ๋ฐ˜์˜๋ผ์•ผ ํ•œ๋‹ค.
  • Github v3 API์„ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ์ ์šฉ๋œ ๋‚ด์šฉ์ด ์‹ค์ œ Github์—์„œ ์ ์šฉ๋˜๊ฒŒ ํ•œ๋‹ค.
  • Github v3 API์— ๋Œ€ํ•œ Error Handling์„ ํ•ด์•ผํ•œ๋‹ค.

presentation container pattern๊ณผ ๊ฐ™์€ ๋””์ž์ธ ํŒจํ„ด์„ ์ฐพ์•„๋ณด์„ธ์š”.

๋ณด๋„ˆ์Šค

  • ๋ฌดํ•œ ์Šคํฌ๋กค๋ง์— ์“ฐ๋กœํ‹€๋ง(throttling)๊ณผ ๋””๋ฐ”์šด์‹ฑ(debouncing)์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ์ ์šฉํ•œ๋‹ค.
  • ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๋”๋ผ๋„ ์ด์ „ ๊ฒ€์ƒ‰ ๊ธฐ๋ก์ด ๋‚จ์•„์žˆ๋‹ค.
  • ๋งˆ์ผ์Šคํ†ค์„ ์ƒ์„ฑ/ํŽธ์ง‘/์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋งˆ์ผ์Šคํ†ค์€ ๋ฌดํ•œ ์Šคํฌ๋กค๋ง์œผ๋กœ ๋ชฉ๋ก์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒ€์ƒ‰๋œ ๊ฒ€์ƒ‰์–ด๋Š” 3๊ฐœ๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฒ€์ƒ‰์–ด๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•ด๋„ ์œ ์ง€๋˜์–ด์•ผํ•œ๋‹ค.
  • ๋ชจ๋“  ๋นˆ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด ๋Œ€์ฒด ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋‹ค.
  • Skeleton UI ๋ฅผ ์ ์šฉํ•œ๋‹ค.
  • CSS ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•œ๋‹ค.
  • ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค.
    • ๋‹คํฌ๋ชจ๋“œ๋Š” input์„ ํ†ตํ•ด ์ง€์›๋˜์–ด์•ผํ•œ๋‹ค.
    • input์˜ type์€ checkbox ์ด๋‹ค.

https://docs.github.com/en/rest