Hacker News 의견
  • Postman을 사용하지 않으면서 무언가를 놓치고 있는지 궁금함, 대안으로 Firefox의 "Edit and Resend" 기능과 재사용 예제에는 전통적인 curl 스크립트를 사용함
    • 회사에서 Postman을 약간 사용함, 헤더와 바디가 포함된 수많은 요청이 담긴 컬렉션 파일을 공유해 개발자가 손쉽게 로드하여 각자의 서버에 테스트할 수 있고, 서버 전환도 한 번의 클릭으로 가능함, 대체재로는 환경변수를 포함한 curl 스크립트가 들어있는 git 저장소가 될 수 있음, 기술자가 아닌 사람들도 Postman으로 테스트를 실행함
    • Postman만이 아니라 그런 클라이언트는 다양한 요청을 한 번에 준비하고 저장해 테스트 스위트를 만들 수 있음, 일부는 스크립트 작성, 요청 체이닝 등의 기능도 제공함, 텍스트 에디터와 IDE의 차이와 비슷한 개념임, 결국 본인에게 필요한 수준에 따라 선택해야 할 문제임
    • 가장 편리한 기능은 URL을 복사해 붙여넣으면 파라미터가 자동으로 파싱되고 UI에서 모두 쉽게 수정할 수 있다는 점임, 그 외에는 결국 익숙한 curl과 다를 것 없음
    • 요즘은 jupyter notebook과 requests로 작업함, 결국 Postman을 써도 collection으로 요청을 코드화하다 보면 제한적인 언어로 프로그래밍을 하는 느낌임
  • 이런 앱도 Electron과 클라우드를 사용하게 된 현실이 놀라움, 터미널에서 10메가바이트짜리 TUI 앱으로 충분했을 것임, 참고로 posting.sh라는 대체재가 있음
    • 10MB짜리 TUI 앱 이야기에 공감,요즘은 Electron 앱이 기가바이트 단위로 커진 세상임, 참고로 vim 패키지는 2.3MB, curl은 1.2MB, 그리고 lua는 362KB임
    • Electron을 사용하는 이유는 원래 크롬 확장으로 시작해서 standalone 형태로 발전한 경향 때문임
    • hurl(https://hurl.dev/)을 몇 년간 써왔으나 파일 정리가 안 되어 폴더에 텍스트 파일만 쌓이고 있음, 이번에 posting.sh를 한 번 써볼 예정임
    • SSH 서버나 VS Code의 원격 컨테이너 안에서 쓸 Postman/Bruno/foo 대체재를 찾고 있었는데 posting.sh가 딱임
  • RubyMine 및 JetBrains IDE(관련 제품)에는 강력한 HTTP 클라이언트(Tools -> HTTP Client)가 내장되어 있음, Postman이 복잡해진 뒤로 간단하게 웹 요청만 필요한 상황에 잘 맞음, Postman을 좋아하는 분들을 깎아내리는 의도가 아니라 본인의 필요에 비해 과했다는 느낌임
    • JetBrains의 HTTP 클라이언트가 정말 좋음, curl 명령어를 붙여넣으면 자동으로 변환 및 포매팅됨, 변경한 부분을 다시 curl로 복사할 수도 있음
  • 바로 이런 이유로 Yaak(https://yaak.app)을 만들었음, 완전 오프라인 가능, 텔레메트리 없음, 오픈소스이며 Git 연동 지원함
    • Yaak의 상업 라이선스 구조가 궁금함, 프로 라이선스 구입이 '신의성실 원칙'에 기반한 구조라면 MIT 라이선스와 어떤 차이인지 궁금함, 오픈소스 상업 라이선스를 공부하며 어떤 상황에 무엇이 효과적인지 항상 궁금함
    • 6-9개월째 Yaak을 사용 중이고, 처음엔 소스에서 직접 빌드하다가 현재는 유료 사용자로 전환함, 최근 Yaak이 가입자 수와 수익을 open metrics로 공개하는 것을 보고 투명한 운영 방식이 보기 좋았음
    • 현재 Bruno를 사용하고 있고, Yaak의 Bruno와의 비교 자료도 읽어봤음, 만약 Bruno에서 내가 원하는 모든 기능이 지원된다면, Bruno 대비 Yaak만의 차별점이 무엇인지 듣고 싶음
    • Insomnia를 만들어서 매각한 후에 새로운 경쟁 툴을 만든 건가 궁금증 있음, 거래 시 아무 제약이 없었나 궁금함
    • Insomnia 인수 이전 시절 제품을 무척 좋아했기 때문에, 그 정신적 후계로 Yaak이 나온 게 매우 기쁜 일임, Greg을 응원함
  • 사용 목적에 따라 별도의 앱이 필요 없는 경우도 많음, JetBrains(정보), Visual Studio(정보), VSCode(정보) 모두 http 파일 지원 가능함
    • VSCode용은 익명의 개발자가 만든 플러그인임, 내장 기능이라 보긴 어려움
    • 우리 조직에서는 개발자가 아닌 QA도 http api를 자주 쓰기 때문에 현재는 Bruno가 그 역할을 잘 해주고 있음
    • 제품마다 http 파일 포맷이 완전히 동일하지는 않음, 그래서 우리 팀은 hurl을 사용함, QA팀은 robot framework를 더 선호하고, 일부는 Bruno를 씀
    • 조직 규모가 커질수록 방대한 postman collection을 API 문서화, 회귀 테스트, QA용으로 많이 사용함, 특히 postman javascript 라이브러리와 커스텀 코드에 의존도가 큼
  • 대부분의 사람들이 Postman이 점점 기능이 늘어나서 비대해지고 온라인 종속성을 가지게 되었다는 것을 받아들이게 되었다고 생각함
    • 회사에서 Postman이 온라인 전환된 후 전 직원에게 Postman 삭제 요청 메일이 감, 현재 IT팀에서는 금지 소프트웨어로 위키에 등재함, 예전엔 정말 모든 곳에서 썼었음
    • Postman이 업계 표준 도구가 되어감에 따라 모두가 적응하게 된 상황임, 비즈니스 쪽 사람들도 Postman을 쓰고 컬렉션 공유가 기본이 됨, 본인은 Postman 사용을 싫어하지만 API 작업을 공유해야 할 때는 어쩔 수 없이 써야 함, Postman 사업에는 좋은 일이지만 모든 사용자에게 좋다는 생각은 들지 않음
  • 아주 간단한 경량 yaml 기반 Postman 대체재로 yapi(https://github.com/jamierpond/yapi)를 만들었음, 아래처럼 사용 가능함
    yapi -c ./users.yapi.yaml
    
    yaml 파일 예시(스키마, url, method, path, 쿼리 파라미터 명시 방식 포함), 단순히 yapi만 실행하면 fzf를 활용해 설정 파일을 쉽게 찾을 수도 있음
    • 정말 흥미로운 컨셉이고 워크플로우에 익숙해지면 잘 쓸 수 있을 것 같음, 그런데 Github에서 왜 이렇게 저조한 통계를 보이는지 궁금함, 결국 다들 Postman을 쓰고 있기 때문인 것 같음
  • 오랫동안 Paw를 사용해왔는데 최근 몇 년 전에 RapidAPI로 합병됨, 작은 앱인데 역할을 훌륭히 수행함, 최근에는 Phoenix LiveBook notebook과 Req 패키지를 조합해 사용하고 있음, 원하는 언어를 직접 다루며 데이터 가공도 자유로움, Elixir를 모른다면 jupyter나 다른 노트북 시스템도 대안이 될 것임
  • Bruno + git 조합이 우리 팀에는 완벽함, 컬렉션을 저장소 내에서 버전 관리하고 외부 의존성 없이 오프라인 가능함, 진작에 이렇게 할걸 그랬음
    • curl 붙여넣기(import)에서는 이상한 버그가 있었지만 해결 됨, 그 외에는 100% 만족 중임
  • 2018년 이후로 Postman 사용을 전면 중단함, API 쿼리를 하려면 로그인까지 해야 하는 점이 너무 불편하다고 생각했음, 솔직히 사용성도 별로 매력적이지 않았음