Skip to content

Latest commit

 

History

History
205 lines (142 loc) · 10.9 KB

README_KO.md

File metadata and controls

205 lines (142 loc) · 10.9 KB

Recoil 애플리케이션을 위한 디버깅 개발도구

GitHub license npm version PRs Welcome

영어 README

Recoilize에 대해서

Recoilize는 Recoil 상태관리 라이브러리를 사용하여 만들어진 애플리케이션을 디버깅 할수있는 Chrome Dev Tool입니다.

Recoil 상태를 기록하여 유저들이 애플리케이션을 편하게 디버깅 할수 있도록 도와주는 기능들을 가지고 있습니다. 리액트 컴포넌트를 시각화 하여 그래프로 보여줌과 동시에 스냅샷을 이요하여 이전 상태로 시간이동을 가능하게 만들어줄수있는 도구입니다.

크롬 스토어 에서 다운로드 받으실수 있습니다.

데모를 위해서는 Recoilize 웹사이트를 방문하십시오.

** 현재는 베타 버젼입니다 **

Recoilize는 현재 베타버젼 입니다. 툴을 계속 개선하고 새로운 이슈들을 수정해 나갈것이고, 혹시 다른 버그들이나 이슈들이 나타난다면 언제든지 이슈 탭에 글을 작성하시거나 PR을 해주시면 감사하겠습니다.

설치 방법

Recoilize 모듈 설치

npm install recoilize

** 중요 **

Recoilize모듈에서 RecoilizeDebugger를 import해줘야 합니다

import RecoilizeDebugger from 'recoilize';

####RecoilizeDebugger를 recoil root 안에 리액트 컴포넌트로 넣어야 합니다

import RecoilizeDebugger from 'recoilize';
import RecoilRoot from 'recoil';

ReactDOM.render(
  <RecoilRoot>
    <RecoilizeDebugger />
    <App />
  </RecoilRoot>,
  document.getElementById('root'),
);

Recoilize는 리액트 애플리케이션을 주입시키기 위해 쓴 HTML 엘리먼트의 아이디를 'root'으로 가정합니다.아닐경우 RecoilizeDebugger에 'root'속성을 만들고 HTML 엘리먼트를 패스하십시오.

import RecoilizeDebugger from 'recoilize';
import RecoilRoot from 'recoil';

//If your app injects on an element with ID of 'app'
const app = document.getElementById('app');

ReactDOM.render(
  <RecoilRoot>
    <RecoilizeDebugger root={app} />
    <App />
  </RecoilRoot>,
  app,
);

애플리케이션을 크롬 브라우저에서 열고 Recoilize 디버깅툴을 실행하시면 됩니다.

(현재 Recoil을 상태관리 라이브러리로 사용하는 리액트 애플리케이션만 지원합니다.)

새로운 기능

Recoil 0.1.2를 지원합니다

Recoilize는 최신 버전과 구버전의 Recoil과 호환이 됩니다

스냅샷 클리어

Previous와 Forward 버튼을 넣어 선택된 스냅샵의 전이나 후에 있는 스냅샷을 지울 수 있게 했습니다

컴포넌트 그래프

호버

그래프의 노드를 호버했을 때 안의 텍스트가 보이는 형태를 개선하였습니다

atom 범례

범례의 텍스트가 클릭되면 드롭다운 형태의 atom이나 selector 리스트가 보이게 하였습니다

드롭다운 리스트에 있는 각각의 atom이나 selector를 누를 경우 해당 atom이나 selector를 쓰는 컴포넌트가 하이라이트되도록 바꾸었습니다

atom 네트워크

atom 범례

범례의 텍스트가 클릭되면 드롭다운 형태의 atom이나 selector 리스트가 보이게 하였습니다

드롭다운 리스트에 있는 각각의 atom이나 selector를 누를 경우 관련 atom이나 selector 노드가 보이도록 했습니다

그래프

여러개의 그래프가 겹치지 않도록 조정하였습니다

검색 창

검색 창이 탐색 버튼과 겹치지 않도록 변경하였습니다

Ranked 그래프

애니메이션을 없애서 전과 후 상태비교가 쉽게 보이도록 바꾸었습니다

기능

Concurrent 모드 지원

만약 컴포넌트를 보류시키기 위해 Suspense 컴포넌트가 사용됐을 경우, 해당 컴포넌트의 노드 주위에 빨간 테두리로 표시하여 컴포넌트가 나타나기까지 지연되었음을 알려줄 것입니다

퍼포먼스 측정 그래프

'Metrics' 탭에 있는 두가지 그래프는 렌더링 시간을 보여줍니다

Flame 그래프는 각각의 컴포넌트와 자식 컴포넌트가 나타나기까지 걸린 합산된 시간을 보여주고 Ranked 그래프는 각각의 컴포넌트가 나오기까지 걸린 시간을 보여줍니다

시간 이동

Recoilize의 주요 기능 중 하나로, 이 도구는 사용자가 이전의 모든 스냅샷으로 이동할 수 있게 해줍니다. 각 스냅샷 옆에 있는 점프 버튼을 누르면 해당 스냅샷으로 상태를 설정하여 DOM이 변경됩니다.

시각화

사용자는 개별 스냅샷을 클릭하여 애플리케이션 상태에 대한 시각화된 그래프를 볼수있고, 컴포넌트 트리와 다른 그래프 뿐만 아니라 State tree를 JSON 형식으로 지원합니다

쓰로틀링

대규모 애플리케이션 또는 상태를 빠르게 변경하는 모든 애플리케이션에 대해 쓰로틀링(ms)을 설정할 수 있습니다. 기본값은 70ms로 설정되어 있습니다.

상태 유지 (베타)

Recoilize는 사용자가 새로 고침을 했을 경우에도 응용 프로그램의 상태를 유지할 수 있도록 해줍니다. 이때 사용자는 개발 도구에서는 이전 상태를 볼 수 있지만, 새로고침 전에 상태로의 시간 이동은 할 수 없습니다. 우리 팀은 여전히 이 기능을 완성하기 위해 노력하고 있습니다.

부가 기능

  • 컴포넌트 그래프에 마우스를 올렸을때 관련있는 atom과 selector들이 나타납니다
  • 컴포넌트 그래프 안에 오른쪽 작은 창에서 관련된 상태들을 선택하여 볼 있습니다
  • 컴포넌트 그래프 안에 Expand 버튼을 누르면 확장된 컴포넌트 그래프를 볼 수 있습니다
  • 네트워크 그래프 안에 atom과 selector들을 볼수있고 필터링도 가능합니다.
  • 설정탭에서 atom과 selector key를 사용하여 관련된 스냅샷들을 필터링 할 수 있습니다

우리는 Recoil의 업데이트와 함께 Recoilize를 계속 업데이트 할 것 입니다

기여

Bren Yamaguchi @github @linkedin

Saejin Kang @github @linkedin

Jonathan Escamila @github @linkedin

Sean Smith @github @linkedin

Justin Choo @github @linkedin

Anthony Lin @github @linkedin

Spenser Schwartz @github @linkedin

Steven Nguyen @github @linkedin

Henry Taing @github @linkedin

Seungho Baek @github @linkedin

Aaron Yang @github @linkedin

Jesus Vargas @github @linkedin

Davide Molino @github @linkedin

Taven Shumaker @github @linkedin

Janis Hernandez @github @linkedin

Jaime Baik @github @linkedin

Anthony Magallanes @github @linkedin

Edward Shei @github @linkedin