2009-01-01から1年間の記事一覧

Scala チュートリアルの抄訳

自分のお勉強のためにA Scala Tutorial for Java programmers を簡単にまとめてみる.ちゃんとした日本語訳は,こちらにある. 最初の例 最初の例はよくあるHello world. object HelloWorld { def main(args: Array[String]) { println("Hello, world!") } }…

Java版のGoogle App Engine でテンプレートエンジン

Java版のApp Engineをいろいろいじって見ている.Eclipse Plug inの助けがあるので,当初思ったよりはずっと使いやすい.やっぱりJavaのような言語はIDEがあってナンボ,なのか.Java版のサンプルを実行してみて一番嫌だったのは,JSP (JavaServer Pages)を…

Google App Engine for Java

こんどは本当に新言語が追加された.予想通りにJava.early look は10000人限定なのでとりあえずサインアップしてみたが,まにあわなかったのかな.メイルがこない T_T.とか思っていたら来た \^_^/ ざっとドキュメントを読んだ感想 Python版と比べて,なの…

Google App Engine, Cron

従来のGoogle App Engine では,リクエストに対して何らかの処理をすることしかできない.これに対してunixのcronのように,定期的に処理を行わせる機構の導入が予定されていた.Python版ではまだだと思うのだけど,Java版のほうにはこれが既に入っているよ…

Eclipse plugin for Java App Engine

App Engine のJava版には,Eclipseのプラグインが用意されている.これがめちゃめちゃ便利.プロジェクトを作ると必要なファイルのテンプレートが用意されるし,ローカルでのテスト,Webへのアップロードまで,ワンストップで可能.いきなりここまで完成度を…

Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術

Brian Marick Rubyの入門書なのだが,いきなりテスト駆動のフレームワークから入る点がちょっと変わっている.なにしろ,言語仕様にほとんど触れないうちに,require test/unitとかやっているのだ.言語入門書としては,中途半端.これなら言語仕様は別の本…

Amazon Web Service の新機能 Elastic MapReduce

こちらは(たぶん)April foolではなく.こちらによると,Amazon Web ServiceにHadoopを使ったMapReduce が加わったらしい.MapReduceは,Googleが使っているということで有名になった分散データ処理方法で,ローカルにMap操作を行い,データを交換したあとRed…

Google App Engine に新言語!

App EngineのblogによるとGoogle App Engineに新言語がサポートされた模様!「次はJavaだろう」とのおおかたの予想を裏切って,なんとFortran77が!って,もちろんApril Foolな訳ですが,日本時間では4/2に見ることになるのでちょっとびっくりしますな.

Decoratorのまとめ

Pythonには素敵なdecoratorという機能がある.これは関数やメソッドを修飾し,関数実行に対してある意味メタな挙動を与えることができる.ちょっとわかりにくいのは,decoratorは関数を返す関数として定義するという点だろう.さらに引数をとるdecoratorにな…

Basic認証付きデータストアをGoogle App Engine上に

Basic認証を用いて,Google App Engine上に任意のデータをアップロード,ダウンロードできる仕掛けを作ってみた.このご時世,自前サーバを外にさらすのはいやなので,Googleさまにお任せしようと.パスをデータの名前として扱い,ダウンロード時のContent-T…

DecoratorをつかってApp EngineでBasic認証.

DecoratorをつかってGoogle App EngineでBasic認証をする仕掛けを作ってみた.Google App Engineにはデフォルトでgoogleのアカウントを使っての認証が入っていて,人間を相手のサービスを作るには簡単でいいのだけど,クライアント側も作ろうと思うとちょっ…

JavaScript: The Good Parts

Douglas Crockford 一見C言語系っぽい見た目に反して,実はかなりの奇言語であるJavaScriptの言語機能を「Good Parts」と「Bad Parts」に分けて解説.newを使っちゃ駄目とか,かなり面白い.この奇天烈な言語が標準となったために,世界中で失われたプログラ…

Amazon EC2 の予約料金制

Amazon EC2で予約ベース課金が開始されたようだ.ユーザは,恒常的に使うと思われる資源に対して,1年もしくは3年単位で予約を行っておく.するとその資源に対する時間単位の課金が安くなるという仕組み.予約に対しても課金はされるのだが,実際に使った分…

Firefox 3 Hacks Mozillaテクノロジ徹底活用テクニック

江村 秀之, 池田 譲治, 下田 洋志, 松澤 太郎, dynamis オライリージャパン独自企画本.もともと英語のFIrefox HacksがFirefox1の当時にあり,それの邦訳も出ていたのだけど,著者がなくなってしまったので,3は日本の独自企画で出したという経緯らしい.Hac…

Twitter! Twitter APIガイドブック

辻村浩 TwitterのAPIを紹介している.使用言語は主にPerlだがほかにもpythonやCなど.Twitterだけでは紙面が持たなかったってわけでもだいだろうけど,Twitter以外の類似サービスのAPIに関しても述べている.2007年10月刊行.Twitter,アカウントは作ったも…

Amazon EC2/S3 クラウド入門

学びing 著者ら(学びingという会社)は,「けんてーごっこ」というサービスを提供している会社.このサービスをEC2上で運用している.前半はその体験記.最後のあたりはクラウドの一般論.内容的は割に初歩的.風化の速そうな,雑誌媒体のほうがよさそうな本…

App Engine 課金開始とQuota変更

このblog記事によると,App Engineの課金(というかQuotaを超えた量の購入)が開始になると同時にQuota自体が変更されたようなのでまとめておこう. Quota変更 まずは無料で使えるQuotaの変更から.この変更は5月から有効になる. CPUサイクル 200 million meg…

App Engine Site Creator

App Engine Site Creatorなるものが公開されている.これはいわゆるCMS(Content Management System) をApp Engineで実現したもの.管理者には,管理用のインターフェイスが提供されていて,ページを編集することができる.なんとも凝ったことにテーマを選べ…

リストを見やすく

この日記の中でリストを書くと,改行幅が大きすぎ,間延びしていやだった.解決策を模索したところあっさり解決.管理ー>デザインー>詳細ー>スタイルシート のテキストフィールドに下記を記述. pre { line-height: 110%; }これで長いリストを載せても,…

App Engineでのカウンタ

http://code.google.com/appengine/articles/sharding_counters.htmlに面白い記事を見つけたのでまとめておく.複数のWebアプリケーションインスタンスがカウンタを共有することを考える.当然カウンタはデータベース上におき,トランザクション内でアトミッ…

Google App Engine の課金

Google App Engineは,フリーで使えるQuotaが設定されていて,それを超える分に課金される.というか,Quotaを超える資源を購入できる.このモデルと予定価格だけはかなり早いうちから公開されていたのだけど,今に至るまでこの課金オプションは実現されてい…

汎用Deleter

C++

C++ではメモリを自分で管理しなければならないので面倒だ.でもnewを使わずにスタック上に作ったオブジェクトは自動的に解放されるので,一時的にスコープのなかだけで使うオブジェクトなんかだとあまり気にする必要は無い.ところが,一時的に作るオブジェ…

c++の名前空間

C++

c++の名前空間,よくわかっていなかったのでちょっと実験してみた.c++の名前空間は,Javaのパッケージのような概念で,クラス名やグローバル変数などの,グローバルなスコープを持つ名前空間を分割するために用いられる.こういう仕掛けがないと,ライブラ…

Thread local と 実効ユーザIDの変更クラスのつづき

先日のエントリで書いた実効ユーザID変更クラスはマルチスレッドではうまく動かない.それだとちょっと困るので書き直してみた.そのために,threading の localを使った. threading local threading.localは各スレッドに固有の値を持たせためのしかけ.Jav…

Python with statement

Python の2.6からwith statement が標準機能となった.2.5でもfuture 機能として取り込まれていたので目新しくはないが,なかなか便利で,もう2.4には戻れない.with statementはtry, except, finally で実現できる構造をもう少し簡単に書けるようにしてくれ…

いまさらJava RMI

Javaで単純なクライアント・サーバをプロトタイプしなければならなくなった.非同期の必要はないし,独自にプロトコルを切るのも面倒なので久しぶり(10年ぶり?)にいじってみたら,昔と違って随分扱いやすくなっていた. スタブとスケルトン リモートオブジェ…

cURLpp

C++

cURLというプログラムがある.コマンド名は小文字のcurlでRIA用言語のcurlと紛らわしいのだが,こちらはwgetのようなプログラム.要するにコマンドラインからwebコンテンツにアクセスするツールなのだが,拡張可能なようでさまざまなプロトコルに対応してい…

HTTP PUT でファイルアクセス

HTTP のGETとPUTを使った簡単なファイルサーバがテスト用に必要になったのでPythonで書いてみた.Python標準のBasicHTTPServerのハンドラにはPUTもPOSTも実装されていないのだけど,拡張は可能になっている.実際,CGIHTTPServerではPOSTをサポートしている…