개발자
류준열

게시글 전체 보기

next.js i18n이용해서 다국어 적용하기

useTraslation 훅을 통해 언어를 관리하는 경우 새로고침이나 링크 공유시에 언어가 초기화 되는 이슈가 있었다. 페이지 구조를 엎어야 했다.

업무 프로세스 개선 경험

내가 입사했을때 팀이 신설된지 얼마 안된 상황이었고, 바쁘고 혼란스런 상황속에서 자연스럽게 개선하고 싶은 것들이 떠올랐다. 마침 운이좋게도 본부장님도 같은 생각을 하고 계셨다.

npm의 유령의존성

npm 의 유령의존성으로 인해 node_modules가 불필요하게 커지고 패키지 관리가 어려워진다.

i18n을 위해 Excel을 JSON으로 전환하는 서비스

번역할 내용이 추가 될 때 마다 JSON을 수동으로 만들어야 하는가? 에 대한 고민이 있었는데 excel을 i18n에 적합한 JSON으로 변환하는 간단한 html을 만들었다.

code spliting으로 블로그 성능 소폭 개선

게시글 페이지의 page.js에서 highlight 라이브러리를 분리하여 lighthouse 점수를 78 -> 85 로 증가시켰다.

복잡한 비즈니스로직을 프론트에서 구현해야 하는 경우

비즈니스로직이 프론트에 포함된 경우 의존대상과 세부구현을 분리하는 방식에 대해 설명

429에러와 토큰버킷알고리즘

써드파티 라이브러리에 의존하여 작업을 하다보면, 지나치게 낮은 request limit때문에 빈번하게 429 에러를 만날 수 있다. 이는 토큰 버킷 알고리즘으로 request limit에 도달하기 직전에 요청을 지연시켜서 해결 할 수 있다.

setTimeout의 한계와 reqeustAnimationFrame

무한스크롤을 구현하면서 스크롤 이벤트에 throttle을 걸어서 1초 간격으로 이벤트가 발생하도록 하였다. 그런데 조금 찾아보니 setTimeout기반의 throttle은 call Stack이 비는것을 대기하다가 다른 태스크에 의해 순서가 밀릴 경우 '씹힐' 가능성이 있었다.

소프트웨어 장인 독후감

하지만 이것들 보다 가장 중요한건 개발자 개개인이 '소프트웨어 장인 정신'을 갖는 것이다. 소프트웨어 장인 정신이 없다면 나머지는 다 껍데기다.

컴포넌트 라이브러리 npm 배포 (vite,pnpm)

컴포넌트 라이브러리를 npm 배포하는 방법