2009-01-01から1年間の記事一覧

ubuntu: firefox 上で ATOK による日本語入力ができなくなった(解決)

Ubuntu 9.04 で長い間、何の問題もなく ATOK X3 for Linux を使ってきたのだけれど、昨日から急に firefox 上でのみ、日本語入力ができなくなった。Ctrl+SpaceでATOKのツールバーが現れないのだ。geditなどの他のアプリケーションでは問題ない。そこで、この…

libapr-1.so.0: cannot open shared object file

以前はちゃんと動いていたのだが、久しぶりに Apache を再起動したら Phusion Passenger 関連でエラーが出て止まってしまう。 $ sudo /etc/init.d/httpd start Starting httpd: httpd: Syntax error on line 468 of /usr/local/apache2/conf/httpd.conf: Can…

複数のデータベースを扱うRailsアプリをcucumberでテスト

次のようなコードを想定しよう。 class Legacy ActiveRecord::Base establish_connection :legacy self.abstract_class = true endclass Company endclass Employee endclass Document ActiveRecord::Base endDocumentモデルはアプリケーションのメインのデ…

Spec::Mocks::Mock#to_ary should return Array

フォームビルダーの error_messages を使った ERB コードを RSpec でテストするとこのエラーが出る。回避するには、次のパッチを spec/spec_helper.rb の末尾に追加する。 module Spec module Rails module Mocks def mock_model_with_patch(model_class, op…

Nested Model Form と RSpec

RSpec で Nested Model Form を含むビューのテストを書く方法のメモ。 require 'spec_helper'class Question; end class Choice; enddescribe "questions/new" do before(:each) do @question = mock_model(Question).as_null_object.as_new_record @choices…

RSpecとbackgroundrbではまる

Railsアプリケーションを開発していて不思議な現象に遭遇。backgroundrb をプラグインとして入れたら、急に rake spec がエラーを吐くようになった。個々の spec を実行すると問題なく動くのだが。根本的な原因は不明だが、backgroundrb を外すと症状が消え…

Rails 2.3.4 明日リリースか

Googleグループのrubyonrails-securityに http://groups.google.com/group/rubyonrails-security/browse_thread/thread/48ab3f4a2c16190f という投稿があり、Rails 2.0.0以降のすべてのバージョンでXSS脆弱性が見つかったとのこと(Ruby 1.9を使っている場合…

ubuntu 9.04: ATI HD3650 デュアルヘッド

会社のマシーンのハードディスクが壊れたので、ubuntu 9.04 (64bit)を入れ直したところ、デュアルヘッド(デュアルモニター)の設定がうまく行かない。自宅マシンは Nvidia で、こちらはすんなり設定できたが、会社のマシーンは ATI でダメ。試行錯誤の結果…

Passenger: cannot open shared object file

Phusion Passenger で Rails アプリケーションを動かす際、RMagickが必要とする共有オブジェクトファイル(libMagickCore.so)をオープンできない、というエラーに遭遇。このファイルは /usr/local/lib にあり、環境変数 LD_LIBRARY_PATH にこのパスをセットす…

Ruby を make する前に zlib-devel を入れておく

CentOS 5.3 での話。yum で入る Ruby は 1.8.5 なので、1.8.6 か 1.8.7 をソースから make するよね。でも、その前に、zlib-devel パッケージを入れておかないと、make は通るけれど、後で困る。なぜなら、gem が動かないから。こういうエラーが出るんだ。 n…

旧マシーン(Pentium 4)に Ubuntu 9.04 と CentOS 5 を

新マシーンにインストールした Ubuntu 9.04 の調子がいいので、旧マシーンに Ubuntu 9.04 と CentOS 5 を入れる。主に動作テストに使うつもり。旧マシーンはハードディスクを2台搭載(sdaとsdb)。Windows XP がインストールされているsdaはそのまま残して、…

Thunderbird: URL をクリックしても Firefox でページが開かない(解決)

Ubuntu 9.04 (Jaunty) 64bit版をインストールした新マシーンで新たな問題が発生。Thunderbird 上で URL をクリックしても Firefox でページが開かないのだ。ネットで見つけた解決法は以下の通り: [編集]→[設定]メニュー [詳細]タブ→[設定エディタ]ボタン 以…

ATOK X3 for Linux を Ubuntu 9.04 (Jaunty) 64bit 版にインストール

日曜日。数日前に購入したPCにUbuntu 9.04 (Jaunty) 64bit版にインストールし、環境整備を進める。メインのPCとしてメールや原稿も書くので付属の日本語入力システム(Anthy)では厳しい。ATOK X3 for Linux を入れる。CD-ROM に付属のインストーラでは、64bit…

ssh: 接続に時間がかかる現象を解決

新しいPCに移って、sshでの接続にやたら時間がかかる(10秒とか)ので、ーvオプションを付けて実行すると、 debug1: Authentications that can continue: publickey,gssapi-with-mic debug1: Next authentication method: gssapi-with-mic debug1: Unspecified …

cap: command not found

新マシーンで開発を始める。MySQLとかRailsとかいろいろインストール。capistranoでちょっとつまづく。 $ sudo gem install capistrano $ cap --version zsh: command not found: capcapコマンドが見つからない。 sudo ln -s /var/lib/gems/1.8/bin/cap /usr…

サイコムでPCを購入、Ubuntu 9.04のインストールで苦労

同僚の薦めでサイコムという会社からPCを購入。CPUはIntel Core2Duo E8600 3.33GHz。マザーボードはGIGABYTE GA-EG45M-UD2H。私はハードウェアにはあまり関心がないけれど、結構いい構成(多分)。早速、Ubuntu 9.04 (64bit)のインストールを開始。「Install…

passenger: メンテナンス画面の表示

Phusion Passenger 環境下でサービスを一時停止してメンテナンス画面をユーザーに見せたいとき、どうするか。答えは、次のブログ(英語)に http://blog.nodeta.fi/2009/03/11/stopping-your-rails-application-with-phusion-passenger/ 簡単に要約すると レ…

ubuntu: 9.04 (Jaunty Jackalope) にアップグレード

9.04 (Jaunty Jackalope) がリリースされたので、会社の私の ubuntu pc をアップグレード。Feisty => Gutsy の時に、いろいろとトラブルが起きたので、Hardy, Intrepid の時は、仕事用とは別のマシーンにインストールしたりと慎重に進めたのだが、今回は我慢…

最近 NetBeans DEV がとても重い

NetBeans ファンである私は、ほぼ一週間ごとに開発版をダウンロードして、仕事で使っている。6.0 の頃は頻繁に例外が発生して、バグ報告の楽しみ(?)があったが、最近はそういう機会がぐんと減った。6.7 に向かって開発がぐんぐん進んでいるのか、起動時のス…

Phusion Passengerを採用

あるRailsアプリケーションの本番実行環境でPhusion Passengerを採用することにした。今日初めてのインストールで、しかも運用中のApacheのhttpd.confを書き換えるという暴挙。多少の失敗もあったが、次のページを見ながら http://redmine.jp/tech_note/apac…

Python 2.6, easy_install, mercurial のインストール(自分用メモ)

少し古いサーバに mercurial をインストールすることになった。Python は普段あまり使わないので、いつもインストールに迷って時間がかかる。メモしておこう。http://www.python.org/download/ から Python 2.6.2 の source tar ball をダウンロードして、 $…

glibc detected ruby: munmap_chunk(): invalid pointer

拙著『基礎Ruby on Rails』の読者の方から、サンプルアプリケーションが動かないとの報告があり、Googleで調査。動作環境は CentOS 5.1 で、Ruby のバージョンを 1.8.6 p0 から 1.8.6 p230 に上げたら *** glibc detected *** ruby: munmap_chunk(): invalid…

jQuery: Internet Explorer で出るエラーに対応 size() & text()

IE6 で予期せぬエラーが出る。結局、原因はよく分からなかったのだが、効果があったことをメモしておく。 size()メソッドの代わりにlengthを使用。 text()メソッドの戻り値を変数に格納しようとしたらエラーになったので、そのまま(if node.text() == 'foo'…

Ruby/Rails: assert_* メソッドのリスト

弊社若手スタッフからの質問。assert_* メソッドの一覧とかないんですか?自分で調べろ、と言いたいところだが、ここにリンクを書いておく。 http://www.ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit/Assertions.html http://api.rubyonrai…

Python開発コミュニティはMercurialを採用

分散型バージョン管理システム(ソースコード管理システム)としては、Git/Mercurial/Bazaarが現時点(2009年4月)での三強と言えるだろうか。RailsコミュニティはGitを採用したが、私の会社はRails専門なのにMercurialを採用した(その理由については別の機会…

mercurial: branchで行ったバグフィックスをtrunkに適用する

Mercurialのような分散型のソースコード管理システムには、subversionのようなtrunkとbranchの区別はないけれど、実際の運用ではそれに類似した概念をみんな使っていると思う。数日後にウェブアプリケーションのβ版をリリースする予定だとすれば、mainのレポ…

ubuntu: postfix のメール格納方式を Maildir に(自分用メモ)

/etc/postfix/main.cf を編集。 home_mailbox=Maildir/Postfix を再起動。 sudo /etc/init.d/postfix restart

ubuntu: GRUB のメニュー表示順の入れ替え(自分用メモ)

/boot/grub/menu.lst を編集。 sudo vi /boot/grub/menu.lstdefault の値を変えると、標準で起動するOSを設定できる。 default 0参考資料 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1113949581

Ubuntu 8.10: pptp 接続できない(解決)

ubuntu 8.04 (Hardy) では問題なかったが、8.10 (Intrepid) にした途端、pptp 接続ができなくなった。Google すると、数多くの人が困っているようだ。私も大変困った。最終的に見つけた解決法は以下の通り: Synapitic パッケージ・マネージャを開き、[設定…

NetBeans + ubuntu: テキストエディタでアンチエイリアスが効かない

NetBeans (6.7に向かう開発版) + Ubuntu 8.04 (Hardy) での話。テキストエディタでアンチエイリアスが効かない、という問題に遭遇。正解は、-J-Dswing.aatext=true オプションを付けて NetBeans を起動する。常にこのオプション付きで起動するためには、~/.n…