capsctrldays

2009-01-01 (木) [長年日記] Edit

初夢

自分でコントロールできなくなって不安になるという夢を見た。これは、他人に任せた方がいいということなのか、任せたら自分がバカを見るということなのか。


2009-01-02 (金) [長年日記] Edit

大宮八幡宮

帰り道なので寄ってみたところ、意外と大きかったのでビックリした。 屋台もたくさん出てたし。来年はここに初詣に来ようと思う。

[] 和牛炭火焼肉「神山亭」

八幡宮の近くの焼き肉屋。けっこー人気らしく、1時間くらい並ばされた。牛のいろんな部位を出してるので、肉好きにはいい店かもしれない(それなりに高いけど)。ためしに希少価値盛(3種盛)というのを注文してみた。おいしゅうございました。


2009-01-03 (土) [長年日記] Edit

[映画] テネイシャスD 運命のピックをさがせ!プレミアム・エディション [DVD]

ものすごいボンクラ。感動した。

それにしても冒頭の子供はすごいな。JBそっくり。


2009-01-04 (日) [長年日記] Edit

[] 3分でわかるラテラル・シンキングの基本(山下 貴史)

「その発想はなかったわ」っていう思考のことをラテラル・シンキングと呼ぶらしい。 それはいいんだけど、文章の書き方がよろしくない。 対比のためにロジカル・シンキングをdisってるけど、そんなにガチガチな考え方の人はいねーだろ。

で、ラテラル・シンキングのためのツールがいろいろと紹介されている。 視点を変えたり、前提を変えたり、発想法を使ってみたり。 それはそれでいいんだけど、誰かの引用でしかないので、羅列されてるだけ。 なので、「参考・推薦文献」がいちばん役に立つんじゃないかな。

[] 「見える化」仕事術(石川 和幸)

全体的にレベルが低いような気がする。

MECEは初歩。根本原因を探るといにはダブって登場することもある。というのはその通りだが、HOWとWHYの2つあることを前提とすれば、まあそりゃ当たり前だよという感じ。


2009-01-05 (月) [長年日記] Edit

[映画] HERO スタンダード・エディション [DVD]

TVでやってたやつ。松たか子のメガネはいいなーという話。 っていうか、そもそも弁護士は勝てないだろあれ。


2009-01-06 (火) [長年日記] Edit

億万長者の「応援力!」 能力がなくても誰でもできるゼロからの成功術

TSUTAYAのビジカレDVDは気持ち悪くっていいね!ってかこの人誰なの?

「悲惨なプロフィール(この人で言えば毎日牛丼を食べてた)は重要」というのはそうかもしれない。


2009-01-07 (水) [長年日記] Edit

[] メガヒットの「からくり」―実例で読み解く発想法とテクニック (角川SSC新書)(安部 徹也)

よく知られていることを寄せ集めただけな感じがする。あくまでも観測者。レベルは低い。 だからといって参考にならないわけでもないので、読んでもいいのかもしれない。 ただ、売り方については素人の域を出てないので無視。

  • 「いかに競合企業のいないマーケットを探し当てるか?」
  • 「こだわり消費」こだわる商品は高くても買う

[] 事例でわかる! ブランド戦略【実践】講座(水野 与志朗)

これはいい本。「自分が一番手になれるカテゴリーを作り出す戦略」。

  • 初めて見る「カテゴリー」には人は興味を持つ
  • 誰との違い」を打ち出すのか
    • 相手をネガティブに解釈する
    • ネガティブな解釈を真反対にする(差別化ポイント)
    • 真似されにくいコンセプトを構築する(ジレンマの領域)
    • 差別化ポイントをまとめてカテゴリにする
  • 差別化が困難ならHOWで差別化する(仕事のやり方)
  • 白鳥麗子なネーミング
  • ブランドステートメント(何をやるか、やらないか: DO'S&DON'TS)

2009-01-10 (土) [長年日記] Edit

[映画] ドラゴン・キングダム プレミアム・エディション [DVD]

共演自体は喜ばしいことではあるけれど、いかんせんストーリーがなあ。映画館で見なくて良かった。


2009-01-11 (日) [長年日記] Edit

[] 第44回元祖有名駅弁と全国うまいもの大会 @京王百貨店

マツコ・デラックスが楽しみだと言ってたので行ってきた。

いやー休日に行くべきじゃないね。人大杉何なのバカなの状態。並ばないで買えるものだけ買って帰った。

  • 島根県山陰本線/松江駅「およぎ牛弁当」
  • 岩手県山田線/宮古駅「いちご弁当」
  • 熊本県肥薩線/人吉駅「鮎すし」
  • 京都府山陰本線/園部駅「栗めし」

いちご弁当いまいち。まあウニが嫌いだからなんだけど。鮎すしはマジでダメだわ。鮎は焼くに限る。あとはおいしかったよ。


2009-01-12 (月) [長年日記] Edit

[JS] NicEditの日本語化

"function __(A)"はあらかじめ記述されているので、そこを埋める。翻訳対象になっていない箇所は__('')で囲ってあげる。

function __(A){
   nicEditorI18N={};
   nicEditorI18N.ja_jp = {
       'Click to Bold' :'太字',
       'Click to Italic' :'斜体',
       'Click to Underline' :'下線',
       'Left Align' :'左寄',
       'Center Align' :'中央',
       'Right Align' :'右寄',
       'Justify Align' : '均等',
       'Insert Ordered List' :'番号付きリスト挿入',
       'Insert Unordered List' :'箇条書きリスト挿入',
       'Select Font Size' :'フォントサイズ選択',
       'Select Font Family' :'フォントファミリ選択',
       'Select Font Format' :'フォントフォーマット選択',
       'Click to Subscript' :'下付け',
       'Click to Superscript' :'上付け',
       'Click to Strike Through' :'字消し',
       'Remove Formatting' : 'フォーマット解除',
       'Remove Indent' :'インデント解除',
       'Indent Text' :'インデント',
       'Horizontal Rule' :'水平線',
       'Change Text Color' :'テキスト色変更',
       'Change Background Color':'背景色変更',
       'Add Image' :'画像追加',
       'Edit HTML' :'HTML編集',
       'Add Link' :'リンク追加',
       'Remove Link':'リンク解除',
       'Add/Edit Link' : 'リンク追加/変更',
       'Add/Edit Image' : '画像追加/変更',
       'Alt Text' : 'ALT',
       'Left' : '左',
       'Right' : '右',
       'Open In' : 'ターゲット',
       'Current Window' : '現在のウィンドウ',
       'New Window' : '新しいウィンドウ',
       'You must enter a URL to Create a Link' : 'URLを入力してください'
   };
   return nicEditorI18N['ja_jp'][A] || A;
}

2009-01-13 (火) [長年日記] Edit

[] 新ナニワ金融道 3 決戦風雲怒濤!!編 (GAコミックス)(青木雄二プロダクション)

途中で話に着いていけなくなったが、金畑社長の腹黒さは伝わった!!

作画崩壊してるところが多々ある。


2009-01-17 (土) [長年日記] Edit

[] 女帝花舞 1巻 (ニチブンコミックス)(倉科 遼/和気 一作)

『女帝』の娘の話。『女帝』では主人公目線で見てたけど、今回は母親目線で見られるのが面白い。ただ、これも構造は同じだな。原作者の人は同じ話しか書けないらしい(『夜王』も一緒だしね)。せっかく20巻くらいまで読んだので、とりあえずは全部読む予定だけど。

フィクサーの登場はちょっとアレだなあ。なんで前作で出てこなかったのか。

[] ネイチャージモン 1 (ヤングマガジンコミックス)(寺門 ジモン/刃森 尊)

面白かった。やりすぎコージー見てたから知ってたネタだったけど、漫画がよくできてる。

参考

[たい焼き] くりこ庵@荻窪

小倉あん、紫いもあん、しろあんを食べた。小倉はいまいち。紫いもあんは緑に変色するらしくてちょっとビビったけど、味はおいしかった。しろあんは栗が入ってて上品な和菓子っぽい。普段食べる分にはいいかも。

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

1 kou [しろあんにも栗が入っているんですか! 今度食べてみよう。 くりこあんもおいしかったですよ! 1軒で数種類買うよ..]

2 kdmsnr [あ、しろあんに栗がくりこあん?]

3 kou [私も、食べたときはしろあん+栗だと思ったのですが、栗あんというらしいですよ。くりこあんのやつは。 くりこあんだった..]


2009-01-18 (日) [長年日記] Edit

キバ最終回

いつものことだが、最終回直前でバタバタするのはよくない! ちょっと消化不良気味だけど、兄弟でキックはよかった。それだけだ。

今回の作品ではお父さんが群を抜いてカッコよかったなあ。次点でお兄ちゃん。ああいう仮面ライダーに今後も登場してもらいたい。


2009-01-19 (月) [長年日記] Edit

[セミナー] 改善屋本舗新春特別セミナー

栢野克己さんが講演されるということで、直前に申し込んで行ってきた。前半の人事の話はまあ、ああいうのもあるよねってことで。栢野さんの講演内容はちょっと前にアップされた動画とだいたい一緒だったけど、実際に目の前で見るというのが新鮮でよかったなあ。話がうまい。できれば月末のアントレのセミナーにも参加したい。

それはそうと、観客のなかに自己啓発マニア(笑)な人がいたんだけど、本当にそういう人ってのがいるんだなあ。ジェームス・スキナーの火の上を歩くやつに参加したって言ってた。そういうのにハマる心理を考えてみるのが興味深い。


2009-01-20 (火) [長年日記] Edit

[Rails] error_message_onでI18nを使う

ふつうに使うと「を入力してください。」になっちゃうので、これを「タイトルを入力してください。」みたいに表示させる。plugin化するとよいかも。

ActionView::Helpers::ActiveRecordHelper.module_eval do
# ...
  def error_message_on(object, method, *args)
# ...
     content_tag("div",
                 "#{options[:prepend_text]}" +
                 I18n.t("activerecord.attributes." + object.class.to_s.underscore + "." + method.to_s,
                 :default => method.to_s) +
                 "#{errors.is_a?(Array) ? errors.first : errors}#{options[:append_text]}",
                 :class => options[:css_class]
                 )

2009-01-21 (水) [長年日記] Edit

[JS] parseuri.jsでパラメータの値を書き換える

一覧画面でカラム名押したらソート順が変わる、みたいなときに使ったり。 他にもっと賢いやり方あるのかもしれないなあ。

function parseUri (str) {
  ...
  uri.href = function() {
      var params_arry = new Array();
      for (i in this.queryKey) {
          params_arry.push(i + '=' + this.queryKey[i]);
      }
      if (params_arry) {
          return this.protocol + '://' + this.authority + this.path +
                 '?' + params_arry.join('&');
      } else {
          return this.source;
      }
  };
  return uri;
}

USAGE:

uri = parseUri(location.href);
uri['order'] = 'created_at';
uri['order_direction'] = 'DESC';
location.href = uri.href();

[Rails] Rails Code Review PDF

ざっとまとめ。

セッションをDBに保存する

  • 定期的にセッションデータを削除する
namespace :session do
  task :prune => :environment do
    CGI::Session::ActiveRecordStore::Session.delete_all(
      ["updated_at < ?", 2.weeks.ago]
    )
  end
end

設定ファイルを作る

config/settings.yml に設定ファイルを保存。

config/initializers/load_config.rbに、

APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/settings.yml")[RAILS_ENV].symbolize_keys

とか書いておく。

使い方は、

APP_CONFIG['site_url']

Bortだと最初からやってくれてるけどね。

セッションにはオブジェクトではなく:user_idだけ保存する

まあそうね。

protected
def current_user
  session[:user_id].blank? ? nil : User.find(session[:user_id])
end

を追加してみるとか。

ar_mailer使うとよい

らしい?

gem install ar_mailer_generator

監視

  • ExceptionNotification/ExceptionLoggerを使う
  • log_analyzerを使う(gem install production_log_analyzer)
  • godを使う(gem install god)
  • Muninで監視してみる

テスト

  • dustが簡単でいいかも(gem install dust)

その他

  • loglotateしろ
# at /etc/logrotate.d
/var/www/example.com/current/log/*.log {
    monthly
    rotate 12
    compress
    notifempty
    missingok
}

こんなかんじ?


2009-01-27 (火) [長年日記] Edit

[セミナー] CCPM入門

ある程度理解はしてたけど、やっぱり「計画」であるからには事前にタスクが明確になってなきゃいけないんだなあ。だから建設業では大幅に納期短縮できるというのはすごく納得できる。そしてその他の業界では、納期という意味ではあまり期待できないということは容易に推測できる。ただし、納期以外のところで、例えば進捗率を「大丈夫です」「頑張ります」ではなく、「あと何日」や「バッファが赤です」などで報告できるというのはメリットだ。

まあ、ツール次第だなあ。あと、マルチプロジェクトはやっぱ難しいっぽいぞ。

  • 人間の営み(しかも悪いクセがある!)という視点
  • 人間→ベータ分布、機械→正規分布
  • 2ABP = HP
  • バッファ管理だけ!
  • ABPでの見積もりという慣れが必要
  • マルチプロジェクト
    • シンクロ法
    • フレックス法

2009-01-28 (水) [長年日記] Edit

[Rails] attachment_fuのリサイズで縦横どちらかだけを固定する

横を固定する

:resize_to => "85x>"

縦を固定する

:resize_to => "x85>"

85より小さいものが85にまで拡大することはない。


2009-01-30 (金) [長年日記] Edit

[Rails] editとupdateだけにする

A has_one B のとき、a.b ってしたら必ずbを返して欲しい(nilはいやだ)。みたいなときは、alias_method_chain を使う。

class A < ActiveRecord::Base
  has_one :b

  def b_with_create
    b_without_create || B.create(:a_id => id)
  end
  alias_method_chain :b, :create
end

すると、Bコントローラでは edit と update だけでよくなったりする(/a/:a_id/b/edit みたいなアクセス)。

[Rails] もう<select>ばっかで死ねる

業務アプリだとありがち。楽に書きたい。

<%= f.select :prefecture_id, options("Prefecture") %>

こうやって書けるといいのかなあ。ヘルパー用意する。

 # in application_helper.rb
 def options(klass)
   Object.const_get(klass).find(:all).map {|i| [i.name, i.id] }
 end

マスタのカラム名は id, name で統一しとく。