ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

initのお仕事〜tiniのコードを読んでみた

急にinitが何をしているのか、何をすべきなのかが気になったので調べてみた。一緒に600行強のinit実装であるtiniのソースコードをざっくり読んだ。この場を借りてメモしていく。 the PID 1 problem RubyコミュニティなどではPassengerで有名なPhusion社のブ…

Ruby25周年記念イベントでお話ししました #ruby25th

登壇者枠です。 Infrastructure as Code/mrubyなどによるConfiguration as Codeの話をしました。 speakerdeck.com もともとこの倍の分量のスライドが発生して笹田さんにご心配をかけてしまいましたが、なんとか時間通り? 話せました...。 当スライドで後半…

Ubuntu 18.04 LTS (Bionic Beaver)でビルドするHaconiwa

思うところがありHaconiwaの開発を再開し、一緒に大きめの変更を入れていこうかなという気持ちになった。 とりあえず、ずっとXenialを使っていたのだけど、Ubuntu 18.04 LTS (Bionic Beaver) を先んじて使って開発するようにした。もう直ぐ alpha 2 とのこと…

2017年(の福岡飯)を振り返る

本振り返りの続きの記事です。 udzura.lolipop.io

自分の人生の主人公になる

過去の記事のサルベージです。たまに自分で探すので回収しておきました。 https://web.archive.org/web/20211128084829/https://udzura.lolipop.io/2017/12/31/how-to-make-yourself-the-protagonist-of-your-life

福岡Ruby会議02を開催していた #fukuokark02

regional.rubykaigi.org そう、実は開催していたのです!! 開催後約一ヶ月経っているが、実行委員長として何か書いてみます。 とりあえずいい写真です。 (Photo by id:asonas) 経緯など

今年参加したアドベントカレンダーまとめ

Qiita上のアドベントカレンダーは、Qiitaで書いたほうがリンクされたり連携がいいのでそっちで書いていましたが、本ブログだけを購読されている人のためにこの記事でまとめておきます。 mruby qiita.com OSS紹介 qiita.com Linux qiita.com ngx_mruby qiita.…

PrometheusのExporter周りをまとめる

Mackerelの3周年(おめでとうございます!)、OSSではPrometheusの隆盛もあり、監視やモニタリング周りが話題になっているのを観測している。皆さんは、監視されていますか? 個人的にも最近はロリポップ!マネージドクラウド周りの開発などでPrometheusを触…

Developers Summit 2017 KyushuでFukuoka.rbの話をした

event.shoeisha.jp ということでデブサミデビューさせていただきました。 FGNなどのつながりでご縁のあったオルターブース小島さんにご紹介いただきました。福岡大名最高!ありがとうございました。 資料です。

コンテナと人間の一ヶ月

ブログ、一ヶ月ぶりのようです。 @udzura です。ところでみなさんはコンテナですよね? そういう感じです。 ここ最近のアウトプットをまとめたりしておきます。先に行っておきますがどれもLinuxコンテナの話です。

福岡Ruby会議02 - もう一度、Rubyと出会う

regional.rubykaigi.org よろしくお願い致します。 以下は、動き始めるにあたってesaに書いた情緒的な文章です。 福岡、飯塚テックだったり僕たちのFukuoka.rbだったり比較的小さなコミュニティは続いているけれど、九州Ruby会議01ごろの盛り上がりは(想像…

cgroup経由でシステムの利用状況を知る - CPU編

システム全体の負荷を計測する方法は、ロードアベレージ、topなどprocpsスイート、sysstat系のツールなど色々あるが、特定のコンテナ単位での負荷状況を知りたい。 コンテナ単位というのはつまり、cgroupの仕組みを用いて、一つのコンテナに所属しているプロ…

社内向けホスTechMTG #3 で「自分のための問題解決」と題してしゃべった

久しぶりのローファイ日記です。 ペパボは幾つか事業部があって、事業部に所属するエンジニア〜たちで社内向けに発表会をしています。詳細は以下のようにテックブログでレポートしていたりします。 tech.pepabo.com 読んで分かるようにめちゃくちゃ楽しそう…

mrubyとseccompとptraceでシステムコールをとにかく追いかける

世の中にはseccompというものがあり、知られています。皆さんはBPFですか。人は、、、 seccompについては以前書きました。Linuxのシステムコール呼び出しをフィルタリングして許可したり禁止したりするものです。 udzura.hatenablog.jp さて今回、拙作 mruby…

straceがどうやってシステムコールの情報を取得しているか

興味があって調べていたら、少しだけ分かったのでまとめておきます。当然間違った箇所もある、あと考慮が漏れている箇所もあるかと思いますのでツッコミをお願いします…

Cレベルのライブラリコールを“Hijack”してみる その2 - libmruby.aを組み込む

少し間が空いたんですが udzura.hatenablog.jp こちらの続きです。 今回は LD_PRELOAD するshared objectにlibmruby.aを組み込み、mrubyで置き換え対象の処理を記述できるようにする。 組み込み用の libmruby.a を作成する

第9回フクオカRuby大賞を受賞しました

www.digitalfukuoka.jp 去年より開発している、mrubyでコントロールできるLinuxコンテナランタイム Haconiwa で、第9回フクオカRuby大賞・県知事賞をいただきました。 写真は受賞決定直後の様子です。 今日の福岡Ruby大賞で @udzura さんが大賞で100万円とっ…

Linuxプログラミングインターフェースを読んだ(一周目)

読みきった。一周目の所感を書く。 Linuxプログラミングインタフェース作者: Michael Kerrisk,千住治郎出版社/メーカー: オライリージャパン発売日: 2012/12/01メディア: 大型本 クリック: 14回この商品を含むブログ (7件) を見る

Cレベルのライブラリコールを“Hijack”してみる その1。

Rubyの、 Time.now は最終的には clock_gettime(3) を呼び出しているそうな。 masterの当該箇所 Time.now は Time.new を無引数で呼び出しているに過ぎない ここで、 Time#initialize の実態は time_init time_init は引数がない場合 time_init_0 を呼ぶ tim…

名古屋Ruby会議03で登壇した #nagoyark03

先日の 名古屋Ruby会議03 、「未来のサーバ基盤へのHaconiwa/mrubyの関わり」ということで、Haconiwaについて、開発の近況、そして FastContainer構想 などについて話しました。 Rubyistの皆さんの前で(日本語で)トークするのは多分これが初回ということで…

mruby-uvで普通のfile descriptorが読み出し可能になるまで待つ

libuv経由で(uv_fs_open などで)作ったファイルへの参照(uv_fs_t)は基本的に非同期IOになるので、libuvのイベントループで取り扱うのに向いている。参照。 そうでないような同期的なIOのfile descriptor(fd)、たとえば普通にパイプで作ったやつや、 even…

2016年をまとめる

前回の記事で2015年までの振り返りを振り返るなどしたので、いよいよ今年を振り返ろうと思う。割とお仕事寄りで振り返る。 udzura.hatenablog.jp

2016年を振り返る、前に振り返りを振り返る

ここ3年ぐらい、ブログで一年を振り返っていないことに気づいてしまった... むしろここ3年ぐらいは、なんだかとっても情緒的なアドベントカレンダーのエントリを書いて満足している様子がうかがえる。情緒的なのはいいんだけど、燃え尽きておる... 2012年の…

私のロールモデル: エンジニア立ち居振舞い番外編

お題「エンジニア立ち居振舞い」 pepabo Advent Calendar 2016 24日目の記事です。 割と飲みの席とか、某ポエムサービスでは語ってはいるんですが、そういえばブログで書いたことがないような気がしたので父の話をします。 実は今年の福岡での新卒研修で同じ…

GMOペパボ ホスティング技術カンファレンスでツアーをしてきた #pbtech

pepabo.connpass.com pepabo.connpass.com おかげさまで盛況のうちに終わりました。資料の方も、僕は二部構成になっていますので、まとめてどうぞ。 speakerdeck.com speakerdeck.com その他、 人々の資料はこちら です。

AppArmorとDockerとその他コンテナ的プロセスについて調べた

ここ数日のAppArmorに関する調査をまとめておく。アドベントカレンダーの季節だけど、特に該当しそうなカレンダーがなかったのでただの記事を書きます... 突っ込みどころはあると思うので、修正指摘等お気軽に。 AppArmor とは AppArmorはMAC(Mandatory Acce…

mruby-passwd のサンプルからわかるmgem(あと、C言語)を書くときの罠

mruby advent calendar 8日目 としてやっていかせていただきます。7日目はけいぞうくんのすごい記事でした。 keizobookman.hatenablog.com さて先日、mrubyのgemをコーディングするスクリーンキャストを撮り、実際にコードを残しました。 udzura.hatenablog.…

mruby gemを作るスクリーンキャストです

mruby advent calendar 2016 5日目の記事なのですが、公開が遅れ失礼します。 前日の様子です。 qiita.com 先日の Fukuoka.rb で、mrbgemをライブコーディングで作る、という一芸をやったのですが、とはいえ特に映像などを記録するでもなくという感じでした。…

fusuma/mruby-fuseでFUSEを簡単に試す

mruby Advent Calendar 2016 の 2日目の記事です。 昨日は おごもりさんのRuby Miniature Book の記事でした。 今日は、最近こそこそ作っているfusumaとmruby-fuseが、なんとなく面白いおもちゃにはなってきたので、せっかくということで紹介したいと思いま…

seccompをmrubyで試す

seccomp とは、Linuxでプロセスのシステムコールの発行を制限する機能のこと。今回試すものはseccomp mode 2と呼ばれる、Linux3.5から搭載されたもので、システムコール単位での制限、特定の条件を満たす引数のみの許可/制限を実現できる。 バックエンドでは…