タグ

ブックマーク / kaede.to/~canada (9)

  • おさかなラボ - YAPC::Asia 2010に参加して(Bleet)

    去年YAPCに初参加して、今年初めてLTをやった。内容は岡山.pmに関するもの。人が集まらないというネタで押し通した。 というわけで技術的な話はしなかったが、それでもYAPCの壇上に登ることの意義を感じた。有名無名のPerl Hackersが僕の下らない話をちゃんと聞いてくれているのだ。 現在レガシーなPerlコードしかいじっていなので話すことがないが、なんとか精進して来年は20分枠取りたい。 カテゴリー » 雑文 投稿日 » 2010/10/17 日曜日 - 11:05:17 by かなだ コメントはこちらからどうぞ。ご自身のサイトからトラックバックを利用する場合は以下の URI をご利用ください。 http://kaede.to/~canada/doc/yapc-asia-2010/trackback/

  • 503 Service Temporarily Unavailable

    pmakino
    pmakino 2010/06/30
  • おさかなラボ - 仕事の流儀~浅川 智恵子編を観て

    以下、視覚障碍者と書きますが、基的に識字困難者(かつて文盲と呼ばれた人)たちも含むと思ってください。両者を含むと地球の人口の相当な数がこれにあたります。 今回のプロフェッショナル - 仕事の流儀は視覚障碍者のアクセシビリティの研究家、浅川氏だということで録画して今朝観ました。 浅川氏は小学生の時プールの縁に目をぶつけただけで、原因不明のまま全視力を失ったそうで、視覚障碍が(視覚的な)健常者とは遠くない話であることを実感させられました。他人事ではないのです。 詳しくは省略しますが浅川氏のモチベーションはすごいもので、障碍者に対する教育が十分ではなかった当時、よく途中で挫折しなかったものだと思います。 浅川さんの基礎研究は一言で言ってしまえばWebの読み上げ技術、視覚障碍者のWebへのハードルを下げることを目的としているようです。彼女の開発しているソフトウェアは、リンクは男声、一般テキストは

  • おさかなラボ - Perlの日本語ドキュメントポータルは速やかに刷新すべき

    と思いこんなものを作ってみました。α版なので細かいツッコミは歓迎ですが寛容にお願いします。当然気づいているバグもあるのですが、ケツを叩かれるとのそのそ動くのが私の習性なので。デザインの著作権を侵していますが、勝手な都合でsearch.cpan.orgの方から警告があるまではこのままにします。 http://kaede.to:8000/ 断言します。日Perlコミュニティには、このような、別の形の日Perlドキュメントポータルが絶対に必要です。 これは、しばらくは動くようにしておきます(なるべく・1ヶ月くらい?)。その後状況をみてなるべく当社とは関係ない(最終的には全く関係ない)ドメインでどこかに移転します。それ以降にデッドリンクになっているのを見つけた方は、canadie at gmail まで一言頂けると助かります(他力リマインダ)。 なお動いているのは弱小サーバーでしかも多段P

  • おさかなラボ - Coroでより賢い非同期クローラを作る

    前回のエントリでは簡単なクローラの作り方を説明した。しかしこのクローラには欠点があり、取得したいURLが何千何万とある場合、一度にhttp_getが走ってしまい、リソースを使い切ったり同じサーバーへのアクセスを待つ間にタイムアウトしたりと都合が悪かった。そこで今回はAnyEventに加えCoroを使うことにより、並列を使ってリソースへの同時アクセス制限を行うクローラの書き方を解説する。 これは前回のエントリの改良版になるので、初めてこれを読む方は当該エントリを先に読んで頂きたい。 まず、前回はAnyEventを使い、condvarとsend-recvを使ってイベントの監視をしていたが、Coroと同時に使う場合これでは都合が悪い。イベントループを回す場合、一般的にAnyEventはrecvを、Coroはjoinを使うが、これらはどちらもイベントループが終わるまでブロックするのでどちらかし

    pmakino
    pmakino 2009/10/18
  • おさかなラボ - Coroの並列をあっさり理解するための3つのサンプルスクリプト

    Coroが非同期にルーチンを扱う(コルーチンを扱う)モジュールだということはご存知だと思うが、いまいちピンと来ていない人も多いのではないだろうか。これは、1つにCoroやCoro::Introの例題が悪すぎると思う。例えば、Coro::Introのサンプルスクリプトはこうだ。 use Coro; async { print "async 1\n"; cede; print "async 2\n"; }; print "main 1\n"; cede; print "main 2\n"; cede; このスクリプトは確かに面白い挙動をするが、スレッドを実現してるんだよと言われるとちょっと「?」である。こんなのgoto文でできるじゃんみたいな。そしていきなりセマフォやチャネルの話に飛んでしまい、肝心の「Coroはスレッドが実現できるんだよ」というところが分かりにくい。そこ

  • おさかなラボ - 非同期の簡単なクローラの作り方

    そろそろ(いまさら)Coro+AnyEventでもやってやるか!と思って簡単な並列クローラを作ることにしたのだが、ググって出てくるサンプルを見てもいまひとつうまく動いてくれない。 で、そういえばYAPC::Asia 2009でmala.さんがAnyEvent::HTTPを使うとこんなに簡単にできるよ!と言っていたので、スライドの通りにやってみた。 use AnyEvent::HTTP; sub done { print @_; } http_get ("http://www.example.com/“, \&done); # 1 http_get (”http://www.example.com/“, \&done); # 2 http_get (”http://www.example.com/“, \&done); # 3 –mala氏 main.txtから引用。 こ

  • おさかなラボ - Perl -Tを持ち上げすぎたかも知れぬ

    先日Perlの-Tオプションについて触れたが、誤解のないように補足しておく。taintperlおよび-Tオプション(以下-T)はWebプログラムの脆弱性においてはほとんどの場合無力である。また、-Tは、あんまりにも脆弱なコードに対し、何か悪いことが起きる前に死を以ってそれを訴えるだけの存在であり、普通にプログラムを書いていれば発動することはない。たとえば車でいうエアバッグのような存在だと考えるべきで、脆弱性対策というには程遠い存在だ。 重ねて書くが、-Tは「出自不明のデータによる致命的な動作(意図せぬコマンドの実行やファイルの書換え)をある程度防ぐことができる」だけで、Webにおいての一般的な脆弱性にはほとんど役に立たない。例えば。 #!/usr/bin/perl -T use strict; use CGI qw(:standard); print header, param(

  • おさかなラボ - サニタイズ病はPerlのせいじゃないってば

    タイトルの通り。ほかは特に異議はないんだけども。 WASF Times版「サニタイズ言うな!」@高木浩光@自宅の日記より もうひとつはPerlです。20世紀には、CGIといえばPerlという時代がありました。open文にファイル名を渡すときに、コマンドとして起動されてしまうような書き方が広まり、これがOSコマンドインジェクション脆弱性となりました。 前にも書いたが、HTTPにおけるOSコマンドインジェクション脆弱性は、僕が知る限りではPerlスクリプトではなく、Cプログラムにおける実装で有名になったと記憶している。 Vulnerability in NCSA/Apache CGI example code 脆弱性発見当時のメールらしきものが残っているのだが、 util.c hole and speed of security patch release Most of the

  • 1