Vagrantの記事をもうひとつ

1円クラウド・ホスティングDigitalOceanを、Vagrantから使ってみる」、「DigitalOcean + Vagrant の使い方への補足」と、Vagrantに関する記事を書きました。これらの記事は、クラウドVPSホスティングサービスであるDigitalOcean上で仮想環境を構築する話です。

とりあえずVagrantを試してみるなら、仮想化ソフトウェアVirtualBoxによるローカルマシン上の仮想環境から始めるのがよいでしょう。次の記事で、そのやり方を解説していますよ。

「Catyの紹介」の再生リストと「006: アプリケーション」

Caty(キャティ)を紹介する一連の動画を再生リストにまとめました。次のURLです。

そして、6番目の動画「006: アプリケーション」を追加しました。次の画像は静止画ですが、クリックするとYouTubeサイトが開きます。

この動画では、Catyの「アプリケーション」とは何であるかを説明します。5分弱の動画です。

チュートリアルを少し変更、おバカな設定例

消失したCatyのチュートリアル文書を再現しようとしているのですが、こういう作業はなかなかに気分が盛り上がらないなー。とりあえず、公開済みの文書を Catyリリース5(バージョン Proto1-2.0.1)向けに書き換えました。

今のバージョンのCatyでは、特に何もしなくてもサイトが動き始めます。

ところで、サイトフォルダーの直下に _manifest.json て名前で次のファイルを置くと、単なるHTMLやCatyテンプレートのコンテンツがPHPのように見えると -- そんなことしてなんの意味があるかは全く不明!


{
"filetypes": {
".php": {
"content_type": "text/html",
"is_text": true,
"assoc": "print --resolve %1"
}
}
}

プロパティ名のネーミングコンベンションとパラメータ渡し方式が変わるので、次のバージョンでは次のようになるでしょうが。


{
"filetypes": {
".php": {
"contentType": "text/html",
"isText": true,
"assoc": "print --resolve %0"
}
}
}

Catyでは、ファイル名拡張子の意味付けや扱い方がデスクトップと同じなんだけど、「クールなURIは、拡張子がねーんだぞ」とか言われそうだから、そのうちラショネールを書かなきゃ。

Caty/Python Prototype-1 version 2.0.0 @ Bitbucket

Caty/Python Prototype-1 の 2.0.0 をリリースします。(現在(12月15日以降)、バグフィックス版である 2.0.1 のみダウンロードできます。

  • 使えなくなった機能:あるかも知れないが、改善された代替があるはず
  • 追加された目玉機能:組み込みコマンド translate

ご注意

caty-console.py または caty-server.py を最初に起動したとき次のようなメッセージが出ます。ちょっとびっくりするかも知れませんが、これは今回から追加された自動生成機能が動いているだけで、まったく問題ありません。


sites/tutorial に templates が存在しません。自動生成します
sites/tutorial に commands が存在しません。自動生成します
sites/tutorial に res が存在しません。自動生成します
sites/tutorial に scripts が存在しません。自動生成します
sites/tutorial に testfiles が存在しません。自動生成します
sites/wiki に res が存在しません。自動生成します
sites/wiki に scripts が存在しません。自動生成します
sites/wiki に testfiles が存在しません。自動生成します
sites/_ROOT に testfiles が存在しません。自動生成します

[追記]それと、今となっては不要なディレクトリ webapp/ が残ってました。これは事実上ゴミです。これだけの理由で梱包し直すのもナンですから、他の変更も溜まれば、まとめて 2.0.1 にします。[/追記]

[追記]サンプルサイトであるwikiといくつかのコマンドがが正常に動作しない、のが発覚。内部の変更にサンプルが追従してないのが原因です。2.0.1 を出しますので、それを待つか、バグ有りと承知の上でご使用ください。[/追記]

経緯とか状況とか

僕の腰がクラッシュしたり、使っているPCがクラッシュしたりと、クラッシュ続きの一週間でした。2日くらい遅れ、チュートリアル同時公開はできない(原稿消失)のですが、ソフトウェアはなんとか「今週中」にまにあいました。

「Catyスクリプトだけでノーロジック・アプリケーション」に書いたように、ビジネスロジックなしのフォーム処理がCatyスクリプトだけで書けるようになりました。

Kuwataさんは既にリリース5の作業に入っているので、次か次の次では、簡単なビジネスロジックもCatyスクリプトで書けるようになると思います。

チュートリアルは、でき次第 http://bitbucket.org/m_hiyama/catydocs/wiki/Tutorial にアップロードします。

ダウンロード方法

  1. http://bitbucket.org/m_hiyama/caty-python-proto1/downloads/ にアクセス。
  2. Tags & snapshots のところを見て、2.0.0 の行を探す。
  3. zip, gz, bz2 のなかから好みのアーカイブ形式を選んでダウンロード開始。

蛇足

だんだんと動く部分が増えてきて、実際に使えそうな感触を持てるようになってきました。しかし、輪郭ができるに従って、ドンドンドンドンやることが増えてしまう、つう現象がぁ(Kuwataさん嘆き

コンパクト閉圏を定義する その2

僕がトレース付きモノイド圏(traced monoidal categories)やコンパクト閉圏(compact closed categories)にこだわっている理由は、いずれ書く機会があると思います。かいつまんで言えば、データ構文論とプログラム意味論の両方に対して、かなりハッキリとした見通しを与えてくれる枠組みなんですね。

コンパクト閉圏における結合

これもpictorial calculation。以前、「トレース付きモノイド圏における結合」に書いた事と同じだけど、計算をコンパクト閉圏のなかで行ってみた、それだけ。