AG Grid v21 → v35 마이그레이션
AG Grid v21에서 v35 마이그레이션 시 필수로 처리해야 할 변경사항. rowSelection, cellRendererFramework, CSS 경로, Module 등록, setGridOption API 통합까지 완전 정리.
AG Grid 공통 래퍼 설계 (Client / Server)
AG Grid v35 기준으로 자주 쓰는 공통 래퍼 설계 방법. AgGridProvider로 모듈과 라이선스를 주입하고, ClientSideGrid와 ServerSideGrid를 분리하는 구조를 설명합니다.
React useMemo · useCallback · memo 차이
React.memo, useMemo, useCallback의 차이점과 올바른 사용 시점. 불필요한 리렌더링을 막는 최적화 패턴을 실전 예제와 함께 정리합니다.
우상욱 이력서
프론트엔드 개발자 우상욱의 경력 및 프로젝트 이력서입니다.
AG Grid Drawer + URL 상태 동기화
AG Grid 목록에서 상세 Drawer를 열고 URL에 상태를 저장해 새로고침해도 복원되는 패턴. getRowId, ensureNodeVisible, useNavigate와 함께 Row 자동 선택·스크롤까지 정리합니다.
JavaScript 소수점 반올림 버그 해결
JavaScript 부동소수점 오차로 인한 반올림 버그 원인과 해결법. Number.EPSILON 패턴, toFixed 주의사항, decimal.js 활용까지 예제로 정리합니다.
Kepware OPC UA + React 실시간 모니터링
Kepware OPC UA 서버와 Node.js를 연동해 PLC 설비 데이터를 React 대시보드로 실시간 모니터링하는 구축 방법. 구독·세션 관리·UI 연동까지 정리합니다.
React + IndexedDB 파일 업로드 큐 구현
네트워크 불안정 환경에서 파일 업로드 실패를 IndexedDB 큐로 해결하는 방법. 저장 후 백그라운드 업로드 패턴을 React에서 구현하는 완전 가이드입니다.
Vue 실시간 동기화
Vue Query 폴링에서 SSE, WebSocket으로 단계적으로 전환한 실전 경험. 각 방식의 장단점과 선택 기준, 구현 방법을 코드와 함께 정리합니다.
Chrome Extension(MV3)에서 Firebase Google 로그인 구현하기
MV3에서 Firebase Google 로그인이 막히는 이유와 chrome.identity / Offscreen Document 두 가지 구현 방법을 React 환경 기준으로 정리합니다.
IndexedDB vs LocalStorage 차이점 완전 비교
IndexedDB vs LocalStorage 저장 용량·동기/비동기·데이터 타입·브라우저 지원 완전 비교. 웹 스토리지 선택 기준과 활용 팁을 정리합니다.
Next.js Hydration 에러 해결
Next.js SSR에서 발생하는 Hydration 경고(Text content did not match) 원인과 suppressHydrationWarning 해결법. 서버·클라이언트 불일치 시나리오별 대응 방법을 정리합니다.