capsctrldays

2006-08-01 (火) [長年日記] Edit

bliki_jaのinfo.db また飛んだ

しかもbliki_ja:StaticSubstitutionが全削除された(これはSPAMの仕業)。ひどい話だ。diffから元に戻しておいた。バックエンドをCVS(このレンタルサーバにはSVNが入ってないのだ)にするしかないのかなあ。ううううううう。

info.dbが飛ぶのはHikiが限界なのかなあ。それともサーバの問題かなあ。

本日のツッコミ(全4件) [ツッコミを入れる]

1 eto [そこでqwikですよ!]

2 kdmsnr [記法がぁーー。]

3 かずひこ [たぶん、ファイルのロックがどーのこーのとか、が原因だと思うんだけど、いまのところ原因究明できていません。ご迷惑をかけ..]

4 kdmsnr [いえ、自分でも見るべきなんですが。すいません。]


2006-08-02 (水) [長年日記] Edit

亀田のためにT−BOLAN森友が君が代

普通に仕事をしていたわけだが、試合よりもこれを見れなかったのが悔やまれるwwwww。って、TVでやってた?

本日のツッコミ(全2件) [ツッコミを入れる]

1 wildcats [TVでやってましたよ。YouTubeにアップされていたので探してみてはいかがでしょうか?]

2 kdmsnr [探してみます!]


2006-08-03 (木) [長年日記] Edit

[Rails] RubyGetTextを多言語化のためには使わない

あとから「ここ表記変えてよーー画面だったらすぐ変わるでしょ」「あ、いや、でも、画面全部ですよ?」問題に対応すべく使用すると便利(かも)。

ポインツ。

  • (すごい)デザイナーさんからあがってくるテンプレートは、当然日本語のままなので、日本語のまま使う。
  • ただし、ARの属性名(カラム名)、共通しているボタン名・リンク名、に限ってRubyGetTextを使用する。
  • フォームのラベルにも _('Model|Attr') と記載する
    • すると error_message_on と一致するのでウマー
  • コントローラ名、アクション名も別途日本語化しておくと、<title> や <h1> なんかに使えて便利じゃんすか(id:secondlife風)。

ロケールをenにして見ると変になることは、あんまり(というか全然)考慮しない(別にそれを目的にしてるんじゃない)。MacIE5.xだと有無を言わさず英語表記になることは、あんまり(というか一切)考慮しない(これはブラウザ側が問題じゃねーかなぁぁぁぁ)。

inetd(レンタルサーバ)にPlaggerをインストールする

Perl 5.8.5になったらしいのでチャレンジ。

  • cpan の設定(普通にやっておくれ)
  • ここに書いてあるやうに設定
cpan> o conf makepl_arg "LIB=~/perl/lib INSTALLMAN1DIR=~/perl/man/man1 INSTALLMAN3DIR=~/perl/man/man3"
cpan> o conf commit
  • ここに書いてあるようにPERL5LIBを設定
export PERL5LIB=~/perl/lib
  • ふつうにインストールするとテストとかでコケるので、
cpan> force install Plagger
  • assets とかをとってきてhoge.config.yamlの設定
  • crontabの設定する
  • おわり

[] 実戦・日本語の作文技術 (朝日文庫)(本多 勝一)

  • 長い修飾語ほど先に
  • 句を先に

逆転するときは「、」を入れる。おしまい。

[] 数学に感動する頭をつくる(栗田 哲也)

経験則から「こうじゃね?」って言ってる本。 親でも子供でもないので、特に得ることもなく。

[] ソフトウエア企業の競争戦略(マイケル・A. クスマノ/Michael A. Cusumano/サイコムインターナショナル)

パッケージとサービス。そしてそのバランス。な、お話。おしまい。

60年代70年代の日本のソフトウェア業界では「ソフトウェア・ファクトリー」が成立していたというんだけども、そこkwsk!

日本のソフトウェア戦略 アメリカ式経営への挑戦』ってのがあるらしいんだけど、絶版?っぽい。

業務アプリはデータを入れてポン出してポン……じゃあNEEEE!!!!

というエントリーがblikiあったと思うんだけど、今週末に訳します。すいません。副エントリがあったのでちょっと時間とらないと。あ、DSLの境界とかなんとかってのもいっしょにやっときます。

[] ソフトウェア開発の名著を読む (技評SE新書 003)(柴田 芳樹)

書いてることは何ひとつ間違ってはないんだが、というか、何ひとつ書いてないので間違えることすらないんじゃないか、という内容でした。空きスペースに載せとけばいいような本でした。薄いし。

とはいえ、これを読むことがきっかけとなって原典にあたるのは、非常によいことだと思います。持ってても読んでないのが多いんだよなぁ(特に前半の本)。

前半の本を読みたい!って思うのには波があるよね。周期の波が。 自分の場合は2002年くらいに波が来てた感じ。今はこれっぽっちも来てない。

本日のツッコミ(全2件) [ツッコミを入れる]

1 むとう [そういうときはGetText.locale = "ja"とロケールを日本語固定にしてしまえばよいと思います。]

2 kdmsnr [うおおおおお。ありがとうございます!!!]


2006-08-04 (金) [長年日記] Edit

[Emacs] mule-ucs と nxml-mode って一緒に使えないのかあ。

しょぼーん。mmm-mode 使って、html-mode と nxml-mode を切り替えたい!とか思ったケド、日本語表示のほうが重要なのであきらめかなあ。Emacs22はなんかダメくさいし(と思うのは俺だけか)。

Bloglinesから取ってくるのと取ってこないのがあるのはなぜ?

Rule::Fresh使ってるのがダメなのん?

とりあえず、メール送信に失敗してBloglinesの未読が全部消えてたから、なんか今日は爽快な気分だ。(すぐに mark_read: 0 にした)

ああそうかー

mark_read: 1 にすることで重複しないようにしているのか。そうか。ちゃんと重複チェックするんだったらそれ用のモジュールを使用するんだな。

[] デッドライン―ソフト開発を成功に導く101の法則(トム デマルコ/Tom DeMarco/伊豆原 弓)

なんだかよく分からない内容でした。 翻訳が悪いのか文章が悪いのか。

ithinkというシミュレーションソフトウェアがあるそうな。

本日のツッコミ(全1件) [ツッコミを入れる]

1 otsune [>ちゃんと重複チェックするんだったらそれ用のモジュールを使用するんだな。 Filter::RuleのDeduped..]



2006-08-07 (月) [長年日記] Edit

[][Rails] Ruby on Rails入門―優しいRailsの育て方(西 和則)

「01 Railsを理解する」には感動した。入門者がこれを読んで理解できるかどうかは分かんないけど、とにかく感動した。ここで時代が変わったと思った。

くまくまー読んでないなら、MLに質問する前にとりあえず全部読めば幸せになれると思う(2時間くらいかかったお)。

  • p.41 モデル内からの logger の呼び出しって、delegate 必要でしたっけ?

[Rails] 読む順番

2chに難易度順が出てたけど、あんまり意味ないと思うので、今から読むといいと思う順番。

  1. たのしいRuby 第2版 Rubyではじめる気軽なプログラミング(日本でRubyするなら避けられない)
  2. (任意:準備用)はじめよう Ruby on Rails
  3. Ruby on Rails入門―優しいRailsの育て方(日本でRailsするなら舞波は避けられない)
  4. かんたんRuby on RailsでWebアプリケーション開発(日本でRailsするならRuby-GetText-Packageは避けられない)
  5. (任意:実践用)ライド・オン・Rails Ruby on Railsを徹底攻略
  6. (任意:復習用)RailsによるアジャイルWebアプリケーション開発

できれば「Rails Recipes (Pragmatic Programmers)」もあわせて読みたい。ただ、レシピ系は陳腐化が早いので注意。また、上の3冊があれば「Ruby for Rails(Manning)」と「Ruby on Rails (O'reilly)」は読まなくていいと思う。洋書はまだ他にもあると思うけど、未読なのでなんとも。

本日のツッコミ(全1件) [ツッコミを入れる]

1 舞波 [そんなバカな>モデル内からの logger の呼び出し ・・・・・・。ほんまや! どうしよう!ね、どうすればいい?ど..]


2006-08-08 (火) [長年日記] Edit

レグレッション・テストに逆ギレ

「かける時間にもテストコードの量にも価値が見合ってない」ってのはものすごく同意。テストやるべきなのはものすごく分かるけど、テスト書く前にそれがペイするかどうかは見極められないもの(ペイする規模と期間があるんだろうな)。

Railsが対象とするもので、ロジックがものすごく複雑なものはそれほどないだろうから、テストといってもそれは「テストデータを用意」っていう話になって、テストをもたらす勇気よりも、テストデータを大量に用意する鬱さが勝ってしまって、あーうーあーうーとげんなりします。

ここでテストデータ作成ツールですよ、と言うだけ言っとく。

で、普通に疑問なんだけど、テスト通らないようなコードもコミットしたいよね。冒険したいときとかさ。そういうときはどうするの?ブランチ切っとくの?

私は複数人ではやらないので、ガンガンtrunckにコミットしますけども(で、ダメだったらその元のリビジョンまで戻る)。

本日のツッコミ(全3件) [ツッコミを入れる]

1 かずひこ [もしかして trunk ?]

2 t-wada [複数人でないならtrunkにコミットしてOKだと思います。]

3 shugo [svkとか。]


2006-08-09 (水) [長年日記] Edit

(Ruby本を)読む順番 - capsctrldays (2006-08-07)

Ruby本と言いながらRails本が83%を占めるこの「RubyってRailsを動かすための言語でしょ?」っぷり

元の記事には「(Ruby本を)」なんて付けてNEEEEEEEEEEEEE。ブックマークしたやつが勝手に変えただけだろ。感じ悪い。

Seasar2で学ぶ DIとAOP アスペクト指向によるJava開発(arton)

artonさんからいただいた。ありがとうございます。とりあえずDiki作る前まで読んだ……けど、もう一度読み直す必要がありそう。感想書けるまでにはしばらく時間がかかりそうです。

一ページ目の「ADO」は「AOP」の間違い?

本日のツッコミ(全2件) [ツッコミを入れる]

1 shachi [まぁ、256倍の本のどれか進めるとか、うさぎ本進めるとかしないと「Rails」と言われちゃうのでしょうかねぇ。変なの..]

2 arton [本来はDAOで何か前後に関係する文章があったはずだけど、今となってはAOPの間違いということで。]


2006-08-13 (日) [長年日記] Edit

[tDiary] delicious.rb HTTPS対応

sailozさんへ。

とりあえず。

  • その日の編集画面を開くと、del.icio.usからデータを取得します。
    • 本当は時差を考えないといけないんだろうけど...del.icio.usの時間のままです。
    • データの保存が本当に微妙。日付別にファイルを作っていいものだろうか。いちいち取りに行ったほうがいいのかなあ。
  • 見た目を変えるには、add_body_leave_proc の中身をいじってください。
require 'net/https'
require "rexml/document"
require 'fileutils'

def force_to_euc(str)
  begin
    str2 = Uconv.u8toeuc(str)
  rescue Uconv::Error
    str2 = NKF::nkf("-e", str)
  end
  return str2
end

def delicious_save_cache cache_file, file
  FileUtils.mkdir_p "#{@cache_path}/delicious"
  File.open("#{@cache_path}/delicious/#{cache_file}", 'w') do |f|
    f.flock(File::LOCK_EX)
    f.puts file
    f.flock(File::LOCK_UN)
  end
end

def delicious_parse_xml(xml)
  posts = []
  REXML::Document.new(xml).elements.each("posts/post") do |post|
    post = <<-EOS
<li><a href="#{post.attribute("href").to_s}">
#{force_to_euc(post.attribute("description").to_s)}
</a></li>
    EOS
    posts << post.gsub(/[\n\r]/,'')
  end

  return posts
end

def delicious_get_html(date = Time.now)
  req = Net::HTTP::Get.new "/v1/posts/get?dt=#{date.strftime('%Y-%m-%d')}"
  req.basic_auth @options['delicious.id'], @options['delicious.pw']

  https = Net::HTTP.new('api.del.icio.us', 443)
  https.use_ssl = true

  parsed = https.start {|w|
    response = w.request(req)
    delicious_parse_xml(response.body)
  }

  delicious_save_cache date.strftime("%Y-%m-%d"), parsed
end


add_edit_proc do |date|
  delicious_get_html date
  nil
end

add_body_leave_proc do |date|
  path = "#{@cache_path}/delicious/#{date.strftime('%Y-%m-%d')}"
  ret = ''

  if File.exist? path
    File.open(path) do |file|
      ret = <<-EOS
    <h3>del.icio.us</h3>
    <ul>
      #{file.read}
    </ul>
    EOS
    end
  end
  ret
end


def deli_init
   @conf['delicious.id'] ||= ""
   @conf['delicious.pw'] ||= ""
   @conf['delicious.title'] ||= "Todey's URL Clip"
end

@delicious_label_conf = 'del.icio.us'
@delicious_label_id = 'User ID'
@delicious_label_pw = 'Password'

add_conf_proc( 'delicious', @delicious_label_conf ) do
   deli_conf_proc
end

def deli_conf_proc
  if @mode == 'saveconf' then
    @conf['delicious.id'] = @cgi.params['delicious.id'][0]
    @conf['delicious.pw'] = @cgi.params['delicious.pw'][0]
  end

  deli_init

  <<-HTML
   <h3>#{@delicious_label_id}</h3>
   <p><input name="delicious.id" value="#{CGI::escapeHTML( @conf['delicious.id'] )}"></p>
   <h3>#{@delicious_label_pw}</h3>
   <p><input name="delicious.pw" value="#{CGI::escapeHTML( @conf['delicious.pw'] )}"></p>
   HTML
end

[Ruby] open-uri のHTTPS対応は1.8.3からなのかぁ

メモしとこう。


2006-08-14 (月) [長年日記] Edit

停電

会社に人がいないなあ。

[映画] ビューティフル・マインド [DVD]

ジョン・ナッシュの病気(統合失調症:幻覚が見える)に焦点をあて、彼の人生を描いた作品。

いつの間にか描かれていた内面(主人公)から見た病気、そして、それが幻覚であると観客と共有した後の、外面(主に妻の視点)から見た病気。その描かれ方がどちらも秀逸。

老け顔のラッセル・クロウが学生時代の役を演じるのは、どうにもこうにもイヤーな感じがしたけど、まあ前半部分だけなので良しとする。


2006-08-16 (水) [長年日記] Edit

[Emacs] org-mode

t[est]-wada先生にあやかってoutline-modeを使い始めたんだけど、どうにも使いにくいので中断してたんだなぁ。で、そこで出会ったorg-mode。TABで開閉、キタコレ。Exporting機能、KTKR。わーわー。

[Rails] コントローラごとにwith_scopeを実行 scoped_accessプラグイン [開発に必須]

[必須]とありますが、舞波さんの「使ってる人ー!」で手を挙げなかった派から言わせてもらうとですね、ぜんぜん必須じゃないんですね、これ。理由は、ロールはユーザーだけじゃないからです。

Rails使ってる人の意見をあんま聞いたことないんで、もしかしたらやっぱり必須なんじゃねーかとビクビクしながら書きますけども、普通は最低でもユーザーと管理者がいるじゃないですか。で、できればコントローラーは共通にしたいのデスよ(管理者側はscaffoldでいーじゃんってのもあるけどさー、ロールは増えていくしさー、ロールごとに分けてられねーしさー)。

だもんで、

  1. :conditions には session[:loggined_user_id] じゃなくて、URLに含まれるidを使う(params[:uid]とかね)。
  2. LoginEngineとかを使ってるなら、authorize? メソッドで判定する。
protected
def authorize? user
  return true if user.admin? # adminは必ずおk
  return params[:id] == user.id
end

短所としては、自分のプロフィールを変更するときに、/users/edit?uid=1 みたいにいちいちIDを指定しなきゃいけないわけですけども、これをダサーと思うか、ロールが増えてもみんなそこにアクセスすればいいから統一してて素敵ーと思うか、ですかね。

つーか、Railsでロール管理とかどーやんだマジで。しんどいよー。

本日のツッコミ(全2件) [ツッコミを入れる]

1 t-wada [おおー、早速私も使ってみます]

2 舞波 [ツッコミに一杯書いたら消えた! えっと、えっと、自分のブログに書きます><]


2006-08-17 (木) [長年日記] Edit

[] 親知らずが腫れてダウン

昨日から親知らずのところ(まだ生えてない)が痛いと思っていたのだ。朝起きたら、ものすごい勢いでほっぺたが腫れてて、熱まで出てるよ。で、まったく口が開かない。あぐー。歯医者に行って抗生物質もらって帰ってきたが、ぜんぜん良くならないので会社休んだ。

休みの歯医者が多い

木曜日 && 夏休み期間なので、最寄り駅周辺の歯医者が全滅。口コミで評判の高いところも休み。仕方ないので駅から離れたところにある歯医者に行ったら、大当たりだった。爺さんなんだけどね、町医者的な感じですごい良かった。

まだ親知らずが生えてないので、抜くとしたら切開手術(!)するわけだが、そうすると何度か通わないと行けないので、会社の近くの歯医者を紹介してくれた。この「他の医者を紹介してくれる」ってのがイイ。こういうところを各科ひとつはキープしときたいなあ。

あと、インターネット使うんだったら医療機関案内サービス「ひまわり」を使えと言われた……が、こんなの検索で見つからなかったよ?

[映画] ウォレスとグルミット 野菜畑で大ピンチ! スペシャル・エディション [DVD]

爆笑じゃない気の利いた笑いが少々。ブラックなものばかり見慣れていると、この上品さには照れてしまいますが、それでも全体的にものすっごく丁寧に作ってあるなーという印象。ラストは無理矢理な感じがしなくもないけど。

「シリコンバレー精神」読了

下請け・受注開発型の中小零細企業は、いくら技術力がすごくてもベンチャーと呼ぶのはやめよう。(p.103)

ほう。


2006-08-18 (金) [長年日記] Edit

J >>>>>> K

Gmailって、[K]より[J]のほうが速くね?(オレだけ?)

Oldestから昇順に読んでたんだけど、降順にしたほうが良さげ。

本日のツッコミ(全1件) [ツッコミを入れる]

1 yoosee [正確なところはJavaScriptを読まないとあれだけど、[J](次を読む)の場合は次のメールが予めcacheされる..]


2006-08-19 (土) [長年日記] Edit

BOOM BOOM SATELLITES FUJIROCK FESTIVAL05 LIVE CUTS [DVD](ブンブンサテライツ)

かっこいい。しかも安い。¥1,999 (税込み) 。

[芸能人] クドカンとすれ違った。

吉祥寺にて。どうやら楳図先生並に目撃されるらしいんだけども。


2006-08-24 (木) [長年日記] Edit

[DB] ADBの資料

あ、勘違いしてた。

「同じタイミング」で使うものをIRE(Inter Relation Entity)に対して、FK指定する

ここなのかぁ(いきなりIREって言葉が出てきてるけど)。

[Rails][Test] 第6回 オープンソーステクノロジー勉強会

バスで行ったら道迷った。うー。六本木はアウェイだなあ。

  • KBMJにはRailsで作ったSNSがあるのかあ
  • Rails と Selenium
    • うおーはてなに書いていらっしゃるのか。subscribeと。
  • DB初期化用のアクションを定義する
  • テストは時間がかかるので、とりあえずコミットしといてContinuum側でテストさせる。失敗したら全員にメールが飛ぶ(あとから直せばいいじゃん)。ありかも。
  • "Building Scalable Web Sites" のテストガイドライン

全然関係ないけど、Safe ERB (Rails Plugin)

おおお。

帰り道にmasuidriveさんが

またネットで会いましょう!

と言って去っていったのが、さわやかなのかなんなのかよく分かんねーということで話題になりました。

飲み会

懇親会を避けて6人で。会社の人の話を他の会社の人から聞く。えーーー。

本日のツッコミ(全1件) [ツッコミを入れる]

1 masuidrive [ネットの住人だからですよw]


2006-08-25 (金) [長年日記] Edit

(+ age 1)

自分の年齢が分からなくなりませんか。

本日のツッコミ(全5件) [ツッコミを入れる]

1 yadokarielectric [おめでとーございます]

2 thata [おめー]

3 kou [おめでとうございます. set!して代入していないから忘れるんだと思います.]

4 しばた [おめ!]

5 GLAD!! [おめでとうございます。]


2006-08-26 (土) [長年日記] Edit

[映画] 贅沢な骨 [DVD](行定勲)

アートっぽいゲロみたいな匂いがぷんぷんするぜーってことで、ストーリーについては特に何の感想もなく。いったいどこの国の話だ。それと、永瀬正敏の死んだような目がなんともイヤだ。

麻生久美子には当たり作品がないのかなぁ。


2006-08-29 (火) [長年日記] Edit

[] Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック(Jared Richardson/William Gwaltney Jr./でびあんぐる)

薄いわりに2,600円と高め。でも、監訳がでびあんぐる。内容はいたってふつうのことなので、読むべき人の目にとまるといいな。良書。

プロセスのところで曳光弾開発(TBD: Tracer Bullet Development)というのが載ってるんだけど、これって、層ごとにチーム分けしてインタフェースをきっちり分けていく、ってだけ???んーーーー???

参考文献のところに

Dynamic Html The Definitive Reference(Danny Goodman)』は「クロスブラウザWeb開発のバイブル」とある。safariに入っていたので読んでみることにする。ちょっと古い(2002年)し、全1418ページとかゆってるけど!(えー)

[アイデア] リアルタイムなオークションシステム

  • 入札価格の間隔は固定
  • クリックしたら入札(金額を入力しなくてよい)
  • クリックだけだと不安だったら、ものすごいクリック(なにそれ)で入札
  • 現在の価格は非同期で随時更新されて表示するよ

2006-08-30 (水) [長年日記] Edit

しょこたん@24時間テレビ

ようやく見れたお。

ずっと「中川翔子」タグを追っかけていたんだけど、 「中川勝彦」タグが付いてたのでした。

もうね、号泣。

自然とお父さん目線で見てしまうわけですけども、32歳という若さで人生を終えてしまうこと、また最愛の娘を残していかなければならないこと、これはどちらも本当に本当に切ない。そして、その最愛の娘があんなにも立派に育っていることが、これまた涙を誘うじゃないかッ。続きがあるならみたいぞ!

blogによく登場する桂子もキレイだったなあ(初めて見た!)。


2006-08-31 (木) [長年日記] Edit

[DB] フリーのERDモデリングツール:Toad(TM) Data Modeler

via The Joel on Software Discussion Group - Free Database Modeling Tool?

無料のERDツールってDBDesigner4くらいしか使えるものがなかったんだけど、これはいいなあ。論理モデルと物理モデルを描けるのがいいなあ。論理モデルは日本語で、物理モデルは英語表記で、ってなことができる。それに、いろんなRDBMSをサポートしてる。これぞ求めているものだなあ(烏足記法なのがイヤだけど)。

画面はダサいけど、レポート出力したやつはなかなかカッコヨイ。

有償版になると、リバースエンジニアリングができて、DFDが描けるようになるそうな(要らないよね)。

追記

いつからかフリー版は無くなってる?

以前のバージョンをダウンロードできるサイトがあったのでリンクしとく。

[WORK] メモリとモニタが欲しい!

気づいたらデザイナーさんたちのモニタがぜんぶ大きいのに変わってたお!

本日のツッコミ(全6件) [ツッコミを入れる]

1 takahashim [どれくらいほしいすか?]

2 舞波 [2Gと24インチ液晶でお願いします]

3 shachi [2Gと24インチ希望!]

4 ささだ [S2410Wを希望します。]

5 yoosee [じゃあそれを2つ。メモリは4GBお願いします。]

6 takahashim [kdmsnrさん以外の方は御見積書の送付先をご連絡くださいませ。]