えにしテック15周年記念カンファレンスの発表資料です。 https://enishi-tech-15th-anniv-conf.peatix.com/ 資料中で参照しているURLは以下です: https://github.com/rails/rails/milestone/87 https:…
Setting up VS Code for Ruby on Rails development can be tricky, so I wrote this article to help. Plus, I've turned the extensions in this article into a VS Code Extension Pack. Use it to install all the extensions from this article in 1-click, to get started quickly with VS Code + Ruby on Rails. Table of Contents Using VS Code as a Ruby on Rails editor shouldn't be so hard! It's tricky deciding wh
As someone who, like many here, depends on Rails for my job, I’m worried about the long term effects of the last week on Rails. I’m not going to discuss those changes at Basecamp but I want to discuss my concerns about what this means for Rails itself. In the last week we’ve seen: One Rails core team member resign from the core team The creator and major contributor to important features in Rails,
最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteがRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です
CVE-2019-5418_is_RCE.md Rails の CVE-2019-5418 は RCE (Remote code execution) です 2019-03-23 更新 Remote Code Executionとして、Advisoryが更新された。 https://groups.google.com/d/msg/rubyonrails-security/zRNVOUhKHrg/GmmcVXcmAAAJ Thanks to @sorah @tenderlove 前置き これは休日に書いた記事で所属している組織とは一切の関係がない。 概要 CVE-2019-5418 は実際のところ高確率でRCEなのだが File Content Disclosure という聞き慣れない名前で公表されて、CVE-2019-5419 で DoSが出来るという内容になっている やあ、脆弱性の開示方
About us Founded in 2008, Phusion creates top of the line server software to power businesses like Apple and Intercom. Yesterday (Tuesday, August 28) the Amsterdam.rb meetup, for Ruby enthusiasts, took place at TQ, Muntplein. Two very different talks made for an enjoyable evening. In Rails… Still?!?!, PJ Hagerty (@aspleenic) told us why Ruby on Rails still prevails, after all these years, and abun
ピクスタ開発部で毎日ヒィヒィ言いながらエンジニアをやっております @muramurasan です。 今回はPIXTAのとあるリポジトリにおいて、未使用のメソッドを削除しようとした際、gemを組み合わせることで、効率的かつ安全に削除することができたという話をしたいと思います。 よくやる方式 外部の勉強会などで、「未使用のメソッドを削除する際にどうしているか?」ということを聞いた際、よく聞くのが「未使用らしきコードを見つけ次第、ロギングを行うメソッド呼び出しを挟み込んでいく」というものでした。 この方式は、動的なメソッド呼び出しにも当然対応できますし、お手軽なので、一般的に好まれているようです。 問題点 ただし、この方式では以下の問題点があると私は考えています。 そもそも、未使用らしいメソッドを見つけるのが大変 プロダクションコードを汚してしまう これらの問題を解決するために、PIXTAでは
おはようございます、ImageFlux開発責任者のharukasanです。3日前の4月14日、ピクシブではPawooが急にリリースされることになりまして、ここ数日はずっとPawooサーバにログインしていました。このPawooサーバ、既にピクシブの監視体制に入っており、アラート受信後インフラエンジニアが障害対応できる仕組みを整えています。案の定、リリース直後の15、16日は週末にもかかわらずアラートを受け取ることになり、サーバにはりつくことになったわけです。どんなシステムであろうとアラートを受け取ったら対応する、それが我らインフラエンジニアです。 pawoo.netの構成 さて、それではまずPawooの構成を見ていきましょう。digすればわかりますがpawoo.netはAWS上に構成されています。数百台以上の物理サーバを常時運用しているピクシブであっても、さすがにこんなにはやく物理サーバは用
こんにちは、hachi8833です。今回はPhusion BlogのActionCableシリーズからの翻訳記事をお送りいたします。 文中のWebSocketとActionCableについては以下をご覧ください。 Wikipedia-ja: WebSocket Railsガイド: Action Cable の概要 概要 原著者の許諾を得て翻訳・公開いたします。 元記事: Finding a DoS vulnerability in Rails 5 WebSockets Apps 原著者: Tinco Andringa 元サイト: Phusion Blog 会社: Phusion -- PassengerやUnion Stationの開発・販売で知られています 本記事では、Puma上で動作するRails 5.0.0のActionCableについて述べます。PumaはRailsアプリのデフォル
Rails5.1が今betaで出ていますね。中でも目玉はwebpacker.gemによるモダンなフロントエンド開発がRailsに導入されることでしょう。 今までのRailsのasset pipelineとは別に、yarnによって依存性を管理しwebpackで結合する独立したjsのビルドシステムがサポートされます。 これによって、以下のような従来のasset pipelineでは解決がむずかしかった問題への解が示されました。 coffee scriptへの依存 npmによる依存性、バージョン管理が難しい javascriptのライブラリが野良gem化されてupdateされない問題 webpacker.gemはyarn/webpackの薄いwrapperとなっていて、加えて幾つかのrakeタスクを追加することでフロントエンド開発をサポートします。 具体的には以下のような機能が提供されます。 y
こんにちは Rails5.1に向けて、DHHのjqueryを依存から外す発言を発端にフロントエンド周りが急激に発展しているので、簡単にですがまとめてみました。 各issue, PRの詳細には踏み込みませんが、知見に溢れているので読んでみるの推奨です。 間違い、足りないものがあったら編集リクエストお願いします。 jQuery依存を無くす話が出る rails(issue): Drop jQuery as a dependency jquery-ujsはjqueryに依存しないようにする jquery-ujs: Drop jQuery as a dependency "jquery"-ujsじゃなくなったので名前変更 rails-ujs誕生 実際にRailsからjquery依存がなくなる rails: Drop jQuery as a dependency jsライブラリを入れる方法がnpmパッ
今年の2月末に、Ruby on Railsに潜在的なリモートスクリプトインジェクションの脆弱性CVE-2016-2098が報告されています。攻撃コード(PoC)も公開されていますが、現実の攻撃が行われているという発表はないようです。この脆弱性の内容と対策について報告いたします。 背景 Hello Worldのような以下のシンプルなアプリケーション(コントローラ)を考えます。 class HelloController < ApplicationController def index render 'hello/hello' end end これに対するテンプレート hello/hello.html.erb は以下だとします。 <div>Hello world</div> ご覧のように、上記テンプレートを指定した場合、Hello worldが表示されます。 次に、以下のテンプレート hel
はじめに railsのsprocketsがキツイ。特にjsファイルが多くなると開発がとっってもキツイ。 layoutに こうやってるだけでも出力されたhtmlにはscriptタグが30個ぐらいならんでて、ページの読み込みに10sec以上かかる。 だけど、単にapp/assets/javascriptsをgulp watchとかはしたくない。 なぜならビルドはブラウザのリロード時に変更がある場合だけして欲しかった。 あとwindow.AppNamespace以下にモジュール追加していくのも辛い。 モジュール同士の依存関係もよくわかんないし、何よりwindow.AppNamespace.Modules.UserList.ItemViewとか長すぎ! browserify-railsってやつ使ってみた browserifyがrailsの仕組みの中で動くようになる。 browserify-rail
6. 脆弱性のあるアプリケーション Copyright © 2010-2014 HASH Consulting Corp. 6 @books = Book.where( "publish = '#{params[:publish]}' AND price >= #{params[:price]}") 山田 祥寛 (著) Ruby on Rails 4 アプリケーションプログラミング 技術評論社 (2014/4/11) に脆弱性を加えましたw ※元本に脆弱性があるわけではありません 7. UNION SELECTにより個人情報を窃取 Copyright © 2010-2014 HASH Consulting Corp. 7 priceに以下を入れる 1) UNION SELECT id,userid,passwd,null,mail,null,false,created_at,updated
http://www.commandercoriander.net/blog/2014/01/04/test-driving-a-json-api-in-rails1 comment | 0 pointsPivotal LabsのEno ComptonがRailsでJSON APIをテスト形式で理解できるように紹介してくれてます。「Railsアプリをてがけると、いずれ、シングルページアプリ、モバイルクライアントのためにRESTful APIが必要になるだろうから練習用に。」ということで、コードはGithubで公開されています。 GET /movies POST /movies GET /movies/:id PUT /movies/:id DELETE /movies/:id 上記のrouteをサポートするために、Railsアプリ + RSpec + FactoryGirlを用意したら、
今日 @mad_p さんからRT来てたこのツイートに関して、ちょっと調べたのでまとめときます。 Security Issue in Ruby on Rails Could Expose Cookies http://t.co/JlsXVEn4rZ — Ruby on Rails News (@RubyonRailsNews) September 25, 2013 前提条件 Railsではデフォルトでsessionをcookieにのみ保存して、DBなりmemcacheなりのserver-side storageには何も保存しません。 これがCookieStoreとか呼ばれてるやつです。 この場合のsession cookieは、Railsのsession object (Hash object) をMarshal.dumpしてそれに署名を付けたtokenです。 rails 4では署名付ける代
Draperって何?Draperは、Model/Controller/View/Helperと異なる第4のレイヤを提供するGemです。 この第4のレイヤは、海外では「Presenter」として分類されています。(正確にもう少し細かい分類があるらしいですが割愛♪) このレイヤを作るメリットは、 model/viewに余計なロジックを書かなくてすむ Helperのメソッドが使われている場所が不明という事態を防ぐ 日本ではPresenterレイヤでは、ActiveDecoratorというGemが有名です。ActiveDecoratorもほぼ同じことができます。 Draperの紹介Draperの説明ならRailsCastが一番わかり易かったです(説明は日本語に翻訳されています、動画は英語です)↓ #####286 Draper - RailsCasts 1年前の記事ですので、実際に動かしてみると少
Ruby on Rails 3.2.11がリリースされました。 3.2.10が出てから数日ですが、合わせてかなり重大なセキュリティFIXが含まれているので、確実に更新しましょう。 3.2.11での変更点 (1) URLを知っている人だけがアクセスできる隠しページや、パスワードリセット機能などで、token認証をすることがよくあります。 たとえば以下のようなコードです。 if params[:token] @user = User.find_by_token(params[:token]) end ここで、仮にparams[:token]が空のハッシュ {} の場合、if文は当然真と評価されて通過しますが、find_by_tokenの部分は条件無しと見なされます。 User.find_by_token({}) User.where(:token => {}) このようなコードは、whereが
最近のRuby on Railsプロジェクトで使ってるもの・やっていることを紹介します。 rake setupちょっと前にこの記事を読んでやりたかったやつです。 Setting up a new machine for Ruby development by David of 37signals $ git clone git@your-server:you/your-repo.git $ rake setup すると、開発に必要な環境ができあがるというrake task。今いるプロジェクトではデータベースを作りなおして、開発環境用のテストデータを投入。テストデータのまとめ、各種URLなどを表示しています。 何かデータが変になったとか、まっさらの状態から動かしたいとか、そういう時はとにかくrake setupすればOK。 rake setupを一発叩けばアプリがそれなりに動く状態になる、っ
A report on Ruby usage among New Relic Customers We saw recently that our friend Peter Cooper has created a nice tutorial on moving to Ruby 1.9 called The Ruby 1.9 Walkthrough: How to Go From Ruby 1.8.7 to 1.9.2 and 1.9.3. We started to wonder how many of our customers are on 1.8 versus 1.9, then quickly (and embarrassingly) realized we hadn’t published a Ruby on Rails State of the Stack Report in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く