タグ

ブックマーク / dankogai.livedoor.blog (94)

  • regexp - (?=lookahead) and (?<=lookbehind) assertions : 404 Blog Not Found

    2007年05月01日01:45 カテゴリLightweight Languages regexp - (?=lookahead) and (?<=lookbehind) assertions Mastering Regular Expression Jeffrey Friedl [邦訳: 詳説 正規表現] つっこみの方はちょっと後回しにして... odz buffer - 正規表現の否定 #2 とりあえず、dankogai さんあたりがツッコミを入れてくれると期待。 まずはこちらから。 Unknown::Programming - 文字列の先頭がある単語で始まらない正規表現って qr/^(?:(?!foo).)+.*/ でいいのかなぁ・・・? LookbehindLookahead Positive(?<=expression)(?=expression) Negative(?<!exp

    regexp - (?=lookahead) and (?<=lookbehind) assertions : 404 Blog Not Found
  • 404 Blog Not Found:perl tips - Encodeを速く使う方法

    2007年04月23日01:30 カテゴリLightweight LanguagesTips perl tips - Encodeを速く使う方法 はっきり言ってこれはフェアではない。 みかログ: ErlangとPerlの速度比較 Perl側は,Encodeが遅い. Encode::from_toがinplaceでコンバートしてしまうために,直前に文字列コピーがあるのも影響しているのかも なぜなら、Encode::from_to()は速度ではなく、安全性に最適化しているから。 そもそもはじめからUTF-8、それもutf8フラグがたっている文字列にfrom_toを使うのはばかげている。 for(my $i = 0; $i < 0xffff; $i++) { my $str2 = $str; Encode::from_to($str2, "UTF-8", "Shift_JIS"); } は単に

    404 Blog Not Found:perl tips - Encodeを速く使う方法
  • 404 Blog Not Found:perl - Regexp::Assembleのススメ

    2007年04月19日15:00 カテゴリLightweight Languages perl - Regexp::Assembleのススメ というわけで、Regexp::Assembleのご紹介。 PERL HACKS(日語版) [英語版] odz buffer - それ Regexp::Assembleん?ループ云々を抜きにして、こういうのは Regexp::Assemble の出番じゃないの? すでにPerl Hackers御用達のモジュールとなっていますが、まだ知らない方もいらっしゃるかも知れないので。 何をするモジュールか、といえば、以下を見れば一目瞭然でしょう。 Regexp::Assemble - Assemble multiple Regular Expressions into a single RE - search.cpan.org use Regexp::Asse

    404 Blog Not Found:perl - Regexp::Assembleのススメ
  • 404 Blog Not Found:YAPC::Asia::2007 - 弾のスライド

    2007年04月05日10:45 カテゴリYAPC::Asia YAPC::Asia::2007 - 弾のスライド 日は昨日よりもWiFiの具合がいいみたい。 私担当の講演のスライドですが、以下のとおり公開しました。 YAPC::Asia::2007 - Perl I18N in 20 minutes YAPC::Asia::2007 - An Ordinary Perl 6 Guide Synopsis: スライドは←→の矢印キーで切り替えです。Firefox推奨。 "Translate"にチェックを入れると、Ajaxで自動翻訳します。 Palさん、Perl 6 for Ordinary People の方で絵をお借りしました。この場を借りて事後承諾&感謝。 Dan the Speaker Thereof @ Tsuda Hall 「YAPC::Asia」カテゴリの最新記事

    404 Blog Not Found:YAPC::Asia::2007 - 弾のスライド
  • 勝手に添削 - PerlによるCSVファイルの高速集計 2 : 404 Blog Not Found

    2007年03月07日01:00 カテゴリLightweight Languages 勝手に添削 - PerlによるCSVファイルの高速集計 2 前回に引き続き、今回も引き続きcodezineさんの添削。 添削後のコード #!/usr/local/bin/perl use strict; use warnings; use Text::CSV_XS; my ($rfh, $wfh, %name_of, %addr_of); my $tc = Text::CSV_XS->new({binary=>1}); # to handle non_ascii; my $addr_file = shift or help(); my $q_file = shift or help(); my $out_file = shift; open $rfh, "<", $addr_file or die "$a

    勝手に添削 - PerlによるCSVファイルの高速集計 2 : 404 Blog Not Found
  • perl - CSVはText::CSV(_XS)?で : 404 Blog Not Found

    2007年02月16日14:30 カテゴリLightweight Languages perl - CSVText::CSV(_XS)?で このことに異論はないのだけど、 CodeZine:PerlによるCSVファイルの高速集計(CSV, 入門, Perl) 特によく利用されるテキストファイルとして、CSV形式が挙げられます。CSVを集計したい場合、Excelに読み込ませて集計関数やマクロを駆使しているという人も多いかと思いますが、Perlを利用することで、高度な集計作業を簡単かつ高速にできます。 これはちょっと問題。 my @d = split(/,/, $_); 実はCSVというのは以外と扱いにくいフォーマットで、例えば"I, Robot","Robots and Empire"とあったら、I, RobotとRobots and Empireと取り出すフィールドは二つでなければならな

    perl - CSVはText::CSV(_XS)?で : 404 Blog Not Found
  • 販売開始 - まるごとJavaScript & Ajax! Vol.1 : 404 Blog Not Found

    2007年02月16日00:00 カテゴリ書評/画評/品評Lightweight Languages 販売開始 - まるごとJavaScript & Ajax! Vol.1 2007.01.31掲載:発売まで告知 Amazonでも予約開始されたようなので告知します。 まるごとJavaScript & Ajax! Vol.1 [インプレスのページ] まるごとPerl! Vol.1に引き続き今回も執筆させていただきました。ふるってご予約ください。 目次 ■introduction JavaScriptの落とし穴(arton) JavaScript -- プロトタイプベースのオブジェクト指向言語(小飼弾) ■Special 1:Libraries & Toolkits JavaScriptを洗練させるPrototype.js(天野仁史) 関数指向のMochiKit(編集部) Script.acu

    販売開始 - まるごとJavaScript & Ajax! Vol.1 : 404 Blog Not Found
  • regexp - yet another fix for dodgy UTF-8 : 404 Blog Not Found

    2007年02月14日21:30 カテゴリLightweight Languages regexp - yet another fix for dodgy UTF-8 他の言語にも移植しやすいようにrefactorしてみました。 subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes すでに utf-8 なバイト列を latin-1 と解釈して utf-8 に二重エンコードすることで起きる文字化け(を表現する短い言葉ってないのかな)を直すコード。sub fix_utf8 { my $bytes = shift; utf8::encode($bytes) if utf8::is_utf8($bytes); $bytes =~ s{ ([\xC2\xC3])([\x80-\xBF]) }{ chr( (ord($1) << 6 & 0xff) |

    regexp - yet another fix for dodgy UTF-8 : 404 Blog Not Found
  • 404 Blog Not Found:perl - LWPあれこれ

    2007年02月14日19:00 カテゴリLightweight Languages perl - LWPあれこれ すでに多くの指摘があるとおり、GETはLWPの付属コマンドです。 ウノウラボ Unoh Labs: ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!! jokagiは何年か前に偶然見つけたGETというコマンド(HEADもよく使う)を使用していますので,このコマンドの紹介と超簡単なハックをひとつ紹介したいと思います.動作環境にインストールされているCPANパッケージの具合によってはhttpsが使えない(ぽい) GETに限らずLWPでSSLを使うには、Crypt::SSLeayインストールすればOKです。 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1

    404 Blog Not Found:perl - LWPあれこれ
  • 404 Blog Not Found:perl - 半角スペースを自動で入れる

    2007年01月15日05:00 カテゴリLightweight Languages perl - 半角スペースを自動で入れる 是非はさておき、入れるのであれば自動で入れたい。というわけでこちら。 portal shit! : 半角スペース入れてますか? 半角スペース入れるべき、入れないべき?spacer.pl #!/usr/local/bin/perl use strict; use warnings; use Encode; my $east = qr/(?!\p{M})(?:\p{Han}|\p{Katakana}|\p{Hiragana})/; my $west = qr/(?!\p{M})(?:\p{Latin}|\p{Greek}|\p{Cyrillic})/; binmode STDOUT, ':utf8'; while(<>){ $_ = decode 'utf8', $_

    404 Blog Not Found:perl - 半角スペースを自動で入れる
  • 「ダウンロード、海賊版は禁止」は実施可能か? : 404 Blog Not Found

    2006年11月24日19:00 カテゴリMedia 「ダウンロード、海賊版は禁止」は実施可能か? あきれた。 asahi.com:ダウンロード、海賊版は禁止 政府、著作権法改正を検討?-?社会 政府の知的財産戦略部(部長・安倍首相)は、音楽や映像を違法コピーした「海賊版」をインターネット上からダウンロードすることを全面的に禁止する著作権法改正に着手する。27日に開く知財部コンテンツ専門調査会に事務局案を提案。罰則も設け、08年通常国会に提出をめざしている改正案に盛り込む。海外でも人気が高い日のマンガやアニメなどの権利保護を強め、コンテンツ産業の育成を促す狙いがある。ここまでアホだと、πの値を3と法律で定めたどこかの政府を笑えない。 なぜなら、デジタル情報においては、閲覧することはコピーそのものだからだ。「閲覧」しているというのは実は我々の感覚に過ぎず、実際はオリジナルと全く同じ情

    「ダウンロード、海賊版は禁止」は実施可能か? : 404 Blog Not Found
  • Unicodeは文字集合か符号化方式か : 404 Blog Not Found

    2006年11月24日12:30 カテゴリLightweight Languages Unicodeは文字集合か符号化方式か 以下は、電脳で文字を扱う場合の基礎中の基礎なのだが、肝心の記事に重大な誤りがいくつもある。 文字コード規格の基礎:ITpro そろそろ具体的な説明に入ろう。最初にはっきりさせておく必要があるのは次の点だ。一般に「文字コード」と言う場合, 文字の集合 エンコード方法 という要素がある。この二つを区別して考えることが重要だ。もちろん大きな関連はあるのだが,ごちゃごちゃのままでは「わからなく」なる大きな要因となる。ここだ。 これによると、Unicodeは明らかに「エンコード方法」であるが、これは間違い。ここで書かれているものはUCS-2という名前のUnicodeが定めるいくつかの「エンコード方法」の一つであり、しかもUTF-16によって陳腐化した方式である。 まずUnic

    Unicodeは文字集合か符号化方式か : 404 Blog Not Found
  • 404 Blog Not Found:perl & Unicode - その字の名前

    2006年11月20日23:00 カテゴリLogos一日一行野郎 perl & Unicode - その字の名前 Unicodeの隠れた功績として、こうした「何て呼べばいいの?」という文字に(はんば無理矢理)名前をつけてくれたこともあります。 例えば、 新方言時代〜「小さい“お”」って何? 「々」はなんていえばいいのだろうか? には 々 U+3005 IDEOGRAPHIC ITERATION MARK といった具合に。 この手の調査は、Perl5.8以降が手元にあると簡単に出来ます。 例えば、 perl -Mencoding=utf8 -MHTML::Entities -Mcharnames=:full -ple \ '$o=ord; $_=sprintf"$_ U+%04X %s", $o, charnames::viacode($o)' で、こんな具合にコードポイントとUnicode

    404 Blog Not Found:perl & Unicode - その字の名前
  • 404 Blog Not Found:perl - In-Memory File

    2006年11月08日04:30 カテゴリLightweight Languages perl - In-Memory File Perl 5.8以降では、このような場合にin-memory fileが使えます。 【続】やはり Perl はメモリ喰いな言語。データ型の内部構造 :: Drk7jp DB上の全レコードをいったん perl 側の配列に格納して、その結果を返す。ってコードなのですが、当然ながらレコード数が多くなればメモリをうのは当たり前なのですが、以前の記事の内容を完全に忘却してました。ここには落とし穴があるのです。使い方は、簡単です。 my @array = (0x21..0x7e); my $memfile; open my $wfh, '>', \$memfile or die $!; print $wfh chr($_), "\n" for (@array); clos

    404 Blog Not Found:perl - In-Memory File
  • サイレントマジョリティの声を反映するw : 404 Blog Not Found

    2006年11月03日13:30 カテゴリMoneyLogos サイレントマジョリティの声を反映するw これって誤ったプロセスのもとに出た「正解」だけど、先生は○をつけてくれないだろうなあ。 中国韓国と仲良くした方がいい?しなくてもいい?−石田衣良の白黒つけます!!:MSN毎日インタラクティブ 今回のこたえは数字のうえでは「しなくていい」派が圧倒的だったけれど、応募しなかった多数のサイレントマジョリティを考慮にいれて決定させてもらいます。中国韓国とは仲良くしたほうがいい。サイレントマジョリティが何と言うまいが、中国と日はすでに合州国と日よりも仲がいい。 THE WORLD COMPASS 日の輸入シェアに米中逆転 ここ数年、中国から日への輸入が急増している。財務省の貿易統計によれば、輸入全体に占める中国(含香港)シェアは1998年の13.8%から 2001年の17%に拡大し、逆

    サイレントマジョリティの声を反映するw : 404 Blog Not Found
  • perl+javascript - Livedoor地図情報のルート検索を簡単に : 404 Blog Not Found

    2006年10月02日21:00 カテゴリLightweight Languages perl+javascript - Livedoor地図情報のルート検索を簡単に ルート検索に関しては、今のところlivedoorのそれが一番よく出来ているように思います。 [N] livedoor 地図情報「ルート検索詳細設定」が良い感じ 検索に利用したlivedoor 地図情報「ルート検索詳細設定」が便利だったのでご紹介。 ただ、Livedoorに限らず、ルート検索は出発点と到着点の設定が結構面倒に感じていたので、こんなHackを用意してみました。 要は「 404 Blog Not Found:javascript + perl - 住所でGoogle MapにアクセスするHack」で紹介したgeocoding.jpで地名→座標変換をして、その座標を使って状態遷移なしで住所指定をしてしまおう、というも

    perl+javascript - Livedoor地図情報のルート検索を簡単に : 404 Blog Not Found
  • 404 Blog Not Found:javascript perl - 住所でGoogle MapにアクセスするHack

    2006年09月27日02:00 カテゴリLightweight Languages javascript + perl - 住所でGoogle MapにアクセスするHack + これとこれがそろえば、ここまで来るのは時間の問題というものです。 問題点 Google Map APIでは日のGeocodingに(まだ)対応していないため、いちいち緯度と経度を調べる必要がある。 解決策 「Geocoding API - 住所から緯度経度を検索」を使って住所から緯度と経度を調べればいい でもXMLではクロスドメイン問題がある ならばJSONPへの変換サーバーを用意すればいい あとはその結果をGoogle MAPに反映させればいい geocoding.jp -> JSONP 変換サーバー これはXML2JSONPを応用すればあっという魔。 gcjp2jsonp.cgi gcjp2jsonpのテス

    404 Blog Not Found:javascript perl - 住所でGoogle MapにアクセスするHack
  • perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... : 404 Blog Not Found

    2006年06月16日00:00 カテゴリLightweight Languages書評/画評/品評 perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... 正規表現においては、/a|b|c/(alteration)は[abc](character class)にすべし、というのは、perlに限らない常識です。 Mastering Regular Expression Jeffrey E. Friedl [邦訳: 詳説 正規表現] qootas.org/blog - perl regex performance"|"(パイプ)を使った正規表現はめちゃくちゃ遅いから使わないように、ということです。確かにベンチマークを取ると32倍速いです。 どうせならPerl自身が内部で/a|b|c/を[abc]にしてくれたらと思ったことありませんか? 少なくとも、正規表現を仕事で使う

    perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... : 404 Blog Not Found
  • ['文化','放送'].reverse : 404 Blog Not Found

    2006年06月12日10:40 カテゴリMedia ['文化','放送'].reverse その影響力の強さに目がくらみ、引け目を棚上げしているようにしか見えないのはなぜなのでしょう。 古川 享 ブログ: 放送・通信の在り方に関する、私見その5 NHKが放送記念日に放送した特別番組で、「批評がなりたたず、だから、放送は文化にはなれきれない」とのノンフィクション作家の吉岡忍氏のコメントを私も録画してiPodに入れているのですが…その中で吉岡氏は「TV関係者は常に引け目を感じている」と指摘、「自分たちは文化として一流じゃないんじゃないかといつも心の中で思っているように見える」という。だが、その一方で、「影響力の強さを優越感としても持っている」とする。ネットを加えることで放送に文化をもたらすことによる最大の受益者は、放送業者であるはずなのです。ところが、この部分において放送業者は他者が切り取り

    ['文化','放送'].reverse : 404 Blog Not Found
  • 404 Blog Not Found:perl - ('ぁ' .. 'ん') は動きません

    2006年06月08日17:30 カテゴリLightweight Languages perl - ('ぁ' .. 'ん') は動きません PerlのRange Operator, ..は便利なものですが、限界もあります。 my @alpha_small = ('a' .. 'z'); は期待通りに動いても、 my @hiragana = ('ぁ' .. 'ん'); はそうはならないのです。 ただし、簡単な解決策もあります。 my @hiragana = map { chr } (ord('ぁ') .. ord('ん')); Perl 5.8.1 以降は tr/ぁ-ん/ァ-ン/も、qr/[α-ω]/も使えるのに、範囲演算子はそうでないというのはバグに見えないこともないですが、私自身はこれでもいいと思います。というのも範囲演算子の場合、$a .. $bという変数も受け入れなければならないから

    404 Blog Not Found:perl - ('ぁ' .. 'ん') は動きません