タグ

ProgrammingとPerlに関するagwのブックマーク (433)

  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
  • 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のススメ
  • F's Garage:rubyとかPHPとかPerlとか。

    企業の言語選択は、どれほど人材採用に影響があるのだろうか。 楽天が先日ruby on railsを採用するという話がニュースになった。ruby会議のスポンサーにもなっているようだ。 楽天JavaPHPを使っているとのことで、Javaエンジニアがライトウエイト言語でRubyに行くというのは割と僕も正当なパスだと思うので、基的に納得である。 最近、一つ納得がいかないのは、オープンソースやらネット上で技術者が目立たないと、まるでその会社には技術屋がいないような扱いになってしまう点。 さらっと見つけてみたのだが、代表的な発言として、404 Blog Not Foundさんの > 楽天の苦点 そして「中の人」の存在感がほとんどない。これは、ネットならではの事情なのだが、成功しているサイトのほとんどが、何らかの形でその技術力が外から伺えるようになっている。はてなや37signalsのように、中

  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
  • perl - 勝手に添削^2 - loop control : 404 Blog Not Found

    2007年04月19日04:15 カテゴリLightweight Languages perl - 勝手に添削^2 - loop control 他にもつっこみどころはあるのですが今回は、loop controlに的を絞って。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ここギコ!: 安易なループは慎むべきですね jnaoyaのはてな日記 - 添削その2 [H.Iさんのコメントを受け加筆訂正アリ] まずは、DCONWAY先生の一言から。Loopに関する黄金則です。Perl以外でも有効。 Reject As many iterations as possible, as early as possible. 繰り返しは排除せよ、それもなるべく早い段階で 以下をご覧下さい。 jnaoyaのはてな日記 - 添削その2 while (m

    perl - 勝手に添削^2 - loop control : 404 Blog Not Found
  • perl - 勝手に添削断念 - NNIPF : 404 Blog Not Found

    2007年04月15日07:30 カテゴリLightweight Languages perl - 勝手に添削断念 - NNIPF 「はてなブックマーク - タグ perl」で以下を発見して、SPAMとの戦いに日々うんざりしている私は期待に胸を踊らせたのですが、代わりに心臓が踊ってしまいました。 http://vrl.sys.wakayama-u.ac.jp/~twada/NNIPF.html NNIPFでは,我々が長年蓄積した100万通以上の大量のSPAMデータを詳細に解析した結果,最も有効であると思われる「送信者の情報」を特徴として利用しております.下記の二つを,指定されたURLからダウンロードして,下記の指定された名前でNNIPFのディレクトリに保存してください. -rw-r--r-- jcode.pl-2.13 http://www.srekcah.org/jcode/jcode.

    perl - 勝手に添削断念 - NNIPF : 404 Blog Not Found
  • 404 Blog Not Found:perl - warn()とdie()の振る舞いを変更する

    2007年04月12日01:30 カテゴリLightweight Languages perl - warn()とdie()の振る舞いを変更する こういった場合の対処法です。 shag の日記 - inetd 経由で起動されても peeraddr は取得可能 ところで Perl で inetd 起動のスクリプト書くと STDIN から入力を読み取って, STDOUT に出力すれば良いだけなんだけど、実は STDERR も inetd を通してネットワークストリームに出力されるので use warnings; する人は注意が必要です。これは、例を見てもらうのが一番速いでしょう。 #!/usr/local/bin/perl use strict; use warnings; use Fcntl; # for sysopen our $LOGFILE = 'warn.log'; warn $0;

    404 Blog Not Found:perl - warn()とdie()の振る舞いを変更する
  • 404 Blog Not Found:perl+apache - LWPを責めないで

    2007年04月10日18:00 カテゴリLightweight LanguagesBlogosphere perl+apache - LWPを責めないで これはPerl Mongerとして一言言っておかねばなるまい。 Googleにもアクセス拒否され、スパム送信源と化した「libwww-perl」とは? - GIGAZINE スパム対策をして気がついたのですが、どうやらスパムトラックバックを送信してくるリモートホストIPアドレスなど)はバラバラであっても、ユーザーエージェント、いわゆるブラウザの名称部分に「libwww-perl/5.805」というように「libwww-perl」と入っているものが多く、結果として、Googleなどは検索結果ページに対してこのユーザーエージェント名の一部「libwww」が含まれているとアクセス拒否しているようです。LWPことlibwww-perlは、We

    404 Blog Not Found:perl+apache - LWPを責めないで
  • ニコニコ動画ダウンローダ with Irvine - odz buffer

    Irvine を使ってニコニコ動画の flv をダウンロードする Perl スクリプト。こんな感じに使う。 perl NicoVideoDownloader.pm -c cookies.txt <ニコニコ動画のURL>Cookie は Firefox なんかの Mozilla 系の Cookie を持って来る(プロファイルフォルダ以下の cookies.tx を使う)。 ぶっちゃけ、これのパクリ + α です。 当は Python でやろうと思ったんだけど、Cookie を使った認証でうまくいかなかったので、Perl でゴリゴリ。 package NicoVideoDownloader; use base qw(Class::Accessor); __PACKAGE__->mk_accessors(qw(ua irvine)); use strict; use warnings; use

    ニコニコ動画ダウンローダ with Irvine - odz buffer
  • YAPC::Asia 2007 Tokyo Sessions

    Schedule Tsuda Hall (download) T101 + 102 (download) Apr 04, 2007 TimeTsuda HallT101+102

  • Podcast feed is now ready! - YAPC::Asia 2007 Tokyo - April 4-5 2007 (Japanese)

    by miyagawa YAPC::Asia の音声録音データのダウンロードが可能になりました。RSS 2.0 Podcast フィード 形式でダウンロード可能です。128kbps の mp3 形式でエンコードしてありますので、iPod などのオーディオデバイスに転送して楽しむことができます。フィードには Creative Commons のライセンス条項もメタデータとして埋め込んでありますので、ライセンスに従ってご利用される際にはご確認ください。 フィード情報は Odeo にもインポートしてありますので、ブラウザ上でオーディオを聞いたり、ブログに埋め込んだりといったことも可能です。セッションのスライド とあわせてお楽しみください。 現在ビデオの公開を準備中です。準備が出来次第、i-revo および Google Video にて閲覧可能になる予定です。 録画・録音およびリッピングの作業を

  • 404 Blog Not Found:perl - パッチなしでパッチする

    2007年04月09日16:15 カテゴリLightweight LanguagesTips perl - パッチなしでパッチする Perlに限らず、動的に名前空間を書き換えることができる言語ならコンセプトはパクれるはずのtips. 状況 人様が書いたモジュールにバグ発見! バグ直した パッチも送った でも作者が$VERSION++してくれない さあどうする? オレバージョンのモジュールをつなぎでつかう? でも標準でないものをイントールするのはいやん サブクラス作ってメソッドをオーバーライドする? でも問題のモジュールが継承をサポートしているとは限らないし そもそも問題のモジュールOOじゃなかったりもするし 代替モジュールを書いてCPANにうp? -- i.e. JSON::* でも元々のモジュールがあまりによく使われているし うpは簡単でもサポート大変そうだし.... 実例 See Al

    404 Blog Not Found:perl - パッチなしでパッチする
  • TAKESAKO @ Yet another Cybozu Labs: [YAPC] 正規表現にフォーカスしたPerl6入門

    YAPC::Asia 2007 Tokyo で発表した資料を公開しました。 Yoshinori Takesako - s/ Perl5 Regular Expression / Perl6 Regex and Rule /mixes; Perlの黒魔術の一つであった正規表現。後付の拡張を繰り返した結果、問題解決の強力な武器に成長した反面、人間にも計算機にも読みにくい諸刃の剣にもなってしまいました。そこで再設計されたのがPerl6! 正規表現の書き方がPerl5からどのように変わるのか、これからPerl6のプログラムを書いてみようという人向けにわかりやすく解説します。 Software Design 2007年2月号の巻末特別企画「先取り Perl6正規表現カタログ ~ Perl5からの変更点を徹底解説!」の記事がベースになっています。 Perl6ではPerl5からの後方互換性は考慮しなくな

  • YappoLogs: YAPC::Asia Hackathon at Dan the hotel

    YAPC::Asia Hackathon at Dan the hotel hackathonが終わるまでがYAPCという事で、ほぼ無事に終わりました。 成果としては、はてブの大文字小文字問題を皆で直していたとか、そういうのは合ったですが、もうちょいまともなのも有ります。 hackathonいく前に、調子に乗ってミサイルランチャー買いにいったのですが4000円くらいのが1000円で投げ売りされていたので大人げも無く買い占めてから参加しました。 で、自分のマシンにいっぱい繋げて遊ぼうかと思ったらMacだとDevice::USBのtestが通らなくて、周りの人にも聞いても動く気配が無く迷ってる所で。 ちょうどmiyagawaさんがircにDevice::USB::MissileLauncherの人のgregを発見してDevice::USB::MissileLaunchersを教えていました。(

  • How we build Vox

    The document discusses how Vox, a large-scale, fast, internationalized website, is built using various web technologies. It uses Catalyst as its web framework, Data::ObjectDriver for caching and partitioning data across multiple databases, Perlbal for fast static content delivery, and Memcached for caching. Template Toolkit templates are optimized through versioned caching and syscall reduction. A

    How we build Vox
  • Writing Pluggable Software

    The document discusses the concept of pluggable software and its benefits, such as simplifying app design and allowing user customization. It presents practical implementations using examples like 'ack' and 'kwiki', illustrating how to integrate plugins and triggers effectively. Additionally, it addresses challenges and considerations in managing plugins within various applications.

    Writing Pluggable Software
  • [yapcaia2007]: YAPC::ASIA Tokyo 2007

    Virtualization and Package Deployment with EC2 Speaker: Emerson Mills 使いたいmoduleが思うように install できない CPAN は 手順書に例えられる 仮想化で完成度の高いもの( source の know-how も)をそのまま配布する モジュールかできない暗黙のノウハウ 最近、実行権限を設定できるようになった。 実行できるユーザを制限できる? 仮想化で面倒な Perl module の install を不要に。 アカウントをフィルタリングして、プロセスを区別する EC2 でも disk crash はあるよ Higher-Order Parsing techniques for Perl Speaker: Mark Jason Dominus HOP::Parser フォームに数式を入力して、グラフを描

    [yapcaia2007]: YAPC::ASIA Tokyo 2007
  • YAPC::Asia 2007行って来た - I LIKE TODAY

    聞いたセッションのリスト4/4 Welcome Kwiki and the Symlink Virtualization and Package Deployment with EC2 Higher-Order Parsing techniques for Perl perl I18N in 20 minutes Perlネットワークプログラミング再考 Everything Vox Inside livedoor 2006-2007 Perl Worst Practice Perl 6 Today 懇親会4/5 CLI meets Web Frameworks Mylingual - There's More Than One Language To Do It 自文書抽出日的住所 s/ Perl5 Regular Expression / Perl6 Regex and Rule /m

  • YAPC::Asia 2007 2日目 - てきとうなメモ

    2日目.あんまりまとまってないが. Abusing Domain Specific Languages for Fun and Profit - Jesse Vincent DSLを作ろうという話 DSLにはinternal DSLとexternal DSLがある. internal DSLはそのDSLを定義するホスト言語の構文で表現できる範囲で表現し,external DSLはホスト言語に制限されずに記述できるもの Jiftyで使われているinternal DSLを紹介する English風 Jifty::DBI::Schema DBIx::SearchBuilderではスキーマをハッシュで表現しているのだが醜い より直感的なsyntaxになるように実装 Template::Declare CGI.pmっぽい HTMLライクなテンプレート言語は使わない. HTMLのリファクタリングはめん

    YAPC::Asia 2007 2日目 - てきとうなメモ
  • YAPC終わり!チョー最高でした。来年も(あれば)行きたい - うまいぼうぶろぐ

    2日目はノートPC持ってって適当にmemoりました。 ※ 追記 そいや看板撮ってたからうpする。 ふつうのPerl6入門 - Dan Kogai 配列は常に@、ハッシュは常に%で書く perl5: $array[0] perl6: @array[0] .が文字連結演算子じゃなくなる オブジェクト指向とかメソッドとか出てきたから use strictがデフォルト ワンライナーは別 型宣言はいらないけど出来るよ say (rubyに1文字勝ったぞ! :-) ) 改行つきで出てくる。 OO ビバ オブジェクト その他もろもろ 範囲の指定が直感的で書きやすくなった。 if ($min <= $hoge <= $max)って書いても良いらしい。 if($hoge ==1|2|3)とかもできるらしい。 anyとかallとかnoneとか。 fish演算子 =<> 魚っぽい 結論 Perl6 Makes

    YAPC終わり!チョー最高でした。来年も(あれば)行きたい - うまいぼうぶろぐ