Rubyを最大限 楽しむ方法 - 2018.rubyworld-conf.org · • Ruby製、markdown → Keynote...

27
Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved. RubyWorld Conference 2018 国分 崇志 Ruby を最大限 楽しむ方法

Transcript of Rubyを最大限 楽しむ方法 - 2018.rubyworld-conf.org · • Ruby製、markdown → Keynote...

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

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

Ruby 2.6開発

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

Ruby Prize 最終ノミネート

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

私がRubyでたくさん活動をしている理由

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

Rubyをやっていると毎日が楽しいから

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.

1. 自分がXXXを作る

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

これまでに作ったもの

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.

2. YYYと思うことをする

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

これまでにやってきたこと

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.

3. ZZZされることをやる

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

何かを作る時にやっていること

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. “承認" されることをやる

=> またやろうという気持ちになる

=> ユーザーが多いほど良いものを作りやすい

Copyright 1995-2018 Arm Limited (or its affiliates). All rights reserved.

まとめ

Rubyを使って、

• 自分が欲しいものを作る

• かっこいいと思うことをする

• 承認されることをやる