2023-01-01から1年間の記事一覧

Rust FFIを活用してGBAのエミュレータの太陽センサーの値を制御する拡張機能を実装した

やったこと GBAのエミュレータ(visualboyadvance-m)上の太陽センサー*1の値をエミュレータ内threadに立てたHTTPサーバによって操作できるようにした。 github.com 今回はRust FFIを利用してできるだけ元のコードを汚さずに、かつHTTPサーバの処理等はRustの…

TypeScriptのGenerics Typeで一部の型引数のみを指定する

近況 自分はちゃんと勉強せず雰囲気でググりながらTypeScriptを使っているのに、人にTypeScriptを教えている状況。 Generic Type TypeScriptにおいてはある型Tに対し、別の型Kを使って型を定義したい場合以下のように記述できる。 interface T<K> = { P1: K }; </k>…

仮想端末にCTOを表示する

経緯 前職ではチームの先輩や隣のチームのリーダーのアイコンを色つきAAにして.bashrcで表示するようにしていたが、はてな入社後は特にそういったことをしておらず、まずいと思ったため勢いで実装した。 必要なもの 色つきAAにして可視性が高いアイコンをし…

motemen15パズル

about motemen 美顔器 (@motemen) / Twitter inspired by airreader.hatenablog.com 15パズルの実装 https://ja.wikipedia.org/wiki/15%25E3%2583%2591%25E3%2582%25BA%25E3%2583%25ABja.wikipedia.org 15パズルの機能を実装するにあたり、考えるべき要素は…

Rustのtokio::select! macroの使い方を今更理解した初心者

経緯 mysticdoll.hatenablog.jp これで使ってるtc2vvというアプリケーションが、Twitch側のチャットのWebSocketのハンドラのスレッドが死んでいるっぽいがプロセス自体は生きている半死状態だったのを直したかった。 github.com 結論から言うと、 tokio::joi…

ConfigMap/Secretを監視してリソースを再起動してくれる stakater/Reloader を自宅kubernetesに導入した

stakater/Reloader github.com 通常 kubernetesにおいてはConfigMapやSecretが更新された際、それに紐付いたリソース(deployment/daemonset/statefulset等)はそれを検知して再起動するという機能はない。 これを提供するのが、 stakater/Reloader である。 I…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

自宅kubernetesクラスタでTwitchのチャット読み上げツールを自作した話

概要 4年と9ヵ月働いたヤフーを退職して暇になったので、新しい盆栽を初めたという話。 システム構成 用意したもの kubernetes (1 master, 2 nodes) CoreDNS + etcd (物理サーバ, docker-composeで動いてる) TwitchとOAuthで認証するためのアプリケーション …