やった
ひと段落ついたもの
2020/8
実行した x86(_64)? のマシンで CPUID 命令を発行して VMware vmx 用の CPUID マスクを出力するくん
2020/7
HLS ストリームを落とすくん
去年書いたものを Rust で書き直し
Slack でリンクが展開されなくてこまったので書いた
実装まで終わったが、Heroku や Lambda にデプロイできる状態になっていない
Heroku にデプロイできるようにするのは簡単
Lambda にやるのがむずかしそう、というのがわかっている状態
HTTP じゃない独自のなにかを実装しないといけないっぽい
まだ詳しくは調べていない
/rinsuki/rinsuki.icon が作ってるほぼ掲示板な SNS のクライアントに入れた
謎。デコードして表示していたのでなんども「リンク飛べないんだけど」ってハマりをしていた
2020/6
特にない
宅内環境
宅内サービスを司っていた Fedora CoreOS の VM を消しとばした
NAS 買った
VM のバックアップをしたくなった
Wi-Fi 受けて Ethernet にコンバートする
https://tweet-card.now.sh/1273022230943772672.jpg https://twitter.com/otofune418/status/1273022230943772672
外向き公開用 Raspberry Pi 4 を Netboot するようにした
2020/5
Twitch プレイヤーのクローンを実装 (Private)
SPA (React)
drivethrough をバックエンドにしていて動画やコメントファイルの位置を index となる JSON から解釈する パスを入れて再生させる
動画は HLS でプレーン HTTP でちょうどいい
楽しかったとこ
コメント自動スクロールを上へのスクロールで一時停止する制御
flexbox を使ってスマートフォンビューとデスクトップビューを CSS のみで切り替える
つらいとこ
iOS Safari で height にステータスバーとかが入ってる事件
きらい
対処できてない
Google Drive を plain http で読めるようにするやつ
とあるサービスの新着投稿リストを取得して Slack に通知するやつ (Private)
収穫 / 面白かったとこ
Slack は Block Kit でも Attachment での author 指定に似た表示ができる
https://gyazo.com/0239e0c66e10e7f8e9ff097005e3b401
Go でのスキーマが一定ではない(type によって変化する)JSON の取り扱い
type AcmeList []AcmeInterface にして MarshalJSON で書いた
使う側は何も特殊な点がないので使いやすい……はず?
Go は cookiejar が標準ライブラリにある
便利
Go で使いやすい Block Kit を組み上げる実装
struct を組むだけでできるようにした
slack-go の実装はビルダーメソッドを呼ぶようだった
気に食わんので自分で書いた
ありがとう DeNA のひと
MarshalJSON をそれぞれに実装して Type などを指定する必要がないようにする
https://gyazo.com/9eb3bd0a9e8b9a1ff57d0add2e235f1b
インターフェースに意味のないメソッドを生やして制約かけて違法な struct は組めないようにしている
Block Kit はすべての Element, Block, Object が平等ではなく、子に持てる Type が宣言されているからこうしないと型ついてる意味なくなる
意味のないメソッドを書きたくないし、やっぱもうちょい表現力がほしい