銀座Rails#26の登壇資料です https://ginza-rails.connpass.com/event/189892/
Abstract 先日のRails Developer Meetup 2019で yasaichi氏が発表された「Ruby on Railsの正体と向き合い方」は、Railsがその「高速につくる」という目的のために「疎結合であること」を諦めていることを示し、それゆえ出てくる中規模以上の開発での諸問題に焦点を当てる素晴らしい発表でした。 では、中規模以上の開発において、Railsを選択するのはノーメリットなのでしょうか。当然、そんなことはありません。ActiveRecordは強力なライブラリですし、HTTPレイヤーのさまざまな処理についても、Railsはたくさんの素晴らしいソリューションを提供してくれます。そうである以上、Railsを利用しながらも、中規模以上の開発では、レールに乗るとつらい部分ではあえてレールから降りて、しかしRailsを使い続けるのは、十分な合理性があるはずです。現に、「
こんにちは、hachi8833です。Aaron Pattersonインタビューの続きをお送りいたします。インタビューを音声で聞いてみると、原文でカットされている細かなやりとりやくすぐりもわかって面白いと思います。 (前編): GitHubとRails、日本語学習、バーベキュー 概要 原著者の許諾を得て翻訳・公開いたします。 元記事: INTERVIEW: Aaron Patterson, Rack, Github and BBQ 著者: Vera Rabkina 元サイト: RubyroidLabs Blog: 有用な記事が多く、おすすめです。 写真はすべて元記事からの引用です。 6. Rack 2とHTTP/2 技術の話題に戻りましょう。Rack 2がリリースされるので私たちも備えておきたいのですが、何か役に立ちそうなことをご存知でしたら 了解です。まずはHTTP/2についてお話しましょ
待望されたYarnサポートの入ったRails5.1が2017年4月にリリースされました。 Ruby on Rails 5.1 Release Notes — Ruby on Rails Guides 他にもjQueryがデフォルトdependencyから外されたり、Optionalでwebpackサポートが入ったりしており、Railsのフロントエンドは大きな転換点を迎えたと言ってよいでしょう。本エントリではRailsのフロントエンド技術の今を振り返り、今後どうなっていくかをまとめてみたいと思います。 DisられてきたRailsフロントエンド Railsのフロントエンド技術スタックは、フロントエンドを専業とするエンジニアにDisられるものでした。具体的には下記の技術要素です。 jQuery CoffeeScript Assets Pipeline (sprockets) gemのエコシステム
以前会社の同期とご飯を食べていた時、 HTTP負荷テストツールのVegetaというものを紹介してもらったので試してみました。 github.com GitHubのプロジェクトページを開くとイカしたサイヤ人の王子が目に飛び込んできます。 Golang製ツールで、CLIで比較的簡単に扱えるのが特徴のようです。 大量のリクエストを投げるコマンドが vegeta attack です。 大量にエネルギー弾を撃ちまくるイメージですね。 ドラゴンボールの負け確フラグです。 "王子戦法"、またの名を"グミ撃ち"というらしいです。 dic.nicovideo.jp Vegeta で負荷をかける とりあえず使ってみます。他所のサーバに負荷をかけると本当に怒られるのでやめましょう。自前で用意したサーバかlocalhostに向かって実行しましょう。 負荷テストの対象は最近ハマってるPhoenix (v1.2.1,
Rails 5.0: Action Cable, API mode, and so much more After six months of polish, four betas, and two release candidates, Rails 5.0 is finally done! It’s taken hundreds of contributors and thousands of commits to get here, but what a destination: Rails 5.0 is without a doubt the best, most complete version of Rails yet. It’s incredible that this community is still going so strong after so long. Than
Rails アプリケーションで IP アドレス制限が必要になった際には、基本的に上位のリバースプロキシ(Apache とか Nginx とか)で行うことが多いと思いますが、一方で Rails 本体で制限をかけなければならないこともあります(Heroku だとか) でもそれを Rails の controller 層とかで実装するのはちょっと嫌ですよね。特にビジネスロジックではないことが多いですし。 というわけで、IP アドレス制限を Rack Middleware 層で実装した Rack::Access というモジュールを使ってみました。これは GitHub - rack/rack-contrib: Contributed Rack Middleware and Utilities に含まれています。使い方は Gemfile に書いて bundle して config/applicatio
スタートアップ界隈でのRuby on Rails利用率は割と高く感じる。 みんなが使っているから使う?それだけではないはず。なぜ使うのだろう。 railsの特徴を考える。 規約縛りの哲学 周辺gemのエコシステム webの進化への追従の速さ 規約縛りの哲学 Convention over Configurationてやつ。規約を決めて、それに沿えば、フレームワークに乗って素早く開発できるようになる。規約で縛ることでRailsに流れる哲学に従うことを強制化している。 外れると痛い目を見る。Railsに乗るということは電車に乗って簡単に遠くまで行けるということ。Railsから降りるということは電車からも降りるようなものだ。中途半端な理解で突き進むと線路からすぐに降りて歩くことになる。 スタートアップでRailsが採用される一番の理由は、 簡単に遠くまで行ける だと思う。ただ、そんなにうまい話は
2013-2014年の年末年始の連休を利用して開発したIT勉強会を網羅したアプリケーション『俺の勉カレ』を全面リニュアールしました! 見た目はちょこっとしか変わっていないように見えますが、実は裏側はほぼすべて作りなおしましたw 今回はリニュアールの目的と、リニュアールでどんな技術を使ったのかを中心に紹介していきます。 🎉 リニュアールの目的 初期構築したアプリケーションでは、Microservicesのまねことみたいなことを夢想していて単機能ごとに6個のアプリケーションで構成されていました。 しかもかなりの運用工数がかかるような謎設計で、昔の自分の頭のなかがいかにお花畑だったかを思い知らされます。 こういった失敗を踏まえて、 * できるだけ運用が楽な仕組みにする * 運用工数を最小化できるような構成にする * 自分が興味のある勉強会を見つけやすくする を基本コンセプトに、裏側をほぼすべて
はじめに dockerでrailsを動かす場合にどうするのが良いかなーと試行錯誤し、構成も落ち着いてきたのでまとめます。 お試しバージョン 一番最初はとりあえずってことで、railsリポジトリ + railsを動作させるコンテナの組み合わせで試してみました。 Dockerfileの内容 FROM base # rubyインストールに必要なパッケージを用意 RUN apt-get update RUN apt-get install -y --force-yes build-essential curl git zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev # rbenv, ruby-buildをインストール RUN git clone https://github.com/sstephen
emacsでRails開発をする際、emacs-railsを使っている方が多いと思います。emacs-railsはとても便利なelispなのですが、最近は更新頻度が低く、rhtml→html.erbの対応も一部されていなかったりします。あとRspecの対応もイマイチ。emacs使いの人たちは一体どうやってRails開発しているのでしょうか? そこでRinariですよ Rails On Emacs | Google グループを見ると最近は"Rinari"の話題で持ち切りなようです。Rinariはemacs-railsとは違いコア部分を小さく保って、プラグインで拡張していくタイプのelispです。 Rinari: Ruby on Rails Minor Mode for Emacs 基本的には上記に全部書いてあるのですが、整理する意味でまとめてみます。 コア部分のインストール まず、gitでダ
Emacsのバージョンがかわるたびに拡張入れ直すのめんどいので拡張入れるフォルダを作る $ mkdir ~/site-lisp .emacs.elに下のやつを書いてパスを通す (setq load-path (append (list (expand-file-name "~/site-lisp/") ) load-path)) Emacsのxhtmlな拡張。 Carbon Emacsにははじめから入っているので.emacs.elに設定を書くだけ (load-library "autostart") (custom-set-variables '(indent-region-mode t) '(nxhtml-global-minor-mode t) '(nxhtml-global-validation-header-mode t) '(nxhtml-skip-welcome t))
Rinari: Ruby on Rails Minor Mode for EmacsRinari This manual is for Rinari. A Ruby on Rails Minor Mode for Emacs. Copyright © 2008 Eric Schulte, 2006 - 2007 Phil Hagelberg, Forrest Chang, Ryan Davis, Paul Stickne, and others (This manual is modeled off of the very fine org-mode info documentation.) Contents Introduction: Brief summary of what Rinari is (and isn't) Install: Installing Rinari in you
Rails 3 introduced a new routing DSL that is a little bit different from the Rails 2 version. This quick guide covers a few examples of the new routes, and how they compare to Rails 2. Simple routes Create a basic route that will respond to http://localhost:300/hello_world # Rails 2: map.connect 'hello_world', :controller => 'posts', :action => 'index' # Rails 3: match 'hello_world' => 'posts#inde
※2011/11/08 コメント欄で指摘を頂いた箇所を加筆修正しました。また、割と古い記事ですので最新の情報は Fabrication を参照することをお奨めします。 これを作ってるとき、machinistとmachinist_mongoを使っていたんですが、試しに前々から気になっていたFabricationで書き換えてみました。README書いてあることをいくつか実際にやってみたのでメモしておきます。割と使いやすかったです。 何に使えるの 下記をサポートしてるそうですので、Mongoid使えます。やった! Plain old Ruby objects ActiveRecord objects Mongoid Documents 使ったもの Fabrication…本日のメイン Faker…嘘データをどんどこ作ってくれるやつ QuickStart & 使い方 Gemfile Rails/M
本題に入る前に、そもそも RJS とは何なのかを説明すると、本来 jQuery の $.ajax() などを使ってごりごり書かないといけなかった JavaScript による非同期通信をフレームワーク側で吸収して、通常の html ビューのレンダリングと同じ感覚で記述できるように用意されたものです。 この「通常の html ビューのレンダリングと同じ感覚」というところは重要なポイントです。コントローラ内にも RJS のメソッドは直接記述できるのですが、本家 Rails のガイドラインでは以下のように勧告しています。 Placing javascript updates in your controller may seem to streamline small updates, but it defeats the MVC orientation of Rails and will ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く