Nginx의 njs에 QuickJS 엔진 추가되니 기능이나 문법 제약도 거의 없어서 출근해서 해볼 성능 테스트만 제대로 되면 좀 복잡한 로직 필요한 리버스 프록시는 이걸로만 짤거같음. JS모듈들 대충 번들로 만들고 import해서 다 쓸수 있어서...
@khrisHong Segi (aka khris) 오… njs라는 게 있었군요? 처음 알았습니다.
If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/01979046-7dde-7d93-a5db-733fdd8f39dd on your instance and reply to it.
@hongminhee洪 民憙 (Hong Minhee) 넵 아무래도 nginx로는 기존에 lua로 스크립팅을 많이해서 좀 덜 알려진거같고, 주력으로 밀지는 않는거같아요. 공식 문서도 deprecated 상태인것도 있을정도고... QuickJS 들어오기 전까지는 ES6도 부분적 지원만 하기도 해서요.
하지만 외부 라이브러리도 적당히 번들링하고 import 하면 되니 어떻게든 문제되는 부분만 간단하게 해치우고 십수년 전통의 다른 부분(리버스 프록시 등등)은 의존하고 싶을때는 이만한게 없는거같아요. 물론 lua나 OpenResty가 있긴 하지만 npm의 존재가 무시하기 힘들더군요… 마침 저는 grafana의 lezer-logql(파서)을 썼어야 했어서요.