タグ

ブックマーク / zenn.dev/mattn (7)

  • Go 1.26 は、軽くなり速くなる

    はじめに この記事は Go Advent Calendar 2025、最終日 25 日目の記事です。 今年も皆さんお疲れ様でした。Go 1.26 がまもなくリリースされます。今回のリリースは派手さは無いにしろ、Go を使っておられる皆さんにとってはとても大きなリリースになるんじゃないかと思っています。 短い文章で言えば「軽くなり」「速くなる」です。 パフォーマンスに関する大きな変更2つ Green Tea GC Go 1.25 まで実験的に導入された Green Tea GC が 1.26 でデフォルトで導入されました。 これまで Go には数多くの GC 実装が取り込まれてきました。それぞれの GC により細かなチューニングがされ、パフォーマンス改善が行われました。 これまでの GC は、ヒープ上のオブジェクトへのポインタを追跡して個別にマークしていました。その結果メモリアクセスがランダ

    Go 1.26 は、軽くなり速くなる
    rgfx
    rgfx 2025/12/25
    ガベコレ、古典的なmark&sweepだったのが改善とな(なんか世代別とか並列とか色々あったなあ。
  • kubernetes でケチケチ節約して複数のサイトを管理する

    はじめに 個人で管理するウェブサーバでは、しばしば複数のウェブサイトを管理する際にコストも掛かり気味ですが、kubernetes でもツールを適切に選べば複数サイトをケチケチしながら、うまく管理できるという話をしたいと思います。 複数のサイトに必要な物 複数のサイトを運営するとなれば、こういったものが必要かと思います。 ロードバランサと複数のドメイン HTML で作られた複数の静的サイト 複数サイトの証明書 ロードバランサと複数のドメイン 個人で管理するレベルの規模だと、複数のロードバランサをその数分借りるほどコストを掛けたくありません。できれば1つのグローバルアドレスを使い、バーチャルホストとして稼働させたいです。 ドメイン毎に Ingress を構築しても良いのですが、できれば管理コストを減らしたいです。また Ingress をサイト毎に分けると証明書もそれごとに発行しないといけなくな

    kubernetes でケチケチ節約して複数のサイトを管理する
    rgfx
    rgfx 2025/11/12
  • Nostr の面白さをエンジニア目線で解説してみる

    はじめに 今年は、SNS でありプロトコルでもある Nostr に出会いました。2023年2月の参加でしたがもう、どういった経緯で Nostr を見付けて参加したのかすら思い出せなくなってしまいました。ここ数年、X/TwitterAPI という物を開発者に触らせなくなってしまいました。僕は X/Twitter が大きくなった理由の1つが、API をオープンにした事で数多くの bot やサービスがが登場した事だと思っていて、API が自由で無くなった X/Twitter をとても残念に感じています。次第に SNS に関連する何かを作るモチベーションはさっぱり無くなってしまっていました。 そんな中で見付けた Nostrエンジニアのオアシスとでも言える SNS だと感じました。 Nostr の思想 X/Twitter は中央集権型の SNS であり、以下の様な問題を持っています。 障害

    Nostr の面白さをエンジニア目線で解説してみる
    rgfx
    rgfx 2023/12/17
    httpsと公開鍵でリッチなIRCやってるやつ。
  • nostr と Bluesky に7つ bot を作り k8s で稼働させた

    俳句bot (nostr) nostr の日リレーを監視し、投稿を 575 または 57577 判定し、引用でお知らせする。狙った俳句ではなく、天然物の俳句がマッチするとウケが良い。 Go で実装。内部では go-haiku を使って俳句を判定。監視は日語の投稿が流れる日のリレーをお借りしている。普通の Go アプリなので golan:1.20-alpine でビルドして scratch でイメージ作成。 # syntax=docker/dockerfile:1.4 FROM golang:1.20-alpine AS build-dev WORKDIR /go/src/app COPY --link go.mod go.sum ./ RUN apk add --no-cache upx || \ go version && \ go mod download COPY --link

    nostr と Bluesky に7つ bot を作り k8s で稼働させた
    rgfx
    rgfx 2023/05/05
  • 無料の SSL 証明書が得られる ZeroSSL を使ってみた

    はじめに 皆さんは ZeroSSL を知っていますか?個人でウェブサイトを運営している皆さんであれば、多くの方は Let's Encrypt を利用されていると思います。 https://letsencrypt.org/ja/ もちろん僕も使っています。僕の様なエンジニアの方であれば SSL の仕組みもおおよそ理解もしているし、コマンドラインの実行方法も知っておられるのでウェブサイトの SSL 証明書を取得する事もそれほど難しい事ではないでしょう。 しかしそれほど詳しくない方が certbot の様なコマンドを使って SSL 証明書を発行するのは割と難しい事です。そこでご紹介したいのが ZeroSSL です。 https://zerossl.com/ ZeroSSL とは ZeroSSL もまだあまり名前が知られていないせいか、Google 検索で「ZeroSSL」を検索すると「ZeroS

    無料の SSL 証明書が得られる ZeroSSL を使ってみた
    rgfx
    rgfx 2022/12/07
  • multipass 上に kubernetes 環境を最速で作る

    はじめに M1 Mac で multipass が動くみたいですね!(M1 持ってません、誰か下さい) ところで multipass で kubernetes 環境作るの面倒だなぁと思っていたのですが、k3s を使う事で、一瞬で作れる事が分かってしまいました。以下その手順を書いていきます。 最初に答えを書く 最初に答えを書くと以下だけです。Windows でも出来ました。 multipass launch --name k3s multipass exec k3s -- bash -c "curl -sfL https://get.k3s.io | sh -"

    multipass 上に kubernetes 環境を最速で作る
    rgfx
    rgfx 2021/11/21
  • Go と prisma と lit-html と ky で作るモダンな TODO アプリ

    はじめに 以前から GoORM (Object Relational Mapping) 選定の為に、そこそこ時間を使っています。現状は gorp を使っていますが、満足している訳ではありません。 そんな中で見つけた prisma を試すべく、バックエンドに Go と prisma を使った TODO アプリを作ってみる事にしました。 prisma とは prisma (Next-generation ORM for Node.js and TypeScript)は簡単に言うと 自動生成された型付きのクライアントが付いている マイグレーションが出来る モデル定義から CRUD やインデックスを自動生成できる PostgreSQL, MySQL, SQLite3 等をサポート Prisma Studio という GUI が付いている というモダンな ORM です。Nuxt と TypeS

    Go と prisma と lit-html と ky で作るモダンな TODO アプリ
    rgfx
    rgfx 2021/03/15
  • 1