Learn from Legendary Rubyists Part I & II

52
私が見てきたあるセカイ の物 (株) 永和システムマネジメント アジャイル事業部 Ruby x Agile グループ 伊藤 浩一 (@koic) 2015.06.04 (Thu ) 表参道 .rb#1 Sansan 株式会社さまオフィス Learn from Legendary Rubyists Part I Congrats to a new community

Transcript of Learn from Legendary Rubyists Part I & II

Page 1: Learn from Legendary Rubyists Part I & II

私が見てきたあるセカイ の物 話

(株) 永和システムマネジメント アジャイル事業部

Ruby x Agile グループ 伊藤 浩一 (@koic)

2015.06.04 (Thu)表参道.rb#1

Sansan株式会社さまオフィス

Learn from Legendary Rubyists Part ICongrats to a new community

Page 2: Learn from Legendary Rubyists Part I & II

大事なことは 最初に

Page 3: Learn from Legendary Rubyists Part I & II

表参道.rb 発足おめでとうございます

Page 4: Learn from Legendary Rubyists Part I & II

祝辞LT

Page 5: Learn from Legendary Rubyists Part I & II

http://www.ruby.or.jp/ja/news/20150326_2.html

Computer programmer, guitarist.Leader of an Agile software development team

at Eiwa System Management, Inc.Lives in Shinjuku.

@koic photo token by @NaCl

Page 6: Learn from Legendary Rubyists Part I & II
Page 7: Learn from Legendary Rubyists Part I & II
Page 8: Learn from Legendary Rubyists Part I & II
Page 9: Learn from Legendary Rubyists Part I & II

今日の話

Page 10: Learn from Legendary Rubyists Part I & II

“GUIが使えない場合はシェルを使う。

言語だけでなく文化も学ぶ

『プログラマが知るべき97のこと』52 ページ

Page 11: Learn from Legendary Rubyists Part I & II

ある言語を指す時にはその言語圏の文化を形成する人が重要

私の所感

Page 12: Learn from Legendary Rubyists Part I & II

文化

Page 13: Learn from Legendary Rubyists Part I & II

“GUIが使えない場合はシェルを使う。文化(ぶんか、英語: culture、ラテン語: cultura)にはいくつかの定義が存在するが、総じていうと人間が社会の成員として獲得する振る舞いの複合された総体のことである。社会組織(年齢別グループ、地域社会、血縁組織などを含む)ごとに固有の文化があるとされ、組織の成員になるということは、その文化を身につける(身体化)ということでもある。人は同時に複数の組織に所属することが可能であり、異なる組織に共通する文化が存在することもある。

http://ja.wikipedia.org/wiki/文化

Page 14: Learn from Legendary Rubyists Part I & II

コミュニティという文化

Page 15: Learn from Legendary Rubyists Part I & II

街づくり

コミュニティ づくり

Page 16: Learn from Legendary Rubyists Part I & II

Quality

Page 17: Learn from Legendary Rubyists Part I & II

AliveComfortable

FreeEgolessEternal

Whole

Exact

Page 18: Learn from Legendary Rubyists Part I & II

QWANQuality Without A Name

(無名の質)

Page 19: Learn from Legendary Rubyists Part I & II

コミュニティ

Page 20: Learn from Legendary Rubyists Part I & II

http://jp.rubyist.net/RubyKaigi2007/?c=plugin;plugin=attach_download;p=Program0610;file_name=the_island_of_ruby_j.pdf

RubyKaigi 2007

Dave Thomas

Page 21: Learn from Legendary Rubyists Part I & II

Respect

Page 22: Learn from Legendary Rubyists Part I & II

XPE 2nd

Page 23: Learn from Legendary Rubyists Part I & II

“GUIが使えない場合はシェルを使う。

『エクストリーム・プログラミング』(旧訳) 160ページ

自分の地域のあるいは世界的なコミュニティに参加してほしい。自分を高める意欲を起こさせるコミュニティを探し、そのようなコミュニティが見つからなければ、自分で立ち上げてほしい。困難な質問に取り組んでいたとしても、決して独りぼっちではない。一人ではできないことも共同体としてなら成し遂げられるのだ。

Page 24: Learn from Legendary Rubyists Part I & II

ピアソン・エデュケーション刊で日本語版が絶版だって?

Page 25: Learn from Legendary Rubyists Part I & II

GUIが使えない場合はシェルを使う。

続きは新訳で (ステマ)http://www.amazon.co.jp/dp/4274217620

Page 26: Learn from Legendary Rubyists Part I & II
Page 27: Learn from Legendary Rubyists Part I & II
Page 28: Learn from Legendary Rubyists Part I & II

まだ時間はありますね?

Page 29: Learn from Legendary Rubyists Part I & II

What’s your

(株) 永和システムマネジメント アジャイル事業部

Ruby x Agile グループ 伊藤 浩一 (@koic)

2015.06.04 (Thu)表参道.rb#1

Sansan株式会社さまオフィス

Learn from Legendary Rubyists Part IIるびまへの感謝を込めて

favorite method?

Page 30: Learn from Legendary Rubyists Part I & II
Page 31: Learn from Legendary Rubyists Part I & II

今日の話

Page 32: Learn from Legendary Rubyists Part I & II

https://twitter.com/kakutani/status/274196409589329920

Page 33: Learn from Legendary Rubyists Part I & II

偉大な先人たちを知る

Page 34: Learn from Legendary Rubyists Part I & II

Rubyist Hotlinks

Page 35: Learn from Legendary Rubyists Part I & II

“GUIが使えない場合はシェルを使う。

好きなメソッドはなんですか?

Page 36: Learn from Legendary Rubyists Part I & II

職人の手作業による Rubyist Hotlinks からの集計結果

Page 37: Learn from Legendary Rubyists Part I & II

トップ3好きなメソッド

※Rubyist Hotlinks調べ

Page 38: Learn from Legendary Rubyists Part I & II

同票

Page 39: Learn from Legendary Rubyists Part I & II

2位

Page 40: Learn from Legendary Rubyists Part I & II

http://docs.ruby-lang.org/ja/2.2.0/method/Kernel/m/p.html

Page 41: Learn from Legendary Rubyists Part I & II

Rubyistたちの声“““

短いから

一番よく使うかな?

(“inspectがあるからRubyを使うようになりました” からの) 本当に好きなのはp

Page 42: Learn from Legendary Rubyists Part I & II

2位

Page 43: Learn from Legendary Rubyists Part I & II

http://docs.ruby-lang.org/ja/2.2.0/method/Enumerable/i/inject.html

Page 44: Learn from Legendary Rubyists Part I & II

Rubyistたちの声“““

テンポラリ変数がいらないところがビビッとくる時がたまーにある

(ツボにはまったときの) inject……が使えるときが嬉しい

injectとか好きですけども

Page 45: Learn from Legendary Rubyists Part I & II

1位

Page 46: Learn from Legendary Rubyists Part I & II

http://docs.ruby-lang.org/ja/2.2.0/method/Enumerable/i/map.html

Page 47: Learn from Legendary Rubyists Part I & II

http://docs.ruby-lang.org/ja/2.2.0/method/Enumerable/i/map.html

map

Page 48: Learn from Legendary Rubyists Part I & II

“Rubyistたちの声

“““

人差し指と小指だけで打つところがおしゃれ

collectではなくmap。短いから

(iteratorとして) eachよりmapの方楽しいよね

私の頭の中はmapだらけ

Page 49: Learn from Legendary Rubyists Part I & II

• map 4票

• Enumerable#inject 3票

• p 3票

• each 2票

• instance_eval 2票

• gsub 1票

• === 1票

• String#scan 1票

• collect 1票

• method_missing 1票

• Regexp#to_s 1票

• yycompile 1票

• Object#extend 1票

• Kernel#send 1票

• collect 1票

• String#slice(regexp, n) 1票

• module_eval 1票

• GC.start 1票

• Enumerable 1票

• class_eval 1票

• Thread.new 1票

• あえて作らない 1票

• do 1票注) 職人の手作業につきバグ混入ご免

ランキング(2015.06.04時点)

Page 50: Learn from Legendary Rubyists Part I & II

https://twitter.com/kakutani/status/274196409589329920

Page 51: Learn from Legendary Rubyists Part I & II
Page 52: Learn from Legendary Rubyists Part I & II

“Matz is nice so we are nice

http://magazine.rubyist.net/?0037-Hotlinks#l11