タグ

ブックマーク / hiratara.hatenadiary.jp (6)

  • 今日は Yokohama.pm の日です - Pixel Pedals of Tomakomai

    こちらでustされますので、早めにテレビの前に集まりましょう! QudoxSkinny / nekokakさん DBIx::Skinny 昔はSQL::Parser。今はルールベースでオブジェクトにマッピング Data::Modelに近い setupで接続情報、install_tableでテーブル情報 install_utf8_columnsとかinstall_inflate_rule → ルールベースでの設定 SQL::Parserを使うの辞めたら、開発が盛んになった → 速くなったら戻ってくる まとめ: やりたいことは大体出来る。githubにあるのでどうぞ Qudo TheSchwartzにかわるJobQueueシステム Skinnyをベースにしたかった githubの練習がしたかった TheSchwartzのスペルが覚えにく過ぎる。拡張がむずい。挙動を知りたい QueueDoでクド

    今日は Yokohama.pm の日です - Pixel Pedals of Tomakomai
    init5
    init5 2009/04/17
  • git型の共同作業とSVN(CVS)型の共同作業の違い - Pixel Pedals of Tomakomai

    ずっと gitとsvkの違いってなんなのよ? と思ってたんですが、この図とか説明読んでようやくわかりました。 Gitでは旧来のCVS型とGit型の二つの共同作業のモデルが使えます。これが混乱の元でした。 Gitのすごさを当に体感するなら、gitを使うだけでは不十分でGit型のモデルにそって開発することが必須です。 CVS型 従来のSVN(CVS)のモデルです。pullをしてきて、pushで更新を戻します。 1つの公開リポジトリに対し、複数人がpushを行う pushにより他の人と競合するかも メインのリポジトリにpushすることを目指す 能動的 → 悪意のあるpushも可能 → "コミッター"を絞る必要あり Gitgithubっぽいモデルです。pullをしてきて、pullで更新を持って行ってもらいます。 全体がpullでまわるため、pushがプライベートな操作として隠蔽されてるのがポ

    git型の共同作業とSVN(CVS)型の共同作業の違い - Pixel Pedals of Tomakomai
    init5
    init5 2009/01/13
  • Yokohama.pm テクニカルトーク #3 に参加中 - Pixel Pedals of Tomakomai

    ワタクシは横浜人ですので。 Perl でモンテカルロ法 〜最強の○×ゲームエンジン開発〜(jukuin2000さん) モンテカルロ法の説明 乱数と確率を使う - 扇形の面積を求めるデモモンテカルロ法と扇形の面積の公式を元に、πの値を求めるデモ 人工知能歴史 将棋、チェスはAIが人間を超えつつある 囲碁は人間が断然強い →が、マス数を減らして、AIが勝った == モンテカルロ法 次に打つ手でシミュレートし、勝つ確率がもっとも高い手を選ぶ ○×ゲームで、この手法を実演 モンテカルロ法の利点 ゲーム特有の戦略(必勝法)が全く不要 作成者より強いプログラム、ゲームに詳しくない人でも書ける どんなゲームでも、ルールと終了条件だけ知ってれば後はひたすらシミュレーションするだけ モンテカルロ法が向いてないもの 将棋 → ランダムに打つと、終局しない(シミュレーションを終えにくい) Q. モンテカルロ法

    Yokohama.pm テクニカルトーク #3 に参加中 - Pixel Pedals of Tomakomai
    init5
    init5 2008/12/08
  • 正規表現エンジンを作ろう(5) - Pixel Pedals of Tomakomai

    連載第五回にして、ようやく正規表現エンジンが完成しました。それとも、逆にあっけなく完成してしまって拍子抜けと言ったほうがいいでしょうか??(笑) こんなに簡単に実装できたのは、今回のエンジンではキャプチャを実装してないことが大きいでしょう。キャプチャを実装するとなると、同時に「最長一致*1」を実現しなければならなくなりますので、実装は複雑になります。 さて、今回作ったエンジンはDFAエンジンでしたが、こちらのエントリで作った深さ優先のNFA評価器を使うと、NFAエンジンもどきを作ることができます。 今回のコードは全てCodeRepos上にありますので、試したい方はダウンロードして以下のdiffを適用して下さい。一言で言えば部分集合構成法をやめただけで、他のコードは一緒です。 --- dfareg/__init__.py (revision 25809) +++ dfareg/__init_

    正規表現エンジンを作ろう(5) - Pixel Pedals of Tomakomai
    init5
    init5 2008/12/05
  • 2008-08-30

    電源を確保できたので、*1今日もログ取っておきます。ちなみに、チケットを持ってくるのを忘れましたorz。当日券買ったので二重払いとなりましたが、Larryさんの旅費と言うことで(笑)*2。 *1:結局、電源は途中からお借りしました。助かりました! *2:チケット1001枚売れたらしいので、自分が重複で買わなければ1000枚ちょうどだったようです。 続きを読む まず、スタッフの皆様、大変お世話になりました。毎年のことなのですが、LLイベントは過酷なのにあっという間に終わると言う印象を持っています。今年も、11時間やったとは思えないほど時間が経つのが早く、楽しい時を過ごさせて頂きました。後、Larry Wallさんも長旅お疲れ様でした。またお話が聞けて嬉しかったです。 今回は、「LLでアート」のセッションがとても面白かったです。特にライブコーディングは感動もの。LLってこういう使い方もあるんだ

    2008-08-30
    init5
    init5 2008/08/31
  • ModPerl::Registryで出会った魔のコード - Pixel Pedals of Tomakomai

    mod_perlを5年以上触ってて初めてこんな現象に出会いました。ほんとひどい罠です。 現象 妙なタイミングで500エラーとなる Apacheを再起動すると直る index.plをtouchすると500エラーとなる perl -cw でチェックしても、warningも何も出ない コード 今回問題となったindex.plはこんな感じです。どこがまずいかわかりますか? use strict; use warnings; use Apache2::RequestUtil (); use ModPerl::Util; sub main(){ my $r = Apache2::RequestUtil->request(); $r->content_type('text/plain'); print_hello($r); ModPerl::Util::exit(); } sub print_hello

    ModPerl::Registryで出会った魔のコード - Pixel Pedals of Tomakomai
    init5
    init5 2008/04/19
  • 1