Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rubyを好きになった過程
Search
at_grandpa
August 02, 2018
Technology
3
1.5k
Rubyを好きになった過程
表参道.rb #37 ~ Ruby/Railsの学び方 ~
https://omotesandorb.connpass.com/event/95518/
イベント発表資料です。
at_grandpa
August 02, 2018
Tweet
Share
More Decks by at_grandpa
See All by at_grandpa
技術書典5でチャレンジしたあれこれ
atgrandpa
3
1.8k
CSS組版おもしろい!
atgrandpa
1
290
技術同人誌を執筆して得たこと
atgrandpa
3
1.5k
【Crystal】Concurrency
atgrandpa
3
830
【Crystal】Macroについて
atgrandpa
3
1.4k
初のサークル参加で気づいた小さなこと
atgrandpa
0
470
Other Decks in Technology
See All in Technology
ヤプリQA課題の見える化
gu3
0
160
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
110
プロダクト組織で取り組むアドベントカレンダー/Advent Calendar in Product Teams
mixplace
0
680
新しいスケーリング則と学習理論
taiji_suzuki
9
3.8k
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
750
30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120
kazaneya
PRO
18
4.3k
20241125 - AI 繪圖實戰魔法工作坊 @ 實踐大學
dpys
1
450
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
3
630
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
120
AWSの生成AIサービス Amazon Bedrock入門!(2025年1月版)
minorun365
PRO
7
420
2025年のARグラスの潮流
kotauchisunsun
0
740
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Bash Introduction
62gerente
610
210k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
BBQ
matthewcrist
85
9.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Making Projects Easy
brettharned
116
6k
It's Worth the Effort
3n
183
28k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Designing for Performance
lara
604
68k
Transcript
Rubyを好きになった過程 2018.08.02 表参道.rb #37 @at_grandpa
@at_grandpa
圧倒亭グランパのブログ
圧倒亭グランパのブログ 【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス ✔ メソッド探索のしくみ ✔ include, prepend の違い ✔
特異クラス、特異メソッド ✔ NoMethodErrorを理解できた
圧倒亭グランパのブログ ʲrubyʳΩʔϫʔυҾͷϝιουݺͼग़͍͠ʂ ͔͠͠2.2.0-preview2 Ҏ߱Ͱܶతʹվળ͞Ε͍ͯͨ ✔ キーワード引数遅いのでは? ✔ 昔はHashを使っていた ✔ ベンチマーク
✔ YARVに初めて触れる
圧倒亭グランパのブログ ʲrubyʳΩʔϫʔυҾͷϝιουݺͼग़͍͠ʂ ͔͠͠2.2.0-preview2 Ҏ߱Ͱܶతʹվળ͞Ε͍ͯͨ ✔ 「最後の最後に触れてます」 ✔ 最後まで読んでないことがバレる
Rubyを好きになった過程
出会い
出会い ✔ バッチ処理の開発・運用がメイン - 「p」の付く言語がほとんど - Rubyのバッチは少数 ✔ ある時、Rubyのバッチをメンテすることに -
まったくわからん - 「$」いらないの? - 「@」ってなんだ? - ググりまくる
書き味がいい
書き味がいい ✔ 「p」の付く言語よりも書き味がいい - 「$」「;」がいらない! - mapが1行でサクッと書ける...! - 全体的にコードがシュッとスリムな感じ -
※個人の感想です Rubyに興味が湧く 「あ、なんかRuby好きかも...」の状態
度々起こるエラー
度々起こるエラー ✔ NoMethodError - なんで? - とりあえず「self」取ったらいけた - とりあえず「self」付けたらいけた -
なんでや!
度々起こるエラー ✔ NoMethodError - なんで? - とりあえず「self」取ったらいけた - とりあえず「self」付けたらいけた -
なんでや! Rubyの仕組みに興味が湧いた ここで「Rubyのことなんかキライ!」ではなく... 「Rubyのこと、もっと知りたい...!」という状態
仕組みを知る
仕組みを知る ✔ メソッド探索の仕組み ✔ メタプロを通して仕組みを知る ” 前半では、メタプログラミングの背景にある 基本的な考えを紹介しながら、 動的ディスパッチ、ゴーストメソッド、 フラットスコープといったさまざまな
「魔術」を紹介します。 https://www.amazon.co.jp/dp/4873117437
仕組みを知る ✔ まさに「しくみ」の解説 ✔ 図やコードが豊富 ” VMベースのインタプリタ型言語処理系であるRubyが コードをどのように解釈し、どうやって実行するか、 そのしくみを解説。 Rubyについての基礎知識がなくても、
図版と短いコードの実験を多用した構成により、 そのしくみについて理解することができます。 https://www.amazon.co.jp/dp/B01IGW56CU
仕組みを知る 【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス ✔ メソッド探索のしくみ ✔ include, prepend の違い ✔
特異クラス、特異メソッド ✔ NoMethodErrorを理解できた
仕組みを知る ʲrubyʳΩʔϫʔυҾͷϝιουݺͼग़͍͠ʂ ͔͠͠2.2.0-preview2 Ҏ߱Ͱܶతʹվળ͞Ε͍ͯͨ ✔ キーワード引数遅いのでは? ✔ 昔はHashを使っていた ✔ ベンチマーク
✔ YARVに初めて触れる
仕組みを知る ✔ 仕組みを知ってよかったこと - エラーの原因特定が早くなった - Reading/Writing の両方で使える知識 - versionが進んでも陳腐化しにくい知識
✔ Rubyがさらにおもしろくなった - 読める、読めるぞ! - サードパーティのコードにも臆さなくなった
✔ 仕組みを知ってよかったこと - エラーの原因特定が早くなった - Reading/Writing の両方で使える知識 - versionが進んでも陳腐化しにくい知識 ✔
Rubyがさらにおもしろくなった - 読める、読めるぞ! - サードパーティのコードにも臆さなくなった 仕組みを知る 触れれば触れるほど好きになっていく 「Ruby...好き!」という状態
まとめ
Rubyを好きになった過程
✔ 出会いは突然に ✔ 「お?」と思ってちょっとだけ好きになる - Rubyはここが強いんじゃないかと思う - 初手で「お?いいかも?」と思わせる点 ✔ 好きになったおかげで障壁も乗り越えられる
- 好きじゃなかったらエラーでストレスを感じていたはず - ストレスよりも「なんで?」が先に来た ✔ 興味が加速するスパイラル - 知ると面白い、さらに面白い Rubyを好きになった過程 ※言語化しづらいけど、このあたりにRubyの魅力の秘密がありそう
まとめ2
✔ 自分の興味に素直になるのは大事 - 一番パフォーマンス出る - 技術探求の原動力 - 興味から広がって辿り着く知識もある ✔ 仕組みを知るメリットは大きい
- 開発速度が圧倒的に上がる - 開発のクオリティも上がる - 興味が尽きなくなる - 息の長い知識になる まとめ2 今回は Ruby を例にしましたが、どんな技術でも言える
fin