プロを目指す人のためのRuby入門
2024年5月4日プロを目指す人のためのRuby入門を読んだ。 業務レベルで役に立ちそうなことが詳細に書かれている。読みやすい。 ...
プロを目指す人のためのRuby入門を読んだ。 業務レベルで役に立ちそうなことが詳細に書かれている。読みやすい。 ...
プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識を読んだ。 改訂版が出ていたの読み直した。 情報系の学校であればこういうことは講義で学んでいる気がしている。 ...
概要 これまでgoblinという自作HTTPルーターを自分のアプリケーションで使っていたが、Go1.22でServeMuxの機能が拡張されてからはServeMuxを使うようになった。 この記事では、Go1.22で追加されたServeMuxの機能や性能について整理し、これからのGoのHTTPルーター選定について考えてみる。 Go1.22で追加されたServeMuxの機能 Go1.22rcの公開時にS...
PHPCompatibilitiyを使ってPHP8.2の互換性チェックを行う際にハマったことのメモ。 ハマったこと 2023年10月現在、latestである9.3.5をインストールしてもPHP8.2の互換性チェックはできない。 9.3.5は2019年リリースで、最近のPHPのバージョンにまだ対応していないらしい・・・ 解決策 もしかして開発止まってる?と一瞬思ったが、その様子はない。 develo...
rune型とは int32のエイリアス型で、Unicodeのコードポイントを表す。 Unicodeは符号化文字集合や、文字符号化方式などを定めた文字コードの標準規格で、世界の多様な言語や書式、記号に番号を割り当てたもの。 符号化文字集合とは、コンピューター上で扱う文字や記号を重複しないように集めた文字セットのことであり、文字と文字に割り当てられた番号の対応表を指す。文字符号化方式は、文字に割り当て...
GoでHTTPサーバーを書いているときなどオレオレ証明書がほしいときに役立つワンライナー。 go run $(go env GOROOT)/src/crypto/tls/generate_cert.go -rsa-bits 2048 -host localhost cert.pemとkey.pemが用意できる。 openssl使ったりmkcert使ったりしていたけどGo使っていたらこれで良さそう...
指数バックオフ(Exponential backoff) リクエストの遅延を乗算的に増加させる(リトライ間隔を遅延させていく)形で失敗したリクエストを定期的に再試行(リトライ)する手法。 ex. 1回目のリトライは1秒後、2回目は2秒後、3回目は4秒後、4回目は8秒後... リトライ設計においては、バックオフのみに依存するのではなく、リトライ上限やタイムアウト(接続タイムアウトとリクエストタイムア...
この記事はMakuake Advent Calendar 2023の24日目の記事です。 概要 10年以上運用しているサービスのPHPとFuelPHPのアップデートを行ったプロジェクトのレポーティングをする。 アップデート対象 メインサービス(会社が運用する主要なサービス)のアプリケーション FuelPHP利用 メインサービスが利用している社内ライブラリ(2つ) PHP製 メインサービス...
この記事はMakuake Advent Calendar 2023の19日目の記事です。 なんでこんな大遅刻かというと、唯一埋まっていなかった19日の枠を急遽埋めようと思って投稿したため。元々掴んでいた枠ではないので遅刻ではない。 概要 去年くらいからGoのnet/httpに含まれるServeMuxの機能拡張の提案が出ていてウォッチしていたのだが、最近Closedになったらしい。 cf. net/...