supabase를 사용하는 이유에 대해 말씀해주세요.
- 서버,업데이트,보안,인증 등 백엔드에 필요한 모든걸 제공해주어 프론트 엔드 개발에만 집중할수있게해주고
- NoSQL 인 firebase와 다르게 강력한 관계형 데이터 베이스중 하나인 (포스트그레스)PostgreSQL을 사용합니다,
- 수파 베이스는 오픈 소스 프로젝트로서, 커스텀이 자유롭고 필요한 경우 코드를 수정할 수 있습니다,또한 supabase에서는 firebase에비해 마이그레이션도 비교적 간편합니다 (명령 한번으로 전체 데이터 베이스를 데스크톱으로 내보낼수도있습니다)(테이블에서 export as CSV)
- SQL Editor 에있는 자체 AI기능또한 SQL지식이 부족한 상태인 우리에게 매력적인 요소중 하나,
로우레벨 시큐리티 기능을 사용해 특정 행동에 대한 권한부여도 가능합니다
ex (올린 유저uid와 삭제하려는 유저uid가 같아야만함)
redux를 사용하는 이유에 대해 말씀해주세요.
- 일관성 있는 상태 관리: Redux는 모든 상태를 중앙 집중화된 저장소인 스토어에서 관리합니다. 이는 애플리케이션 전체에서 상태를 일관성 있게 관리하고 추적하기 쉽게 해줍니다.
- 예측 가능한 상태 업데이트: Redux는 액션(상태를 변경하는 명령)과 리듀서(상태를 어떻게 변경할지 정의하는 함수)를 통해 상태를 업데이트합니다. 이는 상태 변경을 예측 가능하게 만듭니다.
- 팀원들이 이미 익숙하고 또한 리덕스 툴킷까지 사용을 염두에 두었습니다
- configureStore API: Redux 툴킷은 configureStore API를 제공하여 기본 Redux 설정을 단순화시킵니다. 이는 미들웨어 설정, 개발자 도구 연결 등을 쉽게 처리해줍니다.
- createAction 및 createReducer: createAction 함수는 액션 생성자를 더 쉽게 만들 수 있게 해주고, createReducer 함수는 리듀서를 보다 간결하게 작성할 수 있게 합니다.
- createSlice: createSlice 함수는 액션 생성자와 리듀서를 한 번에 생성해줍니다. 이는 상태 업데이트 로직을 관리하는 데 도움을 줍니다.
React.Fragment에 대해 설명해주세요.
리액트에서는 하나의 컴포넌트가 여러 개의 엘리먼트들을 반환한다. 리액트를 사용하기 위한 문법인 JSX 를 쓸 때, return 문 안에는 반드시 하나의 최상위 태그가 있어야 한다. 이는 리액트가 하나의 컴포넌트만을 리턴할 수 있기 때문이다.