This document summarizes Hiroaki Ninomiya's presentation on using Vue.js and Vuex at Repro. It discusses Repro's transition from Rails with CoffeeScript and jQuery to Rails 5 with ES6, Webpack, and Vue components. It describes moving from Sprockets to Webpack and adopting Vue.js and Vuex for frontend development. It also mentions Repro's expansion into a web SDK and recent product launches.
This document summarizes Hiroaki Ninomiya's presentation on using Vue.js and Vuex at Repro. It discusses Repro's transition from Rails with CoffeeScript and jQuery to Rails 5 with ES6, Webpack, and Vue components. It describes moving from Sprockets to Webpack and adopting Vue.js and Vuex for frontend development. It also mentions Repro's expansion into a web SDK and recent product launches.
1. The document summarizes Repro Tech Meetup #5, which featured a talk on frontend reliability.
2. The talk discussed how frontend technology has evolved from JavaScript and Flash in the 2000s to modern techniques like virtual DOM and ES6.
3. It also covered how the speaker's company Repro approaches frontend development, including using tools like unit testing with Mocha and Karma, ESLint for linting, and system specs for Rails integration.
1. The document discusses the evolution of Rails and JavaScript integration over different Rails versions from Rails 4 to Rails 5.
2. It highlights how Rails 4 used Sprockets and included jQuery, CoffeeScript, and Rails JavaScript helpers, while Rails 5 switched to Webpack and introduced support for modern JavaScript frameworks like React and Vue.js.
3. The speaker then shares some of their experiences building applications with Rails and modern JavaScript including using Webpack, Vuex, and publishing packages to npm.
This document summarizes a Rails developers meetup. It discusses using domain-driven design principles like separating domain models from presentation logic. Presenters act as interfaces between controllers and forms. Forms are updated to accept presenters as arguments. This improves separation of concerns. The meetup also covered continuous integration, technical debt, and domain-specific languages in Rails. Finally, it advertised an upcoming Repro Tech meetup and job openings at Repro.
The document discusses issues an end user is having with an app. The supplier of the app is frustrated as they are unable to resolve the user's problem. The end user is seeking help from the app supplier to fix the ongoing problem with the app.
This document summarizes a presentation about building a simple web application using Sinatra. It discusses using Sinatra and related gems like Capistrano for deployment and Ridgepole for migrations. It also compares the performance of the Sinatra app to Rails, finding the Sinatra app was faster. The presentation provided details on the Sinatra app called IMASquare that was built for a coding competition.
1) The document discusses modernizing Rails applications by adopting ES2015 and using JavaScript frameworks like Vue.
2) It provides examples of how a Rails app was modernized between 2014-2017 by migrating to newer JavaScript features and incorporating Vue components.
3) The author encourages adopting modern techniques like using JavaScript for views and components while keeping implementations simple.
The document discusses Foreign Function Interface (FFI) libraries for Ruby. It mentions the ffi gem which provides a FFI for Ruby and allows easy integration of Ruby with external libraries written in other languages like C. It also discusses PyCall which uses ffi to provide a way to call Python code from Ruby. Some example uses of FFI libraries are to call fast Fourier transform (FFT) code or integrate with C libraries for tasks like image processing.
This document discusses the Mastodon API. It provides instructions on how to register an application to access the Mastodon API and obtain an access token. It also mentions that the Mastodon API is similar to Twitter's API and recommends using the mastodon Ruby gem to interface with the Mastodon API. Finally, it references a Mastodon watcher script that can send Mastodon notifications to Slack.
This document discusses the Paperclip gem, which allows ActiveRecord models to manage file attachments. Paperclip aims to treat file attachments like normal attributes, delaying file operations until save. It handles validations, transformations, and removing files when set to nil. Setup involves declaring attachments with has_attached_file and Paperclip provides methods like exists? to check files.
This document discusses a personal project to build an image sharing application called imshk. It lists technologies used like Git, the Octokit GitHub gem, and the Heroku toolbelt. The project code is available on GitHub at https://github.com/treby/imshk.
This document summarizes the testdouble/suture gem, which allows recording and replaying method calls to support test doubles. It can record method calls to a database to later verify call arguments match expectations or return values match previously recorded values. The document outlines how suture creates a plan, chooses a surgeon strategy to operate according to the plan, and the different surgeon strategies like Observer, Auditor, and Remediator.
This document discusses the career and interests of Hiroaki Ninomiya, a web developer and Shinjuku.rb co-organizer based in Shinjuku, Tokyo. It provides an overview of some of Ninomiya's past projects including a Twitter bot he created in 2013 that would tweet the lyrics of McDonald's "I'm Lovin' It" jingle. It also describes how he built Chrome extensions and used a VPS to build additional Twitter bots. The document encourages the reader to try building their own projects and provides links to past presentations by Ninomiya about his Twitter bots.
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
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
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
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. 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
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
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
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
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. extendyour own programming language by
@m_seki
書籍「RubyでつくるRuby」はRubyの(極小の)サブセットMinRubyを
Rubyで実装しながら、Rubyとプログラミング言語とインタプリタを学
ぶ本です。入門者にとって、フルセットのRubyを改造するのはちょっと
難しいですが、MinRubyのサイズならちょうどよい教材です。MinRuby
を拡張し自分の言語を作ることで得られる万能感は格別です。 本講演で
は、MinRubyを拡張してRuby自体に新しい機能を追加する例を紹介しま
す。末尾呼び出し最適化、実行コンテキストの別プロセスへ移送、変数操
作のフックなど、ライブラリだけで実装するのは難しいRubyの変種を示
します。
37. ScalingTeams usingTests for Productivity
and Education by@jules2689
Ruby組織の規模が大きくなるにつれて、より多くの開発者がチームに加
わります。コードのスタイルを強制し、ベストプラクティスに従い、言葉
に頼らずに行われた間違いを文書化することがますます困難になっていま
す。 Rubocopなどのツールを使用していくつかの文章構成要素を確認し
ていますが、問題やベストプラクティスを文書化するツールがありませ
ん。この講演では、ベストプラクティスを中心とした戦略やソリューショ
ンに焦点を当てています。これは、約1000人の開発者を「時間をぴった
り」に情報提供することで、途方もなく開発し、加速させています。
38. mrubycan be more lightweightby
@yuriatearth
mrubyは「軽量Ruby」と呼ばれていますが、実際にはRAMメモリをかな
り消費します。この講演では、RAMの代わりにROMを使用する実装の提案
について説明します。さらに、RAMの使用を減らすためのいくつかの構成
についても説明します。また、評価用ボード(RAM:96 KB)を使用し
て、RAM使用量を削減した結果として使用可能になったことを実証しま
す。
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
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
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
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
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. The MethodJITCompiler for Ruby2.6 by
@k0kubun
Ruby 2.6がJITコンパイラに同梱されることをご存知ですか? JITコ
ンパイラがRubyを高速化する理由を知っていますか?この講演では、驚
くほど短いERBコードとメソッドインライン化によるRubyの将来のパ
フォーマンスによって、Rubyをより速く作る方法を紹介します。
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. Howto getthe dark power from ISeq by
@youchan
のiSeqを指定することは良いことかもしれませんし、悪いことかもしれ
ません。いずれにせよ、その可能性を探求することは有用であろう。ス
ピーカーはISeqの現在の仕様を文書化しようとしています。この話で
は、私は3つの姿勢を話します。最初はISeqのハッキングに関心を持つ
ほとんどの視聴者です。 2番目はISeqの潜在的なユーザーです。私は何
をすべきかヒントを示します。最後に、ISeqをRubyコアチームに文書化
する必要があるかどうかを確認します。
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. 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として使用できます。