dandaso備忘録

2009-06-17 サーバ機にSSDを使うのは時期尚早

[]サーバ機にSSDを使うのは時期尚早 17:02 サーバ機にSSDを使うのは時期尚早を含むブックマーク

という話を聞いた

  • ファイルシステムSSDに対応していない、現在のファイルシステムはDiscで使うことを想定している。回転ディスクの場合、円盤の内側の方が速度が速いため、ファイルシステムは円盤のなるべく内側を使おうとする傾向がある。しかし、SSDの場合セル毎に寿命があるため、同じセルに読み書きされ、寿命が急速に縮まる可能性がある。早いと3ヵ月とかでダメになるらしい。
  • 書き込みが半分以上を超えると、書き込み速度がHDDを下回る。これはどのセルにどのデータが書き込みされているかなどを計算する部分がボトルネックとなっていると思われる。今後ドライバの更新などで改善されるかもしれない。

ただし、読み込みは確かに早いので、読み込み専用のシステムや書き込みの少ないシステムには有効

トラックバック - http://d.hatena.ne.jp/dandaso/20090617

2009-06-05 携帯のSSL証明書

[]携帯のSSL証明書 17:00 携帯のSSL証明書を含むブックマーク

今までは ベリサインのを使うのが普通だっただが、RapidSSL(reseller?)のRoot証明書が2009/05/29付でEquifax Secure Certificate Authorityに変更になったため、ほとんどの端末で利用可能になりそうだ。ベリサインの証明書を使うと年間8万とかかかるけど RapidSSLだと4000円くらいで済むし、ワイルドカードも発行できるため、低コストで運用したい場合にはいいかもしれない。

参考

http://www.rapid-ssl.jp/rapidssl-support/faq/index.php?action=artikel&cat=4&id=1&artlang=ja

http://www.geotrust.co.jp/resources/compatibility_listing/index.html

トラックバック - http://d.hatena.ne.jp/dandaso/20090605

2009-05-21 携帯キャリアがサイトを何にカテゴライズしてるか分かるスクリプト

[]携帯キャリアがサイトを何にカテゴライズしてるか分かるスクリプト 15:35 携帯キャリアがサイトを何にカテゴライズしてるか分かるスクリプトを含むブックマーク

require "rubygems"
require "net/http"
require "uri"
require "nkf"
require "nokogiri"
uri = URI.parse("http://category.netstar-inc.com/check/res.php")
Net::HTTP.start(uri.host, uri.port) do |http|
   request = Net::HTTP::Post.new(uri.path)
   request["user-agent"] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"
   request.set_form_data({:url => ARGV[0]})
   html = Nokogiri(NKF::nkf("-w -m0", http.request(request).body))
   html.search(".result_text").each do |result|
     print result.inner_html
   end
end

入力

ruby categorize.rb http://gree.jp

出力

■確認したURLhttp://gree.jp■分類結果大カテゴリ コミュニケーション<br>小カテゴリ 掲示板<br>
トラックバック - http://d.hatena.ne.jp/dandaso/20090521

2009-05-09 NTTの支払い明細を紛失してしまった場合の対処方法

[] NTTの支払い明細を紛失してしまった場合の対処方法 10:04  NTTの支払い明細を紛失してしまった場合の対処方法を含むブックマーク

NTTの支払い明細を紛失してしまって、そのこと自体も忘れていて、ついにネットが停止してしまった。この場合の支払い方法の手順のメモ

便利な世の中だー。ちなみにサービス元締めはNTT COMWAREらしい

komagatakomagata 2009/05/09 17:36 あまりにも忘れ過ぎでしょうw

トラックバック - http://d.hatena.ne.jp/dandaso/20090509

2008-09-23

[] Railsプラグイン ez_where がクソ便利 07:09  Railsプラグイン ez_where がクソ便利を含むブックマーク

Railsの検索画面などを作るときに、入力パラメータに合わせて conditionsを変更したい場合等が多数あると思うけどそういう場合は ez_whereがめちゃ便利

インストール

./script/plugin install http://opensvn.csie.org/ezra/rails/plugins/dev/ez_where/

Userテーブルのemailかnameかcategoryのどれかが入力されていて、入力されている値でconditionsを生成したいという場合は以下の通り

  options = {:limit => 300}
  @users = User.ez_find(:all, options) do |where|
    where.email == params[:email] unless params[:email].blank?
    where.name  =~ "%#{params[:name]}%" unless params[:name].blank?
    where.category == params[:category] unless params[:category].blank?
  end

演算子によって where句がうまく生成される。ちなみに演算子とwhereの対応は

foo == 'bar'["foo = ?", 'bar']
foo =~ '%bar'["foo LIKE ?", '%bar']
foo <=> (1..5)["foo BETWEEN ? AND ?", 1, 5]
foo === [1, 2, 3, 5, 8]["foo IN(?)", [1, 2, 3, 5, 8
foo > 1["foo > ?", 1]

という感じになる。またwill_paginateなどで使用したい場合は

  cond = Caboose::EZ::Condition.new
  cond << ["email = ?", params[:email]] unless params[:email].blank?
  cond << ["name like ?", "%#{params[:name]}%"] unless params[:name].blank?
  cond << ["category = ?", params[:category]] unless params[:category].blank?
  @users = User.paginate(:page => params[:page], :per_page => 30,
                         :conditions => cond.to_sql)

と conditionsに << で追加する形式も対応している。

komagatakomagata 2008/09/23 18:10 典型的なRailsアプリで検索部分だけが面倒臭せえと思ってたんですが、これいいですなー

トラックバック - http://d.hatena.ne.jp/dandaso/20080923