Google App Engineのすごく読ませるイントロページの日本語訳

4月8日昼、Impress WatchでGoogle App Engineの情報を入手し、早速アクセスしてみたものの時既に遅く待ち行列入り。やはり7時間の時差は痛かった。。未だinvitation届かない、そんな切なさを紛らす為にイントロページの日本語訳を作ってみた。

Google App Engineに嫉妬 – 暗号、数学、時々プログラミング

解説とか、読むの大嫌いなんだけど、一気に読ませてくれた。

参考になります。

Share

Pythonでのクロージャについて(追記あり)

Pythonでリファレンスを見ながら初めてコーディングしたためクロージャの実装で悩んだ。

最初、C#とかと同じ乗りで

def nabeatsu():
    value = 1
    def reader():
        isAho = value % 3 == 0 or str(value).find('3') >= 0
        isDog = value % 5 == 0
        if isAho:
            print 'あほ'
        if isDog:
            print 'わん!'
        if not isAho and not isDog:
            print value
        value = value + 1 #5/10まで間違ったサンプルになっていたのを修正(5/11)
        return reader
runner = nabeatsu()
for value in xrange(1,40,1):
    runner()

としたら、runner()を実行したときに、

valueなんてローカル変数無いよ。

と言われてしまった。

どうも、このままだと外側のコードブロックにある変数を見てくれないらしい。

だから、どうやってやるんだろうといろいろと調べていたら、どうも、下記コードのように配列とすると、外側のコードブロックにある変数にアクセスできるっぽい。

def nabeatsu():
    value = [0]
    value[0] = 1
    def reader():
        isAho = value[0] % 3 == 0 or str(value[0]).find('3') >= 0
        isDog = value[0] % 5 == 0
        if isAho:
            print 'あほ'
        if isDog:
            print 'わん!'
        if not isAho and not isDog:
            print value[0]
        value[0] = value[0] + 1
        return reader
runner = nabeatsu()
for value in xrange(1,40,1):
    runner()

でも、配列にする必要が無いので、ちょっと気持ち悪いと思って更に調べたら定義した関数にプロパティを持つことが可能らしく、結局下記のコードで落ち着いた。

追記:

下記の例でPythonのクロージャとして落ち着いたと書きましたが、runner = nabea2()でファンクションを取得した後、runner.value = 値で外部から変更できてしまうので(つまりvalueのスコープが広すぎる。)、結局、二つ目の配列を使った例が(気持ち悪いけど)クロージャなのかなと。

def nabea2():
    def reader():
        isAho = reader.value % 3 == 0 or str(reader.value).find('3') >= 0
        isDog = reader.value % 5 == 0
        if isAho:
            print 'あほ'
        if isDog:
            print 'わん!'
        if not isAho and not isDog:
            print reader.value
        reader.value += 1
    reader.value= 1
    return reader
runner = nabea2()
for value in xrange(1,40,1):
    runner()

nabea2メソッドの中でreaderメソッドを定義し、その後readerメソッドをreaderメソッドのvalueという名前のプロパティを1に初期化した上で戻り値として返しています。

Share

WindowsXPの提供期間は十分に長かったと思う

MicrosoftがWindowsXPを提供し続けている間にAppleはOSXをユーザに何回アップグレードさせたんだろう。

たまに見る

「Microsoftは既存のユーザを見捨てるのか。」

といった的外れな発言は、是非Appleに向けて言って欲しい。

それにしても、Vistaは、もっと熟成してから出せば良かったと思った。

それが許されない理由も分かるのだけれど。

個人的には、Vistaは嫌いじゃない。

Share

スーパーアグリF1チーム(SAF1)F1世界選手権から撤退

スーパーアグリF1チーム(SAF1)は、本日、F1世界選手権から撤退することを決定した。2006年からプライベーターチームとしてF1に参戦し、昨年はチーム結成22戦目(スペインGP)で初ポイントを獲得、2007年のランキング9位という成績を残したSAF1のF1における活動は本日、その幕を閉じることになる。

SUPER AGURI F1 TEAM | 2008年トピックス

GW中にあった一番悪いニュースである。

今年は、最初から財政難で初戦の参加すら危ぶまれていただけに、スペインGPまで見られた事は嬉しかった。

それでも、残念の一言しか出てこない。

「んー。」という感想だ。

もう少し、あと少しだけ彼らの雄姿を見届けたかったが、とりあえずは「お疲れさま。」といいたい。

Share
カテゴリー: F1

D02HWが届いた。そしてユーティリティが即強制終了

EMOBILEのアウトレットで買ったemチャージ用のD02HWが届いた。

最初から14000円分チャージがついて、17980円で購入したので、実質モデムの代金は3980円だ。

D01HWなら14980円だったんだけど。

早速MacBookで接続してみようと思い、ユーティリティをインストールしてみたのだが、どうも起動すると即強制終了する。

困ったなと思いつつ、ネットを検索したら、どうも同じ現象に悩んでいる人が結構いたみたいで回避方法が載っていた。

OSのネットワーク環境設定で新しくモデムが追加されているから、それのダイアルアップの設定をすれば良いらしい。

というわけで、早速やってみたら、ユーティリティが強制終了しなくなった。

(ダイアルアップの設定がNullだと駄目なのかな?)

その流れでemチャージ用の設定変更をし、emチャージのサイトに接続して、サービスの利用開始をして、スピードテストをしてみたら、

下り2.4Mbps 上り320Kbps

だった。

7.2Mbpsが上限なので、それには足りないけど、ネットで調べた感じだと悪くない数字っぽい。

とりあえず、満足。

たまにしか使わないので、使う時は1日定額640円プランで使えば良いかなと思う。

1MBあたり63円なので、1日定額で使った方が明らかに安全だ。

ちょっとスピードテストしただけで、5MBだったので、既に315円。

今日はもう使わないからいいけどね。

Share

VMWare Fusionの新しいアップデータ1.1.2でTime Machineとの問題が解消されている

VMware Fusion 1.1.2 と Mac OS X Leopard Time Machine の問題を修正

* Mac OS X 10.5-10.5.1 オペレーティングシステムのバグは、Time Machine が使用中の仮想マシンをバックアップしようとするとシステムを異常終了させる。これを避けるため、VMware Fusion 1.1 では Time Machine のバックアップからすべての仮想マシンを除外した。Apple は Mac OS X 10.5.2 でその Time Machine のバグを修正したため、VMware Fusion 1.1.2 は Mac で Mac OS X 10.5.2 以降が実行されている場合は Time Machine による仮想マシンのバックアップを可能にした。

ヴイエムウェア フュージョン[VMware Fusion

これで、仮想イメージもTime Machineの対象にできるようになりました。

Share
カテゴリー: mac

responseHeaderEncodingとsafariと文字化け

ASP.NETで日本語名のファイルをダウンロードするときは、ブラウザの「開く」動作で文字化けしないようにweb.configのglobalizationに

responseHeaderEncoding="Shift-Jis"

と設定するんだけど、このファイルをsafariでダウンロードするとものの見事に文字化けする。

しかも、ダウンロードしたファイルを開こうとしてもExcelでは開けないような化け方をする。

Share

ヘッダ固定、列固定スクロールのテーブル

What are Super Tables?

Something that's not really that super yet but may be someday. Super Tables are large HTML tables enhanced with cross-browser fixed vertical and horizontal scrolling headers with custom skins and features.

Super Tables – HTML Tables with Fixed Headers and More

ヘッダ固定、列固定スクロールのテーブル。

とりあえず、メモ。

Share

ActiveReports For .NET2.0と3.0の共存について

全く問題なく共存できるんだけど、ActiveRpoerts For .NET 3.0をインストール後にVisualStudio2003で作成したActiveRpoerts For .NET 2.0を利用したプロジェクトのActiveReports.Webだけなぜか参照先が3.0になってしまう。

参照設定をやり直せばすぐ解決する問題ですが、ビルドしようとして、「なんで?」となったので書いておきます。

Share
カテゴリー: .NET