Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
RubyWorld Conference 2018 国分 崇志
Rubyを最大限楽しむ方法
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
自己紹介
• GitHub, Twitter: @k0kubun• トレジャーデータ株式会社
• RubyのJITコンパイラの開発
• Haml, ERBのメンテナ
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
今日話したいこと
Rubyを最大限楽しむには、
• 1. 自分がXXXを作る
• 2. YYYと思うことをする
• 3. ZZZされることをやる
ことが大事
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
md2key
• Ruby製、markdown → Keynote 変換
• この発表資料作りにも使っている
• 生み出すのは大変だったが、本当に必要なものは作れる
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
xremap
• mruby製、Linux向けキーリマッパー
• 設定ファイルがRubyになっていると手触りが良い
• ないとパソコンが操作できないので作らざるを得ない
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
mitamae
• mruby製、シングルバイナリの構成管理ツール
• 開発環境構築自動化マニアも大満足の決定版
• 仕事で何度も必要になった
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
1. 自分が "欲しいもの" を作る
=> 自分が嬉しい
=> 自然と品質が良いものができる
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
高速化
• ERBを2倍高速化, Hamlを4倍高速化
• RailsのHTMLエスケープを5倍高速化
• byebug, pry-byebugを10倍高速化
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
テンプレートエンジンの開発
• Hamlitをスクラッチ, Hamlのメンテ
• フレームワークTempleのメンテ
• ERB, Erubi, Faml, Haml, Hamlit, Slim 大体貢献してる
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
VMやJITの開発
• Array#[] の命令を高速化、opt_and, opt_or 命令を追加
• LLVMでJITコンパイラを開発した
• 現在のJITの設計、実装、最適化をしている
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
2. “かっこいい" と思うことをする
=> モチベーションが持続しやすい
=> 自己肯定感、達成感が得られる
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
何か流行ってる奴を絡める
はてブ、GitHubのスター、ふぁぼ、他人の関心が集まりそうなネタを極力混ぜる
• Itamae Go• LLVM JIT• Ruby 3x3
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
見かけを派手にする
READMEを見た瞬間にすごさが伝わるようにする
• なんか難しいことをやってそうな図を用意する
• 極端な差が分かるグラフを用意する
• READMEにgifアニメを貼る
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
海外にリーチする
• RedditやHacker Newsに投稿する
• 英語でブログを書く
• 海外で登壇する
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.
3. “承認" されることをやる
=> またやろうという気持ちになる
=> ユーザーが多いほど良いものを作りやすい