본문 바로가기

전체 글74

Go google style guide - overview & guide Golang의 google style guide 문서를 번역해 보았다. 아무래도 Golang 언어를 만든 기업이니 google guide를 따르는게 좋지 않을까 하는 판단에서 uber guide 등 다른 가이드보다 구글 가이드를 참고하고자 한다. 참고 문서: https://google.github.io/styleguide/go/index About Go style guide는 readable하고 idiomatic한 go를 작성하는 가장 좋은 접근법을 작성해 두었다. Document 대상 Normative Canonical Style Guide 모두 Yes Yes Style Decisions 가독성 멘토 Yes No Best Practices 관심있는 모두 No No 정의 Canonical: 모든 코드가 .. 2023. 11. 19.
[TIL] Grafana License 모니터링 환경을 구축해보고자 Prometheus의 대쉬보드로 Grafana를 사용해 보려고 했다. 하지만 Grafana의 License가 2021년에 변경되었다는 것을 알고, 어떤 변화가 있는지 정리해두고자 한다. 참고 문서: https://grafana.com/licensing/ Changes 2021년 4월 20일, Grafana lab의 core open source project가 Apache License v2.0에서 AGPL-3.0으로 변경되었다고 한다. 영향받는 제품 Grafana, Grafana Loki, Grafana Tempo와 같은 코어 프로젝트가 AGPL로 변경되었다. Plugin, agent, 특정 라이브러리가 Apache license로 계속 남아 있다. 자세한 내용은 Grafa.. 2023. 11. 19.
[TIL] 소프트웨어 버전 체계 일을 하다 소프트웨어 버저닝에 대해 정리해볼 필요를 느껴 정리해 둔다. 순서 alpha → beta → rc(release candidate) → stable release 알파 버전 예시: 1.0.0-alpha1, 1.0.0a2 알파 버전에서의 동작은 불안정할 수 있고, 크리티컬한 이슈를 포함할 수도 있다. 이 과정에서 주로 내부 테스트를 거친다. 베타 버전 예시: 1.0.0-beta1, 1.0.0b2 알파 버전에서 조금 더 테스트를 거치고, 버그를 수정한다. 정식 출시 버전보다 적은 수의 유저에게 테스트를 맡긴 후 개선점을 찾아낸다. RC 버전 예시: 1.0.0-rc1, 1.0.0rc2 릴리즈할 후보군으로, 최종 릴리즈는 이 후보군 중에서 골라서 배포하게 된다. Stable Release 가장 마지막.. 2023. 11. 6.
[TIL] js pm2 패키지 Linux에서 nohup을 이용해서 백그라운드로 프로세스를 전환하고, 구동할 수 있다. 이에 더해 웹서버가 죽었을 때에도 다시 살아나는 기능이 필요해 패키지를 찾아보던 중 가장 대중적으로 사용되는듯 해서 써보고 정리해 두고자 한다. golang으로 프로세스 데몬화하고 재실행하는 스크립트를 직접 구현했는데 이 패키지만 있으면 굳이 추가 구현이 필요 없을 듯 하다. 참고 문서: https://www.npmjs.com/package/pm2 개요 PM2(Process Manager 2)는 스크립트를 지속적으로 실행할 수 있도록 하는 패키지이다. 어플리케이션을 계속 살아있게 해주고, 다운타임 없이 리로드할 수 있게 해준다. 설치 npm install -g pm2 시작 pm2 start app.js 프로세스는 데몬.. 2023. 11. 5.