Personal Posting 썸네일형 리스트형 CSR vs SSR Client Side Rendering에 익숙해져있던 나에게 생소한 개념으로 다가왔던 SSR에 대해 정리할겸 각각의 차이점을 정리해보기로 했다. CSR(Client Side Rendering)과 SSR(Server Side Rendering)는 웹 애플리케이션에서 페이지를 렌더링하는 두 가지 주요 방식이다. CSR (Client Side Rendering) 1. 개념 클라이언트 측에서 렌더링이 이루어지는 방식 초기에는 서버에서 빈 페이지를 받아오고, 클라이언트에서 JavaScript를 사용하여 동적으로 컨텐츠를 렌더링 2. 프레임워크 React: 브라우저에서 JavaScript가 실행되어 가상 DOM을 조작하고 UI를 업데이트 3. 장점 빠른 초기 로딩: 최초에 필요한 HTML만 받아오기 때문에 초기 로.. 더보기 React Hook 정리 - Custom hook (feat. 구조분해할당) 우리가 동일 코드를 함수화하여 코드를 최적화 및 간결화 하는 것처럼 React를 개발함에 있어서 사용자 정의 훅을 만들어 사용할 수 있다. 기존에 함수로 만들어 컴퍼넌트 내부에서 사용했던 로직을 Custom Hook으로 만들어 사용하는 것이다. 특히 Custom Hook을 만들어 사용하면 이 Hook 내부에서 다른 기존의 Hook들을 사용할 수 있고, 여기서 사용된 상태들은 모두 독립적인 값을 보장한다. 이를 통해 중복 코드를 줄일 수 있으며, 상태, 이벤트 핸들러, 사이드 이펙트 등을 추상화하여 컴퍼넌트 코드를 간결하게 만들 수 있다. 다른 훅들과 동일하게 함수 이름은 'use'로 네이밍해줘야한다. 간략하게 useCounter라는 Custom Hook을 만들어보자. // App.js import Rea.. 더보기 React Hook 정리 - 컴퍼넌트 최적화 (React.Memo) 어떤 한 컴퍼넌트에 다른 하위 컴퍼넌트를 포함하고 있을 때 상위 컴퍼넌트가 값(props)이 변경되어 재 렌더링되면 부득이하게 값의 변경 없는 하위 컴퍼넌트도 불필요한 렌더링을 할 수 있다. 이럴 때 React.memo를 사용한다. React.memo는 React에서 제공하는 HOC(High Order Component) 고차 컴퍼넌트이다. 고차컴퍼넌트란 어떤 컴퍼넌트란 어떠한 컴퍼넌트를 인자로 받아 새로운 컴퍼넌트를 반환하는 컴퍼넌트이다. React.memo라는 HOC에 컴퍼넌트를 넣으면 UI나 기능적으로는 동일하나 최적화된 컴퍼넌트를 반환하는 것이다. https://ko.legacy.reactjs.org/docs/higher-order-components.html 고차 컴포넌트 – React A Ja.. 더보기 React Hook 정리 - useReducer useState와 같이 상태 관리하기 위한 또다른 Hook 여러개의 하위값을 포함하는 복잡한 state를 관리할때 useReducer를 사용하면 코드 관리가 용이하다. useReducer는 아래 3가지 요소로 이루어져있다. 1. Reducer - State를 update해주는 역할. Component의 state는 반드시 Reducer를 통해 update해야한다. 2. Dispatch - 사용자가 Reducer에게 요청하는 행위. 3. Action - Dispatch를 통해 요청하는 내용. Dispatch (Action) ---------> Reducer(State, Action) -> Update State /* * userRecuder는 배열을 반환한다. like useState * 반환되는 배열 요.. 더보기 React Hook 정리 - useCallback 지난 번 useMemo와 함께 Memoization 기법을 활용해 컴퍼넌트를 최적화시켜주는 훅이다. useMemo의 경우 값을 Memoization하여 재사용할 수 있다면 useCallback은 함수를 재사용할 수 있게 해준다. const plusone = (num) => { return num + 1; }; const plusone = useCallback((num)=>{ return num + 1; }, [item]) 위 코드와 같이 plusone을 useCallback으로 함수를 감싸서 사용하면 된다. useCallback()은 2개의 인자를 받는다. 하나는 우리가 Memoization해야 할 콜백함수, 두번째는 의존성 배열이다. 즉, 의존성 배열의 값이 변경되지 않는 이상 다시 초기화되지 않는다... 더보기 땡땡기호 라임이 숙제를 도와주던 중 중복기호 (〃) 일명 땡땡표시를 알려주었다. 나: 똑같은 답을 쓸 때는 이렇게 땡땡 표시를 해도돼. 라임: 근데 왜 이게 똑같다는 뜻이야? 호기심이 많은 어린이들의 대표적인 공격인 와이어택 (Why Attack) 을 당한 순간 나도 궁금해졌다. 근데 진짜 왜 저게 그런 의미로 사용될까? 해서 위키랑 ChatGPT를 통해 아래와 같이 정리해보았다. 우선 중요한 것은 대한민국에서는 이 기호를 공식적으로는 문장 부호로 인정하지 않기 때문에 따로 정해진 이름은 없다는 것이다. 다만 흔히 '중복 부호'나 '중복 기호', '상동 기호' 등으로 부른다고한다. 미국 등의 영어권 나라에서는 '디토(ditto)' 또는 '디토 마크(ditto mark)'라고 부르며, 일본에서는 '노노텐(ノノ点)'.. 더보기 StoryBook의 개념과 Figma와의 공존 얼마전 있었던 LG CNS 웨비나에서 언급되었던 스토리북에 대해 정리할겸 작성한 포스트 우선 StoryBook이란 Frontend 개발자가 UI 컴포넌트를 개발하고 테스트할 때 도움이 되는 도구로서 개별 컴포넌트를 격리하여 다양한 상황에서 시각적으로 테스트 및 문서화 할 수 있다. 주요 개념은 아래와 같다. Component: UI 컴포넌트, 예를 들어 버튼, 폼 필드, 헤더 등과 같은 것들. Story: 특정 컴포넌트의 특정 상태나 사용 사례를 설명하는 코드 조각. 예를 들어 버튼 컴포넌트의 "일반", "활성화", "비활성화" 상태를 보여주는 스토리를 만들 수 있다. Addon: Storybook에 추가 기능을 제공하는 확장 프로그램, 예를 들어 시각적 스냅샷 생성, 스타일 가이드 자동 생성 등. St.. 더보기 React Hook 정리 - useMemo 컴포넌트 최적화를 위해 사용되는 대표적인 Hook인 useMemo, useCallback 중 useMemo에 대해 정리해보려고 한다. 우선 useMemo를 사용하기에 앞서 아래 용어를 알아야한다. Memoization: 동일한 값을 리턴하는 함수를 반복적으로 호출할 경우 처음 계산된 값을 메모리에 저장하여 이를 재사용하는 기법 함수형 컴포넌트를 사용하는 코드에서 컴포넌트가 렌더링된다는 의미는 해당 컴포넌트 함수가 호출된다는 의미이다. 즉, 호출될때마다 함수 내의 모든 내부 변수를 그때 그때 초기화 한다는 의미이다. 일례로 아래와 같은 코드가 있다고 가정하자. function Component() { const value = heavyTask(); return {value} } function heavyT.. 더보기 이전 1 2 3 4 5 6 7 다음