본문 바로가기

ding-co100

[회사 제안 #4] 리액트 라이브러리 - recoil recoil 이라고 하는 React 기반 state management library 입니다. 2년 전에 페이스북 엔지니어들에 의해 개발되었는데, useState 훅스를 사용하는 것처럼 코드들이 함수형 컴포넌트를 사용하는 리액트 훅스같은 느낌이 들고 러닝 커브도 적고 코드가 상당히 간결합니다. (setup 시간 소요 x) 캐싱도 지원하고 suspense, 동시성 지원, 미들웨어 필요없음 등 여러 특징이 있다고는 하는데 나중에 기회되면 한 번 써봐도 재밌을 것 같습니다. [Reference] - How to Use Recoil for State Management in Your React Projects 2022. 5. 1.
[회사 제안 #2] Git Flow & Git commit convention git flow 관련해서 제 생각을 함께 공유해보려고 합니다. 앞으로 회사의 규모가 scale-up 되면 협업 시에 git 관련 회사 규칙이나 commit 컨벤션 등이 중요할 거라 생각합니다. 우선 git flow는 아시는 분이 많이 있으시겠지만 master와 develop 브랜치 2개가 주축이 되어서 기능별로 feature 브랜치를 따서 작업을 하게 됩니다. feature 브랜치 작업을 완료해서 finish를 하면 develop 브랜치에 merge가 되고, 이후 v0.1.0 과 같은 형식으로 release 브랜치를 따서 태그를 가지고 master 브랜치에 배포를 하는 방식으로 진행되는데, 이 때 배포에 있어서 태그로도 관리가 되어 언제나 치명적인 버그가 발생하면 이전 태그로 빠르게 reset하고 이후 .. 2022. 5. 1.
[회사 제안 #1] Volta tool 도입 회사가 스케일 업이 되고 협업의 중요성이 점점 커지게 되면, 정말 많은 프로젝트에 여러 개발자들이 투입되어 협업을 하게 될 것입니다. 그러면 각 팀원별로 설치되어 있는 Node.js 버전이 다 다를 수 있는데, 버전 별로 deprecated 된 모듈도 많을 것입니다. 이럴 때 보통 nvm을 이용하여 노드 버전을 관리하는데 nvm은 생각보다 많이 느립니다. 그리고 그때 그때 버전을 확인하고 맞춰서 바꿔줘야 하는 번거로움도 있습니다. 반면에 Volta 라는 커맨드 라인 툴은 Rust로 개발되서 매우 빠릅니다. 각 프로젝트별로 노드 버전을 pin을 해서 default로 고정시킬 수 있습니다. package.json에 내역을 관리하여 volta install 명령어를 통해 그에 맞는 버전을 자동으로 설치를 지원.. 2022. 5. 1.
[Topic #React 01] map 순수 함수 사용 시 key prop은 unique id로 설정! 두 번째 토픽 키워드 주제는 React 입니다. React에서 map 함수를 이용하여 리스트의 원소 렌더링 시 key prop을 index가 아니라 unique id 사용을 권장합니다. key는 React가 DOM 요소를 식별하기 위해 사용하는 유일한 값입니다. React는 key를 가지고 기존 트리와 이후 트리의 자식들이 일치하는지 확인합니다. 리스트 중간에 항목을 insert/delete/reorder 등 작업 시 React는 정확히 어떤 프로퍼티가 매핑되어 있는지 인식을 못할 수 있습니다. (예측 불가능 초래 가능) 인덱스를 key로 사용하면 배열이 재배열 될 때 컴포넌트의 state와 관련된 문제가 발생할 수 있습니다. (배열이 변경되면 효율적으로 리렌더링 못할 수 있음) 컴포넌트의 인스턴스는 k.. 2022. 4. 30.
반응형