ウェブサービスを作っています。

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

highline を使いましょう

シェル上でパスワードを入力させたいときなど、エコーバックさせたくない場面があります。 このようなときは、 print 'Username: ' username = $stdin.readline.chomp print 'Password: ' system 'stty -echo > /dev/null 2>&1' password = $stdin.readline.…

rspec-mode を使っています

http://barelyenough.org/projects/rspec-mode/ Rails プログラム編集中に使った場合 モデル・コントローラ・ビューファイル上で、\C-c , t -> 対応 spec ファイルが開く spec ファイル上で、\C-c , t -> 対応モデル・コントローラ・ビューファイルが開く な…

DateHelperJa っぽいことを、プラグインなしでやる

date_select ヘルパーなどで、 のように表示したい場合、DateHelperJa プラグインが便利だったのですが、Rails2.1 では使えなくなっていました。 そこで Rails 2.1 対応にしてみたりしたのですが、Rails 2.2 にしたら、またしても使えなくなっていました。 …

location.href, document.URL のエンコードがブラウザによってバラバラな件

「http://ja.wikipedia.org/wiki/メインページ」を開いて、ロケーションバーに javascript:alert(%22location.href:%22+location.href+%22\ndocument.URL:%22+document.URL) と打ち込む。ちなみに、この内容は alert("location.href:" + location.href + "\n…

Hpricot と Nokogiri の XPath 出力メソッド

Hpricot('<html><body><div>aaa</div></body></html>').at('//div').xpath => "/html/body/div" Nokogiri('<html><body><div>aaa</div></body></html>').at('//div').xpath => Nokogiri('<html><body><div>aaa</div></body></html>').at('//div').path => "/html/body/div" Nokogiri::XML::Node#xpath は、Hpricot::Elem#sear…

拡張子付きリクエストのテスト方法

http://example.com/articles.rssのようなリクエストをテストする方法です。 config/routes.rb map.resources :articles app/controllers/articles_controller.rb class ArticlesController < ApplicationController def index respond_to do |format| forma…

フラグメントキャッシュを削除する rake タスク

desc "expire fragments" task :expire_fragments => :environment do RAILS_CACHE.delete_matched /hoge_hoge_cache/ end 文字列かハッシュでキーを指定する場合は、delete_matched の代わりに delete を使います。

Passenger (mod_rails) で、特定のホストからのアクセスを禁止する方法

httpd.conf などに書いて、Apache をリロードします。 <VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www/html/example/public <Location /> Order Allow,Deny Allow from All Deny from (アクセス禁止 IP) </Location> </VirtualHost>Location の代わりに、Directory ディレクティブを使うと pu…

Brandnew-J で放送中の曲を Growl で通知するスクリプト

最近は、VMWare Fusion で XP を常時起動させて、Brandnew-J をよく聴いています。 で、現在放送中の曲が growl でわかったら便利かなー、とか思って書いたけど、あんまり便利ではありませんでした。 #!/usr/bin/env ruby require 'json_parser' # http://we…

有楽町の手相勉強中の人

昨日は 3 人に話しかけられました。多め

さくら 500 円サーバで 500 エラー

最近 PHP で作ったようなサービスを、さくらの 500 円サーバに移しています。 で、.htaccess に <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule>って書いて、存…

Can't connect to local MySQL server through socket エラーの対処法

PHP

久しぶりに PHP いじってたら Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)というエラーが出ました。 mysql.sock のパスが間違っているんですけど、いつも直し方を忘れるのでメモ。 まず、mysqladmin の version コマン…

VirtualBox for OS X に CentOS 4 を入れる

mac

無料の仮想マシン作成ソフト「VirtualBox」に CentOS 4 を入れてみました。テストサーバ用です。 VirtualBox http://www.virtualbox.org/wiki/Downloads CentOS 4.7 http://ftp.jaist.ac.jp/pub/Linux/CentOS/4.7/isos/i386/ インストールはほぼデフォルト通…

RSpec on Rails のバグっぽい挙動について

RSpec on Rails で redirect_to のテストを書いていると、 ActionController::MethodNotAllowed Only get requests are allowed. や ActionController::MethodNotAllowed Only get, put, and delete requests are allowed. といった、謎の例外が発生すること…

既存アプリの Rails バージョンアップ方法

コメント 1 文字でも最新にしたい神経質なあなたへ。 1. sudo gem update rails 2. 適当なディレクトリで rails latest_sample 3. 必要な場合は、既存アプリの RAILS_ROOT で rake rails:unfreeze 4. 既存アプリの RAILS_ROOT で rake rails:update 5. diff …

git log で文字化け

git

某サーバに git を入れて git log してみたところ commit 706ead4d3c192ede6484592e3e8a21e28d538dd4 Author: milk1000cc <info@example.com> Date: Wed Oct 1 17:12:52 2008 +0900 <E3><83><90><E3><83><BC><E3><82><B8><E3><83><A7><E3><83><B3><E7><AE><A1><E7>とかなってしまいました。 more とか less だと化けないし、日本語も</e7></a1></ae></e7></b3></e3></a7></e3></b8></e3></bc></e3></e3></info@example.com>…

いつ消したか忘れたファイルを元に戻す

git

コミットログを毎回「update」とかにしてしまったために git log してもいつ消したかわからなくなってしまった人 (自分) へ。 git log ではなく、git log --name-status を使えばいい感じになります。 (git log で変更・追加されたファイルを表示する - @yuu…

最近の変化

<a href="#">解説を見る</a> のようなリンクを動的に生成する場合、以前は <%= link_to '解説を見る', game_path(game) %> みたく、極力ヘルパを使っていたのですが、最近は <a href="<%= game_path(game) %>">解説を見る</a> のように、最低限の部分だけヘルパを使うようになった気がします。 重複を省いたり、ク…

BASIC 認証を導入する

たとえば、ステージング環境などで常に BASIC 認証を必要とする場合、以下のようにすれば OK でした。 とっても簡単です。 ソースは、actionpack-2.1.1/lib/action_controller/http_authentication.rb あたり。 class ApplicationController < ActionControl…

2.1.0 で 1 始まりになった partial counter が 2.1.1 で 0 始まりに戻ってる

collection の渡された partial template では、ローカル変数 (partial template 名)_counter で、現在何回目のループなのかがわかるわけですが、これの始まりが Rails 2.1.0 から 1 になっていました (参照: Rails2.0から2.1への移行を試してみる - ザリガ…

ブラウザを Safari に戻した

拡張機能の素晴らしさにより、1 ヶ月ほど Firefox を使っていたのですが、Safari の起動速度と美しさのレベルに負け、再び Safari に復帰です。 Firefox3 になって、美しさのレベルは前バージョンより上がった気がしますが、やはり Safari には負ける気がし…

ITpro Challenge! に行ってきました

目黒雅叙園で行われた ITpro Challenge! に行ってきました。 とりあえず会場がすごかったです。お城のような建物で、とても Web のイベントをやるような雰囲気じゃなかったです.. あと、サイボウズラボの方面からいらっしゃった方が多かったです。 発表の内…

これはひどい

わからない

read_inheritable_attribute がわかりません。 こういうのはそのうちわかると思うので、放置しておきます。

rspec_scaffold で吐かれる spec が初心者の参考になったりするかも

rspec のサンプルってなかなかなくて、モデルのバリデーションテストくらいは書けるけど、コントローラとかビューとか、とにかく、どうやって書いたらいいんだろ..って人は結構多いのではないかと思ったりします。 rspec_scaffold を使って生成される spec …

SSH のポート番号が 22 じゃないときに Carbon Emacs で tramp を使用するまでの流れ

まず、~/.ssh/config に Host 適当な名前 HostName ホスト名 Port SSHポート番号 (User ユーザ名)を書きます。 複数ある場合は、このパターンを繰り返します。 User はなくてもいいです。 こんな感じ。 Host example1 HostName www.example1.com Port 10000 …

Array#slice でちょっと悩んだ

久しぶりに JavaScript をやっています。 で、結構忘れていたのでちゃんと勉強しようと思いまして、これを読んでいます。JavaScript 第5版作者: David Flanagan,村上列出版社/メーカー: オライリー・ジャパン発売日: 2007/08/14メディア: 大型本購入: 52人 …

はてなブックマークのエントリーページを開くブックマークレット

javascript:window.open('http://b.hatena.ne.jp/entry/'+location.href);undefined;簡単なブックマークレットですけど、これをスマートキーワードに設定したり、Safari のブックマークバーに登録したら何気に便利でした。

Firemacs の設定をリセットする方法

prefs.js から userpref("firemacs2. で始まる行をすべて削除 Firemacs を再インストール

DateHelperJa プラグイン を Rails 2.1.0 に完全対応させる

追記(2008/12/21 9:41): Rails 2.2 では動きません。 先日の話の続きです。 ちゃんとわかった気がするので、エントリにします。 まずは DateHelperJa プラグインをインストールします。 script/plugin install http://softculture.com/rails/plugins/date_he…