ローファイ日記

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

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

先日の 名古屋Ruby会議03 、「未来のサーバ基盤へのHaconiwa/mrubyの関わり」ということで、Haconiwaについて、開発の近況、そして FastContainer構想 などについて話しました。

Rubyistの皆さんの前で(日本語で)トークするのは多分これが初回ということで、いろいろな反応やフィードバックがいただけてありがたいことでした。

トークも、須藤さんや咳さんの濃いお話を始め*1Rubyが得意なフレンズの楽しそうな様子が見られて良かったです。

地域Ruby会議というのは僕の原点で、コミュニティや技術者としての意識が変わったのがかつての 東京Ruby会議05 だったので、今改めて当時の実行委員長こしばさんのトークを聞けたのも、ちょっとした感慨でした*2

そうして気持ちが上がって、あと酔って @hfm さんにコミュニティの大事さとか便利さを語ってしまった気がする(おっくんのトーク濃くて良かったよ!)…

f:id:udzura:20170213134052p:plain

そんな感じで、Rubyistの自分を再確認するなどしていました。運営委員の皆様、良い会議をありがとうございました!

*1:個人的には、最近の興味分野的にも咳さんのお話が刺さりまくっており、スライドを寝不足でない状態でまた読み直そうかなと…

*2:そしてこういう思い出話をする僕はもうおっさんやね…

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

libuv経由で(uv_fs_open などで)作ったファイルへの参照(uv_fs_t)は基本的に非同期IOになるので、libuvのイベントループで取り扱うのに向いている。参照。

そうでないような同期的なIOのfile descriptor(fd)、たとえば普通にパイプで作ったやつや、 eventfd のようなものをlibuvのループで非同期的に待ちたい時には、 uv_poll_t が使えるそう。

mruby-uv では UV::Poll がその構造体と関数をラップしている。以下はパイプの片割れをポーリングして、もう一方には UV::Timer 経由で遅れて書き込むまで待つ例。

r, w = IO.pipe

poll = UV::Poll.new(r.fileno, UV.default_loop)
poll.start(UV::Poll::READABLE) do |e|
  # e = 1 が渡ってくる。これは UV::Poll::READABLE の値
  puts "Event!!: #{e}"
  puts "Message: #{r.read.inspect}"

  # 読み出し可能になったらこのブロックは無限ループする。なので自分で止める
  poll.stop
end

count = 0
timer = UV::Timer.new(UV.default_loop)
timer.start(1000, 1000) do
  print "."
  count += 1
  if count > 10
    puts
    w.print "<message>"
    w.close
    timer.stop
  end
end

puts "Waiting..."
UV.run()
puts "Exit loop"

f:id:udzura:20170113175432g:plain

利用したmgem:

  • mruby-io
  • mruby-uv

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

ここ3年ぐらい、ブログで一年を振り返っていないことに気づいてしまった...

むしろここ3年ぐらいは、なんだかとっても情緒的なアドベントカレンダーのエントリを書いて満足している様子がうかがえる。情緒的なのはいいんだけど、燃え尽きておる...

2012年の年末はめちゃ若いな、とがってるなという感じの内容をかろうじて書いている。こいつ結局HaskellScalaD言語もやらずにC書いとるやんけ、というのはある。あ、リンクは貼らないので遡って確認しないでください。

一方で、今や世代交代の波に飲まれ切る寸前のtanpakuというウェブシステム*1や、あと某ポエム*2にメモが残っていたのでその辺を今サルベージして、ちゃんと振り返りができてるか、そして抱負は達成できているか、確認してみようと思った。

*1:旧日報など書く用の社内SNS。今は新日報システムがある

*2:あえてぼやかしておく...

続きを読む

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

お題「エンジニア立ち居振舞い」

pepabo Advent Calendar 2016 24日目の記事です。

割と飲みの席とか、某ポエムサービスでは語ってはいるんですが、そういえばブログで書いたことがないような気がしたので父の話をします。

実は今年の福岡での新卒研修で同じような話を若者にしていて、でもまあ、あまりに個人の話なのでとスライドも公開していなかったのですが、せっかくなので内容を加えて書き下します。


僕の父は欄間職人をやっていて、6X歳を超えるいまも自営で東三河の片隅に店を持ってやっていってるわけだけど、僕は子どもの頃からそういう背中を見て育ってきたからか、今の自分を振り返ってみると随分自分の仕事ぶりが影響を受けているなと思ったりする。

今日は、6X歳のいまも職人の父を見ていて思ったこと、あるいは直接言われたことなどいくつかをしたためてみる。

続きを読む