[Day 1: 基調講演] "Ask Me Anything" by DHH


yhirano55
yhirano55 commented 8 months

登壇者: David Heinemeier Hansson

参加者の皆さまから事前にご投稿いただいた質問を、Ruby on Rails の作者であるDHHに回答していただきます(通訳: Ruby/Railsコミッター 松田 明)本セッションは、シカゴからリモート中継(LIVE)での講演となりますので、ご注意ください。

数多くご投稿いただき有難うございました。現在本番で読み上げる質問を選考しております。発表は当日のセッションにてご確認ください。

  • 質問は 日本語 でも 英語 でもOKです(が...通訳していただく前に読み上げていただくため、日本語の方が嬉しいです)
  • このセッションに関する質問を募集中です
  • 事前に聞きたいことがあれば、何でも書き込んでください。
  • 質問への回答はお約束できません。あらかじめご了承ください

Like(10)

Questions and feedbacks (78)

kei-p
kei-p commented 5 months

Rails を作ってきた中で、一番苦労した機能はなにでしょうか?

Like(0)

gotchane
gotchane commented 5 months

accepts_nested_attributes_for を使わずに親子関係のモデルを扱う際、どんなアプローチを取りますでしょうか?

Like(0)

shiroemons
shiroemons commented 5 months

Rails の最高にイケてる機能・メソッドと失敗したなと思う機能・メソッドについてそれぞれ教えてください

Like(0)

shiroemons
shiroemons commented 5 months

Rails 6 以上の新機能のロードマップは、すでに検討されていますか?

Like(0)

yuki3738
yuki3738 commented 5 months

著書、『It Doesn’t Have to Be Crazy at Work』を拝読しました。 Basecampは本当にいい会社だなと感銘を受けつつも、多くの日本企業は全く正反対の働き方をしていると思います。 自分たちの会社をcalm companyを変えていくために、末端のいちエンジニアは何ができると思いますか? アドバイスをお願いします。

Like(0)

yuki3738
yuki3738 commented 5 months

先日retweetされていたこちらの記事、大変感銘を受けました。 'If you don't hire juniors, you don't deserve seniors' http://isaaclyman.com/blog/posts/junior-developers/

ジュニアなエンジニアを採用するときに貴社が心がけていること、 また採用後、一人前に育てるにあたり貴社ならではの工夫がありましたら教えてください。

Like(0)

unasuke
unasuke commented 5 months

What do you think about the number of "good first patch" label issues?

https://github.com/rails/rails/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-patch

Like(1)

ukstudio
ukstudio commented 5 months

もし今Railsを作りなおせるとしたら再びRubyを選びますか? それとも他の言語を選びますか? 後者の場合その理由も知りたいです。

Like(1)

ukstudio
ukstudio commented 5 months

BasecampのコードベースにはあっていつかRails本体にも入れたいけどまだ入れられていないような機能やライブラリなどはなにかありますか?

Like(1)

anonymous
anonymous commented 5 months

What do you think about Minitest and RSpec? What is the difference and how to choose one? I'm also wondering why Rails uses Minitest.

Like(0)

JunichiIto
JunichiIto commented 5 months

Rails 6、進捗どうですか?

Like(1)

joker1007
joker1007 commented 5 months

Railsを使ったソフトウェア開発において理想的なチームの人数はどれぐらいだと考えていますか?

Like(2)

joker1007
joker1007 commented 5 months

新しい着想を生み出す時やRailsに新しい機能を追加する時に参考にしているものは何ですか? 未来の構想を練る時にどういう考え方をしているのかに興味があります。

Like(3)

anonymous
anonymous commented 5 months

一人でrailsアプリを開発してるのですが、 一人で開発してるからこそ気をつけるべきことなどありますか?

Like(3)

rlho
rlho commented 5 months

今だから言えるこの設計はミスだったなと思うものはありますか?

Like(0)

corocn
corocn commented 5 months

Railsにコントリビュートする上で、お手本とすべきPull Requestがあれば教えてください!

Like(0)

ota42y
ota42y commented 5 months

長期間Railsアプリを運用するとcontrollerやmodelに新旧様々なロジックが入ってしまいます。 こういった巨大なcontrollerやmodelを整理する良いコツはありますか。

特に複数のmodelを利用する処理の扱いが難しく、Userオブジェクトのようないろんなところに関連するモデルが肥大化したりします。

Like(3)

JunichiIto
JunichiIto commented 5 months

さっきの10問よりも、これが一番聞きたい↓

BasecampはRailsのベータ版を積極的に本番環境に導入していますが、Rails本体はともかく、他のgemが新しいバージョンのRailsに対応していないことが多々あると思います(特にメジャーバージョンアップ時)。

そういったケースはどう対応しているのでしょうか?(Rails本体以外のgemをほとんど使っていない?Rails以外のgemも自分たちでパッチを当ててしまう?)

BasecampのGemfileの中身がいったいどうなっているのか、非常に気になります。

Like(3)

JunichiIto
JunichiIto commented 5 months
  1. 毎日の生活スケジュールを教えてください
  2. Ruby以外で最近気になっているプログラミング言語やフレームワークはありますか?それはなぜですか?
  3. 今の愛車を教えてください
  4. もしタイムマシンがあったら過去に戻って作り直したいRailsの機能や設計はありますか?(=後方互換性のインパクトが大きすぎて、今からは直せない機能や設計はありますか?)
  5. 一番好きなRubyのメソッドは何ですか?
  6. 最近ではReactやVue.jsを使ってフロントエンドを構築するケースが増えてきていますが、Railsと組み合わせた場合、便利なRailsのHelperメソッドが使えなかったり、面倒なボイラープレートコードをたくさん書くことが増えたりして、ストレスが溜まることもよくあります。できればERBやHamlでViewをレンダリングするのと同じぐらい簡単に(シームレスに)、RailsがReactやVue.jsと連携してくれたら便利なのですが、そういった構想はありますか?
  7. 毎日たくさんのissueやpull requestを目にすると思いますが、「こういうissueやpull requestは嬉しい」という典型例があれば教えてください。反対に「こういうissueやpull requestは迷惑だからやめてほしい」というものも教えてください。
  8. 自分が出したpull request以外で、一番衝撃的だった(最も強く記憶に残っている)Rails関連のpull requestがあれば教えてください。
  9. 次の10年もRubyやRailsは生き残っていると思いますか?また、それはなぜですか?(すでに死んだという言説もよく見かけますが)
  10. 死ぬまでに達成してみたい夢や目標があれば教えてください。

Like(5)

yasaichi
yasaichi commented 5 months

過去のインタビューの中で「Ruby on Railsを"quick-n-clean"なものにしたかった」と仰っていましたが、ソフトウェアを早く作ることとキレイに作ることはある程度トレードオフの関係にあるので、代わりに何かを諦めないとこの目標を達成できなかったのでは、と考えています。 Ruby on RailsのMVCアーキテクチャにおいて、「この部分は意図的に諦めました」といったものはありますか?

Like(1)

yasaichi
yasaichi commented 5 months

大きなWebアプリケーションをRuby on Railsが提供する機能だけで作るのは難しいなと感じるのですが、この問題への対処法に関して何か考えをお持ちでしょうか?「例えばBasecampではこんな工夫をしているよ」といったことがあれば教えてください。

Like(2)

yasaichi
yasaichi commented 5 months

Ruby on Railsが成功した最大の要因は何だと思いますか? 私は、貴方がBasecampのためにRuby on Railsを作り始めたタイミングが、ちょうどソフトウェア開発の主戦場がエンタープライズアプリケーションからスタートアップでのWebアプリケーション開発へ移るタイミングと一致したから、と考えています。

Like(1)

pupupopo88
pupupopo88 commented 5 months

Rails6からWebpackerが標準になりますが、cssの扱い(方針)は変わらないままでしょうか?sassのdeprecated問題では最終的にsass-rails側が対応(sassc-railsをラップ?)することで落ち着きそうですが、このままsass-railsが標準になるのでしょうか。 https://github.com/rails/rails/issues/32896 https://github.com/rails/sass-rails/issues/420

Like(3)

itkrt2y
itkrt2y commented 5 months

Railsは遅いとよく言われますが、Basecampでは速度問題は起きていないのでしょうか? 起きているならば、どのように解決していますか?

また、今後Railsを高速化する計画はありますか?

Like(1)

pupupopo88
pupupopo88 commented 5 months

Rails6からWebpackerが標準になりますが、手軽に始められる分、込み入ったことをしようとするとWebpacker自体の知識やスキルが必要になったり、ボトルネックになることもあるかと思います。それでもWebpacker導入するメリットや、旨味がより感じられるのはどのようなアプリケーションか、もしくはあまり向かないアプリケーションはどんなものでしょうか。

Like(1)

taea
taea commented 5 months

どんな幼少時代だったのでしょうか? 子供の頃からプログラミングやドライビングが得意だったのですか?

Like(3)

hoshinotsuyoshi

最近のMRIの、Type checkingについての取り組み、Ruby3x3についての取り組み等に意見はありますか?

Like(1)

tai2
tai2 commented 5 months

モデルを保存したときに、なんらかの不具合が生じているらしいことがわかりました。 このとき、原因を特定するためには、モデルからincludeしている(数十個ある)concernを端からチェックし、 どのようなコールバックが登録されているか確認していくしかないのでしょうか?

コールバックで生じた不具合をどのようにデバッグしますか?

Like(1)

tai2
tai2 commented 5 months

concernを切り出すときに守るべき原則があれば、教えてください

Like(1)

tai2
tai2 commented 5 months

以前、concernはモデルの本質的でない部分を切り出すのに役立つとブログに書いていましたが、なにがモデルの本質で、なにがそうでないか見極めるコツを教えてください。

Like(1)

tai2
tai2 commented 5 months

開発者として、Basecampとどのように関わっているのか教えてください。 Railsの開発以外に、サービスの新機能実装やコードレビューも行っていますか?

Like(2)

yasulab
yasulab commented 5 months

EN: We continuously translate Rails Guides into Japanese using the power of software, in order to empower much wider people to develop with reliable official docs. And we consider Rails API can be also translatable in the same way. Is Rails API published under the same license of rails/rails (MIT license) or other specific license like Rails Guides (CC BY-SA 4.0 International)?

JA: より多くの人達に公式ドキュメントを届けるため、ソフトウェアの力を使って「Rails Guides」を継続的に翻訳していて、「Rails API」も同様にしてうまく届けられそうかなと考えています。「Rails API」は rails/rails と同じライセンス (MIT) で公開されているのでしょうか? それとも「Rails Guides」のように CC BY-SA 4.0 International などの特定のライセンスが割り当てられているのでしょうか?

質問の背景: rails/rails のコメントから抜き出して生成しているため MIT ライセンスだと思われるのですが、 https://api.rubyonrails.org/ にはライセンスに関する明示的な記載が見つけられなかったので DHH さんに直接確認が取れるととても嬉しいです...!! (>人< )✨

Like(6)

tatsuosakurai

この機能はRailsに取り入れようと考える条件はどんなものですか(?_?)

Like(2)

tatsuosakurai

最近、Rubyをキメて気持ちよかったことはどんなことですか(?_?)

Like(2)

youchan
youchan commented 5 months

Opalについてどう思いますか? OpalがcoffeescriptのようにRailsの標準のフロントエンド開発言語になる可能性はありますか?

Like(4)

Kunado
Kunado commented 5 months

Railsが苦手とするようなWebアプリケーションの要件はありますか? もしあるとすれば、あなたはどうやって(どんな技術を用いて)それを作りますか?

Like(1)

igaiga
igaiga commented 5 months

自動車レースに出場しているとき、最高にエキサイティングなのはどんな時ですか?

Like(2)

igaiga
igaiga commented 5 months

最初の "How to build a blog in 15 minutes with Rails" の発表する前までに、どのくらいの期間Railsを作っていましたか?

Like(1)

willnet
willnet commented 5 months

もしRailsを一から作り直すとしたら、今のRailsと違うものになりますか?なるとしたら、どの点が異なるでしょうか

Like(3)

igaiga
igaiga commented 5 months

もしもいま大学生だとしたら、どのプログラミング言語から学びますか?

Like(2)

igaiga
igaiga commented 5 months

ActiveSupportなどRailsの機能の中で、Ruby本体に入れて欲しい機能はありますか?

Like(2)

toshimaru
toshimaru commented 5 months

Do you think someday an alternative to Rails will be coming?

(Railsに取って代わるWebフレームワークは来ると思いますか?)

Like(1)

toshimaru
toshimaru commented 5 months

How do you get an idea of new feature of Rails? (e.g. from basecamp, from GitHub issue/PR, from your dream)

(どのようにRailsの新しい機能の着想を得てるのですか?)

Like(1)

toshimaru
toshimaru commented 5 months

Do you have any ideas for Rails7?

(Rails7のアイディアはなにかありますか)

Like(1)

toshimaru
toshimaru commented 5 months

Is Rails dead? ("Is Ruby dead?")

(Railsは死んだのか、あるいはRubyは死んだのか)

Like(1)

neko314
neko314 commented 5 months

こんまりのマインドに共感している話を何度かきいたことがあります。(わたしもこんまりを尊敬しています!) 他にも彼女のように共感を覚える方はいますか? そのような方の存在を受けて、開発に関してインスパイアされることはありますか?

Like(3)

yui-knk
yui-knk commented 5 months

Railsのコードや機能で大規模に書き直しをしたい部分、もしくは削除したい部分はありますか?

Like(1)

yhirano55
yhirano55 commented 5 months

Ruby on Railsが世の中に誕生した後、影響を受けているであろう、MVCアーキテクチャのWEBアプリケーションフレームワークが数多く登場しました(別言語を含む、たとえば、CakePHPやdjangoなど)

これらについて、どのように感じましたか? また利用したことはありますか?

Like(0)

champierre
champierre commented 5 months

Getting Real にとても感銘を受け、いまでもバイブルと思っているのですが、8年経って、もし書き直すとしたらどの部分を書き直しますか?あるいは新たに追加したいことはありますか?

Like(3)

yhirano55
yhirano55 commented 5 months

Railsコミッターのkamipoさん、y-yagiさんには直接お会いしたことはないと思いますが、その仕事ぶりについて、どのように評価していますか?

Like(0)

ttanimichi
ttanimichi commented 5 months

尊敬するプログラマーは誰ですか?

Like(0)

ttanimichi
ttanimichi commented 5 months

好きなメソッド、嫌いなメソッドは何ですか?

Like(1)

chiastolite
chiastolite commented 5 months

Basecamp以外のRailsを使っているアプリケーションのコードを読んだりする機会はありますか? もしあれば意外に感じること(ある機能があまり使われない、ある機能が想定よりも使われている)がありますか?

Like(0)

okuramasafumi

Railsの機能のなかで、「これなしでは仕事にならないけど、意外と知られていない」というものがあったら教えてください。

Is there any feature of Rails that you rely on so much but isn't that famous?

Like(2)

yahonda
yahonda commented 5 months

Rails 6.0 にむけてのタイムラインが公開されました。 これまで外部にリリーススケジュールが公開されることはなかったと記憶しています。 これを外部に向けて公表しようと思われた理由を教えてください。

https://weblog.rubyonrails.org/2018/12/20/timeline-for-the-release-of-Rails-6-0/

Like(4)

yhirano55
yhirano55 commented 5 months

ご自身が書いたコード以外で、印象や記憶に残るプルリクエストまたはパッチはどれですか⁇

Like(0)

ttanimichi
ttanimichi commented 6 months

ここ数十年のうちにシンギュラリティは来ると思いますか?

Like(0)

ttanimichi
ttanimichi commented 6 months

好きなビールの銘柄は何ですか?

Like(0)

onk
onk commented 6 months

10 年前ぐらいに「Rails は 90% のことを上手くやるためのフレームワークだ」と聞いたことがあります。 (エッジケースを捨てたことで DRY, CoC が効くシンプルな構造になってアプリケーション開発を加速させているという意味) 当時はまさしくそうだったと思います。

今の Rails は、2019 年の Web アプリケーション開発の何パーセントぐらいをカバーできていると思いますか? また、どのぐらいをカバーしたいですか?

Like(12)

hshimoyama
hshimoyama commented 6 months

Rails に関して行ってきた多くの判断(機能追加、仕様変更、etc.)の中で、一番難しかったもの・印象に残っているものは何でしょうか?

Like(1)

condor
condor commented 6 months
  • これまでのコミットで、最も会心のコミットと、最も失敗したコミットについて教えてください。
  • これまでのレビューコメントで、最も印象的なコメントについて教えてください。
  • これまで受けたpull requestで、最も感心したものについて教えてください。

Like(2)

geeknees
geeknees commented 6 months

React, Vueなどのフロントエンド技術の発展と、それに対するRailsの対応について(Turbolinks, Webpackerなど)の将来的な方向性について教えていただきたいです。

Like(4)

geeknees
geeknees commented 6 months

マイクロサービス についてのご意見(マイクロサービスが今後も発展していくと考えているのか、Hanamiのような分割方法、Railsはどのように対応していくのか)についてお教えいただけますでしょうか?

Like(3)

ttanimichi
ttanimichi commented 6 months

多芸多才の秘訣を教えてください。レーシングと写真とソフトウェア開発をどう時間配分したり両立しているか、など

Like(1)

yuyasat
yuyasat commented 6 months

ttanimichiさんの質問と重複していますが、accepts_nested_attributes_forおよびfields_forは複数のモデルを一つのフォームから作成するのに非常に便利です。データベースを正規化していくと、自分で実装するのは大変なのでaccepts_nested_attributes_forを使うことがよくあります。ここはRailsが他のWebフレームワークと比べて強いところだと思っています。DBの正規化に強いフレームワークあって欲しいと思っていますが、どうお考えでしょうか。

Like(0)

indigolain
indigolain commented 6 months

RubyのどのようなところにときめいてRailsを書こうと思ったのですか?

Which part of Ruby sparked your joy, and made you think of creating Rails?

Like(6)

koheisg
koheisg commented 6 months

今注目しているwebの新技術は何かありますか?(wasmやweb component,http3など) 標準化が策定中のものや検討段階のものでもいいです。

Like(2)

koheisg
koheisg commented 6 months

Basecampで使ってるrailsビルトイン以外のgemを教えて欲しいです。 もしくはGemfile見せて!

Like(8)

okuramasafumi

Railsにおけるもっとも重大な技術的負債とはなんでしょうか?

What is the most critical technical debt in Rails?

Like(1)

ttanimichi
ttanimichi commented 6 months

https://github.com/rails/rails/pull/26976#discussion_r87855694

についてです。 accepts_nested_attributes_for を kill するとして、何か代わりになるような機能(例えば Form Object とか)を公式に機能として提供することって考えてたりしますか?

Like(7)

ttanimichi
ttanimichi commented 6 months

Ruby と JS 以外で、いま興味のある・注目している・今後仕事で使うかもしれないプログラミング言語って何かありますか?

Like(1)

ttanimichi
ttanimichi commented 6 months

Basecamp にも技術的負債はありますか?

Like(2)

okuramasafumi

数年前にMerbがそうしたように、Hanamiもあなたをインスパイアしますか?

Does Hanami inspire you as Merb did several years ago?

Like(0)

yhirano55
yhirano55 commented 7 months

各コンポーネントの Active◯◯ or Action◯◯ ですが、どういう命名ルールなのでしょうか?

Like(3)

okuramasafumi

Railsを始めて日が浅い人たちがRailsにコントリビュートする一番いい方法はなんだと思いますか?

What do you think is the best way for beginners to contribute to Rails?

Like(4)

yhirano55
yhirano55 commented 7 months

Ruby on Rails という名前以外に、別の名称の候補はありましたか? あったら教えて下さい

Like(0)

yhirano55
yhirano55 commented 7 months

Ruby は 3×3 というパフォーマンス向上のゴールに向かっている最中ですが、Ruby on Railsというフレームワークの作者として、今後のRubyにどういう機能改善や機能向上を期待していますか?

Like(2)

okuramasafumi

GraphQLについてどう思いますか?Railsがサポートすべきだと思いますか?

What do you think about GraphQL? Do you think it should be supported by Rails?

Like(11)

Create Comment

Please sign in to comment.

Sign in with GitHub
This software is available as open source under the terms of the MIT License.
Copyright © 2018 Yoshiyuki Hirano