반응형

분류 전체보기

    React Query 살펴보기

    1. 배경 진행하던 프로젝트에서는 fetch API만을 래핑해서 사용하였습니다. fetch API만으로도 다양한 메소드를 지원하기 때문에 충분하긴 했지만, 문제는 에러 처리였습니다. 에러 처리를 계속해서 try catch 문으로 묶어주거나 예외처리로 계속 핸들링해야 하는 번거로움이 생겼습니다. 그래서 추가로 찾은 API 전용 툴은 react-query, swr가 있었습니다. 에러처리나 로딩처리가 자유롭고 잘 래핑해서 쓰면 좋을 것 같다고 판단하였습니다. 또한, react-query가 다운수가 더 많고 프로덕션 레벨에서의 레퍼런스도 많아 선택하게 되었습니다. https://www.npmtrends.com/swr-vs-react-query 2. React Query란: 문법 간단 설명 그러면 React Qu..

    SvelteKit에는 왜 Vite가 선택되었을까? "Vite VS Snowpack"

    SvelteKit에는 왜 Vite가 선택되었을까? Vite VS Snowpack svelte 인프런 강의를 보다가 snowpack으로 되어 있길래 강사님에게 빌드툴 선택에 대한 질문을 올렸더니 아래 유투브를 공유해 주셨다. 유투브 링크 내가 이해한 내용으로 SvelteKit에서 Vite를 선택한 이유를 간단히 정리해 보려고 한다. (유투브가 21년도 3월 영상이라 현재와 다를 수 있다.) Vite가 버전이 1에서 2로 올라가면서 지원하는 기능들이 좋아졌다. Vite 사용 시 작성하는 코드가 적어졌다. snowpack을 사용할 경우에는 css 코드 스플리팅과 소스맵으로 스택 추적하는 기능에 대한 코드를 많이 써야 했다. // svelte.config.js // 기본 코드가 매우 적다. CRA나 Vue-cl..

    [Typescript Challenges] Awaited, If, Concat

    [Typescript Challenges] Awaited, If, Concat

    Typescript Challenges에 있는 타입스크립트 문제를 easy 단계부터 풀어 보고 있습니다. 3문제씩 풀이와 함께 업로드합니다. Awaited https://github.com/type-challenges/type-challenges/blob/master/questions/189-easy-awaited/README.md 문제: Promise로 들어온 타입을 Promise 해제된 타입으로 변환하는 문제. 1) 우선 Promise 타입이 아닐 경우에는 에러가 발생해야 하기 때문에 generic 타입에 extends로 타입 제한을 부여합니다. T extends Promise 2) 이제 Promise 안에 담긴 타입을 무엇인지 알아야 합니다. 이 때 필요한 키워드가 infer라는 "타입 추론" 키워..

    [Typescript Challenges] First of Array, Length of Tuple, Exclude

    [Typescript Challenges] First of Array, Length of Tuple, Exclude

    Typescript Challenges에 있는 타입스크립트 문제를 easy 단계부터 풀어 보려고 합니다. easy에서는 3문제씩 풀이와 함께 업로드합니다. First of Array https://github.com/type-challenges/type-challenges/blob/master/questions/14-easy-first/README.md 문제: 배열을 generic 타입으로 입력했을 때 해당 배열의 첫 번째 요소 타입을 구현하는 문제. 1) 우선 대부분의 경우에는 T[0]로 하게 되면 배열 자신의 값으로 되기 때문에 타입이 지정이 됩니다. 2) 고려해야 할 부분은 빈 배열을 넣었을 경우입니다. 타입스크립트에서도 삼항연산자를 쓸 수 있습니다. 조건은 extends 키워드를 한정적으로 부여해..

    [Vite] Webpack 대체 가능할까? Vite + React 설정하기

    [Vite] Webpack 대체 가능할까? Vite + React 설정하기

    vite는 사전 번들링은 esbuild, 번들링 시에는 rollup을 기반으로 속도 개선과 module, ssr 지원 등 모던한 개발 구성을 갖출 수 있는 빌드 도구입니다. 차세대 프런트엔드 개발 툴이라고 소개하는 vite로 React 환경을 구성해 보고 장단점과 개인 의견까지 덧붙여 보겠습니다. 개요 구성 및 주의점 장단점 결론 1. 구성 및 주의점 react, scss, webpack, babel, typescript로 구성되어 있던 것을 vite로 재구성하였습니다. 1) index.html은 기본적으로 프로젝트의 root 경로에 있어야 합니다. root 경로가 아닌 다른 곳에 위치하고 싶다면 root 옵션에 해당 경로를 추가해 주어야 합니다. // vue.config.js export default..

    [Typescript Challenges] Pick, Readonly, Tuple to Object

    [Typescript Challenges] Pick, Readonly, Tuple to Object

    Typescript Challenges에 있는 타입스크립트 문제를 easy 단계부터 풀어 보려고 합니다. easy에서는 3문제씩 풀이와 함께 업로드합니다. Pick https://github.com/type-challenges/type-challenges/blob/master/questions/4-easy-pick/README.md 문제: Pick와 같은 결과가 나오도록 타입스크립트로 구현하기 1) K가 우선 interface의 key 값을 기반으로 하는 타입이어야 한다. 따라서 keyof를 활용해 두 번째 제네릭 값을 구성한다. K extends keyof T 2) keyof 결과(=K)가 union이기 때문에 K 중 하나를 key 값으로 두고, value는 해당 key 값에 대한 value가 되게 하..