목록전체 글 (68)
현인
API fetch 중 문제가 발생했을 때, 에러 창을 띄우는 것이 아닌 이전 데이터를 유지 해야 한다는 요구사항이 있어서 다음과 같이 구현했다. 프레임워크는 Next.js 이며, 별도의 API 관련 라이브러리를 사용하지 않고 fetch로 가져온다.const fetchData = useCallback(async () => { const response = await fetch('API URL'); if (response.ok) { const fetchedData = await response.json(); setData(fetchedData); // 데이터를 LocalStorage에 저장, 오류 발생 시 캐시된 데이터 사용하기 위함 localSt..
현재 회사에서 Monorepo 구조로 프로젝트를 관리하고 있는데, Release Tag를 수동으로 찍고 있어서 불편하다고 느꼈다.Release Tag를 찍으려면 package.json 버전을 올리고, 컨벤션에 맞춰서 tag를 생성한 뒤 올려야 하는데 매번 수동으로 작업하면 실수할 수도 있고 귀찮기도 하니 스크립트로 구현했다.내가 원한 기능은 ‘release ’ 명령어를 입력하여 release tag를 작성하는 것이었다.먼저 스크립트는 아래 처럼 구현했다.#!/bin/bash# 명령어 입력 확인if [ $# -eq 0 ]; then echo "❌ Usage: release " exit 1fi# 프로젝트 이름project_name=$1# 프로젝트 경로 설정, 모노레포라서 apps 디렉토리 하위로 프로젝트..
robots.txt 파일은 검색엔진 크롤러가 사이트에서 접근할 수 있는 URL을 지정하는 파일이다. 주로 크롤러 요청으로 인해 사이트에 과부하가 발생하는 것을 방지하기 위해 사용한다. 다만, 이 파일은 웹페이지가 Google 검색결과에 표시되지 않도록 차단하는 수단으로 사용해서는 안 된다. 검색결과에서 페이지를 숨기려면 noindex 태그를 사용하거나 비밀번호로 보호해야 한다.robots.txt 파일의 주요 용도크롤러 트래픽 관리크롤러가 특정 URL이나 리소스에 접근하지 못하도록 제한한다.리소스 크롤링 차단단, 이러한 리소스가 페이지 이해에 중요한 역할을 한다면 차단해서는 안 된다.중요하지 않은 이미지, 스크립트, 스타일 파일 등을 차단하여 크롤러가 불필요한 리소스를 크롤링하지 않도록 한다.미디어 파일 ..