BLOG
Blog:
goのローカル開発環境でもo11yスタックを活用したい

近年、ソフトウェア開発におけるObservability(観測性)の重要性がますます高まっています。通常、本番環境にモニタリング環境を導入しますが、ローカル開発でも同じ環境を簡単に起動できることが理想的です。この記事では、ローカル環境でo11yスタックを迅速に立ち上げ、実際に使用できるサンプルを通じて、その手法とメリットを詳しく解説します。

Blog:
xk6でk6にカスタム関数を追加する

k6はjavascriptでシナリオが書ける負荷試験ツールですが、es6のみしかサポートしていないため、cryptoをはじめとした複雑な処理を呼び出すことができません。k6は実のところ拡張性が高くつくられており、xk6というビルドツールを使うことで、独自のモジュールを追加したk6を簡単にビルドすることができます。本記事では、xk6を使ってk6にカスタム関数を追加する方法を紹介します。

Blog:
CosmosのAppHash不整合をデバッグする

CosmosSDKで作成したブロックチェーンの、非決定的な処理によるConsensusErrorを解決する1手法をまとめたので紹介します。

Blog:
slogでログにTraceIDを出す

go1.21で構造化ログを出すslogが標準ライブラリに導入されました。これを使ってTraceIDを一緒にログに出すようにします。

Blog:
Goプログラムのトレースを取ってGrafanaCloudで可視化する

GoでAPIサーバーを構築していると、「エラーログがでたけどこのログはどのリクエストに紐づいているんだっけ?」となることが多々あります。traceは主に処理時間の内訳や呼び出しの依存関係を示してくれますが、スパンのコンテキストにいろんな値を保持しておき、それをエラーログと結びつけることでデバッグに便利に使えます。また、自身でtraceやlogの記録・可視化を行う環境を構築することは面倒ですが、GrafanaCloudの無料枠を使うとこれが快適に行えるので今回はこれを活用します。

Blog:
apacheのログをpromtailでメトリクス化する

webアクセスのHTTPステータスがどうなっているか、レスポンスタイムがどれくらいかを可視化したいですよね。promtailを使うとログを転送すると同時にログ内容を解析してメトリクス化ができるので、その機能を使ってこれを実現してみました。

Blog:
apacheでリバースプロキシするとmisskeyが連合できなかった

misskeyインスタンスを建て、apacheをリバースプロキシとして利用したときに ProxyPreserveHost 設定がなかったため連合がうまくいかなかったトラブルレポートです。

Blog:
github+awsでhelmレポジトリを構築する

個人でk8sを活用し始めると、個人用のhelmレポジトリが欲しくなると思います(私は欲しくなりました)。helmレポジトリはwebサーバとしてのホストが必要なので少々めんどうなのですが、私はgithubでコードを管理し、アーティファクトをs3+cloudfrontで配布する方法を取ったので紹介します。

Blog:
みんなのととがんま(随時更新)

多くの方がととがんま代理キャラの絵を描いてくださいました。このページではそれらをご紹介します。

Blog:
新テーマと振り返り

ご挨拶 もう1月も半ばとなってしまい今更感もありますが、あけましておめでとうございます。 昨年も多くのご縁があり、大変お世話になりました。何卒今

Blog:
NeosVR最大ケモノコミュニティ「ケモノhub」を支える技術

この記事はNeosVR Advent Calendar2022 15日目の記事です。

3枚目が作られていたのでうっかり甘えて登録してしまいましたが、実際この記事はNeosVR本体の内容が殆どなく、サーバー運用の話が99%の特殊な記事となっているので賞味番外編です。 「こういうのもあるんですね」という気持ち流し読みしていただけたら幸いです。

Blog:
コンポーネントの値を外から操作したい!RefIDオフセットの世界

この記事はNeosVR Advent Calendar2022 15日目の記事です。

NeosVRで任意のアイテムのコンポーネントを取得したり、その中のフィールドにアクセスしたい!そう思ったこと、一度はありますよね。

NeosVRでは、一般的な方法でではslot(Unityで言うGameObjectのこと)にアタッチされているコンポーネントの一覧やそれぞれの参照、 そして、そのコンポーネント内のフィールドにアクセスするためには、事前に自らLogiXツールチップを使ってインターフェイスノードを出したり、インスペクターから ReferenceProxyを介してドラッグアンドドロップしておく必要があります。

大抵の場合はこれで十分ではあるのですが、アバターを自動でカスタマイズしたり、外からインポートしたアイテムなどを一括で大量に編集したいなどのユースケースにおいてはこれができないと不便です。

…なのですが、実は、“RefID"を駆使するとこれが可能になります。

Blog:
DiscordBotをk8sにデプロイするチュートリアル

最近勉強も兼ねておうちサーバーにKubernetesを構築したのですが、 おうちkubernetesクラスタあるある「特にデプロイするものがない」が当たり前のように発動してしまいました。 せっかくなら自分でアプリケーションを作ってデプロイ、したいですよね(というかその勉強も目的のうちの1つなのだった。)

最近偶然Discordbotを作ってk8sに上げる機会ががあったのでついでにチュートリアルとして記事にまとめておくことにしました。 極力複雑なことを省いて、ひとまず動く状態まで持っていくというコンセプトになります。

Blog:
[C++]wsl上からwindows向けにmakeする

wslではexeがexecutableとしてマークされており、通常バイナリと同様の手順で起動することができます。
当然linuxのsyscallが使えるわけではないので、起動すると言ってもホスト側で起動してくれるだけですが、これは絶妙に便利な機能ですね。 参考

たとえば、clip.exeがpbcopyと同じノリで使えるのもこれのおかげです。

Blog:
ConcourseCIでもパラメーターつきビルドがしたい

ConcourseCI、見た目が良くて、何よりジョブがいい感じに可視化されるので、「何をやってるのか」がひと目でわかっていいんですよね。ドキ

Blog:
Discordのslash commandでSQSにメッセージを送る

誰得??? ちょっとニッチすぎてこんなこと検索するひとおるか…? という感じですが備忘録備忘録 Discordの普通のbotはソケッ

Blog:
ConcourseCI+VaultでおうちCI環境構築

(今回はいつも以上に備忘録味が強くて雑です。ごめんね!) おうち用にタスクランナー欲しくなること、ありますよね… 大体タスクランナ

Blog:
Terraform-provider-esxi + cloud-initでおうちもIaC

IaCいいですよね。

なのでこの記事ではTerraform-provider-esxiを使って、おうちESXIをTerraformで管理してVMを立ち上げ、cloud-initを活用してTeleportを自動セットアップします。 子ノードを作成して接続まで一応するのですが、Teleportはノードの接続にinviteトークンを発行する必要があり、そこだけ自動化できていません。(今後の課題)

Blog:
Dockerでお手軽にTeleportを試す

Teleportとは

teleportは一言で説明するのが難しいのですが、次世代の踏み台サーバーのようなアプリケーションです。 IDとパスワードだけの認証だけではなく、二要素認証に加えてGithubでのサインインなど様々な認証方法を取って、 ユーザーにsshを始めその他のwebアプリケーション、Kubernetes、Database、Remotedesktopへのアクセスを許可することができます。

Blog:
GithubActions + TerraformでAWS開発

この記事ではGithubActionsでTerraformを使って、AWS環境をコードで管理するチュートリアルです。 GithubActionsに実装されたOIDC認証を用いて、トークンなしにロールを割り当て、AWS Lambda + API Gatewayのエンドポイントを作成します。

Blog:
Reactをelectronでチョッパヤでアプリ化する

本記事ではいかにチョッパヤでアプリ化するかというところに焦点を当てるので、開発時の便利さ(live reloadなど)は省きます。この辺をいい

Blog:
MMC22に参加しました

NeosVRには"Metaverse Maker Competition"というイベントが毎年開催されています。 このイベントはNeo

Blog:
[URP]Unityシェーダーレシピ集

はじめに 最近ゲームをチマチマ作るにあたり、シェーダーのカスタマイズを施す機会が増えてきました。 シェーダーのカスタマイズって既存のもののライテ

Blog:
Spotifyのプレイリストをスプレッドシートに同期する

Spotifyのプレイリストをテキストで欲しいな~と思ったのでスプレッドシートへの同期をGASで組みました。 あと、追加のメリットとしてはSp

Blog:
Unity URPで選択的アウトラインをつける

UnityのScriptable Render Pipelineの機能を使い、キャラクターなどのオブジェクト選択の際に用いられがちな、一番外側のアウトラインを効率的に描画する方法について紹介します。

Blog:
スプレッドシートをjsonとして出力するボタンを作る

はじめに こんにちは。ととがんまです。 最近はこんな感じのゲームを作り始めました。 自分のVRMモデルがモクモクと作業してるところ見守るタイプの疑

Blog:
Github ActionsでAWS Lambdaにdeployする

2023/01/16 記事中でGithubActions用にシークレットを発行していましたが、GithubActionsがOIDCに対応したことによりこれが不要

Blog:
AWS Lambdaを監視してDiscordに通知する

AWS Lambdaは非常に手軽なのですが、その手軽さ故監視が疎かになりがちですよね。今回はCloudWatchアラームを使ってLambdaの失敗を通知してみるようにしたのでその紹介です

Blog:
pythonでのCコンパイラ作成に役立つライブラリメモ

この記事では僕がスタックマシン用にC言語のコンパイラを作ったときに使ってみたフロントエンドのライブラリのメモ書きを残してます。あくまでも「手っ取り早く動かしたい」って人向けなので「きちんと自分で実装して理解を深めたい」っていう人向けではないです

Blog:
計算機オタクから見たNeosVR

NeosVRというVRゲーム上で仮想マシンを作ってみました。これを通しつつ、NeosVRについて解説していきます

Blog:
メジャー装着具で腰トラを固定する

腰トラを簡単に固定できる方法が欲しかったので、メジャー装着具を改造して作ってみました

Blog:
golangでdynamoDBを叩く

バイトでgolangでdynamodbを叩くlambdaを書く機会があったので、そのときに調べたことを軽くメモしています。 goはほんと触りたてなので、あたまわるコードや誤りが存分に含まれている可能性高いです。

Blog:
Blender: パイメニューでメッシュ選択モードを選択

emulate numpadオプションを使っていると、1, 2, 3キーでメッシュ選択モードが切り替えられなくなりますよね。個人的にはパイメニューでサクッとどれか1つに切り替えられるようにしたかったので、プラグインを作ってみた共有です

Blog:
macでfaviconを作る(ローカルで)

favicon、定期的に作るタイミングこそくるものの、そんな頻繁に作るものでもないので作り方忘れちゃうんですよね。もう人生で何回もググってる気がするのでいい加減メモしておこうと思います。

Blog:
昇圧コンバータに挑戦 part1

真空管を頂いたので、アンプを作ろうと思いました。そのための昇圧回路を試作しようとしてなんだかうまくいかなかったという記事です

Blog:
ユーロラックマウントのユニバーサル基板を作った

せっかくモジュール式のシンセなのだから、もっと気軽にモジュールを試作して使ってみたいですよね。そこでモジュールサイズのユニバーサル基板を独自発注してみました

Blog:
モジュラーシンセ自作の基本情報まとめ

自分がモジュラーシンセを自作するときに調べたことや、その情報源を自分用のメモとしてここにまとめます。 独自の調査になるので、間違いがあるかもしれません。また、これからも追記・修正をしていく予定です。

Blog:
HUGOで固定ページを作成する

ロクにドキュメントを読んでいなかったので、このサイトでは今まで意味不明な方法で固定ページを作成していましたが、 今回セクションごとのパラメータをつける方法を調べた副産物で正しい方法(?)が分かったのでメモします。

Blog:
HUGOで隠しコンテンツを配信する

メインストリームに乗せる記事とは別に雑な記事もブログに載せたいこと、ありますよね(私はあります)。なので、HUGOでそのような記事の「見え方」を操作する方法を紹介します

Blog:
HUGOのRSS出力に画像を設定する

hugoはデフォルトでRSSまで出力してくれて便利なのですが、カスタマイズするに当たって調べることがあったのでここにメモします。

Blog:
HUGOをtwitterCardに対応させる

Twitterに限らず、最近の様々なSNSではリンクを共有したときにリッチな表示をしてくれますよね。 このサイトもその表示に対応したので、その方法をメモしておきます。

Blog:
Trello Cover Maker を作りました

僕は普段Trelloでタスク管理をしているのですが、項目が増えすぎると横が長くなりすぎちゃうんですよね。 なので、一つのリストに見出し用のカードをいくつか追加して使っています。

Blog:
HUGOで個人サイトを作成・ホストする

個人でブログサイトを作り公開する方法は複数ありますが、最近はサーバーレスアーキテクチャが流行っているので できればそれを使ってみたいですよね。そこで注目しているのがHugo+AWSの組み合わせです。この記事では、Hugoの使い方・カスタマイズの仕方と AWSを用いてホストする方法までを解説します。

Blog:
万能makefileができるまで

「makeを使うと開発が非常に楽になる」というのは雰囲気でなんとなく分かりますが、 どういう問題をどう解決してくれるのかがイマイチ分からないので手をつけにくいですよね。

この記事ではmakefileの基本の書き方から、C/C++のコードを 依存関係を考慮して効率よくビルドできる makefileがどうできるのかを解説します。

Blog:
引越ししました(n回目)

様々なシステム上で動いてきたGammalabブログですが、この度hugoに一新しました