Code Monkey home page Code Monkey logo

interview-assignment-1's Introduction

인터뷰 과제 프로젝트

환경

  • MacOS Big Sur 11.4
  • node v14.16.0
  • npm 7.20.3

설치

nvm 설치는 이곳을 참조

nvm install 14.16.0
nvm use 14.16.0
npm install

실행

npm start

브라우저에서 http://localhost:3000 페이지를 엽니다.

사용한 도구 및 선정 이유

  • React

    • 프론트엔드 라이브러리리 react를 사용하였습니다. 요구사항에 맞추어 따로 css 프레임워크를 포함시키지는 않았습니다.
    • Valnila를 배제한 이유는 개발 생산성에서 React보다 부족하기 때문입니다. 일주일이라는 기한을 맞추는 것을 우선순위로 하다 보니 친숙하지 않은 프레임워크인 Vue도 제외하게 되었습니다.
  • Recoil

    • 상태관리를 위해 recoil을 사용하였습니다.
    • 상태관리를 위한 라이브러리로는 Redux, mobX 등이 유명합니다. 이런 라이브러리 대신 Recoil을 사용한 것은 역시 시간 제한이 있는 프로젝트이기 때문입니다. recoil같은 경우는 redux에 비해 boilerplate 코드가 적습니다. 그리고 이번 프로젝트의 경우 빠르게 prototyping해서 기능을 구현할 수 있는 지 검증하는 것이 우선이었기 때문에 상대적으로 규칙이 적은 recoil을 택하였습니다. 최근에는 redux-toolkit이라는 best practice가 있긴 하나 문서를 검토해본 결과 recoil이 상대적으로 러닝커브가 낮다고 판단되어 선정하게 되었습니다.
  • styled-component

    • 리엑트에서 컴포넌트를 스타일링하는 라이브러리 또한 아주 많습니다. styled component는 제가 다른 프로젝트에서 사용한 경험이 있어 러닝커브가 낮다고 판단하였습니다. 또한 출시된 지 오래된 라이브러리다보니 중간에 제가 막히는 상황이 발생하여도 커뮤니티에서 에러를 해결하기에 좀 더 수월할 것이라 판단하여 선택하였습니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.