ブックマーク / please-sleep.cou929.nu (3)

  • Go の sql.DB がコネクションプールを管理する仕組み

    Godatabase/sql パッケージ の DB 構造体 は、データベースへのコネクションプールを管理し、かつスレッドセーフ (goroutine セーフと言ったほうが良いのだろうか…?) にそれらの接続を使用できることを保証している。 ドキュメント にも次のように書かれている。 DB is a database handle representing a pool of zero or more underlying connections. It’s safe for concurrent use by multiple goroutines. こちらの基的な実装内容と、動作を制御するパラメータについて調べてみた。 基礎知識のおさらい database/sql パッケージはデータストアの実装によらない一般的な SQL のインタフェースを提供している。具体的なデータストアへの接

    Go の sql.DB がコネクションプールを管理する仕組み
    mom0tomo
    mom0tomo 2023/06/11
  • nginx の error_page ディレクティブでステータスコード書き換え

    nginxerror_page というディレクティブでエラーの時に返す html を指定できるが, その際にステータスコードの上書きもできる. error_page 500 502 504 =200 /error.html; こうしておくとエラーの際には /error.html を返しつつ, 500, 502, 504 の際は 200 を返すようになる. なんとしてもクライアント側に迷惑を掛けたくない (ブラウザコンソールにエラーが出ることすら避けたい) 場合にこうして 200 にたおしておく設定はありだろう. HttpCoreModule

    nginx の error_page ディレクティブでステータスコード書き換え
    mom0tomo
    mom0tomo 2021/07/20
  • シェルスクリプトを書くときにいつもやるやつを調べた

    bash のシェルスクリプトを書くときに、いつも脳死で以下をやっている。(同僚が整備してくれたものをコピペしている) エディタなり CI で shellcheck をまわす set -euxo pipefail と冒頭に書く こんな感じ #!/bin/bash set -euxo pipefail いつまでもコピペではさすがにアレなので、意味を調べたメモ。 shellcheck koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts イケてない書き方に警告を出してくれる それぞれの警告にはエラーコード割り振られていてとても便利 エラーコードごとに正誤例、解説が書かれているのでわかりやすい SC1000 の例 CI もそうだし、エディタのプラグインも充実 しているのでとりあえず入れておくと良い set

    シェルスクリプトを書くときにいつもやるやつを調べた
    mom0tomo
    mom0tomo 2021/02/18
  • 1