2010年11月9日火曜日

新Kindle(右) はてなブックマーク


カバーも合わせて買ったので、送料など合わせて18,000円くらい。
画面の切り替えスピードとコントラストが改善されているということだけど、比べてみるとわざわざ買い換える必要もなかったかな?
まあいいか。

2010年10月24日日曜日

Titanium MobileでAndroidがようやく起動 はてなブックマーク

このエントリーを見て、Titaniumを使ってみたのだが、iPhoneエミュレータは動くのにAndroidのほうは一向に動かなかった。

何回やっても、

[INFO] Building ○○ for Android ... one moment

のまま止まってしまうという現象にさんざん悩んだのだが、どうもjavaのPATHが通っていなかったからみたいだ。JAVA_HOMEは設定してあったし、コマンドプロンプトから普通にjavaも実行できていたので全く気付かなかった。エラー出してくれよといいたい。

PATHに%JAVA_HOME%\binを追加して動作した。



(でもKitchenSinkは結局動作せず。GitHubからダウンロードしてきたver1.4.0。)

少し見た限りでは、JavaやObjective-Cで直接開発するよりずっと簡単に開発できそう。
だいたいのことはできそうだった。

ただ、検索結果でよくある、TableViewをスクロールすると自動で次を読み込んでくれる機能だけがどうやるかわからなかった。できるんだろうか。

iPhoneだと行をたくさん読み込んでもうまくメモリ管理できるようになっていたと思うが、そのへんもどうなるんだろう。

2010年5月31日月曜日

TOEICを初受験 はてなブックマーク

正確にははるか昔、新卒で会社に入社する前に受けさせられたことがあるが、自分で申し込んで会場に出向いて受験するのははじめてだ。
その大昔の受験では、体調が悪いこともあったのだが(と言い訳)、450点くらいの点数を叩き出し、内定が取り消されるんじゃないかと半ば本気で心配したものだ。

2010年5月26日水曜日

Google App Engineの超入門プレゼン資料 はてなブックマーク

会社でプレゼンした資料です。
デモを中心に20分くらいでやりました。

App Engineに限らず、新しいフレームワークや開発環境を習得するのは最初が一番難しいものですが、これをおさえればすぐにはじめられる、という内容になるようにポイントを絞りました。

2010年5月18日火曜日

msysGitをインストールしたらコマンドプロンプトが文字化け はてなブックマーク

msysGitをインストールしたら、コマンドプロンプトで日本語が表示できなくなった。(Windows 7 64bit)

regeditでレジストリエディターを起動し、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

の「0」のデータが「Lucida Console」になっていたので、「*MS ゴシック」に変更して、とりあえず復旧できた。

インストールの途中で、Use a True Type font in the consoleという項目のチェックをはずせば、文字化けしなかったのかもしれない(未確認)。

2010年5月16日日曜日

Google App Engineでゼロからはじめてサイト公開まで(2.開発の準備) はてなブックマーク

前回は、作ろうとしているアプリの概要のお話でした。
今回は、インストールから開発準備が整うまでをやっていきます。

Windowsで作っていきますが、他の環境でも、GUIツールの代わりにコマンドを叩くこと意外はだいたい同じだと思います。

Google App Engineでゼロからはじめてサイト公開まで(1.アプリの概要) はてなブックマーク

Djangoを使って作ろうと思っていたのですが、覚えるのに時間がかかりそうだったので、後回し。

まずはGoogle App Engineの標準的な作成方法に慣れてからということで、通常のwebappを使って、サイトを作ってみます。

作成するのは、シンプルな便利ツール。
実際に公開する予定のものを、ゼロから覚えながら開発して、公開するまでの過程を書いていきます。

十分シンプルで、しかもチュートリアルのためのサンプルではなく、実際に公開予定の、自分があったら便利だと思うアプリなので、App Engineの入門としても参考になるのではないかと思います。

以下、これから作るアプリの概要です。

2010年4月24日土曜日

Solrの創始者によるチュートリアルに参加 はてなブックマーク



22日(木)に、麻布十番近くの国際文化会館で、 次世代サーチ・テクノロジー・フォーラム2010があった。

その前日、21日(水)には、プレイベントとしてSolrプロジェクト創設者のヨニック・シーリー(Yonik Seeley)氏のチュートリアルがあった。来日して講演というのはなかなかない機会なので、両日とも参加してきた。

ちなみに21日のチュートリアルは25,000円、22日のフォーラムは無料。

Solrチュートリアル


参加者は二十数名だった。
一般的な相場と比べても参加費がそれほど高いわけでもなく、すべてのオープンソースプロジェクトの中でもトップレベルの人気があるというSolrの、開発者直々のチュートリアルにしては、少ないように思える。

日本でのSolrの知名度の低さもあるだろうが、告知がうまくいかなかったのかなと思った。内容がよかっただけに、もったいない。

でもその分、参加者はモチベーションが高い人が多かったようで、既にSolrを使っている人も多く、質問も活発だった。

外国人の参加者も数名いた。翌日のフォーラムに参加していた会社の人達だったみたいだ。

講義は逐次通訳で行われた。内容が難しくなると、翻訳するのが大変そうだった。

アジェンダ

・Intro to Solr
・Basic Indexing
・Basic Searching
・Basic Faceting
・Faceting Deep Dive
・Trie Fields
・Distributed Search
・1.5 Preview
・Questions and Answers

Solrで驚くのは圧倒的なパフォーマンスとスケーラビリティだ。

最後のQ&Aでは、実際に動いている最大規模の構成について話があったのだが、
100個のシャード(shards)に分割して、56億ドキュメントを扱っている事例があるそうだ。
この規模でも、1秒以内で結果を返すらしい。

Solrでは1.4から分散検索(Distributed Search)という仕組みが導入されたのだが、シャードというのはその分散したひとつひとつのサーバーインスタンスのこと。

また、Wikipediaのデータを使って、10億ドキュメントを生成し、100シャードに分けてEC2上でテストしたときは、平均のレスポンスが50ms未満だったらしい。

Solrは扱いやすく、高性能、高機能で、他のオープンソース検索エンジンとは一線を画す検索エンジンだ。
日本ではSennaやHyper Estraierが有名だが、数百万の文書ならともかく、もっと大規模な検索を扱うのは厳しい。これからはSolrやLuceneがどんどん使われていくようになると思う。

ただ、国産プロジェクトとは違って、日本語の情報が少なかったり、日本語を扱うノウハウが必要だったりするところがあるのも事実ではある。

僕はなんだかんだで2年くらいSolrを使っているし、数千万件のデータを扱うECサイトにSolrを導入したりしているわけで、そのへんのノウハウもある。Solrの講義や導入コンサルみたいな仕事をすることもできるんじゃないかと、ふと思ったりした。

長くなったので一旦このへんで。

2010年4月19日月曜日

Kindleが早くも故障。そして電話サポートを受ける はてなブックマーク



Reworkを購入して、本格的にKindleを使いはじめた矢先、なんと早くもKindleが故障してしまった。

液晶の上のほうがきれいに長方形の形で白くなってしまって、何も表示されず。

交換してもらえるらしいが、他の人のブログを見ていると、どうもAmazon.comのカスタマーセンターと電話でやり取りしなければいけないらしい。もちろん英語で。英語の勉強をはじめたばかりの自分としては、いきなり高いハードルだ。


ということで、英語でサポートを受けてみた。
しかし、見事に全く聞き取れない。
ゆっくりしゃべってくれとお願いしたのだが、十分速い。
ところどころ聞こえる単語だけをたよりに話す。
伝える方も、ブロークン英語もいいところで、きちんと伝わったのかどうかわからないうちに終了。

正しく処理されたか心配していたが、その後、交換品を送ったとのメールが届いたので、なんとかなったみたいだ。

今回は、自分が思ってた以上に英語が話せないということを実感した。
この敗北感をバネに、今年の目標である英語力向上を、気合を入れなおしていかねば。

ちなみに英語は、TOEICをひとつの指標として使うことにした。
直近の5/30に一度受けて、今年最後の11/28にもう一度受けて、成果を測定するつもり。
自分なりに工夫して、成果が出たらノウハウをシェアしていこうと思う。

おっと、TOEICの申し込みは明日までだ。

2010年4月15日木曜日

Kindleで 37signalsの"Rework"を購入 はてなブックマーク



Kindleを入手して、初めて有料の本を購入した。

購入したのは37シグナルズ「小さなチーム、大きな仕事」の原書"Rework"。

面白いという話は聞いていたので、どうせ読むなら英語の勉強も兼ねて原書を読もう、そしてどうせなら手元にKindleがあるのだし、Kindleで購入体験してみよう、ということで、Kindle購入書籍第1号がこれに決まった。

Kindleの本はたいていサンプルが読めるようなので、まずはサンプルをダウンロードして読んでみる。知らない単語はちょくちょく出てくるが、内容は平易だし、薄い本なので、何とか読みきれるだろう。Kindleならその場で辞書も引けるし。

購入はクリック一発。
こんなに簡単に買えてしまうなんて、手軽であると同時に怖い気もする。油断してるとどんどん購入してしまいそうだ。
アマゾンで最初に本を買った時もその手軽さに驚いたけど、配送の時間もなく、こんなに一瞬で本を(しかも洋書を)入手できるというのは、かなり奇妙な感覚だ。


手持ちのiPod TouchにKindleアプリを入れて、使ってみた。
Kindleで購入した本は、Kindle本体とiPod Touch(やiPhone、iPad、PCなどなど)で同期ができる。

操作性はKindle本体よりiPod Touchのほうが断然いい。特にKindle Storeで本を探すのは、iPod Touchのほうが遥かに楽だ。Kindle本体はページの切り替えが遅い上に、なぜか一覧に本の金額が出てこない。このあたりは改善してほしいところ。

長時間読むときはKindleで、ちょっと読むときはiPod Touchで、みたいな使い方はすごく便利そうだ。

しばらく頑張って活用してみようと思う。

2010年4月6日火曜日

Google App EngineでDjangoを使う(インストールから起動まで) はてなブックマーク



Google App Engine Helper for Djangoというものが用意されているので、それを使って、まずはサーバーの起動までやってみる。
Windows環境。

Djangoのインストール


まずはDjangoのインストール。

Python2.5とGoogle App Engine SDKはインストール済み。(SDKのバージョンは1.3.2 - 2010-03-25)

Djangoの公式サイトから、現在最新の1.1.1をダウンロード。

解凍し、コマンドプロンプトでそのフォルダーに移動したら、以下を実行してインストール。

python setup.py install


以下のように、インストールされたバージョンを確認できる。

>python
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 1, 1, 'final', 0)


Google App Engine Helper for Djangoを使う


公式ドキュメントのとおり、ヘルパーをダウンロードして、mysiteフォルダーに設置。
サーバーを起動してみる。

python manage.py runserver


ところが、ImportError: No module named ipaddrというエラーが出る。
ipaddrというモジュールがうまく入ってないということらしい。

ここから、easy_installをインストールする。Rubyでいうgemにあたるとのこと。

手順通り、ez_setup.pyをダウンロードして、以下でインストール。
python ez_setup.py


それから、Scripts(自分の環境ではC:\Python25\Scripts)にパスを通して、

以下のようにipaddrをインストールできればOK。

easy_install ipaddr



もう一度、

python manage.py runserver


とすると、今度は起動できた。

http://localhost:8000/を開くと、It worked!と表示された!
とりあえずここまで。

2010年3月3日水曜日

今年の目標はGAEとスマートフォン開発と英語 はてなブックマーク

今更だけど、今年の目標は、

Google App Engine(GAE)を使ったWebサイトをつくる
iPhoneアプリをつくる
Androidアプリをつくる

ということで、いつの間にか多言語を勉強している。
GAEはPythonを使うつもりだし、iPhoneはObjective-C、AndroidはJava。

2週間くらいやってみた感想としては、GAEの開発はわりとすぐできそう。
iPhoneは思ったより大変そう。Objective-Cが難しい。
今年前半(6月)くらいまでに、GAEで何か開発して、今年の後半で
iPhoneとAndroidアプリを作ることにしようと思う。


Google App Engine



まずこの本で、Pythonに入門。
ウェブ上で情報を集めるのもよいが、やはり本でまとまっているのを読むのが好きだ。



それから、Googleのドキュメント
スタートガイドをやってみたが、非常にわかりやすい。
開発ツールがよくできていて、デプロイなども簡単。

デフォルトのwebappというフレームワークを使う予定だが、Railsのような
かちっとしたフレームワークではないから、キレイに書くには工夫が必要なのかも。

Google App Engineで、MVCとヘルパーメソッドの記述をおこなう。


テスト方法。

Google App Engine/Python で単体テスト
Google App Engineでテスト駆動開発を行うための3つのTips


iPhone、Android


iPhonetとAndroidは、まだウェブ上の入門記事をやってみた位。
やはり本で読みたい。以下、入手予定の本。





今年は、開発の目標とは別に、

・英語を実用レベルにする

という目標もあるのだけれど、それはまた別のエントリーで書くつもり。