麦酒堂
RSS
エントリ一覧
カテゴリ一覧
月別一覧
スープカレー[10 entries]
AH-K3001V[5 entries]
Beer[881 entries]
Books[11 entries]
Camera[16 entries]
Cygwin[10 entries]
iPhone[2 entries]
Java[9 entries]
JavaScript[6 entries]
Linux[67 entries]
mac[12 entries]
Movabletype[15 entries]
.NET[2 entries]
Photos[24 entries]
PHP[8 entries]
Ruby[7 entries]
Underground[11 entries]
WX310SA[4 entries]
早起きブログ[11 entries]
2010年03月[11 entries]
2010年02月[18 entries]
2010年01月[17 entries]
2009年12月[22 entries]
2009年11月[13 entries]
2009年10月[6 entries]
2009年09月[11 entries]
2009年08月[33 entries]
2009年07月[19 entries]
2009年06月[16 entries]
2009年05月[17 entries]
2009年04月[15 entries]
2009年03月[16 entries]
2009年02月[35 entries]
2009年01月[11 entries]
2008年12月[20 entries]
2008年11月[18 entries]
2008年10月[18 entries]
2008年09月[16 entries]
2008年08月[12 entries]
2008年07月[11 entries]
2008年06月[18 entries]
2008年05月[15 entries]
2008年04月[4 entries]
2008年03月[13 entries]
2008年02月[13 entries]
2008年01月[10 entries]
2007年12月[11 entries]
2007年11月[21 entries]
2007年10月[11 entries]
2007年09月[16 entries]
2007年08月[11 entries]
2007年07月[14 entries]
2007年06月[24 entries]
2007年05月[20 entries]
2007年04月[15 entries]
2007年03月[29 entries]
2007年02月[24 entries]
2007年01月[21 entries]
2006年12月[14 entries]
2006年11月[14 entries]
2006年10月[26 entries]
2006年09月[28 entries]
2006年08月[16 entries]
2006年07月[37 entries]
2006年06月[30 entries]
2006年05月[27 entries]
2006年04月[25 entries]
2006年03月[32 entries]
2006年02月[22 entries]
2006年01月[31 entries]
2005年12月[19 entries]
2005年11月[25 entries]
2005年10月[37 entries]
2005年09月[14 entries]
2005年08月[30 entries]
2005年07月[23 entries]
2005年06月[16 entries]
2005年05月[33 entries]
2005年04月[14 entries]
2005年03月[12 entries]
2005年02月[26 entries]
2005年01月[16 entries]
2004年12月[28 entries]
2004年11月[10 entries]
2004年10月[19 entries]
2004年09月[13 entries]
2004年08月[17 entries]
2004年07月[19 entries]
2004年06月[10 entries]
2004年05月[16 entries]
2004年04月[17 entries]
2004年03月[32 entries]
2004年02月[23 entries]
2004年01月[35 entries]
2003年12月[29 entries]
2003年11月[25 entries]
2003年10月[15 entries]
麦酒堂 TOP > >
<< 前の月
次の月 >>
  • 20090923 001591
    本日のビール - 9/22
    miz 2009-09-23 09:32
    このエントリーを含むはてなブックマーク はてなブックマーク - 本日のビール - 9/22
    • ペールエール - 箕面ビール
    • ベルジャンペールエール - 箕面ビール

    渋谷の東急東横店で開催中の第五回なにわうまいもん市にて。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090921 001590
    本日のビール ビアフェス横浜編 - 09/19 20
    miz 2009-09-21 09:18
    このエントリーを含むはてなブックマーク はてなブックマーク - 本日のビール ビアフェス横浜編 - 09/19 20
    1. ゴールデンエール - サンクトガーレン
    2. アンバーエール - サンクトガーレン
    3. ブラウンポーター - サンクトガーレン
    4. 湘南ゴールド - サンクトガーレン
    5. YOKOHAMA XPA - サンクトガーレン
    6. スイートバニラスタウト - サンクトガーレン
    7. ◎ペールエール - サンクトガーレン
    8. ボヘミアンピルスナー - 横浜ビール
    9. ヘーフェヴァイツェン - 横浜ビール
    10. 開港ラガー - 横浜ビール
    11. 横浜ホワイト - 横浜ビール
    12. ◎なまはげボック - あくらビール
    13. ビスケットヴァイツェン - あくらビール
    14. 秋田美人のビール - あくらビール
    15. レッドエール - みちのく福島路ビール
    16. ニヘデビール(ソフト) - 南都サンゴ地ビール
    17. ニヘデビール(ハード) - 南都サンゴ地ビール
    18. スタウト - 杉能舎麦酒
    19. シェーンアルト - ホテルオークラ福岡
    20. 明石海岸ビール - 明石麦酒
    21. 明石浪漫ビール - 明石麦酒
    22. 明石黒ビール 悠久の刻 - 明石麦酒
    23. レッドラガー - モクモクビール
    24. グランブルー - 城端麦酒
    25. 俺の味 - 城端麦酒
    26. 俺の黒 - 城端麦酒
    27. 十字峡 - 宇奈月ビール
    28. ポーター - スワンレイクビール
    29. アンバースワンエール - スワンレイクビール
    30. 越乃米こしひかり仕込み - スワンレイクビール
    31. スワンレイクエール - スワンレイクビール
    32. ベルギーホワイト - こぶし花ビール
    33. ピルスナー - こぶし花ビール
    34. ◎メルツェン - こぶし花ビール
    35. とちのめぐみ - とちのめぐみ
    36. スタウト - 那須高原ビール
    37. ヴァイツェン - 猪苗代地ビール
    38. ピルスナー - 猪苗代地ビール
    39. ゴールデン エンジェル - 猪苗代地ビール
    40. ラオホ - 猪苗代地ビール
    41. スパークリングフルーツ 赤ぶどう - 鳥の海
    42. スパークリングフルーツ 白ぶどう - 鳥の海
    43. なまらう米!!ビール - シャトービール
    44. 社長のよく飲むビール - はこだてビール
    45. ケルシュ - 大沼ビール
    46. アルト - 大沼ビール
    47. インディアペールエール - 大沼ビール
    48. モール温泉ビール - 十勝ビール
    49. ヴァイツェン - オホーツクビール
    50. WEIZEN - NORTH ISLAND BEER
    51. ◎IPA - NORTH ISLAND BEER
    52. ◎コリアンダーブラック - NORTH ISLAND BEER
    53. 赤鬼レッドエール - 鬼伝説地ビール
    54. ◎フルーティートマト - 鬼伝説地ビール
    55. ◎金鬼ペールエール - 鬼伝説地ビール
    56. ◎宍道湖MOON スイーツヴァイツェンボック - 松江地ビールビアへるん
    57. ペールエール - 松江地ビールビアへるん
    58. ◎ショコラ No.7 (4.5年熟成) - 松江地ビールビアへるん
    59. ◎ショコラ No.7 (3.5年熟成) - 松江地ビールビアへるん
    60. ピルスナー - 大山Gビール
    61. ヴァイツェン - 大山Gビール
    62. 大山ゴールド - 大山Gビール
    63. バーレーワイン2008 - 大山Gビール
    64. ピルスナー - 海軍さんの麦酒
    65. アルト - 海軍さんの麦酒
    66. バーレーワイン - 海軍さんの麦酒
    67. 太陽のラガー - 宮崎ひでじビール
    68. もぐら (スモーキングモールエール) - 宮崎ひでじビール
    69. ブルーマスター - ブルーマスター
    70. ◎かぼす&ハニー - ブルーマスター
    71. スタウト【黒糖】 - 城山ブルワリー
    72. ベルギーホワイト【桜島こみかん】 - 城山ブルワリー
    73. ペールエール【枇杷茶】 - 城山ブルワリー
    74. ハーブエール - 城山ブルワリー
    75. バーリーワイン '09 - ハーベストムーン
    76. ◎スモークエール - ハーベストムーン
    77. ブラウマイスターオリジナル - 牛久シャトービール
    78. ◎Brooklyn Lager - Brooklyn Lager (木内酒造ライセンス醸造)
    79. ◎W-IPA - 箕面ビール
    80. スタウト - 箕面ビール
    81. ヴァイツェン - 箕面ビール
    82. ペールエール - 箕面ビール
    83. ◎ブロンシュ - 梅錦ビール
    84. ヴァイツェン - 梅錦ビール
    85. ボック - 梅錦ビール
    86. ◎ゴールデンエール - 南信州ビール
    87. デュンケルヴァイツェン - 南信州ビール
    88. オクトーバーフェスト - 南信州ビール
    89. アップルホップ - 南信州ビール
    90. サンサンオーガニックビール - ヤッホーブルーイング
    91. 英国古酒 (2006) - ヤッホーブルーイング
    92. ナショナルトラスト - ヤッホーブルーイング
    93. シーズナル - ヤッホーブルーイング
    94. IPA ハーベストブリュー - 志賀高原ビール
    95. Harvest ale - 志賀高原ビール
    96. ペールエール - 志賀高原ビール
    97. ◎Miyama Blonde - 志賀高原ビール
    98. Not So Mild Ale Harvest Brew - 志賀高原ビール
    99. Takashi Imperial Stout 2009 - 志賀高原ビール
    100. インディアペールエール - 金しゃちビール
    101. 抹茶ドラフト - 金しゃちビール
    102. IPA - 反射炉ビア
    103. ダークラガー - 御殿場高原ビール

    横浜大さん橋で開催されているジャパン・ビアフェスティバル2009にて。 今日9/21が最終日、まだ間に合いますよー。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090917 001589
    pocketer でミニ名刺
    miz 2009-09-17 22:05
    このエントリーを含むはてなブックマーク はてなブックマーク - pocketer でミニ名刺

    最近、勉強会などに顔を出すことが多くなってきて、そのときに名刺交換をすることもあるのだけれど、なにやら普通の名刺の 1/2 サイズくらいの小さな名刺を持っている人がちらほらと。 へーなんだろうなぁ、と思っていたら、ミニ名刺作成サービスっていくつかあるみたいね。 仕事とは関係なく興味の近さとかで会う人たちと、会社のメールアドレスでやり取りすることなんてまずないから、会社の名刺を出すのもあまり意味がない気はしてたところだったので、ぼくも作ってみました。 利用したのはここのサービス。

    • 名刺作成、名刺デザインはmini名刺『pocketer(ポケッター)』

    Web 上で表面の文言 (6行 x 半角約40文字) と書体、裏面のデザインを選んで注文すると、中3,4営業日くらいで届けてくれます。 紙もしっかりして質が良いです。 裏面のデザインは、既存のものから選んでも良いのだけれど、自分で画像をアップロードすることもできます。 いずれにしてもお値段は同じ。 ぼくは自分で撮った写真を使い、50 枚で 1,980 円のセットにしました。 一枚あたり 40 円程度なので、写真をプリントに出すのとそんなに違わない感覚です。

    pocketer の名刺

    自分で撮った写真を使う場合は、画像編集ソフトなどで事前に彩度を目一杯上げておくと良いようですよ。 表面がマットな質感になっているからか、想定したよりも落ち着いた色味に仕上がる感じがあります。

    せっかく作ったのだけれど、今月は何かと忙しくてあまり勉強会に顔を出す余裕がなく、実はまだ一枚も渡せていません。 今度会った方、名刺交換させてください。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090914 001588
    本日のビール - 9/13
    miz 2009-09-14 06:05
    このエントリーを含むはてなブックマーク はてなブックマーク - 本日のビール - 9/13
    • ヴァイツェン - 網走ビール

    実家から送ってもらったもの。 祝杯的な。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090912 001587
    本日のビール - 9/11
    miz 2009-09-12 00:25
    このエントリーを含むはてなブックマーク はてなブックマーク - 本日のビール - 9/11
    • Gosser
    • 城山 ベルギーホワイト

    新橋 DRY-DOCK にて。 明日に備えておとなしく帰るはずが「一杯だけ」とお店に足を運び、一杯だけのはずが「もう一杯」となり。 でも二杯で我慢しただけえらいと思う。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090910 001586
    CentOS 5.3 に Apache CouchDB をインストール
    miz 2009-09-10 22:11
    このエントリーを含むはてなブックマーク はてなブックマーク - CentOS 5.3 に Apache CouchDB をインストール

    明日 09/11 は Apache CouchDB の勉強会に参加してきます。

    • RelaxCafe@CouchDB break.1 : ATND

    話を聞きながら実際に触れる環境があったほうが良かろうと、自宅サーバーに最新の Apache CouchDB をセットアップし直しました。 最初は Windows XP が動いている NetBook にインストールしようとしたのですが、いろいろとハードルがあって断念。 勉強会の会場はルノワールなので、Wi-Fi が使えて自宅サーバーにアクセスできるからまあ良いかと。

    • Apache CouchDB: The CouchDB Project

    Apache CouchDB は Erlang で書かれている RESTful なデータベースシステムで、アクセスに使用するプロトコルは HTTP です。 key-value を JSON の形投げ込み、Map-Reduce で取り出すことができます。 Map-Reduce の記述は JavaScript です。 データベースといっても ACID なトランザクションモデルではなく、いわゆる BASE で Eventually Consistent なイマドキ風です 元々は伝統的なほうのデータベースのエンジニアだった身としては、眉毛にツバをつけたくならなくもないんですが、どれも魅力な技術要素なのでつい手を出してしまいました。 特に RESTful なあたりはぼくの好みです。

    インストールの手順はこちらが詳しいです。

    • Installing on RHEL5 - Couchdb Wiki
    必要なパッケージの準備

    必要なパッケージのいくつかは EPEL (EExtra Packages for Enterprise Linux) のリポジトリーから取得できるので、まずは EPEL を使えるようにセットアップします。

    • EPEL - FedoraProject
    $ wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
    $ sudo rpm -Uvh epel-release-5-3.noarch.rpm
    

    これで /etc/yum.repos.d 以下に epel.repo と epel-testing.repo の二つのファイルが作成されます。 ぼくの環境は CentOS 純正以外のリポジトリは /etc/yum.repos.d/extra に分けているので、二つの *.repo ファイルを extra ディレクトリに移動しました。 これで、以下のように必要なパッケージをインストールできます。

    $ sudo yum install unixODBC unixODBC-devel
    $ sudo yum install -c extra.conf js js-devel erlang

    "js" というのは SpiderMonkey という Firefox が使用している JavaScript エンジンの Standalone 版です。

    icu のインストール

    EPEL には icu も用意されているのですが、一部コマンドが不足していたので別途ソースからインストールしました。

    • ICU 4.2 Release
    $ wget http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz
    $ tar zxf icu4c-4_2_1-src.tgz
    $ cd icu
    $ ./configure && make
    $ sudo make install
    
    Apache CouchDB のインストール

    さて、いよいよ Apache CouchDB 本体のインストールです。 前回は Erlang などもソースから入れたりしたので結構手間取ったのですが、今回は yum で入れられたのであっさりです。 2009-09-10 時点で最新の 0.9.1 をインストールします。

    • Apache CouchDB: Downloads
    $ wget http://ftp.kddilabs.jp/infosystems/apache/couchdb/0.9.1/apache-couchdb-0.9.1.tar.gz
    $ tar zxf apache-couchdb-0.9.1.tar.gz
    $ cd apache-couchdb-0.9.1
    $ ./configure && make
    $ sudo make install
    
    インストール後の設定

    デフォルトでインストールすると /usr/local 以下に設定ファイルなどが配置されます。 今はよいですが、いずれ絶対に忘れてしまうので、Linux の標準的な位置から参照できるようにしておきます。

    $ sudo ln -s /usr/local/etc/couchdb /etc/couchdb
    $ sudo ln -s /usr/local/etc/rc.d/couchdb /etc/rc.d/init.d/couchdb
    

    続いて Apache CouchDB 起動用のユーザーを追加します。

    $ sudo /usr/sbin/adduser -r \
    > --home /usr/local/var/lib/couchdb \
    > -M --shell /bin/bash \
    > --comment "CouchDB Administrator" couchdb
    起動と動作確認

    さきほど symbolic link を張っておきながら何なんですが、/etc/rc.d/init.d/couchdb はうまく機能してくれません。 今のところ定常的にサービスを提供する必要はないので、デーモンではなくターミナルから起動してお茶を濁します。

    $ sudo couchdb

    これでエラーが出ずに起動すれば成功です。 こんな感じにしておけば静かに動いてくれます。

    $ sudo couchdb > /dev/null 2>&1 &

    Apache CouchdDB へは HTTP でアクセスします。 curl を使って動作を確認して見ます。

    $ curl http://127.0.0.1:5984/
    {"couchdb":"Welcome","version":"0.9.1"}
    

    "Welcom" の文字と Apache CouchDB のバージョンが返ってきます。 終了するときは、不本意ですがこれで。

    $ fg
    ^C
    その後

    以上の手順でひとまず Apache CouchDB を動かすことはできるようになりました。 これからここにデータを入れたり、Map-Reduce で取り出したりする必要があります。 そのあたりはこれを読むと良いでしょう。

    • CouchDB: The Definitive Guide

    紹介した本人もまだ読み切ってはいないのですが、O'Reilly から出ている書籍の Web 版です。 これが無償とは、なんとも太っ腹。 ありがたく活用させていただきましょう。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090906 001585
    本日のビール - 9/6
    miz 2009-09-06 22:53
    このエントリーを含むはてなブックマーク はてなブックマーク - 本日のビール - 9/6
    • アルト - 網走ビール
    • ピルスナー - 網走ビール

    実家から送ってもらったもの。 ありがたし。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 001584
    Ruby 1.8.6 / Rails / Aptana の導入
    miz 2009-09-06 10:20
    このエントリーを含むはてなブックマーク はてなブックマーク - Ruby 1.8.6 / Rails / Aptana の導入

    諸事情で Ruby 1.8.6 と Aptana を使う必要があったため、Ruby 環境を構築しなおしました。 たまにやると、毎回同じようなことでいろいろと引っかかっている気がするので、手順をメモ。

    Ruby のインストール
    • http://www.ruby-lang.org/ja/downloads/

    上記サイトからリンクされているダウンロード・サイトから ruby-1.8.6-p369-i386-mswin32.zip をダウンロードします。 zip を展開し、適当なディレクトリに配置します。 環境変数 PATH に Ruby の bin ディレクトリを追加しておきます。

    RubyGems のインストール
    • http://rubyforge.org/projects/rubygems/

    上記サイトから rubygems-1.3.5.zip をダウンロードし解凍します。 解凍したディレクトリで以下のコマンドを叩きます。

    $ ruby setup.rb

    rubygems 本体のインストールが終わったら、引き続き rubygems が使用するライブラリを導入します。

    • zlib.dll
      • zlib Home Site
    • ssleay32.dll / libeay32.dll
      • OpenSSL : OpenSSL Binary Distribution
    • iconv.dll
      • LibIconv for Windows

    zlib.dll は zlib123-dll.zip をダウンロードして解凍すると現れる "zlib1.dll" をリネームして利用します。 ssleay32.dll / libeay32.dll は Win32 OpenSSL v0.9.8k Light (Win32OpenSSL_Light-0_9_8k.exe) をダウンロードしてインストールすると、インストール・ディレクトリ直下に現れます。 iconv.dll は libiconv-1.9.2-1-bin.zip をダウンロードして解凍すると現れる "libiconv2.dll" をリネームして利用します。 これら四つのファイルを Ruby の bin ディレクトリにコピーしてください。 これが終わると gem コマンドが動くようになります。 念のため update --system をかけておきましょう。

    $ gem update --system

    ぼくの環境では HTTP Proxy を使わなければならないため次のようにする必要がありました。

    $ set http_proxy=http://proxy.example.com:8080
    $ gem update --system
    rails のインストール

    次のように rails をインストールします。

    $ gem install rails
    Aptana のインストール

    Eclipse の派生で Ruby も使える統合開発環境、Aptana をインストールします。

    • Aptana

    Aptana_Studio_Setup_1.5.1.exe をダウンロードし、インストールします。 rails の開発環境を入れるには、起動して "Help" > "Install Aptana Features..." から "Web Application Platforms" > "Aptana RadRails" を導入します。 HTTP Proxy を経由する場合は "Window" > "Preferences" を選択し "General" > "Network Connections" から設定を行います。

    ぼくは vi (の操作性) じゃないとものを書けないのでエディタ部分は使いませんでしたが、動作確認環境やデバッグ環境としてはなかなか便利でした。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090904 001583
    Google Code Jam 2009 Qualification Round 振り返り
    miz 2009-09-04 22:19
    このエントリーを含むはてなブックマーク はてなブックマーク - Google Code Jam 2009 Qualification Round 振り返り

    Slashdot かどこかでたまたま目にした Google Code Jam 2009 に参加してみました。

    • Google Code Jam 2009

    今回、2009-09-03 08:00 JST から 09-04 10:00 JST の 26 時間で qualification round が行われました。 当初は 24 時間の予定だったのですが、システムトラブルで解答提出ができない時間があったので 2 時間延長されたようです。 qualification round の結果は 26 時間が完了してから発表されまして、ぼくは無事に通過していました。 残念ながら全問正解ではありませんでしたが、反省も込めて問題を振り返ってみます。 使用した言語は Java です。

    • Qualification Round 2009: Dashboard
    A. Alien Language

    形式言語の問題。 与えられた幾つかの文字列のうち、何個がその言語として受け入れられるか、という設問です。 正規表現とかオートマトンとか、あのあたりですね。 言語の文法はこの例のように与えられます。

    • (ab)(bc)(ca)
    • abc
    • (abc)(abc)(abc)

    同じ括弧に入っている文字集合は、そのうちのいずれであっても良いと定義されています。 生成規則ではなく、n 文字目に取り得る非終端文字の集合で決定されているので、パターンの分岐などがありません。 まずは与えられた文法を頭から分解していって n 文字目に取り得る終端文字を List に突っ込みました。 そうして、与えられた文字列の頭から一文字ずつとり、先ほど解析したパターンの頭から合致するかどうかをテストしました。 ここは List ではなく Set が良かったなと反省です。 contains による照合が線形探索になってしまい非効率でした。

    今振り返ると、"()" を "[]" に置き換えると、そのまま正規表現として解釈できましたね。 Java の正規表現ライブラリを使えば一発だったかな。

    B. Watersheds

    水系の塗り分けの問題です。 標高が行列として与えられているので、同じ水系に属する領域に同じラベルを付与するようにという設問です。 地点 (x, y) に対して (x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1) の上下左右四箇所を調べると、水の流れが決定できるように定義されています。 ぼくは最初に水の流れる方向を全域に対して計算して、その後に全域のラベルを決定するというステップを踏みました。

    水の流れの決定は、x と y をインクリメントしながら走査していくだけなので、ごく単純です。 続くラベリングはいくつかのやり方で試行錯誤しましたが、最終的にこういう手順になりました。

    1. ラベルが決まっていない地点のうち、y がもっとも大きなものを選ぶ。y が最も大きいものが複数ある場合は、その中で x が最も小さいものを選ぶ。
    2. そこから水の流れを辿り、もう水が流れられない地点 (sink) に至る
    3. そこに新たなラベルを付与する
    4. ラベルが決まっていない地点をすべて走査し、その地点から sink まで到達可能であれば同じラベルを付与する
    5. 以上を繰り返す

    全域走査が複数回走るのはあまりスマートではありませんね。 (0, 0) から (n, k) まで順に、水の流れを一度ずつ辿るだけでラベリング可能なアルゴリズムを後から思いつきました。

    実はこの問題が解くのに一番時間がかかりました。 というのも、出力の形式を間違っていて、何度挑戦しても通らなかったためです。 一休みして、問題を読み直したら気付きました。 「出力形式に注意!」と、以降の round への良い反省となりました。

    C. Welcome to Code Jam

    文字列マッチの亜種。 長い文字列 A から A[x0], A[x1], ... A[x18] (x0 < x1 < ... < x18) を取り出して "welcome to code jam" という文字列が作れるような (x0, x1, ... , x18) の組がいくつあるか、という設問です。

    最初ぼくは、A の頭から走査していき、"w" であるものが見つかったらそれ以降の文字列に対して "e" を探し …… 、以降の文字列の処理が返ってきたら引き続き "w" を探す、という再帰処理で行いました。 これは比較的簡単に実装できて、small の入力はあっさりと解けました。 気をよくして large に挑戦すると、これが大失敗。 処理が終わらない……。 今思うと、このやり方は O(m^n) というとんでもない時間計算量でした。 そりゃ終わらんわな。 残念ながら 8 分という制限時間には間に合わず、C-large は time-up でした。

    その後、時間は過ぎたもののプログラムを修正し、末尾側から走査していって一度なめれば終了するアルゴリズムに行き着きました。 これであれば時間計算量は O(mn) でさほど悪くありません。

    String line = nl();
    int[][] grid = new int[len(line)][len(W)];
    for(int y : Range.down(0, len(W))) {
      for(int x : Range.down(0, len(line))) {
        grid[x][y] = 0;
        if (W[y] == line.charAt(x)) {
          if (y == len(W)-1) {
            grid[x][y] = 1;
          } else {
            for(int i : Range.up(x+1, len(line))) {
              grid[x][y] += grid[i][y+1];
              grid[x][y] %= 10000;
            }
          }
        }
      }
    }
    int result = 0;
    for (int i : Range.up(0, len(line))) {
      result += grid[i][0];
      result %= 10000;
    }

    反省点は多々ありましたが、以降の round に向けて良い勉強ができたかなと思っています。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090903 001582
    Ruby で Amazon Product Advertising API
    miz 2009-09-03 22:48
    このエントリーを含むはてなブックマーク はてなブックマーク - Ruby で Amazon Product Advertising API

    Amazon の アソシエイト Web サービス (AWS) って、Amazon Product Advertising API と名前が変わってたんですね。 AWS で検索しても Amazon EC2 あたりにしかたどり着けずに四苦八苦しました。

    • Product Advertising API

    この Amazon Product Advertising API を Ruby から叩いてみました。 2009/08/15 から Product Advertising API の認証の方式が変更になったそうで、これまでは Access Key ID のみで接続できていましたが、今後は Secret Access Key を使った署名を付加しないとつながらないようです。 認証の詳細はこちらをどうぞ。

    • Basic Authentication Process

    今回はこの新方式に対応した amazon-ecs というライブラリ (version 0.5.7) を使って Amazon Product Advertising API を試してみます。

    • Pluit Solutions ≫ Ruby Amazon E-Commerce REST Service API (amazon-ecs)
    amazon-ecs のインストール

    amazon-ecs を RubyGems でインストールします。 ぼくの環境では HTTP Proxy を使う必要があるので、環境変数 http_proxy を設定します。

    $ set http_proxy=http://proxy.example.com:8080
    $ gem install amazon-ecs

    これで、amazon-ecs およびそれが必要とするライブラリがインストールされます。

    RoR 部分の準備

    今回ここはあまり本質じゃないのでさくっと。 プロジェクトを作成して、コントローラーを一つ定義します。

    $ rails AmazonEcsTest -d sqlite3
    $ cd AmazonEcsTest
    $ script/generate controller amazon
    Access Credentials の取得

    Amazon Web Services の次の二つの値を取得します。

    • Access Key ID
    • Secret Access Key

    "Access Key ID" はこれまでも使用されていた ID で、開発者のアカウントを識別するためのものです。 値は固定で変化せず、そのままネットワークに流れます。 "Secret Access Key" は新たに設けられたもので、署名認証に用いられます。 送信するメッセージのダイジェストを計算する際に使われているようです。 これはこのままはネットワークに流れません。 決して公開しないようにしてください。 これらの値は次のページから取得できます。

    • Security Credentials - Amazon Web Services
    Amazon Product Advertising API への接続

    amazon-ecs を使って Amazon Product Advertising API へ接続してみます。 まずは amazon_controller.rb。

    def search
        Amazon::Ecs.options = {
            :aWS_access_key_id => [Your Access Key ID],
            :aWS_secret_key    => [Your Secret Access Key],
            :country           => 'jp',
        }
        # execute query
        @res = Amazon::Ecs.item_search('beer')
    end

    続いて amazon/search.rhtml。

    <html><body>
    <ul>
      <% @res.items.each do |item| %>
        <li><%= item.get('title') %> - <%= item.get('author') %></li>
      <% end %>
    </ul>
    </body></html>

    Web ブラウザで動作を確認すると、キーワード "beer" で検索した結果が返ってくるはずです。

    もうちょっと複雑なクエリー

    シンプルなクエリーは投げられるようになりました。 クエリーをもう少しいじってみましょう。

    ページングはこんなオプションです。

    Amazon::Ecs.options = {
            :aWS_access_key_id => [Your Access Key ID],
            :aWS_secret_key    => [Your Secret Access Key],
            :country           => 'jp',
            :page              => 2,
    }

    項目を指定してキーワードを指定します。

    Amazon::Ecs.options = {
            :aWS_access_key_id => [Your Access Key ID],
            :aWS_secret_key    => [Your Secret Access Key],
            :country           => 'jp',
            :author            => 'Michael Jackson',
            :title             => 'beer',
    }

    その他、オプションの詳細はこちらを参照してください。 *.rhtml で item.get('hoge') するときに指定可能な値もたどれます。

    • ItemSearch
    単一アイテムを取得

    前項は検索結果を一覧で取得しました。 ここでは ASIN でアイテムを指定して取得する item_lookup を使ってみます。 まずは amazon_controller.rb。

    def lookup
        Amazon::Ecs.options = {
            :aWS_access_key_id => [Your Access Key ID],
            :aWS_secret_key    => [Your Secret Access Key],
            :country           => 'jp',
            :ResponseGroup     => [Images,ItemAttributes,ItemIds'],
        }
        # execute query
        @res = Amazon::Ecs.item_lookup('0751308137')
    end

    続いて amazon/lookup.rhtml。

    <html><body>
    <ul>
      <% @res.items.each do |item| %>
        <li><%= item.get('title') %> - <%= item.get('author') %></li>
      <% end %>
    </ul>
    </body></html>

    返るデータの種類は "ResponseGroup" で指定可能です。 item_lookup および ResponseGroup の 詳細はこちらを参照してください。

    • ItemLookup
    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 20090901 001581
    本日のビール - 9/1
    miz 2009-09-01 22:44
    このエントリーを含むはてなブックマーク はてなブックマーク - 本日のビール - 9/1
    • よなよなリアルエール
    • 湘南ビール サマーボック

    吉祥寺の BICKE にて。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
<< 前の月
次の月 >>
最近のコメント
  • new 03/02 出張三日目 : Sydney [4]
    last comment : miz : 03/04 21:31
  • new 01/04 出張一日目 : 東京 - Dublin [3]
    last comment : miz : 01/08 15:08
  • new 2009年 冬 青春18きっぷの旅 五日目 [2]
    last comment : miz : 12/15 18:00
  • new 2009年 冬 青春18きっぷの旅 四日目 [2]
    last comment : miz : 12/14 20:13
  • new 祝 パクチー初収穫 [2]
    last comment : miz : 12/03 20:40
  • new Windows Mobile (Advanced W-ZERO3 [es]) から iPhone へ電話帳データを移行 [2]
    last comment : miz : 12/03 20:39
  • new 裁判員制度スタートということで傍聴に行ってきた [2]
    last comment : miz : 10/25 23:41
  • new 時間軸上で発生するイベント同士がとりえる関係についての考察 [2]
    last comment : miz : 08/31 21:04
  • new 今年の変な病気 - 黄色ブドウ球菌による感染症 [2]
    last comment : miz : 07/12 18:10
  • new ビアフェスを楽しむ10のコツ [6]
    last comment : miz : 07/09 10:06
最近のエントリ
  • 03/10 出張十一日目 : Sydney
  • 03/09 出張十日目 : Sydney
  • 03/08 出張九日目 : Sydney
  • 03/07 出張八日目 : Sydney
  • 03/06 出張七日目 : Sydney
  • 03/05 出張六日目 : Sydney
  • 03/04 出張五日目 : Sydney
  • 03/03 出張四日目 : Sydney
  • 03/02 出張三日目 : Sydney
  • 03/01 出張二日目 : 東京-Sydney
  • and more ...
<<2009年09月>>
    1. .
    2. .
    3. 01
    4. 02
    5. 03
    6. 04
    7. 05
    1. 06
    2. 07
    3. 08
    4. 09
    5. 10
    6. 11
    7. 12
    1. 13
    2. 14
    3. 15
    4. 16
    5. 17
    6. 18
    7. 19
    1. 20
    2. 21
    3. 22
    4. 23
    5. 24
    6. 25
    7. 26
    1. 27
    2. 28
    3. 29
    4. 30
    5. .
    6. .
    7. .

月間ランキング
1.Java の null check をどのように行うべきか[984pv]
2.南蛮の三升漬[766pv]
3.CentOS 用に yum repository 追加[494pv]
4.Windows Mobile (Advanced W-ZERO3 [es]) から iPhone へ電話帳データを移行[456pv]
5.Cacti でサーバーの稼動状況を可視化[387pv]
6.ビアフェスを楽しむ10のコツ[384pv]
7.PASMO 定期券の区間変更[342pv]
8.アサヒビール オクトーバーフェスト日比谷 秋の収穫祭[325pv]
9.定期代[299pv]
10.Generics のパフォーマンス[270pv]
このページの被検索語(最新20件)
  • ホテルオークラ福岡 地ビール
  • iPhone サーバ 設定 curl range
  • Product Advertising API large
  • [www.bing.com]
  • zlib123.dll
  • Aptana_Studio_Setup_1.5.1
  • Aptana_Studio_Setup_1.5.1.exe
  • 城端麦酒 グラン・ブルー
  • Aptana_Studio_Setup_1.5.1.exe
  • credentials.json aws access id
  • amazon ResponseGroup アップロード 画像
  • CouchDB Proxy
  • ラベリング 統合 走査
  • gem proxy install 通らない
  • ダウンロード iconv.dll 1.9.2
  • [search.imi.ne.jp]
  • openSSL 0_9_8k
  • Win32 OpenSSL v0.9.8k インストール
  • Amazon::Ecs.item_lookup エラーメッセージ
  • win32openssl_light-0_9_8k.exe
(C) Copyright 2003-2009 miz

Some rights reserved.
You can copy the contents in this page (including text and photographs, except program code) and/or redistribute it under the terms of the Creative Commons Attribution-ShareAlike 2.5 License.
(C) Copyright 2003-2009 miz