야무지게 Axios 사용하기클라이언트와 서버가 통신하기 위해 사용되는 대표적인 라이브러리 중 하나입니다.Axios 인스턴스를 사용하여 API 클라이언트 설정하기우선 야무지게 axios 를 사용할라면, 그냥 쓰지 말고 axios.create를 사용하여 axios 에 대한 커스텀 셋팅을 해줍시다.요청에 대한 baseURL 과 요청마다 자동으로 인증 코드를 추가하는 인터셉터, 타임 아웃 기능을 추가해줍시다.Axios 인스턴스 생성우선, axios.create를 사용하여 기본 설정을 가진 Axios 인스턴스를 생성합니다. 이 인스턴스는 기본 URL과 헤더를 설정하여 모든 요청에서 일관된 설정을 유지할 수 있게 해줍니다.import axios from 'axios'const apiClient = axios.cre..
리액트 프로젝트를 진행하다 보면, 여러 리액트 프로젝트 구조를 상상하게 된다.가장 우리가 기본적으로 나열하는 components 와 pages 폴더를 만들어서 나열하는 구조가 있지만, 이러한 구조는조금만 규모가 커지거나 훅, 상태 관리 등이 들어오게 되면 가독성이 확연하게 떨어지게 된다. 그래서 features 기반으로 그룹화(페이지, 컴포넌트, 훅, 스토어 등)하여 사용하게 되는데, 이를 기반으로 React 프로젝트 구조를 아래와 같이 구축해보자. Vue 도 마찬가지로 다를게 없다고 생각한다. 리액트 프로젝트 구조 구축하기기본적으로 요즘 유행하는 vite 기반의 react 프로젝트를 만들어서 프로젝트를 먼저 구조화 해보자.먼저 yarn create vite 를 이용해서 react 프로젝트를 생성해줍니다..
스토리북8.x이상 에서 React Router v6 이상 버전을 사용시에 스토리북에 있는 공통 컴포넌트들에서 라우팅 사용 관련 에러가 발생하는 경우가 있습니다. // 에러 문구 useNavigate() may be used only in the context of a component.에러가 발생하는 원인은 무엇인가?1. React Router 의 훅들을 사용하기 위해서는 라우터가 필요합니다. 2. 스토리북은 파일 서버 기반의 환경과 컴포넌트를 독립적으로 사용하는 특성으로 인해 라우터를 제공하지 않습니다. 3. 이를 해결하기 위해 createMemoryRouter 를 이용하여 메모리 라우터를 별도로 만들고 스토리북에 직접 라우터를 제공합니다. 이를 이용하면, 브라우저의 URL 을 변경하지 않아도 메모리에..
우리는 이제 세상을 살면서 AI 모델과 함께 하는 세상에 살고 있습니다.chat gpt, gemini, 뤼튼 등 다양한 AI 모델이 있는데 이번에 새롭게 출시된 Calude 3.5 Sonnet 을 소개해볼까 합니다.https://www.anthropic.com/news/claude-3-5-sonnet Claude 3.5 Sonnet 은?기존에 Claude 3 Opus 라는 모델을 가지고 있었는데, 해당 모델을 뛰어넘는 모델이라고 합니다. 그리고 Claude 3.5 Sonnet 을 출시하면서 Claude Artifact 라고 하는 ai 기반으로 코딩하면서 옆에 별도의 콘텐츠창을 두고 사용자가 실시간으로 말을 하면서 코딩을 하는 기능이라고 합니다.이미 커뮤니티에서는 많은 사람들이 해당 기능을 기반으로 간단한..
셋팅vite 기반으로 React 를 만든 다음에 경로를 쉽게 사용할 수 있도록 alias 로 셋팅합니다.1. new URL("./src", import.meta.url)- 이 코드는 현재 모듈을 기준으로 상대 경로 "./src"를 가리키는 URL 객체를 만듭니다. - import.meta.url은 현재 모듈의 URL을 나타냅니다.2. fileURLToPath(new URL("./src", import.meta.url)):- new URL("./src", import.meta.url)를 통해 생성된 URL 객체를 fileURLToPath 함수에 전달합니다. - fileURLToPath 함수는 파일 URL을 파일 경로 문자열로 변환합니다.3. fileURLToPath(new URL("./src", impor..
상용배포를 하게 되면 에러가 발생시에 상용서버에서 디버깅을 하기가 쉽지가 않다.보통 build 를 하게 될 때, 불필요한 주석, 디버거, 콘솔을 없애고 minify 하게 되는데, 상용에서 에러가 난 경우에 개발용으로 만들었던 로그가 찍히지 않다보니 에러 발생시 개발서버를 이용해서 확인해야 되는 이슈가 발생하였음.특히 프론트엔드에서는 직접 로그를 만들지 않으면, 로그 관리가 어렵다는 점이 발생함. 그래서! 상용서버에서 확인할 수 있도록, console.log 기반의 디버그 모드를 구현하기로 함.1. 디버그 모드 함수 모듈화const startDebugMode = () => { if (process.env.NODE_ENV === 'development') return window.setDebugMode ..
- Total
- Today
- Yesterday
- nextjs14
- React
- nextjs13
- cors
- docker
- vue composition api
- NUXT
- dockerfile
- 티스토리챌린지
- 서버 to 서버
- 스벨트
- svelte
- AWS
- vscode
- openAI
- Git
- 깃허브
- Github Actions
- nuxt2
- nodejs
- Embedding
- 타입스크립트
- 네이버 서치 어드바이저
- seo
- Vite
- webpack
- Storybook
- NextJS
- vue router
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |