☁️ 프론트엔드의 한계에 부딪혔을 때, AWS 친구들을 부르는 법구버전 브라우저에서 PDF 뷰어 문제가 계속 발생해서 S3 + Lambda를 활용해 PDF를 이미지로 자동 변환하는 서버사이드 솔루션으로 근본적으로 해결했고, 프론트엔드 개발자도 백엔드/인프라까지 알아야 진짜 문제 해결이 가능하다는 걸 깨달았다는 이야기2025년 8월 27일
React SSR 쌩으로 구현하기 😎 - 현대적인 서버사이드 렌더링의 비밀React 기반으로 CSR을 사용하던 중 SEO와 초기 로딩 속도 등의 이유로 SSR, 특히 Next.js에 관심을 가지게 되었고, SSR은 서버에서 초기 HTML을 생성해 제공하는 반면 CSR은 브라우저에서 생성하는 방식으로 각각의 장단점이 존재한다. React로 직접 SSR을 구현해보니 생각보다 간단했지만, 실제 서비스 수준의 개발에는 Next.js가 제공하는 코드 스플리팅, 라우팅, 최적화 기능들이 필요하다는 점도 실감하게 되었다. 결국 기술 선택은 트렌드보다 프로젝트 요구사항과 팀의 상황에 맞춰 신중히 결정해야 한다는 결론에 도달했다.2025년 7월 31일
무작정 적어보는 2024년 회고2024년 한 해 동안 다양한 변화와 도전을 겪으며 성장과 고민을 반복했다. 새로운 환경과 프로젝트, 연봉 협상 등에서 성취와 부담을 동시에 느꼈고, 감정적으로 흔들리는 순간도 많았다. 업무에 재미와 의미를 찾기 위해 노력했으며, 기본기와 자기계발의 중요성을 다시 깨달았다. 앞으로도 자신에게 투자하며 더 나은 성장을 다짐한다.2025년 1월 18일
React Portal로 Drawer 구현하기Modal과 Drawer 컴포넌트는 전통적으로 루트에 두고 전역 상태로 제어했지만, 스타일링 문제(z-index 등)가 있었습니다. React의 Portal을 활용하면 부모 DOM 계층을 벗어나 원하는 위치에 컴포넌트를 쉽게 렌더링할 수 있어 이런 문제를 해결할 수 있습니다. 실제 프로젝트에서 Portal을 이용해 Drawer를 구현하니 추가 CSS 없이도 원하는 UI를 손쉽게 만들 수 있습니다.2023년 5월 9일
React Query의 무한 스크롤무한 스크롤은 사용자가 페이지를 내릴 때마다 자동으로 데이터를 추가로 불러와 보여주는 UX 방식이다.Intersection Observer와 React Query의 useInfiniteQuery 훅을 활용하면 효율적으로 무한 스크롤을 구현할 수 있다. 핵심은 관찰 대상이 뷰포트에 들어오면 다음 페이지 데이터를 불러오고, 마지막 데이터까지 자연스럽게 이어주는 것이다.2023년 4월 17일
간단하게 사용해보는 React QueryReact에서 데이터 패칭과 상태 관리는 복잡해질 수 있는데, React Query를 사용하면 데이터 패칭, 캐싱, 동기화, 뮤테이션 등을 간편하게 처리할 수 있다. useQuery와 useMutation 훅을 활용하면 로딩, 에러, 최신 데이터 반영 등 다양한 요구사항을 쉽게 구현할 수 있으며, invalidateQueries, Optimistic Updates 등 고급 기능도 지원한다. 적절한 옵션 설정과 쿼리 키 관리로 효율적인 데이터 최신화와 캐싱이 가능해진다.2023년 2월 20일