ブックマーク / zenn.dev/catatsuy (3)

  • MySQLが好きな私が、今はPostgreSQLを勧めたい理由

    私はMySQLが好きです。長く使ってきましたし、オンプレミスでの運用もやってきました。 しかし現職に来てからは、PostgreSQLを使う機会が増えました。最初は正直かなり抵抗感がありました。ずっとMySQLを使ってきたので、慣れの問題もありますし、PostgreSQLに対して必要以上に構えていたところもあったと思います。 ただ、実際に使っていくうちに、PostgreSQLの良さが少しずつ見えてきました。最近では、新規開発でどちらを選ぶかと聞かれたら、PostgreSQLを選びたいと思うようになっています。 私はMySQLを長く使ってきたので、昔のMySQLの雑さも知っています。ただ同時に、今でも昔の印象だけでMySQLを語るのは不正確だとも思っています。sql_modeをきちんと設定すれば危ない挙動の多くは避けられますし、MySQL 8でかなり多くの機能が入りました。 また、今回はオンプ

    MySQLが好きな私が、今はPostgreSQLを勧めたい理由
    tech0403
    tech0403 2026/03/13
  • Goの古いコードが動かなくなることはほぼない理由

    古いGoのコードが腐ったという話を聞いて、状況はよく分かりませんが、そんなことは基ないので安心して欲しいという話を書きます。 2行まとめ 一般的なアプリケーション(cgoやHTTPやgoroutineの細かい挙動に依存していない限り)であればGoは古いコードでも動くはず ただし依存先のコードが消えていたり、非互換な変更が入っていたら動かなくなるので、動かしたいならvendorディレクトリ以下にソースコードを入れて完全固定するべき Goは非常に互換性が高い言語 Goはversion 1のリリース以降、互換性を維持しており、コードが動かなくなることは基的にありません。 実はGo 1.22で初めて非互換な変更(forループの変数を毎回生成する変更)が入りましたが、これにより問題が出るのは、もともとバグがあったコードである可能性が極めて高いです(少なくともGoogle社内で見つかった非互換なコ

    Goの古いコードが動かなくなることはほぼない理由
    tech0403
    tech0403 2024/12/30
  • nginxでHTTP/3を使う方法 2023年5月版

    ついさっき、ついにHTTP/3対応のブランチ家のnginxにmergeされました。 このまま何事もなければ次のMainline versionである1.25.0がリリースされたタイミングで使えるようになるはずです。 検索するとnginxでHTTP/3を使う方法を解説しているサイトがいくつかヒットしますが、実はmergeするちょっと前くらいから非互換な変更をいくつも入れていたので、そのままだと動かないはずです。なので簡単に使い方を解説しておきます。 なお分かっていると思いますが、こちらの記事は記事執筆時点(2023/05/20)の内容です。 OpenSSLの代わりを選ぶ HTTP/3を使うには自分でbuildする必要があります。いずれpackageが配布されるだろうと思っている人がいるかもしれませんが、nginxのHTTP/3対応はBoringSSLのAPIで対応されています。OpenS

    nginxでHTTP/3を使う方法 2023年5月版
    tech0403
    tech0403 2023/05/21
  • 1