클라이언트에서 API 호출할때 사용하는 도구를 알아보자. (fetch, axios, TanStack Query, SWR) + graphql, firebase, supabase fetch브라우저 내장 API로 별도의 설치 없이 사용이 가능하다.Promise 기반으로 HTTP 요청을 보낸다.사용 시 JSON 파싱 등 부가 처리를 직접해야한다.내장 API로 가볍고 기본적인 기능을 제공하며, 별도의 의존성이 없다는 장점이 있다.단점으로는 요청/응답 처리 로직을 매번 수동으로 작성해줘야하며 인터셉터나 요청/응답 변환 기능이 없다.에러처리나 타임아웃, 리트라이 같은 부분도 직접 작성해줘야한다.const res = await fetch('/api/data');const data = await res.json(); ..
프로젝트에서 Vue 쓸까? React 쓸까? 개발자의 취향 + 팀환경 + 프로젝트 성격에 따라 고를 수 있을듯하다. 빠르게 MVP 만들고 싶은 스타트업 / 프로토타입Vuev-model, 템플릿 문법, ref() 만으로도 빠른 UI 구현 가능학습 부담이 적고 디자이너/퍼블리셔도 진입 장벽이 낮다작은 팀에서 생산성 우선이라면 효율적이다 대규모 팀, 복잡한 상태 관리, 모듈화, 협업 중요React단뱡향 데이터 흐름은 유지보수, 디버깅, 테스트에 최적화 되어있다.상태와 로직 분리가 깔끔하고 커스텀 훅 기반으로 확장성이 좋다.Typescript + React + TanStack Query + Zustand/Redux 조합 = 실무에서 안정성, 구조화 조합에 좋다. UI/UX 실험 위주, 애니메이션이 많은 앱 (..
데이터 바인딩(Data Binding)과 MVVM (Vue, React)UI(View)와 데이터(Model)를 자동으로 연결해주는 기술즉, 데이터가 바뀌면 UI도 자동으로 바뀌고 UI가 바뀌면 데이터도 자동으로 바뀌는 연결 구조 종류타입설명예시단방향 바인딩(One-way)데이터 -> UI만 반영React 기본 방식 (Props)양방향 바인딩 (Two-way)데이터 UI 상호 반영Vuew의 v-model, Angular의 {(ngModel)} MVVM (Model-View-ViewModel) 패턴데이터 바인딩을 체계적으로 적용하기 위한 아키텍쳐 패턴구성요소역할Model실제 데이터 또는 상태 (API 응답, 사용자 정보 등)View화면(UI) - 사용자에게 보여지는 부분ViewModelView와 Mo..

자바스크립트 쓰로틀링(Throttling), 디바운싱(Debouncing) 성능 최적화자바스크립트 쓰로틀링(Throttling)과 디바운싱(Debouncing)은 성능 최적화를 위한 핵심 기법이다.고빈도 이벤트(스크롤, 리사이즈, 입력 등)에서 과도한 호출을 방지하고 성능을 높이는데 유용하다. 쓰로틀링 (Throttling)일정 시간 간격으로 함수를 강제로 실행하게 제한한다. 즉, N초에 한번만 실행되게 만든다는게 핵심이다.사용자의 행동이 빈번하지만 일정 간격으로만 반응하면 충분한 경우에 사용된다. (주기적으로 처리)스크롤 위치 저장윈도우 리사이즈 예시사용자가 아무리 스크롤을 해도, 200ms에 한번만 로그 출력window.addEventListener('scroll', throttle(() => ..