【개인개발】터미널상에서 동작하는 Redis 클라이언트를 작성했습니다
redis-term이라는 npm 모듈을 만들었습니다.
개발에 사용한 모듈이나 배경 등에 대해 써 드리겠습니다.
배경
사용방법
$ npm install -g redis-term
$ redis-term
의식한 것
터미널에서 동작한다는 점을 살리기 위해 가능한 한 키보드만으로 조작할 수 있도록 하는 것을 목표로 개발했습니다.
구현한 기능
연결 관리
연결된 적이있는 서버 목록
연결 정보 입력 화면
연결 정보는
~/.cache/redis-term/connections.json
에 저장됩니다.키 관리
테마 기능
dark
블루
dark와 blue의 2 종류의 테마를 준비했습니다.
설정은
~/.config/redis-term/settings.json
에서 변경할 수 있습니다.~/.config/redis-term/settings.json
{
"colortheme": "dark" // or "blue"
}
사용한 모듈
Redis 클라이언트입니다.
Promise를 표준으로 서포트하고 있는 점에 매력을 느꼈기 때문에 채용했습니다.
blessed의 포크 버전입니다.
UI 구축에 이용하고 있습니다.
blessed 용 React 렌더러.
상태 관리용입니다.
디렉토리 구성은, Ducks 이나 re-ducks 패턴을 참고로 했습니다.
라우팅 라이브러리.
MemoryRouter 을 사용하고 있습니다.
SSH 클라이언트/서버 라이브러리입니다.
SSH 터널 연결을 지원하는 데 사용했습니다.
비밀번호 관리에 사용했습니다.
테스트용입니다.
testdouble.js는 JavaScript 용 모의/스텁 라이브러리입니다.
개인적으로 Sinon.js보다 간단하고 사용하기 쉬운 인상을 받았습니다.
운영 환경
하이퍼 와 Ubuntu 표준 터미널에서 동작 확인을 했습니다.
Mac과 Windows에 대해서는 손에 환경이 없기 때문에 확인할 수 없습니다.
Node.js에 대해서는 v8, v10, v11에서 동작 확인했습니다.
도전
등...
힘든 일 등
개인적으로 경험이 얇은 분야이기 때문에, 사용하기 쉬운 UI를 생각하면서 개발해 나가는 것은 상상 이상으로 힘들었다.
최저라도 매일 30분~1시간 정도는 코드를 만지게 하고, 동기의 저하를 피하도록(듯이) 했습니다.
참고로 한 프로젝트
터미널에서 실행되는 데이터베이스 클라이언트.
UI등을 참고로 했습니다.
Electron의 Redis 클라이언트입니다.
Reference
이 문제에 관하여(【개인개발】터미널상에서 동작하는 Redis 클라이언트를 작성했습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uki00a/items/23fe012d0d47efce6501텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)