[Next.js] Next 15 국제화라이브러리 비교 + 적용하기 (i18n, next-intl)
·
Front-End/Next
요즘의 모던하고 글로벌한 웹에는 국제화(i18n)와 지역화(i10n)라는 개념이 등장합니다.쉽게 정리하면 다음과 같습니다.✅ 국제화(i18n, Internationalization): → 다국어 지원을 위해 코드 구조를 준비하는 과정→ 예: 문자열을 하드코딩하지 않고 번역 파일을 사용✅ 지역화(l10n, Localization):→ 특정 언어와 문화에 맞게 UI와 콘텐츠를 변경하는 과정→ 예: 날짜/시간 형식 변경, 통화 기호 적용 ($, ¥ 등) , 번역된 텍스트 사용🚀 쉽게 말하면 i18n은 "준비", l10n은 "적용"하는 과정이다.이번에 저희 회사에서 신규 백오피스 프로젝트에 일본어 지원이 필요해국제화를 적용하게 되었습니다. Next.js 15의 앱라우터에서 국제화를 도입한 경험을 공유합니다..
[Axios] 엑시오스 Interceptors로 공통 에러 처리하기 (401)
·
etc
Axios에서는 interceptors 기능을 통해요청을 보내기 전, 응답을 받기 전에 특정 로직을 수행할 수 있습니다. 특히 같은 Axios Instance를 사용하는 요청들에 대해공통적으로 설정할 수 있다는 점이 큰 장점입니다. 예를 들어, 인증이 만료된 사용자는 401 에러를 받게 됩니다.각각 페이지에서 이를 catch 문으로 처리할 수 있지만,모든 API에 동일한 로직을 반복적으로 작성하는 것은 비효율적이고 번거롭습니다. 🤔 이럴 경우 interceptors 기능을 활용하면 효과적으로 관리할 수 있습니다.함께 알아봅시다. 😀📝 Axios interceptorhttps://axios-http.com/kr/docs/interceptors 인터셉터 | Axios Docs인터셉터 then 또는 ca..
[Next.js] 넥스트 빌드파일 html id="__next_error__" 해결방법 (useSearchParams)
·
Front-End/Next
Next.js 14버전으로 개발한 웹사이트를 구글 서치 콘솔에 등록하려고 했지만,robots 메타태그에서 noindex에 의해 제외되었다는 메시지가 표시되었습니다. 🤔 문제를 확인해 보니, 웹사이트는 정상적으로 동작하는 것처럼 보였지만next build를 통해 생성된 빌드 파일이 Next.js 에러 페이지를 출력하고 있었습니다. html id="__next_error__" 해결과정 함께 알아봅시다 😀 📝 문제 상황  ⦁__next_error__Next.js의 에러 페이지는 기본적으로 메타태그를 포함합니다.따라서 noindex 메타태그가 자동으로 삽입되었기 때문에 구글의 검색엔진이 색인 작업을 하지 않았습니다. 해당 현상은 next dev를 통해 개발환경에서 실행했을 경우에는 재현되지 않습니다.따..
[Node.js] digital envelope routines::unsupported 에러 해결 방법
·
Back-End/Node.js
# 에러 로그Error: error:0308010C:digital envelope routines::unsupportedQuasar로 구축된 Vue.js 프로젝트에서위와 같은 에러가 발생했습니다. Node.js v17부터 OpenSSL 3.0이 기본적으로 포함되어 있기 때문에이전 버전의 암호화 알고리즘(legacy 알고리즘)을 사용하는패키지나 라이브러리에서는 호환성 문제가 발생하게 됩니다. 해결 방법 함께 알아봅시다. 😀📝 해결 방법 해당 깃허브 이슈를 살펴보면 webpack 4버전에서 이슈가 존재하는 듯 합니다. ⦁ 방법 1. OpenSSL 레거시 모드 활성화 Node.js v17 이상을 유지하면서 문제를 해결하려면 openSSL의 레거시 모드를 활성화해야 합니다.// 방법 1. 실행 명령에 옵션 ..
[React] 리액트 SNS 공유하기 기능 개발하기 (Web Share API란?)
·
Front-End/React
요즘 멋있는 웹에는 위와 같은 SNS 공유 기능이 꼭 들어있는데요.Web Share API를 사용하면 간단하게 구현할 수 있습니다. 웹 표준 기술인 Web Share API는웹 애플리케이션에서 URL, 텍스트, 이미지 등을다른 앱으로 공유할 수 있게 해줍니다. 기기의 네이티브 공유 인터페이스와 연동되어별도로 개발하지 않아도 사용자의 기기에서 친숙한UI를 제공할 수 있는 장점도 있습니다. 사용방법 함께 알아봅시다. 😀 📝 공식문서https://developer.mozilla.org/en-US/docs/Web/API/Web_Share_API Web Share API - Web APIs | MDNThe Web Share API provides a mechanism for sharing text, links..
[React] 리액트 QR 코드 스캔하기 (react-qr-reader)
·
Front-End/React
https://hyunki99.tistory.com/117 [React] 리액트 QR 코드 생성하기 (qrcode.react)프로젝트에서 주소를 복사하기 위해서QR 코드를 생성하고 스캔해야 하는기능을 구현해야 했었는데요. 먼저 QR 코드 생성을 위해서qrcode.react 라이브러리를 사용했습니다.사용방법 알아봅시다hyunki99.tistory.comQR 코드 생성은 이쪽입니다. 😀  저번 포스팅에서 QR 코드를 생성했으니,이번에는 QR 코드 스캔입니다. HTML5의 웹 표준 API인 getUserMedia를 사용하면사용자의 브라우저에서 카메라에 접근할 수 있습니다.이 영상 데이터를 통해서 QR 스캔 등 필요한 기능을 구현할 수 있습니다. 하지만 직접 구현하는 방법은 시간과 노력과 연구가 필요하기 때문..
[React] 리액트 QR 코드 생성하기 (qrcode.react)
·
Front-End/React
프로젝트에서 주소를 복사하기 위해서QR 코드를 생성하고 스캔해야 하는기능을 구현해야 했었는데요. 먼저 QR 코드 생성을 위해서qrcode.react 라이브러리를 사용했습니다.사용방법 알아봅시다 😀 QR코드 스캔은 2탄으로 작성할게요📝 라이브러리 소개https://www.npmjs.com/package/qrcode.react qrcode.reactReact component to generate QR codes. Latest version: 4.1.0, last published: 7 days ago. Start using qrcode.react in your project by running `npm i qrcode.react`. There are 970 other projects in the npm..
[Next.js] TypeError: jsxDEV is not a function 해결 방법 (캐시 에러)
·
Front-End/Next
// 에러 로그⨯ Internal error: Error: An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error. digest: "3212179931"TypeError: (0 , react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV) is not a ..