TIL(210920): Fastify, npm-run-all, ...

오랜만의 TIL이다. 핑계를 대자면 요즘 너무 바빴어서 ㅎㅎ.. 앞으로는 잘 써봐야겠당

1. Fastify

local-sqs 프로젝트를 Fastify로 만드려고 한다. 큰 고민 없이 결정하긴 했지만 굳이 이유를 꼽으라면 다음과 같다.

  1. 가볍고 빨라서 docker로 매번 켰다 껐다 켜도 부담이 없을 것 같다.
  2. 타입스크립트 지원이 잘 되어있다.
  3. 배워보고 싶었다. 인터프리터/스크립트 언어 사용자로서 항상 성능에 대한 부채의식을 느끼고 있었다.

Fastify는 Express보다 대강 4배 정도 빠르다고한다!
공식문서 일단 읽어봤고, 슬슬 파일들 만지작 거리면서 구조 잡아봐야지!

공부한 링크들

  1. Fastify 홈피
  2. awsome-fastify
  3. hospitalrun-server 레포지토리

2. npm-run-all

node package script를 직렬/병렬적으로 실행시켜주는 재밌는 라이브러리다. 다음과 같이 사용할 수 있다.
이외에도 arguments등 재밌는 기능들이 있다! 더 알아보고 싶다면 링크

# 나열된 스크립트들을 직렬적으로 실행
run-s check:lint check:type # npm run check:lint && npm run check:type과 같다.

# 나열된 스크립트들을 병렬적으로 실행. 하나라도 실패하면 즉시 모두 취소함
run-p check:lint check:type
# 이렇게 써도 된당
run-p check:*

난 아래처럼 썼다! 깃헙 링크

{
  ...,
  "scripts": {
    "check:lint": "eslint \"src/**/*.ts\" --fix",
    "check:type": "tsc --noEmit",
    "check": "run-p check:*",
    ...,
  },
}

3. 소프트웨어 개발/배포단계

베타가 뭔지 잘 모르면서 용어를 막 쓰고 있는 것 같아서 공부해봤다 ㅎㅎ

  1. pre-alpha: 프로토 타입까지의 단계
  2. alpha: 프로토 타입 완성 후 개밥 먹는 단계. 몇몇 기능이 빠져있는등 불완정할 수 있다.
  3. beta: 어느 정도 기능 붙이기는 끝난 단계. 하지만 최적화/QA가 완전히 진행되지 않아 이슈가 자주 발생할 수 있다. 보통 이 단계부터 슬슬 써주는 사람들이 나타날 것
  4. rc(release candidate): 정식 출시 전 마지막 베타. rc버전이 나오면 곧 출시된다고 봐도 된다. 치명적인 버그만 없으면 출시 준비를 한다.

참고해서 깃헙 마일스톤도 만들어봤다~!

이슈에 마일스톤 지정해주면 목록에서 아래처럼 보인다 ^__^

(크게) 참고한 링크

오늘의 TMI

오랜만에 캐릭터를 그려봤다. 이름은 개바리다.

좋은 웹페이지 즐겨찾기