この記事では、OpenCVとそれを呼び出すコードをC++で記述し、Emscriptenを用いてwasmに変換することでブラウザ上からOpenCVの機能を利用するサンプルを紹介します。| WORKS on Gammalab
この記事では、webglを使ってgltfファイルをwebブラウザで表示するサンプルを紹介します。| WORKS on Gammalab
近年、ソフトウェア開発におけるObservability(観測性)の重要性がますます高まっています。通常、本番環境にモニタリング環境を導入しますが、ローカル開発でも同じ環境を簡単に起動できることが理想的です。この記事では、ローカル環境でo11yスタックを迅速に立ち上げ、実際に使用できるサンプルを通じて、その手法とメリットを詳しく解説します。| WORKS on Gammalab
k6はjavascriptでシナリオが書ける負荷試験ツールですが、es6のみしかサポートしていないため、cryptoをはじめとした複雑な処理を呼び出すことができません。k6は実のところ拡張性が高くつくられており、xk6というビルドツールを使うことで、独自のモジュールを追加したk6を簡単にビルドすることができます。本記事では、xk6を使ってk6にカスタム関数を追加する方法を...| WORKS on Gammalab
CosmosSDKで作成したブロックチェーンの、非決定的な処理によるConsensusErrorを解決する1手法をまとめたので紹介します。| gammalab.net
go1.21で構造化ログを出すslogが標準ライブラリに導入されました。これを使ってTraceIDを一緒にログに出すようにします。| gammalab.net
GoでAPIサーバーを構築していると、「エラーログがでたけどこのログはどのリクエストに紐づいているんだっけ?」となることが多々あります。traceは主に処理時間の内訳や呼び出しの依存関係を示してくれますが、スパンのコンテキストにいろんな値を保持しておき、それをエラーログと結びつけることでデバッグに便利に使えます。また、自身でtraceやlogの記録・可...| gammalab.net
webアクセスのHTTPステータスがどうなっているか、レスポンスタイムがどれくらいかを可視化したいですよね。promtailを使うとログを転送すると同時にログ内容を解析してメトリクス化ができるので、その機能を使ってこれを実現してみました。| gammalab.net
misskeyインスタンスを建て、apacheをリバースプロキシとして利用したときに ProxyPreserveHost 設定がなかったため連合がうまくいかなかったトラブルレポートです。| gammalab.net
個人でk8sを活用し始めると、個人用のhelmレポジトリが欲しくなると思います(私は欲しくなりました)。helmレポジトリはwebサーバとしてのホストが必要なので少々めんどうなのですが、私はgithubでコードを管理し、アーティファクトをs3+cloudfrontで配布する方法を取ったので紹介します。| gammalab.net
ご挨拶 もう1月も半ばとなってしまい今更感もありますが、あけましておめでとうございます。 昨年も多くのご縁があり、大変お世話になりました。何卒今| gammalab.net
この記事はNeosVR Advent Calendar2022 15日目の記事です。 3枚目が作られていたのでうっかり甘えて登録してしまいましたが、実際この記事はNeosVR本体の内容が殆どなく、サーバー運用の話が99%の特殊な記事となっているので賞味番外編です。 「こういうのもあるんですね」という気持ち流し読みしていただけたら幸いです。| gammalab.net
この記事はNeosVR Advent Calendar2022 15日目の記事です。 NeosVRで任意のアイテムのコンポーネントを取得したり、その中のフィールドにアクセスしたい!そう思ったこと、一度はありますよね。 NeosVRでは、一般的な方法でではslot(Unityで言うGameObjectのこと)にアタッチされているコンポーネントの一覧やそれぞれの参照、 そして、そのコンポーネント内のフィールドにアクセス...| gammalab.net
最近勉強も兼ねておうちサーバーにKubernetesを構築したのですが、 おうちkubernetesクラスタあるある「特にデプロイするものがない」が当たり前のように発動してしまいました。 せっかくなら自分でアプリケーションを作ってデプロイ、したいですよね(というかその勉強も目的のうちの1つなのだった。) 最近偶然Discordbotを作ってk8sに上げる機会ががあったのでついでに...| gammalab.net
wslではexeがexecutableとしてマークされており、通常バイナリと同様の手順で起動することができます。 当然linuxのsyscallが使えるわけではないので、起動すると言ってもホスト側で起動してくれるだけですが、これは絶妙に便利な機能ですね。 参考 たとえば、clip.exeがpbcopyと同じノリで使えるのもこれのおかげです。| gammalab.net
ConcourseCI、見た目が良くて、何よりジョブがいい感じに可視化されるので、「何をやってるのか」がひと目でわかっていいんですよね。ドキ| gammalab.net
誰得??? ちょっとニッチすぎてこんなこと検索するひとおるか…? という感じですが備忘録備忘録 Discordの普通のbotはソケッ| gammalab.net
(今回はいつも以上に備忘録味が強くて雑です。ごめんね!) おうち用にタスクランナー欲しくなること、ありますよね… 大体タスクランナ| gammalab.net
IaCいいですよね。 なのでこの記事ではTerraform-provider-esxiを使って、おうちESXIをTerraformで管理してVMを立ち上げ、cloud-initを活用してTeleportを自動セットアップします。 子ノードを作成して接続まで一応するのですが、Teleportはノードの接続にinviteトークンを発行する必要があり、そこだけ自動化できていません。(今後の課題)| gammalab.net
Teleportとは teleportは一言で説明するのが難しいのですが、次世代の踏み台サーバーのようなアプリケーションです。 IDとパスワードだけの認証だけではなく、二要素認証に加えてGithubでのサインインなど様々な認証方法を取って、 ユーザーにsshを始めその他のwebアプリケーション、Kubernetes、Database、Remotedesktopへのアクセスを許可することができます。| gammalab.net
この記事ではGithubActionsでTerraformを使って、AWS環境をコードで管理するチュートリアルです。 GithubActionsに実装されたOIDC認証を用いて、トークンなしにロールを割り当て、AWS Lambda + API Gatewayのエンドポイントを作成します。| gammalab.net
本記事ではいかにチョッパヤでアプリ化するかというところに焦点を当てるので、開発時の便利さ(live reloadなど)は省きます。この辺をいい| gammalab.net