반응형

전체 글 103

[TypeScript] d.ts 파일과 types.ts 파일의 차이

안녕하세요, Jay입니다. 오늘은 TypeScript에서 자주 사용하는 두 가지 파일인 d.ts 파일과 types.ts 파일의 차이를 알아보려고 합니다.저도 처음 TypeScript를 사용하면서 헷갈렸던 부분 중 하나인데요, 프로젝트를 하다 보면 이 둘을 어떻게 구분하고 사용하는지 감이 안 올 때가 있습니다. 이 글에서는 d.ts 파일과 types.ts 파일의 특징과 용도를 설명해 보겠습니다.  1. d.ts 파일이란?d.ts 파일은 타입 선언 파일(Declaration File)이라고 합니다.주로 외부 라이브러리의 타입 정보를 TypeScript에 알려주기 위해 사용됩니다. 예를 들어, 어떤 JavaScript 라이브러리를 사용하는데 해당 라이브러리가 타입 정보를 제공하지 않는다면 d.ts 파일을 만들..

JavaScript 2025.01.16

[Git] git pull, git fetch 명령어 차이

안녕하세요, Jay입니다. 😊오늘은 Git을 사용하면서 자주 사용하는 명령어인 git pull과 git fetch의 차이를 알아보려고 합니다.두 명령어 모두 원격 저장소(remote repository)와 관련이 있지만, 그 동작 방식에는 명확한 차이가 있습니다.git fetch란?git fetch는 원격 저장소의 변경사항을 로컬 저장소로 가져옵니다.하지만 작업 중인 브랜치에는 영향을 주지 않습니다. 즉, 로컬 브랜치의 상태는 그대로 유지되고, 원격 저장소의 최신 커밋만 확인할 수 있게 됩니다.git fetch 사용 예시원격 저장소에서 변경 사항이 있는지 확인하고 싶을 때 사용합니다.merge 또는 rebase하기 전에 최신 상태를 가져와 비교하고 싶을 때 유용합니다.git pull이란?git pull..

Tool 2025.01.15

Error: socket hang up, ECONNRESET 오류

안녕하세요, Jay입니다. 오늘은 Error: socket hang up과 ECONNRESET 오류에 대해 이야기해보려고 합니다. 이 오류는 클라이언트와 서버 간 연결이 갑작스럽게 종료될 때 발생하는 문제로, 특히 네트워크 요청이나 API 호출 과정에서 자주 나타납니다. 이 글에서는 이 오류의 원인과 해결 방법을 단계별로 알아보겠습니다.Error: socket hang up이란?Error: socket hang up은 클라이언트가 서버와 연결을 시도했지만, 그 연결이 예상치 못하게 종료된 상황을 나타냅니다. 이 오류는 주로 다음과 같은 이유로 발생할 수 있습니다:서버 타임아웃: 서버가 응답을 처리하는 데 시간이 오래 걸려 연결이 끊긴 경우입니다.요청 제한 (Rate Limiting): 서버가 과도한 요청..

Network 2025.01.13

Zustand를 활용한 React 상태 관리

안녕하세요, Jay입니다. 오늘은 Zustand라는 React 상태 관리 도구를 소개하려고 합니다. Zustand는 경량 상태 관리 라이브러리로, 간단한 API와 강력한 성능을 제공합니다. Redux처럼 강력하면서도 Context API처럼 간결한 사용성을 자랑하기 때문에 많은 React 개발자들에게 사랑받고 있습니다. 이 글에서는 Zustand의 특징과 사용법, 그리고 실제 예제를 통해 Zustand를 활용하는 방법을 자세히 알아보겠습니다.Zustand란 무엇인가요?Zustand는 독일어로 "상태"를 뜻하며, React 애플리케이션에서 상태 관리를 간단하게 처리할 수 있게 해주는 라이브러리입니다. 다음과 같은 특징을 가지고 있습니다:가벼운 설치 용량: 불필요한 의존성이 없고, 코드베이스도 가볍습니다.보..

React 2024.12.31

Next.js v14

Turbopack 53% 더 빠른 로컬 서버 시작 94% 더 빠른 코드 업데이트시, 새로고침 Server Actions (Stable) caching과 revalidating 통합 간단한 함수나 기본적인 형태로 동작 Partial Prerendering (Preview) 빠른 초기 정적 응답 + 스트리밍 동적 콘텐츠 Next.js Learn (New) App Router, authentication, database등의 무료 코스 추가 Next.js 14 Next.js 14 includes included performance, stability for Server Actions, a new course teaching the App Router, and more. nextjs.org

React 2023.10.31

React v18

new Root API 이전에는 Root Container에 변화가 없더라도, 새로 랜더링하기 위해 Root를 반드시 체크했어야만 했다. 위 과정이 무의미하다고 판단하여 새로운 Root API를 생성함. 매번 Root를 체크하지 않음. 새로운 Root API에는 Callback이 제거되었는데, hydration, SSR 과 함께 Callback을 사용하면 타이밍이 개발자의 생각과 다르게 작동할 수 있기 때문이다. automatic batching 더 나은 랜더링 성능을 위해 state 업데이트를 하나로 그룹화 하는 것을 의미한다. 모든 state 업데이트는 리액트에서 발생하는 이벤트 내부의 업데이트와 동일한 방식으로 처리하여 랜더링 횟 수를 최소화 함. automatic batching을 원하지 않는 경..

React 2023.10.30

[React] 이벤트 리스너에서 현재 상태가져오기

이벤트 리스너 내부에서 상태를 접근하면 최신의 상태를 가져올 수 없습니다. 이벤트 리스너가 등록될 시점의 상태로만 접근이 가능합니다. 그렇다면, 최신의 상태를 가져오기위해서는 어떻게 해야할까요? useRef를 이용해 이 문제를 해결 할 수 있습니다. 간단한 예제 프로그램을 만들어봤습니다. 화면에는 현재 count 상태 값을 출력하고, 버튼을 클릭하면 count 값을 1 증가시킵니다. 증가된 상태 값은 바로 적용되어 화면에 출력됩니다. 브라우저 화면을 더블 클릭하면 count 값을 alert 창에 출력하도록 이벤트 리스터도 추가했습니다. import "./App.css"; import { useEffect, useState } from "react"; function App() { const [count,..

React 2023.06.20

[Recoil] Selectors 기본 알아보기

selectors는 atoms이나 다른 selectors를 입력으로 받아드리는 순수 함수이다. selectors는 상태를 기반으로 하는 파생 데이터를 계산하는 데 사용된다. 이 말은, 최소한의 상태만 atoms에 저장하고, atoms과 selectors를 조합/가공하여 파생될 수 있는 모든 데이터는 selectors에 명시한 함수를 통해 효율적으로 계산함으로 쓸데 없는 상태의 보존을 방지한다. selector 함수 내부에서 사용하는 atoms 또는 selectors가 업데이트 되면 해당 selector 함수도 다시 실행된다. const fontSizeLabelState = selector({ key: 'fontSizeLabelState', get: ({get}) => { const fontSize = g..

React 2023.01.27

Recoil이란?

React를 위한 상태관리 라이브러리. Recoil을 사용하면, atoms(공유 상태)에서 selectors(순수 함수)를 거쳐 React 컴포넌트로 내려가는 data-flow graph를 만들 수 있다. Atoms 상태의 단위로서, 업데이트와 구독이 가능. atom이 업데이트되면 구독하고 있는 모든 컴포넌트는 새로운 값을 반영하여 다시 렌더링 된다. 런타임에 생성 가능. Selectors atoms나 다른 selectors를 입력으로 받아들이는 순수 함수 상태를 기반으로 하는 파생 데이터를 계산하는 데 사용. 최소한의 상태 집합만 atoms에 저장하고 다른 모든 파생 되는 데이터는 selectors에 명시한 함수를 통해 효율적으로 계산하므로서 쓸모 없는 상태의 보존을 방지 참고: 주요 개념 | Reco..

React 2023.01.24
반응형