O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Shinjuku.rb #61 RubyKaigi2018予習

403 visualizações

Publicada em

各SummaryをGoogle翻訳にかけてみたものです。
https://shinjukurb.connpass.com/event/87885/

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Shinjuku.rb #61 RubyKaigi2018予習

  1. 1. RubyKaigi2018 2018/05/23 Shinjuku.rb #61 treby006
  2. 2. Contents » Day1 5/31 » Day2 6/1 » Day3 6/2
  3. 3. day1 » Keynote matz » 13:00 - 13:40 » 13:50 - 14:30 » 14:40 - 15:20 » 15:50 - 16:30 » 16:40 - 17:20 » Lightning Talks
  4. 4. day1 13:00 - 13:40 » Analyzing and Reducing Ruby Memory Usage by @tenderlove » Karafka - Ruby Framework for Event Driven Architecture by @maciejmensfeld » bancor: Token economy made with Ruby by @kurotaky
  5. 5. Analyzingand Reducing RubyMemoryUsage by@tenderlove メモリ使用量は解析が難しくなりやすい 現在進行中のもの、さらにはシステムレベルのツールも含むRubyのプロ セスのメモリ使用量の解析のための異なった技術を網羅する予定 メモリ分析後システム使用のメモリの減らし方 聴衆はRubyシステムでメモリ分析のための経験則やハックから離れら れ、さらにはよりRuby内部の理解が進むでしょう
  6. 6. Karafka- RubyFramework for EventDriven Architecture by@maciejmensfeld Karafkaを使用すると、システムで発生するすべてのものを大量に取得 し、ビジネスドメインではないものに集中することなく、このデータを 消費し処理するためのシームレスで安定したコアを提供できます。あるア プリケーションから別のアプリケーションにデータをパイプし、変換して 返送しようとしたことがありますか?既存のコードベースを切り離し、よ り弾力性と柔軟性を持たせたいと思ったことはありますか?カラフカに ついては、既存のプロジェクトに適合し、モダンで分散したスケーラブル なエコシステムのメッセージバックボーンとしてどのように使用するかに ついて学びましょう。
  7. 7. bancor: Token economymadewith Rubyby @kurotaky スマート契約でのトークンの流動性と取引価格の発見を自動化すると言 われる「Bancor Protocol」というプロトコルがあります。プロジェ クトでこのプロトコルの有用性を検証するには、スマートな契約プログラ ムを作成し、アプリケーションを実装するのに費用がかかります。Ruby でアプリケーションを実装する際には、Bancorプロトコルを簡単に導入 して検証するための宝石「bancor」を作っています。このプレゼンテー ションでは、開発者が "bancor"を使用してRubyアプリケーションで "トークンエコノミー"を構築し、効果を迅速に検証する方法について説 明します。
  8. 8. 13:50 - 14:30 » Deep Learning Programming on Ruby by @mrkn & @hatappi » A practical type system for Ruby at Stripe. by @DarkDimius & @ptarjan & @nelhage » Hijacking Ruby Syntax in Ruby by @joker1007 & @tagomoris
  9. 9. DeepLearning Programming on Rubyby @mrkn & @hatappi Ruby言語による実用的なパフォーマンスで深い学習モデルをプログラム する方法を紹介します。 RubyのApache MXNetとRed Chainerを使 用します。 Apache MXNetはpycall.rbから入手できますが、この講 義では、このようなブリッジシステムがなくてもRubyから直接使用され ます。私たちのデモンストレーションでは、Rubyがそのような作業を行 う準備ができていることが示されます。さらに、データサイエンス分野で Rubyを利用できるようにするためのプロジェクトの最新の進 状況と今 後の展望についても説明します。
  10. 10. Apracticaltype system for RubyatStripe. by @DarkDimius & @ptarjan & @nelhage Stripeでは、型システムが大きなコードベースに大きなメリットをもた らすと確信しています。彼らは:常に最新の状態に保たれたドキュメント です。ツーリングからの迅速なフィードバックを介して開発ループをス ピードアップします。幸せなパスで処理されないコーナーケースを発見す るのに役立ちます。「定義にジャンプ」などの型チェックによって得られ た知識を公開するビルド・ツールを許可します。Rubyコードでストライ プ方式で採用されているタイプシステムを構築しました。このタイプシス テムは、異なるペースでそれを採用する異なるチームやプロジェクトで 徐々に採用することができます。私たちはAndとOrTypesと基本ジェネ
  11. 11. Hijacking RubySyntax in Rubyby@joker1007 & @tagomoris この講演では、メタプログラミング技術を使用した新しい構文解析と、 Rubyの多くでよく知られていないRuby機能の紹介方法を紹介します。魔 法のコードを楽しんでください!Rubyの構文をハックするRubyの機能を 表示する(Binding、TracePoint、Refinementsなどを含む)これ らの技術によって導入されたものを説明するメソッド修飾子(final、 abstract、override)DSLをテストするためのテーブルのような構文 安全なリソースの割り当て/収集(with、defer)新しいトレーサブルイ ベント、フックなどの提案
  12. 12. 14:40 - 15:20 » All About RuboCop by @bbatsov » What would your own version of Ruby look like? by @_st0012 » TTY - Ruby alchemist’s secret potion by @piotr_murach
  13. 13. AllAboutRuboCopby@bbatsov この講演では、Rubyプロジェクト全体で一貫したコードスタイルを簡単 に実行できる強力なRubyスタティックコードアナライザであるRuboCop について知る必要があるすべてについて説明します。まず、RuboCopの作 成、その初期の展開とその進化、効果的なRuboCopの使い方、そして クールだが知られていない機能のいくつかを調べることから始めます。 RuboCopの内部構造について簡単に説明し、機能を拡張するのが簡単で あることを示します。RuboCopの将来を垣間見ることで話を包み込み、 RuboCopが最終的に1.0の欲望に達する前に、プロジェクトが直面する いくつかの課題と今後の課題について議論する予定です。
  14. 14. Whatwouldyour ownversion ofRubylook like? by@_st0012 私たちの大部分はRubyを愛していると信じていますが、私たちの大半は Rubyが完璧だとは思っていません。だから、Rubyの独自のバージョン は、あなたが作成することができる場合のように見えますか?あなたが 知っている人もいるかもしれませんが、私は約1年前にGobyと呼ばれる 言語を作成しました。主にRubyに触発されており、Rubyによく似ていま す。しかし、Rubyとは異なるデザインの選択肢もありますし、Rubyには ない独自の機能もいくつかあります。この講演では、言語を設計する際に 重視すべき重要なことについて話し合うつもりです。また、Gobyを開発 する際の設計選択肢と、これらの選択肢の背後にある哲学についても説
  15. 15. TTY- Rubyalchemist’s secretpotion by @piotr_murach Bundlerのような最新のターミナルアプリケーションをすぐに構築する 際に、生産性を飛躍的に向上させるために開発されたシンプルで強力な宝 石があると言われたらどうでしょうか?あなたはこの力を活用してコマン ドラインのアプリケーションの錬金術師になる方法について興味があり ますか?
  16. 16. 15:50 - 16:30 » Fast Numerical Computing and Deep Learning in Ruby with Cumo by @sonots » Kiba 2 - Past, present & future of data processing with Ruby by @thibaut_barrere » RubyGems 3 & 4 by @hsbt
  17. 17. FastNumericalComputingand DeepLearning in Rubywith Cumo by@sonots Rubyは、科学計算のPythonなどの他の言語よりもはるかに遅れていま す。 1つの理由は、Rubyに高速数値ライブラリがないためです。私は CUDAを使ってRubyの高速数値ライブラリを作成しました。この講演で は、Rubyにおける科学計算の概要/GPUプログラミングの基礎知識/ CUMOの中には、/高速なCUDAカーネルの作成/Ruby C ext gemで CUDAカーネルをスマートに構築する/GPUメモリプールの実装/ユーザー 定義カーネルをコンパイルするJIT/Rubyで書かれた新しいDNNフレーム ワークのNumoとのパフォーマンス比較、Red-Chainer
  18. 18. Kiba2 - Past, present& future ofdata processingwith Rubyby@thibaut_barrere Kiba ETL(http://www.kiba-etl.org)は、Rubyのための軽量で 包括的なデータ処理フレームワークで、2015年にリリースされました。 この講演では、木場がなぜ作成されたのか、それがどのように企業の低 メンテナンスデータの準備と処理に使用されているのか(さまざまなユー スケースで説明されています)、バージョン2(RubyのEnumeratorを 活用する理由)再利用可能なデータ処理コンポーネントのオーサリング の大幅な改善、なぜRubyによるデータ処理の将来について楽観的なのか
  19. 19. RubyGems 3 & 4 by@hsbt RubyGemsは、標準ライブラリなしでインターネット経由でライブラリを インストールするための仕組みです。 RubyGemsのメンテナンスマネー ジャーとRubyコアチームのコアメンバーとして、毎年RubyGemsの最新 バージョンを最新の安定版Rubyに統合しようとしています。このプレゼ ンテーションでは、RubyGems 2.7の新機能を紹介し、Bundlerとの統 合のメカニズムについて説明します。最後に、Ruby 2.6と3リリース用 に開発しているRubyGems 3と4のロードマップを紹介します。この講演 を通じて、ルビーの生態系の中心にあるRubyGemsを理解することで、ル ビーの世界をもっと楽しむことができます。
  20. 20. 16:40 - 17:20 » Exploring Internal Ruby Through C Extensions by @Yuryu » Architecture of hanami applications by @anton_davydov » A parser based syntax highlighter by @pck
  21. 21. Exploring InternalRubyThrough C Extensions by@Yuryu あなたは、RubyオブジェクトがCRubyコードでどのように表現されてい るのか疑問に思っているかもしれません。あんまり?私は、C拡張を書く ことは、CRubyがさまざまなオブジェクトタイプをどのように扱うのか を調べ、学ぶのに最適な方法だと言います。このセッションでは、独自の Hashクラスを再実装し、CRubyの基本タイプについて説明し、ネイティ ブHash、純粋なC ++実装、およびC拡張バージョン間のパフォーマンス を比較し、Rubyでのメモリレイアウトと消費について説明します。この セッションを通じて、観客はCRubyコードの方が快適になります。 Cで の経験は必要ありません。
  22. 22. Architecture ofhanamiapplications by @anton_davydov Webアプリケーションの一般的な部分はビジネスロジックです。残念なが ら、特定のルールと説明を持つフレームワークを見つけて、それをどのよ うに処理するのが本当に難しいです。ハナミでは、長期的なメンテナンス を心配しています。そのため、ビジネスロジックをどのように扱うかが私 たちにとって本当に重要です。私の話では、花菜のアプリケーションでビ ジネスロジックを保存して作業する方法を共有します。私たちは、イベン トの調達のような花見、乾燥、いくつかの建築アイデアについて話しま す。この話は、どの開発者にとっても興味深いものです。他のフレーム ワークで作業する場合は、これらのアイデアをプロジェクトに取り入れる
  23. 23. Aparser based syntax highlighter by@pck 読みやすい自然な文法を持ち、書きやすい。 https://www.ruby- lang.org/ja/ 絶対に。構文はエレガントです。しかし時には複雑すぎる。したがって、 Rubyのシンタックスハイライターは簡単ではありません。たとえば、お そらくあなたのエディタは、おそらく正しく、???? ::?:、%%s %% %%%%、def end(def:def def; end)endをハイライトすることは できません(これらは有効なRubyプログラムです)。ええ、それはエッ ジケースです。実際の状況では、一部の構文ハイライターはここの文書を 正しく強調表示できません。 私はRubyのための堅牢な構文ハイライター、Iro gemとIro.vimを話
  24. 24. 17:30 - 18:30 LightningTalks » Test asynchronous functions with RSpec by @ledsun » Rib - Yet another interactive Ruby shell by @lulalala » Create libcsv based ruby/csv compatible CSV library by @284km » From String#undump to String#unescape by @tad » Improve Red Chainer and Numo::NArray performance by @naitoh
  25. 25. day2
  26. 26. Mywaywith Rubyby@ktou » Rubyistとしての私の活動は次のとおりです:Rubyができることを 増やす / 図書館を維持する / この講演では、私の活動を紹介しま す。
  27. 27. 10:50 - 11:30 » Controlling Droids™ with mruby & Go by @hone02 & @code0100fun » Faster Apps, No Memory Thrash: Get Your Memory Config Right by @codefolio » It's Rubies All The Way Down by @wyhaines
  28. 28. Controlling Droids™with mruby& Go by @hone02 & @code0100fun Rubyは、ロボット、IoT、または他の低レベルシステムを取り扱う最前 線にいたことはありません。 Rubyの優れた点は、DSLのスクリプト作 成と構築です。 mrubyを使用することで、我々が愛する言語を使用しな がら既存の生態系を活用することができます。 この講演では、Sphero R2-D2を制御するGoイベントリアクタ内で mrubyハンドラを実行する方法について詳しく説明します。驚くほど少 ないコード行で、モーター、ライト、サウンドを同時に調整することが できます。ムルビーとロボティクスについて学び、あなたが実際に探して いるドロイドを見てください。
  29. 29. FasterApps, No MemoryThrash: GetYour MemoryConfig Rightby@codefolio Rubyのメモリシステムは扱いにくいかもしれません。設定は簡単ではあ りません。 Rubyバイナリのメモリ設定を最適化する新しい簡単なツー ルを紹介します。 CRubyのメモリリソースとその確認方法について学び ます。メモリ使用量を最適化してメモリを小さくし、ガベージコレクショ ンを高速に保ちましょう。
  30. 30. It's RubiesAllTheWayDown by@wyhaines Rubyは膨大な機能を持つ言語です。その1つはWebアプリケーションの仕 事です。通常、Rubyはアプリケーションコンテナ/アプリケーション層 でのみ使用され、他のテクノロジはスタックの残りの部分を提供します。 Rubyはアプリケーションスタック内の他の役割を満たすことができます ので、楽しくなるように、上から順にRubyソフトウェアで構成されるス タックを探索しましょう。どのように見えるだろうか?それはどのように 実行されますか?なぜあなたはこれをやりますか?
  31. 31. 13:00 - 13:40 » Guild Prototype by @ko1 » Journey of a complex gem upgrade by @Edouard-chin » Improve Ruby coding style rules and Lint by @koic
  32. 32. Guild Prototype by@ko1 RubyKaigi 2016、Ruby 3のためのGuildという新しい並行性抽象化 を提案しました。Guildは安全な並列プログラミングと並列計算を実現 します。我々はギルドの試作品を作っている。この講演では、ギルドの概 念と評価をGuildのプロトタイプで紹介します。また、別の適切な名前 を見つけるために "Guild"の名前について議論しています。この「命名 戦」の議論を紹介します。
  33. 33. Journeyofacomplex gem upgrade by @Edouard-chin すべての宝石バンプは慎重かつ注意を払って実行する必要がありますが、 ほとんどの場合、バンドルの更新コマンドを実行するだけで、 CHANGELOGを見て、アップグレードによってカップルテストが失敗する 可能性があります。しかし、新しいバージョンで多くの急激な変化をもた らした宝石のアップグレードはどうですか?アップグレードによって、既 存のテストが何千も失敗するのではなく、何百もの原因となる可能性が あります。この話では、どんな依存性もスムーズかつ安全にアップグレー ドできるように、さまざまな手法と戦略を共有したいと思います。
  34. 34. Improve Rubycoding style rulesand Lintby @koic RuboCopを使用する際のRubyのコーディングスタイルルールとLintの 改善について説明します。静的解析ツールを使用してリポジトリ内のコー ディングスタイルを統一する機会は珍しいことではありません。しかし、 実世界は唯一のコーディング規則で統一されていません。それでも、より 良いと思うコーディング規則に近づけることができます。私はこの話題に ついて話したいと思います。
  35. 35. 13:50 - 14:30 » extend your own programming language by @m_seki » Scaling Teams using Tests for Productivity and Education by @jules2689 » mruby can be more lightweight by @yuriatearth
  36. 36. extendyour own programming language by @m_seki 書籍「RubyでつくるRuby」はRubyの(極小の)サブセットMinRubyを Rubyで実装しながら、Rubyとプログラミング言語とインタプリタを学 ぶ本です。入門者にとって、フルセットのRubyを改造するのはちょっと 難しいですが、MinRubyのサイズならちょうどよい教材です。MinRuby を拡張し自分の言語を作ることで得られる万能感は格別です。 本講演で は、MinRubyを拡張してRuby自体に新しい機能を追加する例を紹介しま す。末尾呼び出し最適化、実行コンテキストの別プロセスへ移送、変数操 作のフックなど、ライブラリだけで実装するのは難しいRubyの変種を示 します。
  37. 37. ScalingTeams usingTests for Productivity and Education by@jules2689 Ruby組織の規模が大きくなるにつれて、より多くの開発者がチームに加 わります。コードのスタイルを強制し、ベストプラクティスに従い、言葉 に頼らずに行われた間違いを文書化することがますます困難になっていま す。 Rubocopなどのツールを使用していくつかの文章構成要素を確認し ていますが、問題やベストプラクティスを文書化するツールがありませ ん。この講演では、ベストプラクティスを中心とした戦略やソリューショ ンに焦点を当てています。これは、約1000人の開発者を「時間をぴった り」に情報提供することで、途方もなく開発し、加速させています。
  38. 38. mrubycan be more lightweightby @yuriatearth mrubyは「軽量Ruby」と呼ばれていますが、実際にはRAMメモリをかな り消費します。この講演では、RAMの代わりにROMを使用する実装の提案 について説明します。さらに、RAMの使用を減らすためのいくつかの構成 についても説明します。また、評価用ボード(RAM:96 KB)を使用し て、RAM使用量を削減した結果として使用可能になったことを実証しま す。
  39. 39. 14:40 - 15:20 » Ruby Programming with Type Checking by @soutaro » Ferrari Driven Development: superfast Ruby with Rubex by @v0dro » Firmware programming with mruby/c by @hasumon
  40. 40. RubyProgrammingwithType Checking by @soutaro 昨年、私はRubyのタイプチェッカーSteepを紹介するプレゼンテーショ ンをしました。しかし、実装は非常に実験的なので、まったく生産に使 用できません。この講演では、プロジェクトの9ヶ月間の進行状況を報告 し、ツールがRubyプログラミングにどのように役立つかを紹介します。
  41. 41. Ferrari Driven Development: superfastRuby with Rubex by@v0dro RubyコードをC拡張で高速化したいが、ドキュメンテーションや恐ろし いCプログラミングの山々に困惑し、代わりに別の言語に移行することを 選んだか?そのGILをリリースし、あなたのプロセッサーがあなたの髪を 失うことなく提供しなければならないすべてのジュースを抽出することが できたらいいですか?はいの場合は、この話を見に来てください!この講 演では、Ruby Cの拡張を書く最速かつ幸せな方法であるRubexを紹介し ます。 Rubexは、Rubyの中核となる哲学を念頭に置いて設計された まったく新しい言語であり、プログラマを幸せにするものです。 » https://github.com/SciRuby/rubex
  42. 42. Firmware programmingwith mruby/c by @hasumon 私たちは、マイクロコンピュータ(マイクロコントローラ)用のファーム ウェアを書く新しい選択肢を持っています。それはmruby / cです。こ の講演では、mruby / cファームウェアプログラミングを紹介します。 また、日本酒醸造所の実際のIoTプロジェクトについても説明します。 mruby / cはまだ若く成長しているツールなので、あなたはそれがより 良くなるのを助けることができるいくつかの(多くの)ものがあることを 知っています。
  43. 43. 15:50 - 16:30 » RNode with code positions by @spikeolaf » Implementing Web Console by @gsamokovarov » How Ruby Survive in the Cloud Native World by @udzura
  44. 44. RNodewith code positions by@spikeolaf この講演では、Rubyのコード位置について説明します。コード位置は、 Ruby 2.5から導入されたASTノードの新しい位置情報です。コード位置 は、警告メッセージ、例外メッセージ、Proc#source_locationなど を改善することができます。この講演には以下のトピックが含まれていま す。どのコード位置があるか。/なぜ彼らは必要です。/実装方法
  45. 45. ImplementingWeb Console by @gsamokovarov Webコンソールは、Railsにバンドルされているデバッグツールです。最 も一般的な機能は、すべての開発エラーで表示されるコンソールですが、 RubyコードをWeb UIを通じて、実行中の任意のバインディングで実行 できる汎用デバッグツールです。この講演では、Webコンソールの宝石が どのように実装されているかを見ていきます。これには、Rubyでの例外 の処理方法に関する深い洞察が含まれます。例外バックトレースのすべて の部分についてRubyバインディングを構築する方法を説明します。これ を可能にするためにDebugInspectorおよびTracePoint C APIとど のようにやりとりし、JRubyのような別のRuby実装をどのようにサポー
  46. 46. HowRubySurvive inthe Cloud NativeWorld by@udzura コンテナオーケストレーション技術は、Ops / SREの注目を集めつつ、 マイクロサービスとサーバレスアーキテクチャの重要性が増しています。 しかし、私の意見では、これらの「クラウドネイティブ」開発について、 Ruby言語は他の若年言語(特にGoとRust)よりも小さな活動を示して います。ちなみに、2016年にmrubyでコンテナランタイムHaconiwaを 作成しました。 2017年には、多くのコンポーネントでRubyとmrubyを 使用して私の会社のWebホスティングサービス用コンテナプラットフォー ムを傷つけました。 2018年には、Rubyとmrubyで完全に実装された新 しいコンテナオーケストレーションツールを作成します。これらのコンテ
  47. 47. 16:40 - 17:20 » Type Profiler: An analysis to guess type signatures by @mametter » One cable to rule them all by @palkan_tula » 20k MRuby devices in production by @scalone
  48. 48. Type Profiler:Ananalysisto guesstype signatures by@mametter matzが静的解析を含むRuby 3の目標を設定した後、その要件(および 妥協点)が徐々に明らかになりました。私たちが知っている限り、現在 の状況を見直し、Rubyの型チェックに関連する既存の提案や実装を簡単 に調査し、何が良いものか、何が欠けているのかを明確にします。今回の アンケート調査では、Ruby型検査システムの欠落部分の1つである型プ ロファイラを試作しました。タイププロファイラは、既存のRubyプログ ラムを静的および動的に分析し、タイプ定義のスタブを作成します。その 設計について議論し、いくつかの実験結果を示す。
  49. 49. One cableto rulethemallby@palkan_tula 現代のWebアプリケーションは、リアルタイム機能を積極的に利用してい ます。残念ながら、今日では、Rubyは、まったく別のチャットを実装す る技術としてはめったに考慮されていません。Rubyのパフォーマンス は、並行処理と高負荷を処理する場合には大いに期待されています。これ は、私たちが好きな言葉を裏切るべきであることを意味します。私の答え は「いいえ」です。私は、Rubyの優雅さと他の言語の能力をどのように 組み合わせて、リアルタイムアプリケーションのパフォーマンスを向上さ せることができるかをお見せしたいと思います。
  50. 50. 20k MRubydevices in production by@scalone 私はmRubyの完全なランタイムを変更しました.3年間は、推奨されてい ないとしても、mRubyを稼働させて20kマシンと支払いトランザクション の数十億ドルに達しました。私たちは多くの問題に直面しましたが、 mRubyを採用することでさらに大きな利益を得ました。この話は、次の ようなトピックに関するものです。ランタイムとアプリケーションの更 新/アップグレード / 通信構成とインテリジェンス / 支払いトランザ クションのセキュリティと暗号化 / 並行性 / CRubyとmRubyのコード 共有 / メモリ管理とリーク / オープンソース
  51. 51. RubyCommittersvsthe World
  52. 52. day3
  53. 53. ParallelandThread-Safe RubyatHigh-Speed withTruffleRubyby@eregontp ArrayとHashはすべてのRubyプログラムで使用されています。しかし、 現在の実装では、それらを並列で使用すること(MRIのグローバルインタ プリタロック)やスレッドセーフの保証がない(JRubyは並行Array# <<の例外を発生させます)。 Concurrent :: Arrayからの concurrent-rubyはスレッドセーフですが、並列アクセスはできませ ん。この講演では、シングルスレッドのパフォーマンスを損なうことな く、並列アクセスを可能にしながら、ArrayとHashをスレッドセーフに するテクニックを示します。要するに、我々は、Rubyが数十のコアにス ケールアップできるようにしながら、グローバルロックの最も重要なス
  54. 54. 10:50 - 11:30 » Grow and Shrink - Dynamically Extending the Ruby VM Stack by @sugiyama-k & @duerst » IRB Reboot: Modernize Implementation and Features by @aycabta » Ruby code from the stratosphere - SIAF, Sonic Pi, Petal by @kn1kn1
  55. 55. Growand Shrink - DynamicallyExtendingthe RubyVM Stack by@sugiyama-k & @duerst 現在、MRI(Rubyのリファレンス実装)は各スレッドに1MBのスタック 領域を割り当てます。これは特に高度にマルチスレッドのアプリケーショ ンでは、明らかに準最適です。我々は、非常に小さいスタックサイズから 始め、必要なときにのみ各スタックを成長させることから、MRIのための 動的スタック拡張を首尾よく実装しました。現在のスタック構造に非常 に近いものと、スタック構造が異なるものの2つの異なる実装を示しま す。私たちの実装が安定していることをどのように確認したかについても 説明します。 Linuxでは、1スレッドあたりのメモリ削減量を30%まで 達成しています(Rubyの全ベンチマークで測定)の平均速度が6%向上
  56. 56. IRB Reboot: Modernize Implementationand Features by@aycabta トークン情報と構文チェックによって継続するかどうかを示します。IRB の実装が近代化された後、私はIRBにいくつかの新しい機能を追加しまし た。 IRBは、RDoc機能をライブラリとしてインポートします。たとえ ば、メタプログラムされた名前空間のオートコンプリート、オートコンプ リートによるドキュメントの表示などがあります。
  57. 57. Rubycode fromthe stratosphere - SIAF, Sonic Pi, Petalby@kn1kn1 昨年、SIAF2017のspace-moere(札幌国際芸術祭2017)というプロ ジェクトに参加しました。このプロジェクトでは、成層圏で生成された Sonic Piコードを受信し、それを使用してライブパフォーマンスを行い ました。ライブパフォーマンスのために、私はPetalという小さな言語 を作った。このセッションでは、次のトピックについて説明します。ス ペースモアプロジェクト / Petal / それに基づいたいくつかのプロ ジェクト(Sonic PiとTidal Cycles)
  58. 58. 13:00 - 13:40 » The Method JIT Compiler for Ruby 2.6 by @k0kubun » Devly, a multi-service development environment by @drbrain & @ezkl » Reirb: Reborn Irb by @keiju
  59. 59. The MethodJITCompiler for Ruby2.6 by @k0kubun Ruby 2.6がJITコンパイラに同梱されることをご存知ですか? JITコ ンパイラがRubyを高速化する理由を知っていますか?この講演では、驚 くほど短いERBコードとメソッドインライン化によるRubyの将来のパ フォーマンスによって、Rubyをより速く作る方法を紹介します。
  60. 60. Devly,amulti-service development environmentby@drbrain & @ezkl システムだけで書くのは難しいです。多くの人がいる多くのシステムを構 築するのは難しいです。私たちの会社が成長するにつれ、私たちは使いや すい共有開発環境に多くのアプローチを試み、何がうまくいくのか、そう でないのかを学びました。私たちが学んだことをdevlyというツールに 取り入れました。 Devlyは、Fastlyでさまざまな言語で書かれた多く のサービスにまたがる製品を開発するために使用されています。ツールの 設計は、チームの働き方やコミュニケーションの方法によって導かれなけ ればならないことを学びました。 Devlyは、これらのニーズに対応する ために、開発者が自分の仕事に集中できるように、セルフサービス、制
  61. 61. Reirb: Reborn Irb by@keiju Reirbは生まれ変わったirbで、対話型のRuby言語です。これは、Ruby の構文を持つ高機能シェル言語です。その機能は、ジョブコントロール、 マルチラインエディタ、スマートコンプリート、言語ナビゲーション機能 などです。Reirbを使用することで、誰もがもっと楽しいRubyライフを 楽しめるようになります。
  62. 62. 13:50 - 14:30 » Build your own tools by @shugomaeda » Deep into Ruby Code Coverage by @malafortune » LuaJIT as a Ruby backend. by @take-cheeze
  63. 63. Buildyour owntools by@shugomaeda FLOSSは非常に一般的なので、Microsoftもそれを使用して開発してい ます。しかし、毎日の使用のためにあなたのツールを制御できますか?独 自のツールを構築することがソフトウェアを開発する最良の方法であ り、Rubyはそのような用途に最適な言語です。この講演では、私自身の ツールと私の開発スタイルを紹介します。
  64. 64. Deepinto RubyCode Coverage by @malafortune コードカバレッジは、十分なテストがあれば簡単に測定できますが、ま だ多くの人がテストを使用していません。この講演では、有意義なコード カバレッジの利点と、DeepCoverという新しいツールを使用して落とし 穴のいくつかを回避する方法について解説します。
  65. 65. LuaJITasaRubybackend. by@take-cheeze LuaJITはJITの優れたLua実装です。また、他の言語で再利用できる JITモジュールも提供しています。このセッションでは、mrubyバックエ ンドとしてLuaJITを使った経験を話します。
  66. 66. 14:40 - 15:20 » How to get the dark power from ISeq by @youchan » High Performance GPU computing with Ruby by @prasun_anand » How happy they became with H2O/mruby, and the future of HTTP by @i110 & @kazuho
  67. 67. Howto getthe dark power from ISeq by @youchan のiSeqを指定することは良いことかもしれませんし、悪いことかもしれ ません。いずれにせよ、その可能性を探求することは有用であろう。ス ピーカーはISeqの現在の仕様を文書化しようとしています。この話で は、私は3つの姿勢を話します。最初はISeqのハッキングに関心を持つ ほとんどの視聴者です。 2番目はISeqの潜在的なユーザーです。私は何 をすべきかヒントを示します。最後に、ISeqをRubyコアチームに文書化 する必要があるかどうかを確認します。
  68. 68. High Performance GPU computingwith Ruby by@prasun_anand Rubyは非常に古く、成熟したプログラミングはScientific Computingにはあまり好ましくありません。主に大規模なデータセット を処理できないためです。私が作成したRbCUDAとArrayFireの宝石 は、卓越したパフォーマンスを持ち、巨大なデータセットを処理すること で現実世界の問題を処理できます。この講演では、RbcUDAと ArrayFireがコードを簡単に加速するのに役立つ方法を示したいと思い ます。
  69. 69. Howhappytheybecamewith H2O/mruby,and the future ofHTTPby@i110 & @kazuho 厄介なWebサーバーの設定ファイルに苦しんでいますか?メンテナンス性 と柔軟性の欲求がありますが、パフォーマンスは心配ですか?この講演で は、大規模な写真共有サービスでnginxからH2Oへの実際の移行の話を 紹介し、mrubyスクリプティングがどのように設定を書いたり維持した りするのかを示しています。実際の設定例、直面した課題、ベンチマーク 結果の最終結果が表示されます。また、最近追加された多くの光沢のある 新機能やmrbgemを紹介します。あなたはH2Oとmrubyを使って進んだこ とをやり遂げることができます。講演では、H2拡張モジュールの標準 化、QUIC、そしてそれらがどのようにWebアプリケーションの開発と展
  70. 70. 15:50 - 16:30 » Three Ruby performance projects by @vnmakarov » JRuby 9.2 and Rails 5.x by @tom_enebo » Design pattern for embedding mruby into middleware by @matsumotory
  71. 71. Three Rubyperformance projects by @vnmakarov CRubyのような深刻なプログラムのパフォーマンスを改善する方法はた くさんあります。このプレゼンテーションでは、3つの異なるサイズのプ ロジェクトについて説明しています。1つのプロジェクトはかなり小さい です。これは、CRuby浮動小数点性能を改善するために、IEEE 754倍 精度数値の新しいCRuby内部表現を導入することです。 2つ目は、YARV 命令からRTLを生成し、解釈とJITコンパイルにRTLを使用する中規模プ ロジェクトです。 3番目は軽量JITを作成するための非常に野心的なプ ロジェクトです。このJITはMJITと一緒に階層1のJITコンパイラとし て、またはmrubyのための単一のJITとして使用できます。
  72. 72. JRuby9.2and Rails 5.x by@tom_enebo JRuby 9.2がリリースされました。 9.2はRuby 2.5との互換性をサ ポートしており、Rails 5.xもうまく動作します。この講演では、 JRuby 9.2のさらに興味深い点についていくつか議論する予定です。パ フォーマンスの更新/Graal統合/IR instrリファクタリング/オブジェ クトシェーピング/フルエンコードのサポート(@@かいぎ|| = $ " .send:──ノノーºノ ')/改善されたWindowsのサポート/また、 JRubyでRails 5.xを実行している状態を更新する予定です。この講演 では、ActiveRecord-JDBCに加えた更新情報を紹介し、Discourse を稼働させる実際の使用例を示します。 JRubyの最新情報を入手!
  73. 73. Design pattern for embedding mrubyinto middleware by@matsumotory 2012年にリリースされたmrubyと6年が経過しました。私は、mrubyを ngx_mrubyのような多くのミドルウェアに組み込み、ミドルウェアで拡 張性とパフォーマンスの両立を設計し実装しました。 mrubyに仕様や機 能のパッチを送ってきたので、仕様と背景だけでなく、ミドルウェアをミ ドルウェアに組み込むために私が知っているだけの設計と実装を共有した いと思います。このプレゼンテーションでは、インターネットサービスを サポートするミドルウェアとmrubyを接続し、それをデザインパターンと して導入するための設計と実装を一般化します。
  74. 74. TRICK 2018 (FINAL)
  75. 75. グルメ http://tech.smarthr.jp/entry/2018/05/10/192540

×