12. 리액트 [인증] - 인증의 기본 원리, 파이어 베이스 Auth편(1)
[인증의 기본 원리] 인증은 크게, 서버사이드 인증 방식과 토큰 인증 방식을 가진다. 1. 서버사이드 인증 방식 서버측에 사용자들의 정보를 저장하고, 유저가 정보를 제출하면, 확인하고, 그에 따라 응답한다. 정보는 데이터베이스나, 디스크 등에 저장되어 관리된다. 사용자로부터 로그인 요청이 오면, 인증이 되었을 경우, 클라이어언트의 상태를 계속 유지하게 된다. (인증 상태, 즉 사용자 정보 유지) 이 경우를 Sateful(상태성) 이라고 한다. 로그인 사용자가 늘어 날 경우 세션을 유지하는 메모리와, CORS 오류 등으로 인해, 소규모에서만 적용이 가능하다. 또한, 백엔드와 프론트엔드 간의 커넥션이 긴밀하지 않을 경우, 언제든 해킹의 위험이 있다. 2. 토큰 기반의 인증 방식 서버측에 사용자들의 정보를 저..
2022. 12. 22.
11. 항상 [로딩 State] 을 신경쓰자! FETCH 등의 비동기 함수를 사용한다면, with Redux
비동기 함수를 사용한다면, 항상 대기중인 경우가 생긴다. 0.1초, 길게는 1초 동안의 그 시간동안, 멈춰있다면, 한국인의 유저경험에는 충족치 않을것이다...! 그 짧은 시간이라도, 항상 로딩 State 를 적용하여, 로딩 시간동안 무언가 행동을 보여주도록 하자 1. 로딩 스테이트 Slice 만들기 with redux-toolkit redux-toolkit 을 사용한다면, UI(ui를 띄우는) State 를 만들어서, 그에따라, 로딩, Modal 등의 알림창이 나오는 형태를 만들면 편하고 훌륭하다. // ui 전용 redux-toolkit 의 slice import { createSlice } from "@reduxjs/toolkit"; const initialState = { getFetchLoadin..
2022. 12. 22.
9. 훅의 사용 유의사항과 커스텀 훅에 대하여
중복되는 함수 및 중복되는 코드가 있을때, helper(나는 이렇게 지었다) 폴더 안에 넣어둔 파일안에 넣고, "아웃소싱" 을 하는 [ 코드 리팩토링 ] 을 하여, 깔끔한 상태를 유지하려 한다. 리팩토링을 하고 싶은데, 그 안에 Hook 이 들어있다면? "Hook 이 포함된 상태의 함수"를 리팩토링해야한다. 이때, Hook 을 포함하는 리팩토링 코드를, "커스텀 훅" 이라고 한다. 1. 훅을 아웃소싱? 훅의 사용 유의사항을 보자 1. HOOK 은 반드시 "리액트 컴포넌트 함수"안에서 사용해야한다. 리액트 컴포넌트 밖에 정의한 "리듀서 함수", "next의 SSR", "API" 등.. 다른곳은 안된다. 2. HOOK 은 반드시, "컴포넌트 함수의 최상위에 사용해야한다" 콜백 함수, 중첩 함수 같은, 하위 ..
2022. 12. 14.