tatamilab.jp
このエントリでは Ruby on Rails と MySQL を使って日本語の全文検索を行う方法を記述する。Ruby on Rails のバージョンは 2.0.2、MySQL のバージョンは 5.0.67、Tritonn のバージョンは 1.0.12、Hyper Estraier のバージョンは 1.4.10 を使用した。サンプルの文章データとして、あらゆる日本人にとって極めて身近な著作権切れ文章である『ドグラ・マグラ』と『黒死館殺人事件』を利用した。処理のために整形したデータは本エントリに添付しておく。またデータベースへアクセスするコードではマイグレーションを除きできるだけベンチマークを取るようにし、その結果は本エントリの最後に記載する。 ページネーション Rails でページネーションを実現する will_paginate という plugin は ActiveRecord に標準でつ
また、以前まではバージョン番号での切り戻しが可能でしたが、今回の機能追加で個別のテーブルを作成したり、削除したりできます。 使い方は下記の通り、作成時には rake db:migrate:up VERSION=utcの番号、削除時は rake db:migrate:down VERSION=utcの番号 で行います。 > rake db:migrate:up VERSION=20080402122523 == 20080402122523 Two: migrating ============================================== -- create_table(:two) -> 0.0122s == 20080402122523 Two: migrated (0.0124s) =====================================
404や500エラーをユーザと管理者それぞれの画面で分けることにチャレンジ。 調べてみると、apprication.rbでrescue_action_in_publicをオーバーライドすることで出来そう。 また、管理者サイトのURIは必ず「/admin」から始まるので、REQUEST_URIをもとに以下のように判定。 apprication.rb def rescue_action_in_public(exception) case exception when ::ActionController::RoutingError, ::ActionController::UnknownAction, ::ActiveRecord::RecordNotFound if request.env["REQUEST_URI"] =~ /^\/admin.*/ render(:file => "#{R
The Rails documentation has passing references to a filter class called OutputCompressionFilter. However, this code is nowhere to be found. Since I have some code to do output compression (see my earlier post), I decided to repackage it as this class: 1equire 'stringio' 2require 'zlib' 3 4class OutputCompressionFilter 5 6 # Do output compression if the client supports it 7 def self.filter(controll
目の前にはcsvの山がある。これをrdbに突っ込まないといけない。その後railsアプリがそのrdbを使うのである。csvは何種類かあって,素直にテーブルに対応しているわけじゃない。つーことは突っ込むときにActiveRecordを使えればラクじゃろと思った。ARだけじゃなくて,便利なメソッドがたくさん入っているActiveSupportも使いたい。とりあえず何も考えずにスクリプトを書いてみる。 require 'rubygems' require_gem 'activerecord' とすればARは(ActiveSupportも)使えるようになる。でもモデルはrailsで作ったモデルをそのまま使いたい。同じ定義をコピペしてもいいんだけど,バージョンがずれたりすると困るし。 require 'rubygems' require_gem 'activerecord' $LOAD_PATH.p
【セキュリティ最前線】 セキュリティホールをついて遊ぶ 第3回:Railsでセッションハイジャックを実体験 著者:大垣 靖男 公開日:2008/1/25(金) Railsでセッションハイジャックを実体験 第3回となる本記事では、Web開発プラットフレームワークとして人気が急上昇中の「Ruby on Rails」(以下、RoR)を目標に、サンプルコードを用いたセッションハイジャック攻撃を行う。 RoRはRuby言語で記述されたWebアプリケーションフレームワークで「DRY(Don't Repeat Yourself:自分で繰り返さない)」を信条の基に開発されている。「scaffolding(足場組み、スタブコードの自動生成)」や「ActiveRecord(ORMライブラリ)」など、アジャイル開発に必要な機能を備えている。 Webアプリケーションに欠かせないHTTPセッション管理機構ももちろん
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Developer Hosting Our developer plans offer everything you need to get your Rails, PHP, Perl, or HTML website online quickly. These plans allow you to host Rails applications using FastCGI, Passenger (mod_rails), and includes plans to host multiple sites each with its own individual control panel and SSH access. Virtual Private Servers (VPS) Our virtual private servers provides you with your own v
A Better Way to Monitor God is an easy to configure, easy to extend monitoring framework written in Ruby. Keeping your server processes and tasks running should be a simple part of your deployment process. God aims to be the simplest, most powerful monitoring application available. Tom Preston-Werner tom at rubyisawesome dot com Google Group: http://groups.google.com/group/god-rb Features Config f
/etc/logrotate.d/PROJECT /home/app/rails/production/PROJECT/shared/log/production.log { daily missingok rotate 1000 compress delaycompress notifempty copytruncate create 0666 app app dateext } これでうまくいってる。 Loggerの設定でやるとおかしくなったのでlogrotateにしたんだけど、 Loggerをいじってなんとかしちゃう方法発見。 http://d.hatena.ne.jp/elm200/20071008/1191812760 Fileをロックしたりしなくていいのかな。2プロセス同時にローテトしちゃったりしない? http://techno.hippy.jp/rorwiki/?Deplo
やっと最近余裕が出てきて、溜まってた「あとで読む」リストを消化中ですが、1個面白そうなブログがあったので試してみる Advanced Rails Caching.. on the Edge どうも「Railsは重いのでESIでページキャッシュを組み合わせてカバーしよう、ESIのmongrel実装とRails用ESIタグ出力プラグインを開発中だ」と言ってるみたい。発端としては少し前の「 Railsの画面生成を10倍高速化する方法 」このエントリに似た話で ・Railsは遅い、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。 ・なので、出来るだけページキャッシュでさばきたい(フロントのWebサーバのみで処理) ・でもユーザ固有情報を表示するのが難しい(ようこそ○○さん) ここでRails抜きで動的ページを処理するアイデアが幾つか出て来てて ・JavaScript使ってクライアン
[追記] if構文の変数スコープの説明に間違えがあります。新しいスコープは作られません。 お盆のまっただ中8/11(土)に、社内勉強会を開いて、PHPユーザ向けにRuby/Rails入門をやりました。 じつはお盆の土曜日に4時間も勉強会って事で、そんなに人も集まらないだろうと思っていたのですが、ふたを開けてみたら28名も参加があり、びっくりしました。それだけ興味を持ってもらったのは嬉しいけど、これだけ集まるなら資料はちゃんと作らないと・・・・。ということで、作った資料を公開します。なんとRuby編100ページオーバー、Rails編200ページオーバーと、かなり大作です。 RubyKaigiで、発表者のスライドの横でIRCが表示されていたのが面白かったので、勉強会の参加者には、Lingrのチャットルームに全員入ってもらって、質問やパートごとの「終わった!」という書き込みをしてもらいました。今
はじめに Star It!のアクセス数が増えてきて、色々と支障がでてきたので、おもいきって友人の会社に置いているサーバへと移してみました。さすがに、さくらインターネットの共用サーバ上で、1日あたり10万クエリをCGI + sqlite3という構成でさばくのは無理があったようです。新天地では、データベースをMySQLへと入れ替えたうえで、PoundとMongrel、それにApache2.0系という構成にしてみましたので、ばっちり動いてくれることを期待しています。 というわけで、今回のエントリーは、PoundとMongrel、それにApache2.0系を利用して、Ruby on Railsウェブアプリケーション環境を構築してみよう、という話です。この構成のメリットは、十分なスケーラビリティを得たうえで、柔軟性も確保できるという点が挙げられます。私のサーバ環境はDebian GNU/Linuxで
RailsでPageキャッシュをより広く活用する方法を考えてみました。以下、ちょっと長く前置きが続きます。 Rails遅杉 Railsは遅い。何が遅いって、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。RDBが遅いのは大抵のWebアプリケーションでは変わらない話、で、だからRailsなんかが評価される余地があるんだよね。RubyやRHTMLの遅さは柔軟性の代償として受け入れよう。なにしろRDBがもともと遅いんだから。ただ、Routingは無駄に高機能だったりして頭にくる。Rhino on RailsのSteve YeggeもRoutingは黒魔術だと言っていたし。私はActionPackの全てが黒魔術だと思うけど。 そういう訳で、RoutingをCで書き直すのはドリコムのみなさんがいつかやってくれると期待するとして(可能なら手伝いたいけどね)、当面の対応としてはキャッシュ
Allows to validate user input data independently of the model Development Status: 4 - Beta Environment: Web Environment Intended Audience: Developers License: GNU Lesser General Public License (LGPL) Natural Language: Spanish Operating System: OS Independent Programming Language: Ruby Topic: RailsRegistered: 2005-12-31 15:08 Activity Percentile: 0% View project activity statistics.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く