Monthly Archives: August 2009

Snow Leopardをインストールしました。

(Up-to-dateプログラムでは到着がだいぶん先のようだったので)Snow Leopardを発売日に購入し、その日の夜にインストールしました。

見た目において目新しい新機能もないので、特に書くことはないといえばないのですが、とても快適に使えているということが何よりもいいことなのかもしれません。

特になにもせずLeopardからインストールすると、クリーンインストールではなく上書きアップデートになります。
上書きアップデートは嫌だなぁと微妙に思ってはいましたが、そんなに調子が悪かったりするわけではなく、むしろMacPortsでインストールしたアプリケーションが、しばらくの間はSnow Leopardではコンパイルできないということもあり、上書きインストールでよかったのではないかと思っているところです。

書くことはないと書きましたが、一つ一つがブラッシュアップされているというのは誇大広告ではないと感じます。

たとえば、iPhoneプログラミングに必須のXcode。これもいろいろと新しくなっていて、新機能の静的アナライザなどを使ってみましたが、メモリリークしそうな箇所をしっかり教えてくれるので、とても感動しました。

64-bit版のSafariを使用していて、Flash Playerが32-bitでも1 別プロセスで動くのでYouTube等問題なく視聴できます。
Windowsでは32-bit版と64-bit版のInternet Explorerが用意されていましたが、こちらはすごくスマートなやり方だなぁと感じました。

いろいろなアプリケーションが64-bit化されましたが、64-bitアプリケーションを使っているという感触がありません。
SIMBLが動かないとか、そういうところで感じることはなきにしもあらずですが(笑)。
それは16-bitから32-bitに移ったときのようなリソースが不足しているというような状況ではないからなのかもしれません。

Snow Leopardでしっかりと地盤を固めてくれたものと思っているので、次のOSアップデートにはさらなる期待がふくらむところです。

P.S.
それにしても皆さん、すごい勢いでアップデートされていますね。
Analyticsで比率を見ていると30日ではMac OS Xを100%とすると、40%を超えています。

  1. インストールされているものは32-bitのものです []

ssl_requirement pluginでssl_required(:all)と書きたい!

Ruby on RailsでSSLで通信する必要があるページには、DHH謹製らしい?ssl_requirement pluginを使用すると、以下のようにに簡単にhttpsにリダイレクトしてくれるようにできます。

class Hoge < ApplicationController
  ssl_required(:index)  # インデックスページだけSSLで通信する。

  def index
    # some crazy codes ...
  end

  def show
    # some rotten codes ...
  end
end

残念ながら、このssl_requiredはアクションに:allとか書いてコントローラ全部を対象にするというようなことができません。
allというアクションを定義する場合もあるからこうなっているのかもしれません。

コントローラ全体にSSL通信をさせるようにするための方法については、コントローラ全体をssl強制に – 車輪の再発明というサイトに、trueを返すssl_required?メソッドを定義する方法が書かれています。

現在書いているRailsアプリでも同様のことが行われているものの、いかんせんたびたび見る気がしてきて、クラスメソッドにしようかと思いました。
でも、すでにssl_requiredというメソッドがあるところに、さらなる同じようなメソッドを作るのは避けたいし、やっぱりssl_required(:all)と書きたいと思いました。

そこでalias_method_chainを使用して、ApplicationControllerをこんな風にしてみました。

class ApplicationController < ActionController::Base
  include SslRequirement

  # some codes...

  class << self
    def ssl_required_with_all(*actions)
      if actions.include?(:all)
        class_eval do
          def ssl_required?
            true
          end
        end
      else
        class_eval do
          ssl_required_without_all(*actions)
        end
      end
    end
    alias_method_chain(:ssl_required, :all)
  end
end

まともにclass_evalとかがわかっていないので、かなり怪しいです!!!

FriendFeed、始めました。

なにごとも便利なものに飛びつくのが遅い、というか情報を知るのが遅いような気がしていますが、先日からFriendFeedを始めました。
ブログを書いている人が FriendFeed を始めるべき7つの理由というエントリを読んで、だいぶん便利そうだなぁと思ったので、使ってみることにしました。

自分のFriendFeedはここになります。
milkcocoa – FriendFeed

ただ、最初はどうやって自分のFeedを登録するのかいまいちわからなかったので、UIをブラッシュアップして使いやすくなってくれると最高です。

このblogの更新はもちろん、twittertumblr先に挙げた早起き生活、etc。。。全部集約できているのがいいなぁと思います。

上記のエントリに利点が全部説明し尽くされているので、ここで改めて説明する必要もないのですが、他の人をfollowすればその人がFriendFeedに登録してあるフィードをすべて、同時に見ることもできるのが便利だったり、いろいろグループ分けしてフィルター代わりになったりとかとか。

Imaginary Friendとかをたくさん作って、うまいことフィードを分類して読みたいなぁと思うところです。
いろいろと使い倒せば相当便利なツールになりそうな気がしています。

早起き生活、始めました。

以前は帰りに英語などをやっていたのですが、どうもそれだと疲れてしまって頭が働かない!ということで、朝にずらしてみました。
最近自分の周りで早起きさんが多いこともあり、少しでも仲間はいた方がいいです。

目標の生活としては

5:00 起床
5:00 – 5:30 モーニング・ページを書く。
5:30 – 6:30 入浴や準備など。
6:30 – 8:00 電車。
8:00 – 10:00 英語等。

という流れにしたいところです。
今のところはまだうまくいっていません。
起きるのが5:30以降だったり、今朝は5:00前に起きたのにもかかわらず、MacBook Proに麦茶をぶっかけてしまい一時起動不能になりモーニング・ページどころではなかったとかですね。

そして、そんな生活を支援すべく「早起き生活」というWebサービスに入り、記録を付け始めました。
milkcocoaの早起き日記 – 早起き生活

blogのサイドバー的なものに1週間分の記録を表示できるものを貼りました。
早起き生活
Powered by 早起き生活

これは朝起きてページを開いて、「いま起きた!」ボタンをクリックすればいいだけなので、楽ちんです。
できるだけ長く続けて、8月2日のように休みの日でも遅く起きるというようなことはできる限りなくしていきたいところ。

ちなみにMacBook Proは1時間半後に無事起動するようになり、内部を開けて少したまっていた水分を拭き取りました。
ぶっかけてあっっと思った1秒後、電源が切れ、液晶がぷーんと音を立てるような感じで電気が落ちて暗くなり、本当にオワタ\(^o^)/と思いました。