안녕하세요, 이상혁입니다

profile
제 블로그에 오신 것을환영합니다!

기록들

  1. ⚡️ AI 시대의 필수 UI 패턴, Stream으로 실시간성 구현하기

    AI 서비스를 사용하면서 실시간으로 답변이 생성되는 UX를 경험하게 되었고, 이를 구현하는 Stream 개념에 관심을 갖게 되었습니다. Stream은 거대한 데이터를 작은 청크로 쪼개어 연속적으로 전달하는 방식으로, 메모리 효율화와 응답 시간 단축의 이점을 제공합니다. Next.js 프로젝트에서 ReadableStream과 Fetch API를 활용해 직접 스트리밍 UI를 구현하고, 상태 업데이트 최적화와 불완전한 JSON 처리 같은 실무에서 고려해야 할 사항들을 정리했습니다.
    2026년 1월 27일
    ⚡️ AI 시대의 필수 UI 패턴, Stream으로 실시간성 구현하기
  2. React SSR 쌩으로 구현하기 😎 - 현대적인 서버사이드 렌더링의 비밀

    React 기반으로 CSR을 사용하던 중 SEO와 초기 로딩 속도 등의 이유로 SSR, 특히 Next.js에 관심을 가지게 되었고, SSR은 서버에서 초기 HTML을 생성해 제공하는 반면 CSR은 브라우저에서 생성하는 방식으로 각각의 장단점이 존재한다. React로 직접 SSR을 구현해보니 생각보다 간단했지만, 실제 서비스 수준의 개발에는 Next.js가 제공하는 코드 스플리팅, 라우팅, 최적화 기능들이 필요하다는 점도 실감하게 되었다. 결국 기술 선택은 트렌드보다 프로젝트 요구사항과 팀의 상황에 맞춰 신중히 결정해야 한다는 결론에 도달했다.
    2025년 7월 31일
    React SSR 쌩으로 구현하기 😎 - 현대적인 서버사이드 렌더링의 비밀
  3. 프론트엔드 구조, 나만의 레이어드 레시피 🍰

    기존 프로젝트의 복잡한 구조를 개선하기 위해 백엔드의 계층화 패턴을 프론트엔드에 적용했는데, 프레젠테이션, 비즈니스, 퍼시스턴스, 데이터베이스 계층으로 나누되 프론트엔드 특성에 맞게 외부 API와 Web Storage를 데이터 계층으로 대체했습니다. 실제 구현 과정에서는 초기 설계의 80%만 이행되었고, 도메인별 분리보다는 페이지 경로 기준으로 비즈니스 로직을 관리하는 방식으로 전환했으며, FSD(Feature-Sliced Design) 방식을 참고하여 각 라우트별로 컴포넌트와 훅을 묶어 관리하는 구조로 발전시켰습니다.
    2025년 4월 13일
    프론트엔드 구조, 나만의 레이어드 레시피 🍰
  4. React Query의 무한 스크롤

    무한 스크롤은 사용자가 페이지를 내릴 때마다 자동으로 데이터를 추가로 불러와 보여주는 UX 방식이다.Intersection Observer와 React Query의 useInfiniteQuery 훅을 활용하면 효율적으로 무한 스크롤을 구현할 수 있다. 핵심은 관찰 대상이 뷰포트에 들어오면 다음 페이지 데이터를 불러오고, 마지막 데이터까지 자연스럽게 이어주는 것이다.
    2023년 4월 17일
    React Query의 무한 스크롤
  5. 간단하게 사용해보는 React Query

    React에서 데이터 패칭과 상태 관리는 복잡해질 수 있는데, React Query를 사용하면 데이터 패칭, 캐싱, 동기화, 뮤테이션 등을 간편하게 처리할 수 있다. useQuery와 useMutation 훅을 활용하면 로딩, 에러, 최신 데이터 반영 등 다양한 요구사항을 쉽게 구현할 수 있으며, invalidateQueries, Optimistic Updates 등 고급 기능도 지원한다. 적절한 옵션 설정과 쿼리 키 관리로 효율적인 데이터 최신화와 캐싱이 가능해진다.
    2023년 2월 20일
    간단하게 사용해보는 React Query