2011-01-01から1年間の記事一覧
今日はAmon2-2.49のコンテキスト周りで、具体的には Amon2、Amon2::Web、Amon2::WebRequest、Amon2::WebResponse、ついでにAmon2::Config::Simple 。Dispatcher はこれらと粗結合なので、次回以降。他残っているのは、scaffoldのコードと、トリガーとプラグ…
YAPC::Asia Tokyo 2011 が10/13〜10/15 に開催されます。チケットの販売も始まってますので、買ってない方は締め切りが近いようなので早く買った方がいいです。今年は初スピーカーとして出られることになったので、Monads in Perlという題でこんな話とかこん…
今日は Amon2-2.49 のscaffoldの作成まで。具体的にはAmon2::Setup:: 名前空間の部分。 amon2-setup.pl script/amon2-setup.pl がscaffoldの作成スクリプトだが、これは各フレーバーをnew->runしてるだけ。フレーバはAmon2::Setup::Flavor:: という名前空間…
Akiba.jsという集まりは初めて聞いたのですが、今日はJavaScript ゲーム製作勉強会 Vol.2に出席しています。会場はリクルートさんです。詳細はid:nakamura001 さんの撮影した動画を参照しましょう。
最近モダンなPerlのソースを読んでなかったので、ぼちぼちソースを読んでみようかと。ってことで、Router::Simpleの0.09です。まともに使ったこと無いのにソースだけ読んでるので、間違ってたらごめんなさい(これから使うつもりだけど)。 概要 Router::Simpl…
Hokkaido.pm でuWSGIについて話してきました。uWSGIは Nginx や Cherokee でも標準対応がされ初めており、今後の発展が期待されるアプリケーションサーバです。スライドは以下です。 ウヰスキーとPSGI View more presentations from hiratara デモがメインだ…
旅行中にふらりと立ち寄ったので、内容をメモしておきます。ustreamはこちら。
今日は夏の正規表現祭りに参加していますので、自分用にメモします。ustreamもあります!
読み終わったので感想です。他の方々からも良書だ、良書だと勧められましたが、結論から言うとやはり買いです。 論理と計算のしくみ萩谷 昌己 西崎 真也 前半は論理学から話を初めてゲーデルの不完全性定理までを論じます。後半はλ計算と型理論についての内…
論理と計算のしくみを読んでるメモ。fixed point operator があれば、再帰的な記述を再帰しない記述に直せる。再帰的な記述とは、例えば、以下のようなもの。 my $fact = sub { my $x = shift; $x <= 1 ? 1 : $x * $fact->($x - 1); }; 階乗を求める関数$fac…
「Aならば、AならばBならばB」の証明はCoq*1だと以下のように書けます。 Goal forall (A B : Prop), A -> (A -> B) -> B. Proof. intros A B. intro. intro. apply H0. apply H. Qed.なんでこれが証明になっているんでしょうか。Coqのモデルは自然演繹*2だそ…
Hokkaido.pm #5やるみたいなんで、はりきって実家に帰らせていただきます参加してきます!Teng(とかDBIx::Skinnyとか)で有名な@nekokakさんがいらっしゃるので、色々とためになる話が聞けると思います。北海道の人はみんな出ればといいと思います。
「Monad攻略戦」と聞いたので、参加してきました。 Type Class in Coq / @tmiya_ さん On Understanding Types, Data Abstraction, and Polymorphism universal Polymorphism 個別実装なし parametric : ML系の多層型 inclusion : サブタイプ、継承 ad-hoc P…
本日18:30から行われるYokohama.pm #7へ参加する予定です。
論理と計算のしくみを読んでいてチューリングマシンの停止性問題(Halting problem)の証明がしっくり来なかったので、Rubyで書いてみました。こうして書いてみると、証明のアイデアとしては単純明快です。ちなみに、Lisper のためのチューリングマシンの停止…
Coqのお勉強をしたくて出席してきました! 非常〜にわかりやすいチュートリアルで、おかげさまで概要がわかるようになりました。やはりこういう抽象的な内容は、文章より実際にレクチャーして頂いた方が掴みやすいですね。
cpanmのように素のPerlだけで余裕で動くぜっていう配布物を作る時に便利な小道具×2です。 App::FatPacker App::FatPackerとは、依存モジュールを全て1つのファイルに押し込んでパックしてくれるライブラリです。1枚のスクリプトに全てをまとめてくれるApp…
@lestrratさんに誘われて、livedoorさんの社内勉強会でお話してきました。id:perlcodesampleさんが来社された時の資料を20%くらい使い回した資料ですが、公開しておきます。モデルから知るGitView more presentations from hiratara.これでまとまった資料が…
conceptual mathematicsを読む会です。初心者向けであり読みやすく、具体例に豊富で圏のイメージがつき、易しいにも関わらず重要なアイデアが詰まっています。ある圏論の研究者は、「僕はこれでようやく圏についてイメージを得ることができるようになった」…
10年以上使ってて慣れてるからってのが一番ですが、後、TMTOWTDI に共感するからってのもあります。まず、たくさんの書き方があれば、それだけ読み手に色んなことを伝えられます。文章を書く時に、一人称を「僕」「俺」「私」のどれを使っても意味は一緒です…
結論から言えば、ベストな解は見つかってませんので、あくまでアイデアのメモとして。以前、P::M::StackTrace について以下のような話を書きました。 plackup を -E development で起動するとついてくるPlack::Middleware::StackTraceは大変便利ですが、この…
@lestrratさんが教えてくれたことのメモ。以下のコードはエラーとなります*1。 use strict; use warnings; use DBI; my $dbh = DBI->connect('DBI:mysql:mysql', 'root', 'password') or die DBI->errstr; my $pid; if ($pid = fork) { # NOP in the parent …
virtualenv上でGAEのdev_appserver.pyを動かそうとNo module named cgiが出たりしますが、これはdev_appserver.pyがos.pyが入っているディレクトリ以外からモジュールをロードしないようにサンドボックスを作っているからです。virtualenvな環境だとos.pyは…
class MyImporter(object): def find_module(self, fullname, path=None): return self def load_module(self, fullname): raise ImportError("failed") import sys sys.meta_path = [MyImporter()] import datetime だと「ImportError: failed」になって、 …
今年も、前に出る攻めの姿勢でいられたらなあと思います。