タグ

ブックマーク / tociyuki.hatenablog.jp (9)

  • 車内広告のない光景 - Tociyuki::Diary

    何かおかしい。昨日、海老名駅から相鉄の急行電車に乗り込み横浜へ戻ろうと席に腰を降ろしたとき、電車の中ででも読んで時間を潰そうかと鞄をあさっても文庫一冊入っていないことに気がついて、さてどうしたものかと目を車内にさまよわせたときのことでした。ふと違和感を感じたのでした。 その直後、ドアから入ってきた若者が隣に座り、目の前の席にも、もう一人座り、ご両人とも同じ種類の2画面携帯ゲーム機に没頭している姿は良くある光景で、はたから見るとまるでいきずりの2人が真向かいに座ってゲーム対戦しているかのように見えるなと心の中でつぶやいている間に違和感が薄れて、関心がしばらく前から考えていたプログラムのユースケースに移ろい見落としている前提条件や終了条件はないかと頭の中でこねくりだしました。 そんな感じでユースケース図と文書をいじっくている間に電車は数駅進み、ホームの向こうに止まっているすれ違い電車にふと

    車内広告のない光景 - Tociyuki::Diary
    jazzanova
    jazzanova 2009/08/25
  • 日本の社会貢献がワールド・ワイド・ウェブで見えにくいだけではないのか - Tociyuki::Diary

    ひがやすを氏が梅田望夫氏に申し立てている異議は、ワールド・ワイド・ウェブを使おうが使うまいが、プログラム開発以外の他の幅広い社会・政治問題でも、日で「有志がオープンに協力してある素晴らしい達成をなし遂げるといった公的な貢献をしている」、ということであろうと私は読み取りました。 ⇒ 梅田望夫にオープンソースを語るなとガツンと申し上げたい - ひがやすを blog 「こうした動きがいまだに日では根付いていません」の「こうした」は、「オープンソース」という考え方をさしていると思います。 また、「有志がオープンに協力してある素晴らしい達成をなし遂げるといった公的な貢献──を育む土壌がありません。」の土壌がないというのは日をさしていると思います。 つまり、「日には、オープンソースが根付いていなし、オープンソースを育む土壌がありません。」という風にいわれているのだと思います。 それに対し、「日

    日本の社会貢献がワールド・ワイド・ウェブで見えにくいだけではないのか - Tociyuki::Diary
    jazzanova
    jazzanova 2009/06/19
  • Perl で、「なんちゃって Behavior Driven Development」 - Tociyuki::Diary

    Ruby界では注目を集めてきた割に、Dave Astels が 2005 年に提唱した「A NEW LOOK AT TEST-DRIVEN DEVELOPMENT (日語訳)」(原文pdf)による Behavior Driven Development (略して BDD)は、Perl 界ではスルーされているような気がしてなりません。 ことの質はテストを何のために書くのかという姿勢にあり、ツールは従来のテストでも良いという割り切った感覚が Perl 使いにはあるからなのかもしれません。現実に、Ruby の BDD フレームワークの RSpec 熱い紹介記事にも、身も蓋もなく、そのように書いてあります。 ⇒ Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編) かくたに、もろはし著 FAQ:「RSpec っ

    Perl で、「なんちゃって Behavior Driven Development」 - Tociyuki::Diary
  • JSON::Hatchet の構文解析子 - Tociyuki::Diary

    CPAN モジュールを見て回っている限りでは Perl では構文解析子ジェネレータを使うまでもなく、LL(1) 文法で楽に構文を記述できる入れ子括弧テキストや、XML、JSON 程度なら、Perl で直書きする方がポピュラーな気がします。Ruby なら、LALR(1) 文法対応のコンパイラ・ジェネレータ Racc を使うのが楽でしょう。ANTLR は Python 優遇で、Perl5 と Ruby ポートは進んでいない印象を受けてますが、今はどうなのでしょう。 ⇒ Leo's Chronicle: 正規表現に見切りをつけるとき 正規表現の能力を超えるデータはどう扱えばいいのか?一番のお勧めは、ANTLRを使って字句解析(lexer)、構文解析(parser)するプログラムを生成する方法です。一昔前なら、lex/yacc、flex/bison, JavaCCなどしか選択肢がなかったのですが、

    JSON::Hatchet の構文解析子 - Tociyuki::Diary
  • MacBook Air 雑感 - Tociyuki::Diary

  • kernel 2.6.23 の chroot を深追い - Tociyuki::Diary

    実効ユーザ ID が root ならば、chroot(2) システムコールを使うことで、設定済の chroot を無効にできることは chroot(2) の man ページに明記されています。chroot(2) がカレント・ディレクトリを変更しないため、特定の状況下で相対パスで chroot したディレクトリの外をアクセスできることを短い sh の実証スクリプト付きで説明されています。では、カーネル内部ではどのようなことが生じているのでしょうか。だいたい想像はできるのですが、ソースコードを読み込んでみました。 読み込みは chroot システムコールを処理する sys_chroot 関数から始めました。この関数は、__user_walk 関数を使って、パス名を格納した文字列を元に nameidata 構造体 nd に vfsmount 構造体へのポインタを nd.mnt と、dentry

    kernel 2.6.23 の chroot を深追い - Tociyuki::Diary
    jazzanova
    jazzanova 2007/10/23
  • firefox の履歴から URI を標準出力に書き出す - Tociyuki::Diary

    「subtech - Bulknews::Subtech - IE の履歴を InternetShortcut に書き出す」と同じようなことを firefox でも。LinuxMacOS X で動作確認してますが、Windows でも動くかどうかはわかりません。 profile.ini を読んでデフォルト・プロファイルのパスを求めるには Mozilla::ProfilesIni を、その中に入っている履歴データベースを読み出すには File::Mork を使えば良いらしいです。 #!/usr/bin/perl use strict; use warnings; use File::Spec; use File::Mork; use Mozilla::ProfilesIni; my $profile = Mozilla::ProfilesIni->new( path => Mozill

    firefox の履歴から URI を標準出力に書き出す - Tociyuki::Diary
  • Web::Scraper で XPath と CSS セレクタを混ぜて使う例 - Tociyuki::Diary

    Web::Scraper はいたれりつくせりの仕掛けが仕込んであって、便利ですね。私が、割と良く使っている機能は以下 2 つです。 process の第一引数に、CSS セレクタだけでなく、XPath も指定できます。ただし、XPath を指定するときは先頭を必ずスラッシュ(/)で始めなければいけません。 process の第二引数以降の、値をどこから取得するかを指定する部分に、コード・リファレンスを置くこともできます。これを使うと、DOM ツリー中の値を加工して抽出することができます。 具体例として、デイリーポータルZアーカイブ一覧の中からべつやくれいさんのエントリを抽出してみることにします。まず、アーカイブ・ページのエントリ部分を取り出してやると、こうなっています。 <TD width="580" valign="top" class="tx12px"> <P> <B><FONT c

    Web::Scraper で XPath と CSS セレクタを混ぜて使う例 - Tociyuki::Diary
  • 雑誌のPerlのサンプルコード考 - Tociyuki::Diary

    Perl は OOP スタイルと手続き型スタイルの両方を混在させて記述できるなんでもあり度が高い素敵な言語です。なのですが、コードの使いまわしを考えると OOP スタイルの方が楽になる事例が多いことは事実です。一般に、副作用を受ける内部状態をもつライブラリはオブジェクトにしてしまった方が使いまわしが便利になるからです。 と思うのですが、雑誌のサンプルコードを見ていると、手続き型スタイルが主流で、なかなか OOP スタイルにはお目にかかれません。 そこで、今回、某ギーク向け誌にサンプルコード入りの記事を執筆する機会を得ましたので、この雑誌ならば説明なしの OOP スタイルでも許されるでしょうと、試しに OOP スタイルと手続き型スタイルの両方でサンプルコードを書いて行数を比較してみました。その結果、同じことをしているにも関わらず、手続き型スタイルの方が行数が少なくなりました。カプセル化の皮が

    雑誌のPerlのサンプルコード考 - Tociyuki::Diary
  • 1