Ruby on Rails

联通のSMS送受信APIをRubyで作る

SMS配信サービス開始に向けてRubyでSOAP Clientを作っています。 中国では3キャリアあり、それぞれ異なるAPIを使う必要があります。 移動、電信ともにJava APIなのですが、联通はSOAPです。いきなりコード。 1 LoginMes = {"login" => {"username" => '1111…

同名のテーブル名に対する参照(belongs_to,has_manyなど)の書き方

同じ名前のmodelがusersという名前であったとします。 例えば下記のような形です。 /app/models/user.rb /app/models/other/user.rb 例えば上記2テーブルをordersテーブルから参照する場合、modelには:class_nameを使って次のように書きます。/app/models/or…

複数DBを使用した会員認証方法

とあるECサイト案件で、別サイトの会員のログインを可能にしたいという要件がありました。 ECサイト自体も会員システムがあるので、ログイン手段が2通りあるサイトになります。絵にするとこんな感じです。 技術的ポイントは下記です。 1.ひとつのRailsアプ…

Ruby Enterprise Editionインストールで性能改善

結論から言いますと、49.3% もメモリ使用率を削減できました!! 以下、技術的な情報になりますので興味がある方だけ読んでください。VPS環境にRuby Enterprise Edition(version 1.8.7-2009.10)をインストールしました。 VPS上では複数のRailsアプリケーシ…

Ruby on Railsで費用対効果の高いコーポレートサイトを

コーポレートサイトと言えば、下記のような構成が多いと思います。 ・会社紹介(沿革、経営理念、精神、経営体制など) ・商品紹介 ・ニュース ・実績紹介 ・アクセス ・リクルート ・問い合わせ 弊社ではコーポレートサイトもRuby on Railsで作成しています…

capistranoで複数サーバへのデプロイ

Railsで作ったアプリケーションを複数の環境にデプロイする方法のメモ。 この方法を知るまでは自分でデプロイ用のスクリプトを書いていたので、とても助かりました。 capistranoでデプロイ出来る環境を前提としています。まず「capistrano-ext」をインストー…

pid=xxxxx file=ext/apache2/Hooks.cpp:645

JSで処理待ちを表示する処理で、処理完了を待たずにJSの表示が消える現象が発生。 ApacheのErrorログには下記メッセージが記録されていました。 [ pid=xxxxx file=ext/apache2/Hooks.cpp:645 time=2009-09-10 20:25:43.542 ]: The backend application (proc…

loca-tion.com オープン!!

Ruby on Railsで開発を進めてきた撮影スタジオ・ロケーション検索サイト「loca-tion.com」が本日オープンしました。http://loca-tion.com今後は日本だけでなく中国やタイなど世界の撮影ロケーションを映像制作者向けに配信していく予定です。 映像制作者が運…

中国人技術者について

これまで記事で書いてきたように、中国、特に上海でRuby on Railsの人気は上昇傾向にあります。 しかし、企業に勤める技術者が開発プラットフォームを自由に選択できる機会も少なく、業務として経験を積める技術者はまだ少ないのが現状です。 先日Ruby on Ra…

Matz氏 来上海!! Ruby会議 in 中国

5/21(木)上海にて『中国Ruby大会(Rubyconf China)』が行われます。スペシャルゲストは、なんとRubyの開発者 Matzこと、まつもとゆきひろ氏。 主催は中国一のJava組織「JavaEye」。以前本ブログでも紹介した上海 on Railsも本会の実行委員として活躍してい…

searchlogic + acts_as_paranoid

なかなか更新できない日々が続いていますが、日々Ruby on Railsでの開発を続けています。 最近は認証システムをrestful_authenticationからauthlogicに切り替えたり、 searchlogicを使ってみたりとbinarylogic様のプラグインを使わせてもらっています。http:…

上海rails勉強会 shanghai rails

2009/3/14(土) 上海Railsの勉強会に行ってきました。 私は初参加でしたが活動は6回目になるとのこと。 1週間前の告知にも関わらず、50人の席が満席になる大盛況っぷり。 会場入りした際に簡単に、たどたどしい中国語で挨拶したところ速効で「日本人」とばれ…

中国 上海のRuby on Railsの状況

現在上海でRuby on Railsを使用したWEBサイトの開発を行っています。 日本語が堪能な中国人技術者と開発を行っているのですが、 日本と比較して中国にはRubyやRailsの情報が少ないということ。 日本ではRails2.0系の書籍が多くなりましたが、中国では2.0対応…

booleanのvalidation

boolean(true/false)の空白チェックの備忘録。 validates_presence_of での空白チェックは値が false の場合に通らない。 調べたところ、validates_presence_of は、.blank?での判定であることが原因。 false.blank? はtrueとなる。 この場合は下記を使う…

formのselectタグにidを設定する

form_forで生成したフォームのプルダウンメニューに idを振る必要があったのですが、プチはまりに遭遇したので記録しておきます。 form_forでフォームを作成した場合、下記のような形になると思います。 この場合、selectタグのIDは id="user_address" にな…

Phusion Passenger + Apache + virtualhost でアクセス制御

Phusion Passenge + Apacheの環境でApacheのアクセス制御をしてみた。 いつも通りディレクティブでアクセス制御の設定をするも、 cssだけ読みこめていないような、くずれた画面が表示された。 ディレクティブ設定の内容 DocumentRoot /home/hoge/public Serv…

file_columnを使う

file_columnの使い方をメモ。 model 対象となるテーブルに"image"カラムをstringで作成。 model/pic.rbに下記を追加。 file_column :image, :magick => { :versions => { :thumb => "100x100>", :large => "200x120>" } 上記の例では、public/pic/image/id …

file_columnのインストール

「file_column」はRuby on Railsからファイルのアップロードや加工を行うプラグインだ。 ここを参考に「file_column」をインストール。 RMagickというImageMagickを使用して画像の加工処理を行うRuby用のInterfaceが必要とのことでRubyForgeから「RMagick-2.…

認証メールの国際化(restful_authentication + i18n)

中国で日系WEBサイトを開発することが多いので国際化対応は必須です。 今回はrestful_authenticationを使った認証用Emailの国際化にチャレンジしました。ユーザ認証は、restful_authentication + aasm で組んであることを前提とします。i18n_generatorsのイ…

netbeans6.5(日本語版/英語版) + rails2.2.2 + ruby1.8.7-1p72

1月は日本でwindows mobile組み込みアプリの開発をVC++で行っていたので 更新が滞っておりました。 Open WEB開発 => Win32API組み込みアプリ開発と極端に異なる分野ではありますが、 短い期間で双方を経験することで、互いの良し悪しがより理解できたと思い…

RoRインストール

Windows Vista にRoR2.2.2をインストールした際の記録。 RoR初心者の自分にとっては、情報が多い旧バージョンで一通り動作を学んでから最新バージョンへ・・ と考えもしたが、RoR2.2が国際化対応したとのことで2.2.2から始めることにした。 インストールされ…