日記、やっぱり書いたほうがいいなとなるきっかけがあったので漠然とやっていく。 この本、バイナリが好きなので読んだ。 ハンズオンWebAssembly ―EmscriptenとC++を使って学ぶWebAssemblyアプリケーションの開発方法作者:Gerard GallantオライリージャパンA…
あまりにも個人の日記を書いていないので、某所にただのメモとしておいてあるやつを再構成したりしてお茶をにごす。 例えばこのツイート... ポスト。 #スイカゲーム #NintendoSwitch pic.twitter.com/ukIwEVZm1t— Uchio Kondo (@udzura) 2023年10月2日 動画…
手作りの温かみのあるバイナリです。 作りかた そろそろRustで書くか、と思ってRustで書いた。 bytes というcrateが今回の用途にめちゃくちゃマッチしていた。数値をBig Endianで書き込めればいいので、こういう感じで。 pub fn write(&self, mut out: impl …
なんとなくバイナリを解析してえ〜と思ったので、mruby 3.2.0 (最新stable?)の .mrb ファイルのフォーマットを眺めることにした。 Rustでパースしました!だとかっこいい、ナウだなと思ったけれど、動的型育ちな自分をどうしても甘やかしてしまい、 Ruby …
Log-Structured Merge Tree というデータ構造があって、データ指向アプリケーションデザインを読んでいるとかなり最初の方に出てくる。Wikipediaの記事の通りLevelDBを始めきょうびのさまざまなデータベース製品で使われている。 特徴はめちゃくちゃざっくり…
Google Cloudのサーバレス主要サービスであるCloud BuildとCloud Functionsを使っていて、Cloud BuildからCloud Functionsをなるべく安全っぽく呼びたかったのだが、適当な手順がなかなか見つからなかったのでここに残しておき、将来自分が忘れた時に検索可…
Linux Advent Calendar 2022 19日目の記事です、と言いつつ遅くなりましたが....。 qiita.com Lima 、使ってますか Linux Advent Calendar なのにMacの話では?となりそうな感じもありますが、Lima使っていますか? Docker の環境を colima で作っている方も…
皆さんは公開情報ですか?(挨拶) 初めに言いたいこと タイトルの通りのワークショップを始めます。最初は福岡市内でオンサイトで、エンジニアカフェ[PR]でやっていくので、まずはぜひ福岡近辺のソフトウェアに関わるエンジニアに届いてほしい。 engineerca…
10月何もしていない...(会社のブログはギリギリ書いた記憶がある)。 何もしなすぎてるので極小ネタを。 SlackのAppにはUser Interactionという機能があり、例えばSlackの入力画面からのショートカット実行結果を受け取り、フォームを返したりさらに入力を…
本日RubyKaigiでお話ししてきました。BPFのObservability関連の機能を紹介しながら実際にサンプルをRubyで書いていくみたいな流れでした。以下に資料を。 docs.google.com 一番見せたかった「RubyのGC関係USDTを用いてレイテンシを可視化する」というツール…
前回、BCCのPythonバインディングで、TCにBPFを引っ掛けてegressのIPを表示した。 udzura.hatenablog.jp ところで私はRuby版BCCを開発しているわけだが、上記プログラムは一部iproute2的な操作をPythonで行うPyroute2に依存している。RubyにはPyroute2に相当…
サーバではいろいろな通信があるけれど、実際どんな通信が行われているか全貌を確認するのはなかなか難しい。 blog.ssrf.in 上記のソリューションはかっこいいが、KRSIなんで、「うちの環境のカーネルじゃちょっと...」となりがち。BPFあるあるだと思う。 一…
「なんとか動かせた」という世界の話なんですが、途中経過をメモしておきます。 先日Rustでgemをなるべくイマい形で書く方法をメモっていたんですが、一つは実用的なものを作ろうと思ってサーバを書いています。 udzura.hatenablog.jp Flamboyant という名前…
fukuokarb.connpass.com docs.google.com キリがいい回で話しました。およそLTで収まる話ではなかった(5分、一番難しい)ため、最も肝心の「どうやってコードを書くか」の部分を全部端折ってこのブログで補足することにしました。 サンプルプロジェクト git…
背景 Apple SiliconのMacが販売されてそれなりの時間も経ち、エコシステムもできてきてお仕事の開発に使っている人も増えてきたように思う。 ところで、colimaのようなツールを使い、Docker環境をMacに作成した時、Apple Silicon上ではデフォルトで arm64 版…
ここまでのあらすじ <読み飛ばし推奨> 子どもたちのためにJava版マインクラフトを買い、よーしパパ*1MOD作って「威厳*2」を見せちゃうぞ〜 と思ったが全くやる気配がない。 一方で、子どもは無限の時間をScratchに費やしていた。Scratch 3.0はReactで作ら…
Apple Silicon上でLinux向けx86_64の環境が欲しくなったり、x86_64向けのバイナリやイメージを作らないといけなくなる事態は、稀に良くあると思う。 colimaを使うと、Aarch64なMac上であっても、かなり楽にx86_64のLinux環境とDocker環境が手に入る。 最近の…
1月がまるっとスキップされている... だと...。 hisaichi5518.hatenablog.jp id:hisaichi5518 さんがこういうことを書いていて、非常にわかりみがあった。 一方で、Notionというツールはそこまですごい銀の弾丸ではないというか、得意な分野と無理に使っても…
Linuxアドベントカレンダー13日目の月曜日の記事です。 qiita.com 今日は以前から気になっていたNSS pluginの仕様について調べてまとめ、簡単なものを書いてみようと思います。というのも、実は 同僚が 二人も NSS pluginを開発して公開しており、ずっと負け…
Rubyアドベントカレンダー(その1)10日目の記事です。 qiita.com 技術アドベントカレンダーの原点?に立ち返り、自分の書いたものではなくTipsの話をします。 今回はここ数年よく使うようになったgem、fiddleの紹介をしようと思います*1。 fiddleとは/FFIと…
Rustアドベントカレンダー(その1)3日目の記事です。 qiita.com id:udzura と申します。Rustは2021年になると同時に始めたので、いまだ経験1年未満ですが、僭越ながらも今回アドベントカレンダーに参加いたします。 今回はタイトルの通り、RustでCrafting I…
Rubyアドベントカレンダー(カレンダー2)の2日目です。 qiita.com 今見たらカレンダー2も半分以上埋まってて嬉しい... Ruby is alive now!!! ということで、RubyKaigi takeout 2021の振り返りも兼ねて作ったものの話です。 rubykaigi.org Rucy: A Ruby Comp…
今までのあらすじとして、ここまでで、Rubyでパーサを書き、めでたくRBSで型を付けました。 udzura.hatenablog.jp udzura.hatenablog.jp github.com 本エントリでは簡単にふりかえってみます。 大前提として、個人の感想で、皆様の今後の型ライフにほんのち…
前編はこちら。 udzura.hatenablog.jp ここまででスキャナまでは実装し、大体動いたようです(型もちゃんとついたようです)ので、続きの実装をします。
K-Ruby という鹿児島のRubyコミュニティの忘年LT大会でRBSを使ってみた話をします。オンラインですが、九州盛り上げていきましょう! k-ruby.connpass.com それはそれとしてRBSというものに今回ちゃんと触れるので、触れた記録を雑にでも残していこうと思い…
hiboma.hatenadiary.jp またhibomaさんのブログの言及で恐縮なのだが、このブログを読んで、そういえば僕のキャリアの中で重要だった本って何かな〜というのを考えていた。 前提として僕は本を読むのが苦手で(やっと最近気づいた)、めっちゃ遅くしか読めな…
同僚の皆さんへのアンサーソングです。 hiboma.hatenadiary.jp ryuichi1208.hateblo.jp RubyKaigi やらですっかり遅く... と思ったがRubyKaigi takeoutの振り返りも書いてない... タイトルの通り(通り?)、forkしたプロセスがCoWをどれくらい起こしている…
こちらです。 github.com とにかくカジュアルに、簡単でもいいので正規表現を使いたい場面にマッチすると思う。 簡単なベンチを取った。
あらすじ udzura.hatenablog.jp 前回の記事で、以下のような構成要素がBPFプログラムに最低限必要な情報だと結論づけました。 必要なセクション strtab BPFプログラムセクション with 正しい名前 ライセンス symtab 必要なシンボルテーブル BPFプログラムの…
これもフィヨルドブートキャンプの生徒さんの質問からふと思いついた、ちょっとした遊びですが。 (そして、書いてある内容に誤解があったら優しく教えてください)