2025년 2월 26일 수요일

[npm-cli] npm warn config init.author.name Use `--init-author-name` instead 출력 이유 확인


증상:


npm 명령 수행 시 아래와 같은 경고 문구 표시

npm warn config init.author.name Use `--init-author-name` instead.
npm warn config init.author.email Use `--init-author-email` instead.


원인:


npm 설정에 init.author.name 값은 init-author-name 로 변경됨

관련 github issue #6642


해결:


값 설정


npm config set init-author-name <name>
npm config set init-author-email <email>

기존키 삭제


.npmrc 파일에 init.author.name, init.author.email 값 삭제
  • per-project config file (/path/to/my/project/.npmrc)
  • per-user config file (~/.npmrc)
  • global config file ($PREFIX/etc/npmrc)
  • npm builtin config file (/path/to/npm/npmrc)



참고

init-author-name 과 init-author-email 은 npm init 과정에서 package.json 에 author 값을 설정하는데 사용됨





2023년 12월 28일 목요일

fetch + progress

fetch + progress

 

요약

  • ArrayBuffer 다운로드 방식을 커스텀


예) react + fetch + progress



gzip encoding 시 content length 값 문제

Transfer-Encoding: gzip

증상:
  • gzip encoding 시 content-length 는 압축된 데이터 크기이기 때문에 실제 데이터 보다 크기가 작다

우회:
  • 요청 헤더에 Accept-Encoding 을 명시하여 gzip 방지
    • 주의: 서버 구현에 따름




[React] useRef, useState, useReducer, useContext 사용례 비교

요약

  • useRef 렌더링 X 변수 설정 필요한 경우 [컴포넌트]
  • useState 렌더링 O 단순한 데이터 타입 [컴포넌트]
  • useReducer 렌더링 O 복잡한 데이터 타입 (예: object), 복잡한 operation [컴포넌트]
  • useContext 여러 컴포넌트에 걸쳐 공유하는 데이터, 함수 [Provider 하위]


useRef


언제?
  • 컴포넌트 안에서만 사용되는 한번 초기화되는 변수
  • 렌더링 필요없는 경우

사용례
  • 비디오 element 조작

 

useState


언제?
  • 컴포넌트 안에서만 사용되는 한번 초기화 되는 변수
  • 렌더링 필요한 경우
  • 간단한 데이터 타입 (예: string, number, boolean 등)

사용례
  • 간단한 계산기

 

useReducer


언제?
  • 컴포넌트 안에서만 사용되는 한번 초기화 되는 변수
  • 렌더링 필요한 경우
  • 복잡한 데이터 타입 (예: object 등)
  • 데이터를 다루는 다양한 operation 필요한 경우

사용례
  • fetch 데이터

 

useContext


언제?
  • 여러 컴포넌트에 걸쳐 사용되며 한번 초기화 되는 변수

사용례
  • 테마 설정
  • 로그인 정보