본문 바로가기

prev

Recoil / Tanstack query 역할 분리하기 데이터 페칭부터 모든 상태관리 Recoil 사용 후기 recoil을 사용했을 때 가장 좋았던점 간편한 상태 관리: Recoil은 간단하고 직관적인 상태 관리를 제공합니다. RecoilRoot를 설정하고 atom을 사용하여 상태를 관리할 수 있어서 useState를 사용하는 것과 유사한 방식으로 상태를 다룰 수 있습니다. 또한 selector를 사용하여 상태값을 필터링할 수 있어서 상태 관리가 더욱 용이합니다. 성능 최적화: Recoil은 Context API와 비교하여 더 나은 성능을 제공합니다. Context API는 상태 변경 시 Provider로 묶인 모든 컴포넌트를 리렌더링하지만, Recoil은 해당 컴포넌트만 리렌더링하여 불필요한 리렌더링을 방지하고 성능을 최적화합니다. 코드의 단순성과 직관성:.. 더보기
기술스택 선정 NextJS: App vs Page 주요 차이점 추가 고려사항: SEO: 앱 디렉토리의 페이지는 기본적으로 서버에서 렌더링되므로 잠재적으로 SEO에 더 좋습니다. 성능: 앱 디렉터리의 서버 구성 요소는 성능상의 이점을 제공할 수 있습니다. 유연성: 앱 라우터는 중첩된 레이아웃과 데이터 가져오기에 더 많은 유연성을 제공합니다. 마이그레이션: 기존 프로젝트를 앱 라우터로 마이그레이션하려면 약간의 노력이 필요할 수 있습니다. 권장사항: 새 프로젝트: 최신 기능과 유연성을 갖춘 App Router로 시작하세요. 기존 프로젝트: 앱 라우터로 마이그레이션하기 전에 잠재적 이점을 평가합니다. 단순 라우팅: 간단한 라우팅이 필요한 소규모 프로젝트에는 페이지 라우터가 충분할 수 있습니다. 복잡한 라우팅 및 데이터 요구 .. 더보기
FE] Nextjs(App router) - React Quill 적용기 이번에 HTML Editor를 사용해야될 일이 있었다. 여러가지 레퍼런스가 있었는데, 우리가 선택한 것은 React-Quill 이었다. 기술스택 선정이유는 따로 다루는 걸로 하고 프로젝트에 적용한 방법과 사용하면서 발생한 문제점을 공유하려고한다. 설치하기 https://github.com/zenoamaro/react-quill GitHub - zenoamaro/react-quill: A Quill component for React. A Quill component for React. Contribute to zenoamaro/react-quill development by creating an account on GitHub. github.com 위의 링크에 들어가면, Quill을 활용해서 react-.. 더보기
Nextjs 14, tanStack/react-query를 이용한 SSR 최근에 흥미로운 블로그 글을 봤다. https://tech.osci.kr/react-query/ React-Query 도입을 위한 고민 (feat. Recoil) - 오픈소스컨설팅 테크블로그 - 강동희 Web Frontend 개발을 할 때 React 를 사용하면서 마주하게 되는 여러 가지 문제점 중 하나는 state, 상태 관리에 관한 부분입니다. 프론트엔드 개발자라면 state 와 뗄 수 없는 인연을 맺고 있습니다.오늘 tech.osci.kr Recoil을 사용중에 React-query에 도입에 대해 고민하는 글이었다. 나도 현재 프로젝트를 recoil을 사용하고 있어서 이 블로그 글에 대해 흥미를 느꼈고 글을 읽어 보았다. 여기서 말하는 사용이유는, "서버 데이터를 위한 로직이 과도하게 커지고, 그로.. 더보기
Nextjs/Typescript Card Slice 구현하기 (Giftwave) 메인 페이지에 존재하는 Funding List 만들기 다음과 같은 디자인을 비슷하게 만들어 갈 예정이다. 기능 확인하기 서버로 부터 카드 정보를 받는다.(image, title, maxCount, curCount) 받은 정보를 가지고, slide를 만든다. slide의 기능은 prev,next 버튼 클릭시 카드가 움직일 것이고, 방향은 왼쪽, 오른쪽으로 가능하다. 구현 하기 Button 구현하기 (next, prev) 처음에 가장 만들기 쉬운것부터 접근했다. button을 클릭했을 때, 카드가 이전으로 가거나 다음으로 넘어가도록 구현하기로 했다. 그렇게 하기 위해서는 현재 상태를 관리해주는 state가 필요했고, useState를 이용해서 관리하도록 했다. const [currentIndex, setCu.. 더보기
GiftWave 프로젝트/휴대폰인증 (setInterval, useInterval) 회원가입 페이지에서 휴대폰 인증 버튼 클릭 시, 인증번호 입력에 대한 대기시간을 만들려했다. 기능은 다음과 같다. 휴대폰 번호를 누르고 인증요청 버튼을 클릭하면 타이머가 작동한다. 일정시간 동안 타이머는 작동하고, 시간안에 인증번호를 입력해야된다. 시간이 종료되면, 인증번호를 다시 요청해야되고, 재요청 클릭시 타이머가 다시 작동한다. 그러면서 setInterval에 대해 알아갈 시간을 가졌고, useInterval이라는 Custom hook을 만들 수 있다는 글을 보게 되었다. 왜 setInterval 말고 useInterval을 쓰면 좋을지와 그 내용을 바탕으로 내가만든 useInterval을 소개하려한다. 아래 글들은 두 블로그 글을 보면서 내가 직접 테스트해보고 퍼온 내용이다. 참고하기 바랍니다. .. 더보기
Molecule 과 Organism (by PhoneAuth) Atomic Design 분류하기 나는 작업을 시작하기 앞서 다음과 같이 3가지의 형태로 분류를 했다. flowmap 만들기 분류한 내용을 바탕으로, Atom / Molecule / Organism에 대한 컴포넌트 명을 만들어 놓고 작업을 시작했다. Molecule? Organism ? Atom 컴포넌트 생성까지는 큰 문제가 없었다. LabelInput (Molecule) 컴포넌트도 기능과 재사용성이 명확했기 때문에 만드는데 큰 문제가 없었다. 여기서 나는 궁금한 부분이 생겼다. PhoneAuth라는 컴포넌트는 Molecule로 사용하는것이 맞을까? 내가 이고민에 빠진 이유는 Molecule이라고 하기에는 재사용성이 없고, 그렇다고 Organism으로 잡기에는 기능이 너무 없다는 생각이 들었다. 그렇다면.. 더보기
[node.js] 수 이어 쓰기 1(백준 1748번) 문제 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. 출력 첫째 줄에 새로운 수의 자릿수를 출력한다. 예제 입력 1 복사 5 예제 출력 1 복사 5 예제 입력 2 복사 15 예제 출력 2 복사 21 예제 입력 3 복사 120 예제 출력 3 복사 252 접근 방법 1의자리 숫자는 전부 1을 더하고, 10의 자리 숫자는 전부 2를 더하고, 100의 자리 숫자는 전부 3을 더하는 방식으로 되어있다. 그렇다면 입력값이 532가 되었을때, 어떻게.. 더보기