개발 일지

개발 일지/개발 일지

[개발 일지] Suspense를 이용하여 모든 api에 Loading 화면을 설정하자 (NextJS, Suspense)

Suspense란 무엇일까? Suspense란, 아직 렌더링이 준비되지 않은 컴포넌트가 있을 때 로딩 화면을 보여주고 로딩이 완료되면 해당 컴포넌트를 보여주는 React에 내장되어 있는 기능입니다. SPA(Single-page-Application)의 단점은 한 번에 사용하지 않는 모든 컴포넌트까지 불러오기 때문에 첫 화면이 렌더링 될 때까지 시간이 오래걸리기는 것입니다. React는 lazy를 통해 컴포넌트를 동적으로 import하여 초기 렌더링 지연시간을 어느 정도 줄여줄 수 있습니다. const SomeComponent = React.lazy(() => import('./SomeComponent')); Router로 분기가 나누어진 컴포넌트들을 위 코드처럼 lazy를 통해 import하면 해당 pa..

개발 일지/개발 일지

[개발 일지] Axios instance 설정 끝장내기 (Axios, instance, interceptors, JWT)

Axios ; node.js와 브라우저를 위한 Promise 기반 HTTP 클라이언트 Axios를 사용하기에 앞서서, 우리가 사용할 Axios의 instance를 만들어줄 수 있습니다. 저희는 src > apis > _axios > instance.ts에 instance를 생성하였습니다. 1. instace 생성 import axios from 'axios'; import { CONFIG } from '@config'; ... const instance = axios.create({ baseURL: CONFIG.API_BASE_URL, }); CONFIG.API_BASE_URL은 저희 서버의 uri입니다. 2. instance.interceptors ; then 또는 catch로 처리되기 전에 요청과 응..

개발 일지/개발 일지

[개발 일지] 채팅 기능을 구현해보자 (Websocket, Stomp, SockJS)

REST API vs Websocket API 채팅은 REST API로도 구현할 수 있다. 그러나 Rest API를 이용하여 반복하여 요청해서 데이터를 요청하고, 데이터를 받아올 수 있게 되면 자원 낭비가 일어나게 된다. 그렇다면 한 번만 요청하고 그 뒤로 정보가 변할 때마다 그냥 불러오도록 할 수 없을까? 여기서 새로운 방식의 API가 필요하게 된다. 바로 Websocket API이다. 구독형 API라고도 할 수 있다. Websocket API : Statefull protocol, 요청을 매번 보내는 게 아니라 connection을 유지해서 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술 - Websocket API 방식에서는 데이터 요청자와 데이터 제공자 간에 흐르는 채널이 열리게 된다. - ..

피터s
'개발 일지' 카테고리의 글 목록 (3 Page)