kawaduに言われてNAS上に固めてあったplnet.jpのソースを引っ張り出してきてgithubにアップした。

昔のソースは恥ずかしいけど、当時の俺のPHP4愛が注がれたコードを読んでみた。

何か、コードのテンションが全然違くて、兎に角書く!という感じ。

最近の俺は、ちょうどいいライブラリが無いだの、良い設計が思い浮かばないから実装しないだの、日和ってるなと。

「ライブラリが無いなら書けばいいじゃない。パンが無いなら(略」

「書くの?書かないの?書かないとしたら何時書くの?」

と当時の自分に劇詰めされてる気分になった。コーディング瞬発力が落ちてる。

元々俺は、ある種のトラウマから独自実装を病的に嫌う傾向があるんですが、それと怠惰が合わさり最強に見える。暗黒が持つと頭がおかしくなって死ぬ。

もっとガリガリガリガリ書くようにしよう!

参照:

アクトインディ株式会社のwebデザイナー募集のお知らせ | マチダの秘密ノート

webデザイナーの方を激しく募集しています。当ブログの様な腐ったサイトをごらんの方はどうしようもない鬱病のエンジニアばっかりだと思うので、僕はwebデザイナーへの接点がありません。まるで地球上からwebデザイナーが死滅してしまったかの様に。このままでは弊社社員を占める割合でCommon Lisperの方がwebデザイナーより多くなってしまうという未曾有の危機を迎えています。

ごらんの皆様方のお知り合いなどでwebデザイナーの方がいらっしゃったら何卒、何卒・・・。

夜猫

ビニール袋の音で誘き寄せてパシャリ。

ごめん、この中には蒼天航路11巻しか入ってないんだよ。

ニコ厨の俺歓喜。ついげきの貼り付けでダメージは加速した。

GAEOでルート('/')へのroutingを指定したい場合。(デフォルトはWellcome#index)

# main.py
def initRoutes():
    r = router.Router()
    r.connect('/', controller='top', action='index')
    r.connect('/:controller/:action/:id')
    r.connect('/:controller/:action/:id.:format')

railsノリでこう書いても駄目。(GAEO 0.3の話)

# main.py
def initRoutes():
    r = router.Router()
    r.root(controller='top', action='index')
    r.connect('/:controller/:action/:id')
    r.connect('/:controller/:action/:id.:format')

こう書かなきゃ駄目。(railsの場合はどっちでもOKなのでちょっとハマッた)

GAEOのroutingは200行程度なのでgaeo/dispatch/router.pyを読めばすぐわかりますな。

Google App Engine の一般的質問 - Google App Engine - Google Code

SSL(HTTPS)を Google Apps ドメインの App Engine で使用できますか

Google App Engine のすべてのセキュアなトラフィックは、appspot.com ドメイン(https://your-app-id.appspot.com)から提供される必要があります。アプリケーションを Google Apps ドメイン以外から提供している場合、すべてのセキュアなトラフィックをアプリケーションの appspot ドメイン経由で転送する必要があります。

なんと。

独自ドメインでSSL使えないんだったら殆どの仕事で使えなくない?

要は、"セキュアな通信が簡単に行える環境"が無いのであれば使えないよねえ。

改善か代替案が提供される予定が無いんだとしたらやっても意味ないからどうなる予定なのか気になるなあ。

どなたかご存じでしょうかー。

2009/11/03 追記

Issue 792 - googleappengine - SSL/HTTPS Support on Google Apps domains - Project Hosting on Google Code

Per Issue #15 , SSL/HTTPS is available on *.appspot domains.

We also need it on arbitrary Google Apps domains.

とっくにAcknowledgedなIssueが上がってるんですね。

技術的にはSNI使えば楽なんじゃないかってことでこれがStartedになることはありえそうですね。(みんなでStar押そうぜ!)

現状ではEC2をproxyにして使ってる野郎どももいるみたいですが、こりゃ面倒ですな。

% dev_appserver.py .
INFO     2009-11-01 17:55:28,394 appengine_rpc.py:157] Server: appengine.google.com
INFO     2009-11-01 17:55:28,401 appcfg.py:348] Checking for updates to the SDK.
INFO     2009-11-01 17:55:28,959 appcfg.py:362] The SDK is up to date.
WARNING  2009-11-01 17:55:28,960 datastore_file_stub.py:443] Could not read datastore data from /var/folders/GS/GSaHrqM6HwiPHzeXj3bhL++++TI/-Tmp-/dev_appserver.datastore
WARNING  2009-11-01 17:55:28,966 dev_appserver.py:3370] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging
INFO     2009-11-01 17:55:28,971 dev_appserver_main.py:478] Running application docs on port 8080: http://localhost:8080

GAEをローカルで立ち上げる時にいつも出てるPILが無いとかいうエラー。「なんぞこれ」ということでググったらImages系の機能は本番上にあるのでローカルでは動かないのだとか。PILというライブラリを入れればローカルでも動くらしいので入れた。

% sudo port install py25-pil
% dev_appserver.py .
INFO     2009-11-01 18:01:04,527 appengine_rpc.py:157] Server: appengine.google.com
INFO     2009-11-01 18:01:04,534 appcfg.py:348] Checking for updates to the SDK.
INFO     2009-11-01 18:01:04,906 appcfg.py:362] The SDK is up to date.
WARNING  2009-11-01 18:01:04,906 datastore_file_stub.py:443] Could not read datastore data from /var/folders/GS/GSaHrqM6HwiPHzeXj3bhL++++TI/-Tmp-/dev_appserver.datastore
INFO     2009-11-01 18:01:04,974 dev_appserver_main.py:478] Running application docs on port 8080: http://localhost:8080

ひゃっほい

しかし意味はわかるけどdatastoreが無いってのも何とかならないのかな?

多言語、多フレームワークを見ていると、Webアプリ開発に欲しい機能の本質がわかりますな。

  • Packagingシステム
  • ORM
  • Routing
  • Templateのパーツだけでなく、枠を共有する機能
  • Deployツール
  • Migration
  • TestSuite
  • Plugin機構

僕にもSyntaxの好き嫌いはありますが、まずは上記の機能をもってるかどうか。中でもMigrationは結構贅沢な部類ですな。

RubyStation

RubyStationとは

RubyにはたくさんのWebフレームワークがあります。Rails, Sinatra, Merb, Ramaze, などなど。これらを使って、Webアプリを作ったことがあるかも 知れません。では、デスクトップアプリが作れることは ご存じでしたか?

素敵です。

miyagawaさんの発表されていたmicro Web appというコンセプトを実現するプラットフォームはRubyGemsのおかげでRubyが一番手っ取り早いのではないかと思いました。

参照:Remedie Internal Talk at YAPC10 - Remedie

関連: