新しい週と、9月26日にモスクワで開催されるRailsClub 2015カンファレンスのスピーカーとの新しいインタビュー。 今日、Railsの貢献者であるEvil Martiansの主任開発者で、 RubyNoname Podcastの主任であるKir Shatrovが質問に答えます 。
あなたの意見では、RubyとRuby on Railsは今後どのような方向に発展するでしょうか?
Rubyconf 2014で、MatzはRuby 3の秘oneの1つは競争力を維持することだと述べました。 これはすでにgemの形で表示されています-たとえば、Railsの内部ですでに使用されているconcurrent-ruby 。 私は今、それが言語開発のタスクの一つになると思う。 優れた競争サポートがなければ、Rubyには未来がないかもしれません。
Railsについては、過去1年間に、たとえばLotusやROMなど、レールスタックに代わるものがあったことを嬉しく思います。 コミュニティレベルでの代替フレームワークの適応は、開発者の目を開くのに役立ち、レールのほかにまだ何かがあるという事実について話します:他のアプローチと他のパラダイム。
Railsには何が欠けていますか?
Railsの内部には、これで十分です。 秋にはまだActionCableが含まれます。 欠けているのはモジュール性の向上です。 可能ですが、誰も使用していません-ActiveRecordの代わりにSequelまたはROMを使用している友人は何人いますか?
競合他社の人気は、ActiveRecordなどのモノリシックなコンポーネントを書き換える動機をレールに与えることができると思います。
Rubyの後の好きなプログラミング言語、なぜですか?
以前はGoが本当に好きでしたが、Clojureを見た後、Goについての私の意見は変わりました:) Clojureは美しい構文、REPLの存在、および機能的なアプローチで賄われました。 Clojureを試した後、Goのコードを見ると少し苦痛になりました。 私にとってClojureの主な欠点は、この言語はGoに比べて生産性が低いことです。そのため、今のところ戦闘プロジェクトでの使用方法がわかりません。
あなたの意見では、技術は近い将来最も有望なものは何ですか?
私の意見では、Rails Core Team開発者の70%および他の評判の良い開発者は、Rustの大ファンです。 彼は安定するとすぐに特定の聴衆を獲得すると思います。 いくつかの安定性の欠如は止まりませんが、たとえば、Yehuda KatzはすでにそれをSkylightサービスで使用しています。
あなたにとってオープンソースとは何ですか? あなたはどのプロジェクトに参加していますか?その理由は?
OpenSourceとGithubは、学ぶべき何かを持っている非常に才能のある人々と協力する機会を提供します。
1%の開発者がフレームワークを作成し、99%がそれらを使用しています。 また、コードが1,000台のマシンで実行されることがわかっていると便利です。
Web開発とプログラミングのトピックに関するお気に入りのリソース(ブログ/サイト/ twitter)
私はリチャード・シュニーマンの仕事に忠実に従います。 リチャード・シュニーマンは、ベンチマーク鉄道アプリケーション用の一連のユーティリティである脱線の著者です。 彼は最近、Railsの応答時間をほぼ10%最適化しました 。
「 今週のRailsニュースレター」をお勧めします- この週には、Railsの興味深いバグとプルリクエストがすべて含まれています。
ベストプログラミング/テクノロジーブックリード?
間違いなくRuby Under a Microscope 。これは、言語のデータ構造と、MRI、JRuby、Rubiniusでのデータ構造の実装に関する優れた理解を提供します。
大成功を収めたい開発者にどのようなアドバイスをしますか?
ルビーとレールには、プロジェクトにgemを追加した直後に、すぐに使える多くの魔法のようなものがあります。 多くの開発者はこれに非常に満足しているため、実際にどのように機能するかさえ考えていません。
googleの代わりにgemのソースコードを読んだり、ドキュメントを読んだりすれば、主題分野をよりよく理解できるように思えます。
したがって、アドバイス-質問があるたびに、bundle open gemと入力してソースを読んでください。 そして、ソースレールを読むことを恐れないでください:)
プログラミングにうんざりしていませんか?
疲れた。 過去6か月間、私は自由時間にできるだけプログラミングから離れるように努めてきました。 木工コースに行き、家具を作り始めます。 空き時間には料理をするのが好きで、7月には同僚とドイツとデンマークの自転車で1000キロ走りました。
2か月間の無料の有料時間がある場合はどうしますか?
私は長い間ActiveModel内にActiveRecord Attributes APIを移植してきました。その結果、最終的に型キャストと複数の属性がActiveModelに表示されます。 そのためには、たとえばvirtusなどのサードパーティのgemを使用する必要があります。 これにより、Railsのデフォルト構成でフォームオブジェクトをさらに効率よくポンピングできます。
また、Rubyアプリケーションにファイルを保存するための独自の最新のソリューションを作成しようと思います。 Carrierwaveは廃止され(2008年にMerb向けに作成された)、新しいRefileのアーキテクチャは優れていますが、そのファイル処理は理想からはほど遠いため、コミュニティにはこのようなソリューションがありません。
私はすでに最初の試みをしました( Storageを参照)が、アーキテクチャの問題に遭遇したので、すべてを書き直すことにしましたが、まだこの時間は見つかりませんでした。
インタビューをありがとう、そして会議でお会いしましょう!
9月26日、Cyrusはヘルシンキから到着し、RailsCllubで公演します。 完全なプログラムと当社のウェブサイトでの登録。
会議では、アトランタでのRailsConf 2015でのCyrusのレポートのロシア語版を待っています。
Rails 4.2のベータ版を使用して、Railsフレームワークでパフォーマンスの低下が発生する頻度と、それらが簡単に見過ごされる可能性があることを確認しました。
パフォーマンスとそのリグレッションの問題は、Rubyコミュニティでより深刻になっています。 これにより、私と他のRails貢献者は、RubyとRailsのパフォーマンスの低下を見つけるためのサービスであるRubybenchを開発するようになりました。
彼の講演では、彼はRailsからのコミットの例によるパフォーマンスの低下を調べ、Rubyアプリケーションのベンチマークの構築について話し、Rubybenchとそのアーキテクチャを実証します。
スポンサー
ジェネラルパートナー: Toptal
ゴールドパートナー: Cloud Castle
シルバーパートナー: AT-ConsultingおよびHoneybadger
Honeybadgerは、アプリケーションの例外、稼働時間、パフォーマンスを監視するサービスです。 問題が発生すると、Honeybadgerは電子メール、チャット、またはメッセージで通知をモバイルに送信します。 気を散らすことなく、すぐにバグを修正し、クールなアプリケーションを構築できます。
ブロンズパートナー: Rambler&CoおよびLook at Media
railsclub.ruでニュースレターにサインアップしてニュースレターを最新の状態に保ち、お楽しみに。
RailsClub.ru
twitter.com/railsclub_ru
facebook.com/railsclub