Slide 1

Slide 1 text

Rubyを好きになった過程 2018.08.02 表参道.rb #37 @at_grandpa

Slide 2

Slide 2 text

@at_grandpa

Slide 3

Slide 3 text

圧倒亭グランパのブログ

Slide 4

Slide 4 text

圧倒亭グランパのブログ 【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス ✔ メソッド探索のしくみ
 ✔ include, prepend の違い ✔ 特異クラス、特異メソッド ✔ NoMethodErrorを理解できた

Slide 5

Slide 5 text

圧倒亭グランパのブログ ʲrubyʳΩʔϫʔυҾ਺ͷϝιουݺͼग़͠͸஗͍ʂ ͔͠͠2.2.0-preview2 Ҏ߱Ͱܶతʹվળ͞Ε͍ͯͨ࿩ ✔ キーワード引数遅いのでは?
 ✔ 昔はHashを使っていた ✔ ベンチマーク ✔ YARVに初めて触れる

Slide 6

Slide 6 text

圧倒亭グランパのブログ ʲrubyʳΩʔϫʔυҾ਺ͷϝιουݺͼग़͠͸஗͍ʂ ͔͠͠2.2.0-preview2 Ҏ߱Ͱܶతʹվળ͞Ε͍ͯͨ࿩ ✔ 「最後の最後に触れてます」
 ✔ 最後まで読んでないことがバレる

Slide 7

Slide 7 text

Rubyを好きになった過程

Slide 8

Slide 8 text

出会い

Slide 9

Slide 9 text

出会い ✔ バッチ処理の開発・運用がメイン   - 「p」の付く言語がほとんど   - Rubyのバッチは少数 ✔ ある時、Rubyのバッチをメンテすることに
   - まったくわからん
   - 「$」いらないの?   - 「@」ってなんだ?
   - ググりまくる

Slide 10

Slide 10 text

書き味がいい

Slide 11

Slide 11 text

書き味がいい ✔ 「p」の付く言語よりも書き味がいい   - 「$」「;」がいらない!   - mapが1行でサクッと書ける...!   - 全体的にコードがシュッとスリムな感じ   - ※個人の感想です Rubyに興味が湧く 「あ、なんかRuby好きかも...」の状態

Slide 12

Slide 12 text

度々起こるエラー

Slide 13

Slide 13 text

度々起こるエラー ✔ NoMethodError   - なんで?   - とりあえず「self」取ったらいけた   - とりあえず「self」付けたらいけた   - なんでや!

Slide 14

Slide 14 text

度々起こるエラー ✔ NoMethodError   - なんで?   - とりあえず「self」取ったらいけた   - とりあえず「self」付けたらいけた   - なんでや! Rubyの仕組みに興味が湧いた ここで「Rubyのことなんかキライ!」ではなく... 「Rubyのこと、もっと知りたい...!」という状態

Slide 15

Slide 15 text

仕組みを知る

Slide 16

Slide 16 text

仕組みを知る ✔ メソッド探索の仕組み ✔ メタプロを通して仕組みを知る ” 前半では、メタプログラミングの背景にある 基本的な考えを紹介しながら、 動的ディスパッチ、ゴーストメソッド、 フラットスコープといったさまざまな 「魔術」を紹介します。 https://www.amazon.co.jp/dp/4873117437

Slide 17

Slide 17 text

仕組みを知る ✔ まさに「しくみ」の解説 ✔ 図やコードが豊富 ” VMベースのインタプリタ型言語処理系であるRubyが コードをどのように解釈し、どうやって実行するか、 そのしくみを解説。 Rubyについての基礎知識がなくても、 図版と短いコードの実験を多用した構成により、 そのしくみについて理解することができます。 https://www.amazon.co.jp/dp/B01IGW56CU

Slide 18

Slide 18 text

仕組みを知る 【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス ✔ メソッド探索のしくみ
 ✔ include, prepend の違い ✔ 特異クラス、特異メソッド ✔ NoMethodErrorを理解できた

Slide 19

Slide 19 text

仕組みを知る ʲrubyʳΩʔϫʔυҾ਺ͷϝιουݺͼग़͠͸஗͍ʂ ͔͠͠2.2.0-preview2 Ҏ߱Ͱܶతʹվળ͞Ε͍ͯͨ࿩ ✔ キーワード引数遅いのでは?
 ✔ 昔はHashを使っていた ✔ ベンチマーク ✔ YARVに初めて触れる

Slide 20

Slide 20 text

仕組みを知る ✔ 仕組みを知ってよかったこと   - エラーの原因特定が早くなった   - Reading/Writing の両方で使える知識   - versionが進んでも陳腐化しにくい知識 ✔ Rubyがさらにおもしろくなった   - 読める、読めるぞ!   - サードパーティのコードにも臆さなくなった

Slide 21

Slide 21 text

✔ 仕組みを知ってよかったこと   - エラーの原因特定が早くなった   - Reading/Writing の両方で使える知識   - versionが進んでも陳腐化しにくい知識 ✔ Rubyがさらにおもしろくなった   - 読める、読めるぞ!   - サードパーティのコードにも臆さなくなった 仕組みを知る 触れれば触れるほど好きになっていく 「Ruby...好き!」という状態

Slide 22

Slide 22 text

まとめ

Slide 23

Slide 23 text

Rubyを好きになった過程

Slide 24

Slide 24 text

✔ 出会いは突然に ✔ 「お?」と思ってちょっとだけ好きになる   - Rubyはここが強いんじゃないかと思う   - 初手で「お?いいかも?」と思わせる点 ✔ 好きになったおかげで障壁も乗り越えられる   - 好きじゃなかったらエラーでストレスを感じていたはず   - ストレスよりも「なんで?」が先に来た ✔ 興味が加速するスパイラル   - 知ると面白い、さらに面白い Rubyを好きになった過程 ※言語化しづらいけど、このあたりにRubyの魅力の秘密がありそう

Slide 25

Slide 25 text

まとめ2

Slide 26

Slide 26 text

✔ 自分の興味に素直になるのは大事   - 一番パフォーマンス出る   - 技術探求の原動力   - 興味から広がって辿り着く知識もある ✔ 仕組みを知るメリットは大きい   - 開発速度が圧倒的に上がる   - 開発のクオリティも上がる
   - 興味が尽きなくなる   - 息の長い知識になる まとめ2 今回は Ruby を例にしましたが、どんな技術でも言える

Slide 27

Slide 27 text

fin