ブックマーク / bmf-tech.com (6)

  • bmf-tech.com - Goでオレオレ証明書がほしいときの一手

    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使っていたらこれで良さそう。 cf. Source file src/crypto/tls/generate_cert.go

    tmatsuu
    tmatsuu 2024/02/17
    $(go env GOROOT)/src/crypto/tls/generate_cert.go へー。いいね。おぼえておく。
  • bmf-tech.com - Go1.22rcで変更されるServeMuxの仕様

    この記事はMakuake Advent Calendar 2023の19日目の記事です。 なんでこんな大遅刻かというと、唯一埋まっていなかった19日の枠を急遽埋めようと思って投稿したため。元々掴んでいた枠ではないので遅刻ではない。 概要 去年くらいからGonet/httpに含まれるServeMuxの機能拡張の提案が出ていてウォッチしていたのだが、最近Closedになったらしい。 cf. net/http: enhanced ServeMux routing #61410 cf. GoでServeMuxの機能拡張を提案するProposalがAcceptedになった アプリケーション この機能拡張はGo1.22に含まれる想定らしく、Go1.22rc2がリリースされたので試してみた。(Go1.22rc1から含まれているようだが、スルーしていた。) Go1.22でのnet/httpの変更点 ti

    tmatsuu
    tmatsuu 2024/01/28
    へー、もうServeMuxだけで良さそう。「/は全てのパスに一致してしまう」の部分が注意だな。nginxのlocationに近いものと考えれば良さそう。location = に相当するのは{$}を書くと覚えればよさげ。
  • bmf-tech.com - GoでServeMuxの機能拡張を提案するProposalがAcceptedになった

    GoでServeMuxの機能拡張を提案するProposalがAcceptedになった アプリケーション 2023年8月31日 作成2023年8月31日 更新 以前からウォッチしていたnet/http: enhanced ServeMux routing #61410がAcceptedになったので、それについてポエムをかく。 最終的な仕様がどうなるかはわからないが、静的なルーティングの機能(/foo/barのような固定値のルーティング)しか持っていないServeMuxに動的なルーティング(/foo/:idのようなパスパラメータを使ったルーティング)の機能が少なくとも追加されそうな雰囲気。 自分がこのProposalを気にしている理由は、ルーティングのライブラリを個人的に開発しているである。 cf. bmf-san/goblin cf. bmf-tech.comの関連記事 goblinは有名所

    tmatsuu
    tmatsuu 2023/09/03
    slogにしろenhanced ServeMux routingにしろ、標準だけで事足りるようになるのは嬉しい。
  • bmf-tech.com - PyroscopeでContinuous Profiling

    概要 PyroscopeというContinous Profilingのツールを導入してみた。 Continous Profilingについてはこちら参照。 What is continuous profiling? 今年に入ってからGrafanaが買収したらしい。 Grafana Labs が Pyroscope を買収してコード プロファイリング機能を追加 買収してからは、Grafana Pyroscopeが正式名称?ぽい。 Grafanaにプラグインが用意されているので連携することもできるが、Pyroscope単体にもUIが用意されている。 Demoが用意されているので触ってみると何が見れるか分かりやすいかも。 OSSとしてコードが公開されているので実装が気になる場合は見に行くこともできる。 grafana/pyroscope 導入 構成について先に目を通しておくと良い。 Pyrosc

    tmatsuu
    tmatsuu 2023/05/05
    goの場合はpprofと連携していい感じのUIで継続プロファイリング。オープンソース実装もあるのでセルフホストも可能。わいわい。GW中に試そう
  • bmf-tech.com - 自作ルーティングをアップデートした

    概要最近、自作ルーティングのgoblinをアップデートしたのでその記録を書き残しておく。 以下は過去ルーティングについて書き残した記事。他にも実装検討フェーズの記事があるが、内容があまり良くないので割愛。 URLルーティング自作入門 エピソード1 URLルーティング自作入門 エピソード2 GolangのHTTPサーバーのコードリーディング Introduction to URL router from scratch with Golang 何が変わったのか?基的な動作をするバージョンを1.0.0としてリリースしていた。 実際に自分で利用する中で、バグを見つけたり、機能の物足りなさを感じて、後方互換性のない変更を何回か経て(行き当たりばったりな実装をしていたツケが回った)、現在は5.0.1が最新のバージョンになっている。 具体的には、ミドルウェアの機能をサポートするようになったことが一番

    bmf-tech.com - 自作ルーティングをアップデートした
    tmatsuu
    tmatsuu 2021/06/27
    golang用URLルーティングgoblin。わいわい
  • bmf-tech.com - Docker CLIでDocker Composeが使えるようになった

    Docker CLIでDocker Composeが使えるようになった インフラストラクチャ 2021年5月6日 作成2021年5月6日 更新 最近のアップデートDocker CLIがDocker Composeをサポートするようになったらしい。 cf. docs.docker.com - Compose CLI Tech Preview Tech Previewなのでまだプロダクションでの利用推奨されていないとのこと。 互換性についてはこちら。 docs.docker.com - Compose command compatibility with docker-compose Docker composeはpythonで実装されているが、今回はサポートされるDocker Composeはgolang製らしい。 cf. https://github.com/docker/compose

    tmatsuu
    tmatsuu 2021/05/06
    へー。 `docker-compose` から `docker compose` か。まだTech Preview
  • 1