GNU-CS / catlas-frontend

Unofficial frontend source code of CATLAS community.
GNU Affero General Public License v3.0
0 stars 0 forks source link

REST를 이용한 통신 컴포넌트 작성 #26

Open hatchling13 opened 3 years ago

hatchling13 commented 3 years ago

개요

24 에서 결정된 사항을 통해, REST를 이용하여 백엔드와 통신하는 컴포넌트를 작성한다.

hatchling13 commented 3 years ago

Redux을 사용하여 비동기 작업을 하기 위해서는 미들웨어redux-thunk를 적용하는 방법이 일반적이다.

hatchling13 commented 3 years ago

Redux의 Store는 새로고침 시 저장되어있는 상태가 전부 사라진다. 이를 그대로 보존하기 위해서는 redux-persist을 적용하는 방법이 일반적이다.

hatchling13 commented 3 years ago

로그인/회원가입은 사용자가 입력한 정보를 바탕으로 작업이 이루어진다. 이때, 해당 정보가 작업에 유효한 값인지를 확인하는 코드를 손수 작성하는 것은 번거로울 뿐더러 정확하지 않을 가능성이 높다. 따라서 추가적으로 라이브러리를 도입하여 입력 검증의 안정성을 높인다.

다음 두 가지 라이브러리 중 하나를 선택할 수 있다:

hatchling13 commented 3 years ago

npm trends를 확인한 결과, joi가 더 많이 쓰이는 패키지임을 알 수 있다. 인기도 면에 있어서는 joi의 손을 들 수 있다.

yup의 장점은 TypeScript를 자체적으로 지원한다는 것이다. 차후 프로젝트에 TypeScript를 도입할 경우 수월하게 작업할 수 있을 것으로 예상한다.

hatchling13 commented 3 years ago

joi를 우선적으로 선택한다.

현재 프로젝트의 수명이 언제까지일지를 가늠할 수 없다. 이 말은 곧, TypeScript 도입 같이 프로젝트의 근본을 뒤흔드는 작업을 지금 당장 하던가 아니면 끝도 없이 미뤄야 한다는 말이 된다. 지금 당장은 완성이 목표지, 내실을 다질 여력이 되지는 않는 것 같다는 판단을 내렸다. 결론적으로 TypeScript를 지금 당장 도입하지는 않을 것이고, 그렇다면 가장 인기있는 패키지를 놔두고 딴 걸 쓸 이유는 없다. 따라서 joi를 선택한다.