近ごろDavid Heinemeier Hansson氏は、長年Railsの問題である、スレッドセーフの欠如をRails 2.2が解決することを述べた(リンク)。Charles Nutter氏は、続けてスレッドセーフなRailsの意味について説明した(リンク)。 基本的には、すべての受信要求に関する粗粒ロックを排除し、スレッド全体で共有される必要のあるそうしたリソースに関する微粒子ロックと置き換えることを 意味する。そこ...
Rubyでのプログラミングはたいていの場合楽しいが、必要なソフトウェアコンポーネントの設定や構成はそうではない。幸運なことに、ますます多くの Rubyソフトウェアスタックがさまざまな形で存在している。Amazon EC2イメージ、仮想マシンイメージまたは、既存のシステム用の単純なインストーラーなどがある。 この一覧は決して包括的ではないが、利用可能なさまざまな種類...
いくらバージョン管理のシステムを導入していたとしても、多人数で開発を行っていると意図しない更新や修正によってバグを埋め込んでしまうと言ったケースがある。そのためソースコードのレビューを定期的に行うのが重要だ。 修正したファイル一覧 作業中のソースにおいて何が変わっているのか、それを皆で確認できるのがこちらのシステムだ。 今回紹介するオープン...
http://www.web-career.com/seminar/rails_2008_0828.html 今回は3本立てで、id:moro が Capistrano と named_scope の話、私が Haml の話をさせていただきました。 色々と拙い点はありましたが「Haml はヤバい」ということをお伝えできてとても満足です。 ご来場いただいた皆さん、ありがとうございました。 発表資料 http://www.slideshare.net/ursm/introduction-to-haml-presentation
※ドキュメントを読みながらこんなもんかな?とやってみたやつなので問題あるかもしれません。何かあればコメント頂けると嬉しいです。例えば、DBからデータを取り出して逐次メールを送信する場合。よく知られているようにメールの送信はコネクションの確立やSMTPサーバの処理などの待ち時間が長く、逐次処理をしていると無駄が大きすぎる。処理を並列化して、あるメー...
『 http://bakera.jp/ebi/topic/3223←こちらの記事によると「XML処理の有無にかかわらず、Railsで構築されたアプリケーションはほとんど全て影響を受けるように思います」とのこと。注意。 』
http://www.ruby-lang.org/ja/news/2008/08/23/dos-vulnerability-in-rexml/ 先日公開された、REXML の脆弱性ですが、「あーそうなんだ、でもうちの Rails のサービスじゃ REXML でパースする処理なんて書いてないから別にいいや」とか思っている方、大変危険です。みんなパッチあてようよ! XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられたXMLを解析するようなアプリケーションを...
Flashは見栄えが良く動きのあるウェブサイトの構築によく使われます。本稿ではFlashを利用して、生産管理の業務アプリケーションを構築してみます。まず第1回では、生産管理システムの中核となる品目マスタをメンテナンスするアプリケーションを作成部分を解説します。 「jMaki on Rails」の導入方法とRevolverコンポーネントのカスタマイズ 最近、jMakiが注目を集めています。Ruby on...
『 かんたんAjax開発をするためのRubyonRailsの基礎知識 』
「Ruby on Rails によるシステム開発をモデリングで効率的に行う」連載記事を書いた - Akasata's Page(あかさたのページ) という記事を見つけまして、これが自分の考えとピッタリだったのでご紹介。 経緯 以前においらはmasuidrive on rails - アジャイルな環境作り - そんなに急いでどこへ行く を見て、railsって書き始めたら便利な機能がたくさんあるから早いんだけど、それ以外の部分(...
RailsでXMLリクエストのパースに使用されているREXMLに、DoS脆弱性が発見さ れました。XML entity explosion attackと呼ばれる攻撃手法により、 ユーザから与えられたXMLを解析するようなアプリケーションをサービス不能(DoS)状態 にすることができます。大部分のRailsアプリケーションはこの攻撃に対して脆弱です。 影響攻撃者は、以下のように再帰的にネストした実体参照を含むXML文書をRE...
iPhone と iPod touch は、Mobile Safari を米国で最も人気のあるモバイル・ブラウザーにしました。Mobile Safari は通常の Web ページのレンダリングにも十分対応できますが、それでも数多くの Web 開発者たちは iPhone を対象としたアプリケーションのバージョンを作成しています。連載「Ruby on Rails と Eclipse による iPhone アプリケーション開発」の第 3 回では、ユーザーがリスト構造の最後に...
SSL(HTTPS)の使用が前提のもと、フロントエンドでApache(mod_ssl + mod_proxy_balancer)をリバースプロキシ(兼ロードバランサ)として動かして、そのバックエンドでlighttpdやmongrelを使ってRailsアプリを動かす場合のメモ。 何も考えずにRailsアプリに対してHTTPS接続を行い、アプリ内でリダイレクト(redirect_to)を行った場合、RailsアプリはHTTPSで接続されていることを知らないため、HTTPのURLへリダイ...
『 Railsに特化したmod_ruby的なものをつくったという話/『最大シェアを誇るApacheHTTPServerだが、Railsとの相性はあまりよくない。』←mod_rubyとrailsの相性がわるいだけでは? 』
『 Rails2.2からスレッドセーフになる模様. 』
生産性が高いと評判のプログラミング言語「Ruby」。統合開発環境を整えることで、さらに効率的なプログラミングが可能になる(編集部) システム開発現場で使えるIDEとは RubyのWebアプリケーションフレームワークであるRuby on Railsの一般公開から4年がたち、システム開発の現場でもRubyの採用を耳にするようになってきました。2007年12月にはRuby on Rails 2.0も登場し、Rubyはます...
『 ついにスレッドセーフか。プロセス多重起動は不自然な感じがしていたのでたいへんよいと思う。というかみんなプロセス多重起動による並列化って気持ち悪くないのかな。 』
named_scopeによるPagination を行うためのGemを作りました。 通常はwill_paginateを利用するほうがいいと思いますが、 :joinsを含む複雑なnamed_scopeを介してpaginationを行いたい場合には、 利用すると便利かもしれません。 pagination_scope 使い方 まず、モデルクラスの中でincludeします。 1 class Post 2 include PaginationScope 3 end これによって、Postク...
Railsアプリケーションでpaginationといえば、 will_paginate等のプラグインやGemを使うのが一般的だと思います。 しかし、named_scopeでjoinsを使った場合にうまく paginationができなかったので、 named_scopeだけを使ってpaginationする方法を考えてみました。 まずは以下のようなnamed_scopeを作ります。 以下の例はPostクラスで宣言される事を想定しています。 1 named_scope :paginate, pro...