Ruby 2.6ではJITでRailsを速くすることができなかったため、Ruby 2.7のJITではRailsのようなユースケースを高速化することをゴールに置いています。本発表では、それが現時点でどれくらい上手くいきそうか、といった話をしようと思います。
はじめに Rubyは死んだ、Railsは時代遅れという人が最近増えてきたように思えます。 私自身RubyやRailsを書いて3年位経ちますが、「終わりつつあるな」と実感することが多いです。 そう思った経緯を記事に書いていきます。 Railsの特徴 Railsの特徴というか、流行した要因としては以下の5つが大きいと私は思っています。 テンプレート、パーシャル、レイアウトをERBを使ってすばやく構築できる Active Recordによってデータベースを簡単に定義、操作ができる アセットパイプラインによってcss、jsを管理することができる チュートリアルが充実している Rubyという柔軟性の高い言語によって開発することができる 私はRailsはこの5本の柱によって支えられていると思っています。 これらの5本の柱のメリットにより、Railsは大流行しました。 すばやく簡単にプロダクトを作ること
この記事は RubyそしてRailsをこれから勉強したい方に、どんな技術を勉強すればいいかと、それらの技術全体のガイドマップを図示します。そしてそれを学ぶための資料(書籍、Web記事ほか)を紹介していきます。この記事は、頭の中に技術全体の地図を描き、イメージしてもらうのが狙いです。 Railsアプリを作るときに必要になたくさんの技術について説明していきますが、本当にたくさんの技術が出てきます。まだ学んでいない、分からない言葉が出てくると思いますが、全体を把握するために、ひとまずは「そういう技術があるのだな」くらいで捉えてもらえればと思います。将来、その言葉が出てきたときに「どこかで聞いたような?」と思えたら儲けものです。 勉強方法のお勧めは、1つの知識を徹底的にやるよりも、まずは全体を通して勉強し、そのあとで勉強したいところに戻って積み重ねて学んでいく方が、挫折しづらいのでお勧めです。 追
#1: 統計を調べる(本記事) #2: Railsの長所と向いている用途 #3: Railsの短所と不向きな用途、他の選択肢など 追記(2019/04/26) 特に他の言語やフレームワークの方には、Rails Developers Meetup 2019で発表された以下のスライドもご覧になることをおすすめいたします。 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Who gives a F*** about Rails in 2019? 原文公開日: 2019/01/15 著者: Wojciech Miśta 原文が長いため3分割してあります。 日本語タイトルは原文タイトルではなく内容に即したものにしました。 画像は元記事からの引用です。 Railsは2019年も「あり」か?(翻訳) もう認めようではありませんか、Ruby on Railsが年を取ったことを。いや本当に長生き
Dry ��<ު� Ruby gems for better code Dry is a collection of Ruby gems that help you write clear, flexible, and maintainable Ruby code. Covering business logic to everyday utilities, these gems work great together or standalone in any kind of app. View the Dry docs Business logic These gems help you write business logic that’s explicit, predictable, and testable. With Dry validation contracts, you c
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Rails使って仕事してて、最近はRubyを使って初学者の方たちにプログラミング教えてます、@saboyutakaです。 未経験からエンジニアになりたいという人達に普段教えていて、ガイドラインがあるといいなと思って作りました。 まずなんで1000時間か これからWebアプリケーションを作るエンジニアになりたい人がこれを読んでくれていると思って書きます。そもそもなぜエンジニアとして働けるかというと、作りたいものがある人や企業が居て、それを作ることができる技能に対して給与や報酬が発生します。そして技術職として仕事で対価を得られる最低限のスタ
2018.10.22 週刊Railsウォッチ(20181022)Railsの名前空間地獄とrequire_dependency、PostgreSQL 11がリリース、clean-rails.orgほか こんにちは、hachi8833です。今日のGitHubは何だか不調ですね。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを社内有志でつっついたときの会話です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓臨時ニュース ⚓PostgreSQL 11が正式リリース 元記事: PostgreSQL: PostgreSQL 11 Released! つっつきの後でニュースが飛び込んできました。PostgreSQL 10リリースをウォッチでお伝えしたのが2017/1
Rails 5.2からRails SQL Injection ExamplesにあるようなSQLインジェクションを防ぐ仕組みが導入されて、Post.order(params[:order])みたいなコードは心温まる正規表現によるチェックをパスしないと危険とみなされるようになって、お前が安全やと思うんやったらPost.order(Arel.sql(params[:order]))しろってことになった(rails/rails#27947)。 これはRails 5.0のときにparamsがHashのサブクラスじゃなくなったときに比べればマシだけど、明らか安全やと思ってるリテラルもRailsに危険とみなされて既存のアプリケーションによったら非常にわずらわしい。たとえばDiscourseというRailsアプリは5.2に上げるときにこれの影響をモロに受けるんやけどっていうお気持ちを表明しています(ra
2018.07.30 週刊Railsウォッチ(20180730)Rubyの速い書き方集、最近登場のRailsアプリたち、RubyWorld Conference受付開始ほか こんにちは、hachi8833です。やっとGobyにRipperライブラリをマージしました。 束の間の涼しい夏日のウォッチ、いってみましょう。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ ⚓【お知らせ】週刊Railsウォッチ「公開つっつき会 第1回」今週8/2(木)開催 今週木曜日です。引き続き参加をお待ちしております!🙇懇親会にて軽食&ビールもお待ちしています🍺。 【宣伝】弊社で毎週やっているRuby/Rails/Web開発関連の最新survey会である週刊Railsウォッチのオフライン公開勉強会を8/2(木)に開催します。10人以下のひっそりとした規模で試しにやっ
昨日、RubyのJITの性能改善のためのパッチを入れた。 github.com JITすればするほどRailsが遅くなる問題 Rubyの次期バージョンである2.6には、バイトコードをCのコードに変換した後、gcc/clangでコンパイルして.soファイルにしdlopenすることで生成コードのロードを行なう、MJITと呼ばれるJITコンパイラが入っているのだが、マージしたころのツイートにも書いていた通り、Railsで使うとより多くのメソッドがJITされるほど遅くなってしまうという問題があった。 結果、"MJIT slows down Rails applications"というチケットが報告されることとなり、昨日までの5か月の間閉じることができなかった。 元の構成 対策を始める前のMJITは大雑把に言うとこういう感じだった。メソッド1つごとに1つの.soファイルが作られ、ロードされる。 無制
⚓TruffleRubyがRVMとruby-buildでサポート(Ruby Weeklyより) 元記事: Add support for TruffleRuby · Issue #4297 · rvm/rvm 元記事: ruby-build で TruffleRuby がインストールできるようになった - HsbtDiary(2018-06-18) TruffleRubyといえばRubyKaigi 2018のキーノートで圧倒的な印象を残しましたね。今更ですが、RubyKaigiの動画またはスライドはひととおり出揃ったようです。 元記事: truffleruby/ruby-managers.md at master · oracle/truffleruby リポジトリ: oracle/truffleruby 同リポジトリより TruffleRubyをインストールするには原則としてGraalV
株式会社アカツキ(本社:東京都品川区、代表取締役CEO:塩田元規、以下「アカツキ」)は、さらなる技術力の向上を目指し、日本で唯一のRuby on Railsのコミッター 兼Rubyコミッターである松田 明氏、Serverspec開発者の宮下 剛輔氏、Yahoo! JAPANやクックパッドで技術部長を歴任された井原 正博氏、Ruby World Conference等で登壇多数の五十嵐 邦明氏の4名を、技術アドバイザーとしてお迎えしたことをお知らせします。 左よりアカツキVPoE※湯前、宮下氏、五十嵐氏、井原氏、松田氏、アカツキCTO田中 ■目的 アカツキは「感情を報酬に発展する社会」を実現するために、モバイルゲーム事業、ライブエクスペリエンス事業を展開し、世の中の人々に感動や喜びといった感情体験を届けています。アカツキのエンジニアチームにおいては、「テクノロジーを活用して、人の感情をもっと
There’s a new application server on the block for Rubyists - NGINX Unit. As you could probably guess by the name, it’s a project of NGINX Inc., the for-profit open-source company that owns the NGINX web server. In fall of 2017, they announced the NGINX Unit project. It’s essentially an application server designed to replace all of the various application servers used with NGINX. In Ruby’s case, th
2018.02.23 週刊Railsウォッチ(20180223)Ruby25開催、Rails6のパラレルテスト、書籍「RSpecによるRailsテスト入門」更新ほか こんにちは、hachi8833です。いよいよ明日はRuby25ですね。名札忘れないようにしないと。 Ruby25周年イベント、いよいよ明後日の土曜日となりました!当日は多くの参加者が集まります。交流がしやすくなりますので、他のカンファレンスなどで用意された名札をお持ちの方はぜひご持参ください。(お持ちでない方には、会場にて名札シールと記入スペースを用意しています。) #ruby25 — Ruby25 (@ruby25th) February 22, 2018 Rubyくん25歳のお誕生日おめでとうございます! #擬竜戯画 #ruby25th pic.twitter.com/lNXdwjgsjX — RAO(らお) (@RIOR
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: How Fast is Ruby 2.5.0? — Appfolio Engineering 原文公開日: 2018/02/06 著者: Noah Gibbs サイト: Appfolio Engineering 昨年11月に、Ruby 2.5.0 preview 1のスピード測定結果の記事を公開しました。そのときの結果はRuby 2.4よりかろうじて速い程度で、ほんのちょっぴりがっかりしました。しかし、2.5.0の完成直前になってパフォーマンス上極めて重要なパッチが登場し、最終的な速度が大きく変わりました。 どれだけ速くなったのでしょうか?早速見てみましょう。 グラフでの概要 グラフが見られればいいんですよねきっと?私もです。以下はRails Ruby Bench(RRB)で測定した総時間のグラフです。ここでは、Discourse
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Limit Rails memory usage, fix R14 and save money on Heroku 原文公開日: 2018/01/15 著者: Paweł Urbanek 理論的には、Herokuの512MB dynoが1つあればRails webサーバーとSidekiqプロセスを両方とも動かせます。トラフィックの少ないサイドプロジェクトで月7ドルを節約できればとても助かります。残念なことに、1つのdynoでRubyプロセスを2つ動かすとメモリの問題が生じることがあります。本記事では、Railsアプリのメモリ使用量を制限する方法について説明します。 最近読んだBilal Budhaniの良記事では、1つのHeroku dynoでSidekiqプロセスとPumaを同時に実行する方法について説明していました。私のサブ
この記事はPORT Advent Calendar7日目の穴埋めです。 Ruby on Railsの高速化戦略として最もポピュラーなのは、Fragment CacheやローレベルCacheの活用だと思います。私の所属しているチームが運用しているキャリアパーク!でも、多くのページでこれらのキャッシュが使用されています。 キャッシュストアへのアクセス遅延 Railsでキャッシュを活用する場合、多くはバックエンドのデータストアとしてRedisもしくはMemcacheが用いられます。 これらのデータストアはAmazon ElasticCacheなどのクラウドサービスを用いてネットワーク上に設置するのが一般的です。ローカル環境で開発しているとついつい忘れがちなのですが、ネットワーク上に存在するキャッシュストアにアクセスする際には、ネットワークを介することによる遅延が発生してしまいます(多くの場合にお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く