Hacker News 의견
  • Go 언어는 프로젝트를 5일 동안 작업하고 2년 동안 방치한 후에도 문제없이 다시 코딩할 수 있게 해줌
  • Go 언어는 몇 년 전부터 배우기 시작했지만 크게 변하지 않아 오랜 시간이 지나도 여전히 유용함
  • Go 언어의 웹 개발 포스트에서 embed 패키지가 언급되지 않은 것이 아쉬움
    • 단일 바이너리로 정적 리소스를 번들링하는 것이 매우 편리함
  • 데이터베이스 트랜잭션은 실패하도록 설계되었기 때문에 항상 재시도 루프를 사용해야 함
    • 트랜잭션 루프에 Context를 추가하여 취소할 수 있도록 하는 것이 좋음
  • sqlc는 몇 가지 주요 제한 사항과 사소한 불편함이 있어 사용하기 전에 이슈 목록을 확인하는 것이 좋음
    • 동적 쿼리, 일대다 관계, 임베디드 CTE, 복합 타입 등을 지원하지 않음
    • 간단한 요구사항에는 적합하지만 복잡한 작업에는 수동 접근 방식을 사용해야 함
  • Go를 컨테이너 내에서 실행할 때 GOMAXPROCS를 적절히 설정하여 CPU 스로틀링을 피해야 함
  • GOMEMLIMIT을 사용하면 GC에 대한 걱정을 줄일 수 있음
    • Kubernetes나 Docker를 사용할 때 자동으로 설정할 수 있음
  • html/template는 이상하고 많은 문제를 가지고 있어 사용하지 않는 것이 좋음
    • 대신 Templ을 선호함
  • 라우팅에 대한 언급이 반가움
    • 오랫동안 mux에 익숙해져 있었지만 새로운 릴리스 기능을 주목하지 않았음
  • 새로운 직장에서 한 달 동안 Go를 사용했지만 싫어함
    • Go는 지난 20년간의 언어 개발에서 아무것도 배우지 않은 것 같음
    • nil 문제로 인해 간단한 작업도 복잡해짐
  • SQLite를 사용할 때 단일 쓰레드 작성자 풀과 다른 읽기 풀을 사용하는 것이 좋음
    • BEGIN CONCURRENT를 사용하여 동시성을 개선할 수 있음
  • Go의 단순성과 프레임워크 의존성이 없는 점을 사랑함
    • 표준 라이브러리와 검증된 서드파티 라이브러리만으로도 훌륭한 것을 만들 수 있음
    • 웹 앱이나 CLI 도구를 만들 때 Go가 적합함
    • 명시적인 오류 처리를 좋아함
    • 큰 Go 팬임