Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
tork09igaiga
Search
Kuniaki IGARASHI
September 12, 2020
Programming
450
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
tork09igaiga
https://regional.rubykaigi.org/tochigi09/
Kuniaki IGARASHI
September 12, 2020
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
RailsTokyo 4 GarnetTech373
igaiga
0
180
ActiveJobUpdates
igaiga
1
810
roppongirb_20250911
igaiga
1
840
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
190
KaigiOnRails2024
igaiga
16
26k
RuboSensei
igaiga
0
390
Shibuya.rb-2023-04-27-igaiga
igaiga
1
630
Ginza Rails27 igaiga
igaiga
9
14k
Road to white mages
igaiga
1
840
Other Decks in Programming
See All in Programming
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
GraphQL の onError と Nullability のこれから
quramy
0
210
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
150
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
730
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
240
はじめてのPLATEAU
nokonoko1203
1
600
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
300
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
小さなアプリを作って公開するまで
onozaty
0
140
Event is what happens
moro
2
3.8k
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
550
Discover your Explorer Soul
emna__ayadi
2
1.3k
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
Odyssey Design
rkendrick25
PRO
2
930
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
The Cult of Friendly URLs
andyhume
79
7.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
How GitHub (no longer) Works
holman
316
150k
Prompt Engineering for Job Search
mfonobong
0
580
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
So, you think you're a good person
axbom
PRO
2
2.3k
Transcript
「考えるのはたのしい」 とちぎRuby会議09 基調講演 2020年9⽉12⽇ 五⼗嵐邦明 / igaiga
⾃⼰紹介 五⼗嵐邦明 / igaiga / twitter: igaiga555 Rubyist歴 = tDiary
ユーザー 2003年9⽉〜 Rails業務歴 = 万葉⼊社 2010年4⽉〜 2019年7⽉ ガーネットテック373株式会社設⽴ (1⼈会社) フリーランスRailsエンジニア お仕事中8社 経歴: https://bit.ly/igaigaesa 書籍: Railsの教科書, Ruby超⼊⾨, Rails学習ガイド, パーフェクトRails 書籍⼀覧: https://bit.ly/igabooks
とちぎRuby会議02 2009/10/24 (初参加) https://regional.rubykaigi.org/tochigi02/ LT: 五⼗嵐 邦明(igaiga)(⾼専カンファレンス) 「Rindaのタプルスペースでタイマ ー"TwYM"をバージョンアップ」
2005/09/03 関さんと(⼀⽅的に)会う XP祭で関さんからdRuby本(初刷)にサインをもらう 初めて技術書に著者サインをもらってめっちゃ嬉しかった
とちぎRuby会議08 2019/06/29 (⽋席)
「考えるのはたのしい」 とちぎ たのしいところ かんがえてるところ 考えるのはたのしい 今⽇は私が考えてることをいろいろ話します
ひとやすみ とちぎのよさで話したいことを語り尽くせたか? ここから本題 いのちのかがやきオブジェクトさん
本を書くときに考えてること 分解できるとたのしい 特に、初出の概念を1つずつにするように分解したい
繰り返し処理を説明したい Array#each だとブロック( do end )とブロック変数( |x| )が同時に登場 [1,2,3].each do
|x| # x をここではブロック変数と呼びます puts x end 3.times だとブロックだけが登場 3.times do puts "hi" end
つまり Array#each を最初に説明する ブロックとブロック変数が同時に初出になる 3.timesを説明してからArray#eachを説明する 3.timesでブロックが登場 つづいてArray#eachを説明するときにブロック変数が登場 初出のものが1つになるように分解できた ついでにループの回数が毎回同じ 可変と順序を踏む
ラッキー(たまたま)
if if 条件式 else end if x == 1 puts
"1" else puts "not 1" end if 条件式 end else節はあとから説明すれば良い if x == 1 puts "1" end もっと分解できるか?
条件式 puts x == 1 #=> true または false しかもtrueやfalseの概念も独⽴に説明できて便利
こういう順序で初出の概念を順番に出せた 条件式 if 条件式 end if 条件式 else end
メソッドの引数と戻り値 どっち?が良いかあんまりよくわからなかった例(苦労話) メソッドの引数と戻り値はどっちを先に説明するのがいい? 3つに場合分け 1: 引数を渡さない、戻り値を返さない 2: 引数を渡さない、戻り値を返す 3: 引数を渡す、戻り値を返さない
1を最初に説明するとして 2と3はどちらを先に説明しますか?
引数を渡さない、戻り値を返さない
引数を渡さない、戻り値を返す
引数を渡す、戻り値を返す 引数を受け取る変数の説明が必要 前⼿順の戻り値の説明は、変数がない⽅がシンプル
わかりやすい説明は順番が重要 ⽂章⼒、国語⼒はある⼀定レベルで成果物への分かりやすさ寄与が飽和する感じがする 順番の⽅が分かりやすさ寄与が⼤きいのでは仮説 いろんな⼊⾨書の流れを読んでなぜその順になっているかを考えるのはたのしかった 「Java⾔語プログラミングレッスン」: 結城浩 「たのしいRuby」: ⾼橋征義, 後藤裕蔵 「かんたんRuby」:
すがわらまさのり 「初めてのプログラミング」: Chris Pine 「_whyの(感動的)Rubyガイド」: _why http://www.aoky.net/articles/why_poignant_guide_to_ruby/
Ruby超⼊⾨とパーフェクトRailsは時間をつかっているところが違う 超⼊⾨はプロットを書き上げたあとに⽂章書きながら順番を⼊れ替えてサンプルコード を変えてという書き直し作業が⼤部分 パRailsはプロットを書くためにRailsのコードを読んで書いて動かす時間が⼤部分 提供する価値が違う
ひとやすみ ここで半分 本の話で話したいことは全部話せたか?
最近お気に⼊りの考え 「インセンティブ設計」 incentive: 報酬、動機 良いインセンティブ設計をしとけばあとは放っておけばいい感じになるやろ この分野でおもしろかった本 「市場を創る - バザールからネット取引まで」 https://www.nttpub.co.jp/search/books/detail/100001751
市場経済の仕組みの解説本 「その問題、経済学で解決できます。」 https://www.amazon.co.jp/dp/B00NF9PB20/ ⾏動経済学の本 ⼈がインセンティブにどう応答したかの多数の実験結果
教材づくりはたいへんだ問題 「プログラマーはプログラムを書いた⽅が儲かる問題」 教材作成(書籍執筆ほか)よりもプログラムを書いた⽅が儲かる問題 もしも逆転させられたら教材を爆発的に増やせる(かもしれない) しかしできていない
事例: 執筆スポンサー制度 私が2019年にやってみた取り組み 20万円1⼝で私の執筆を⽀援するスポンサーを募集 返礼品「1⽇稼働券」 1⽇稼働して、1⽇執筆⽇に充てさせてもらう 5社さんからお声かけいただいた フィヨルドさん、gifteeさんがスポンサーになってくれた スポンサーよりも仕事の形の⽅がよかろうということで仕事になった会社さんも 私としては総じてプラスだった
ただ拡⼤するための次の⼿が思いつかない 世の中の教材を増やせる仕組みを作れたらいいと思う
ポエム ⾃分で書いてBOOTHで売るといい(宣伝) BOOTH ⼿数料5.6%+22円 組版システムReVIEWありがたや twitterなどで宣伝しまくる ⼩さく書いて⼩さく売ろう 2年間書き続けるとつらい 技術書典が素晴らしい お祭りインセンティブ
技術書典があると本が増える RubyKaigiがあるとコードが増える withコロナ時代のソリューションの模索
教育はたいへんだ問題 「プログラマーはプログラムを書いた⽅が儲かる問題」 教育よりもプログラムを書いた⽅が儲かる問題 もしも逆転させられたらRubyコミュニティへ迎え⼊れる⼈を爆発的に増やせる(かもし れない) しかしできていない
事例: フィヨルドブートキャンプ https://bootcamp.fjord.jp 私は顧問ですが、今⽇の話は中の⼈の公式な意⾒ではないです 現役エンジニアたちがメンターとして提出物などをレビューする 就職先企業のエンジニアたちもslackなどに登場する 企業研修としても利⽤する企業もある(別契約) ペパボさんのDAIMYO Engineer Collegeとも教材交換や留学制度などでコラボしている
受講⽣と留学⽣と関連エンジニアたちのコミュニティができている
事例: フィヨルドブートキャンプ 受講⽣が増えてきている(最近100⼈超えました) 事業継続可能なプログラミングスクールになれるかもしれない とても良い事業なので応援したい応援している 受講⽣が持続可能である状態をどう設計するか(後述) 事業継続可能な収益をどう設計するか(後述)
受講⽣の経済的な持続可能化 受講⽣は仕事をやめてきている⼈もいる 学習時間800時間ほどやってアルバイトができるようになれば持続可能になる アルバイトが潤沢にあるのか問題 受講⽣へ向けたアルバイトを提供できる企業お待ちしています アルバイトできるようになるまでどうするのか問題 フィヨルド紹介企業就職で6ヶ⽉分キャッシュバック 後払い奨学⾦みたいな感じか これを受講⽣収益にしているモデルは興味深い 他の奨学⾦制度が作れるとより良いインセンティブ設計ができる
フィヨルドブートキャンプ事業としての持続可能化 受講⽣からの収益 ⽉額: 29,800円 受講⽣が増えていけば収益も増えて経営が軌道に乗る リモートメインなのでオフィスは広くなくても⼤丈夫 (withコロナ時代になりその傾向が加速した) メンターがいれば受講⽣を増やせる(たぶん) その他の⽅法の収益をインセンティブ設計できるか?
フィヨルドブートキャンプでは副業メンターを募集するときがあります (宣伝) メンター(⽇報と提出物レビュー係)募集中(現在は推薦制) 副業アルバイトメンター制度、⽉10時間から 「プログラマーはプログラムを書いた⽅が儲かる問題」を回避する⼀時的な策 現在のところまだフルタイムで⼈を雇える経営システムが作れてない ⼀⽅でフルタイムでメンターの仕事をしてもらうと、その⼈の現場⼒が失われてメンタ ー価値が下がる問題もある フルタイム雇⽤で週2フリーランス、週3メンターとかがいいのかも?
ポエム 教材、教育による受益者群は? Rubyをはじめた⼈たち(受講⽣)? 教育側の⼈たち(スクール、執筆者)? Rubyで開発している企業たち? コミュニティの⼈たち? そのほかの⼈たち(Webサービス利⽤者たち、⾏政の就業⽀援をする⼈たち)? 各者の利益は何か? 今の世界ははどんなインセンティブ設計になっているのか? それよりも良いインセンティブ設計はあるのか?
局所的でも、今よりも良い設計ができたら、世界を良くできるはず
フィヨルドブートキャンプ = 『おーい、磯野、野球やろうぜ』 「僕らはプログラミングとプログラミングをする⼈が好きなのであって教えること⾃体が好 きなわけじゃない。 もちろんプログラミングをする⼈とプログラミングを通じたコミュニケーションである『教 えること』も嫌いじゃないが、とにかくやりたいのはプログラミングなのだ。 野球が好きで『おーい、磯野、野球やろうぜ』と誘うのだが、野球のルールもバットの振り ⽅も知らないというのではメンツにならない。 だから教えるという感じだ。」
komagataのブログより https://docs.komagata.org/5588
RubyistとRubyを書くとたのしい 現在の私の気持ちをまとめると次のような感じになるようだ Rubyを書くとたのしい Rubyistと会うとたのしい 私の⽇常や旅にRubyistがいない機会の⽅が少ない Rubyコミュニティが⻑くつづいていて嬉しい Rubyコミュニティでこれからも多くの⼈とたのしい時間を過ごしたい そのためにコードや本や場所をつくっていきたい 「持続可能なたのしさ」のインセンティブ設計を作っていきたい
おわり フィヨルドブートキャンプについてもっと知りたい⽅は ⼤江⼾Ruby会議08 町⽥さんの発表資料 https://speakerdeck.com/machida/puroguramingusukuruwoshi-metajing-wei- tokorekarafalsehua ⾓⾕さんのフィヨルドブートキャンプでの講演資料 https://speakerdeck.com/kakutani/fjorb-boot-camp-as-a-gate