perlに関するkokorokaraのブックマーク (33)

  • 効率的なWebアプリ開発の定石 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~

    はじめに 一般的なWebアプリケーション開発では、「Webクリエイター」と「Webプログラマ」という役割が存在します。Webクリエイターは画面表示に関するデザインやマークアップを担当し、Webプログラマは、動的処理機能の構築を担当しています。最終的にそれぞれのリソースの結合が行われ1つのサイトが完成します。 最近では、“リッチクライアント”というキーワードで語られる豊かなユーザーインターフェースを持ったWebアプリケーションの開発がトレンドとなっており、かつてサーバサイドでの技術を発揮していたプログラマにもクライアントサイドの知識や技術が要求されるようになってきています。こうした状況の中で、Webプログラマが効率的な開発を行い、新しい技術に挑戦するために今までの構築手法や開発工程を見直す必要がでてきました。 稿では『システムの構造的に優れた設計』だけではなく、『あらゆるユーザーに配慮され

    効率的なWebアプリ開発の定石 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~
  • XSを書く難しさ - Islands in the byte stream (legacy)

    最近思うが,つくづくXSは難しい。いとも簡単にSEGVを起こし,デバッグが難しく,それゆえモジュール作者のやる気が失われたときのリスクが非常に大きい。そうやって多大なリスクを犯してXSを書いても,肝心の速度がPurePerl以上に遅いことも少なくない。 最近だとClass::MOPにパッチを送ったのだけど,その後幾度かのバグフィクスや修正を経た0.72現在,パフォーマンスがかなり落ちている。 最初のパッチでのパフォーマンス(いずれもPerl 5.8.9 linux multi-thread with -DDEBUGGING): Initialization: Rate pp xs pp 2327/s -- -18% xs 2844/s 22% -- Looking into the stash: Rate pp xs pp 20958/s -- -72% xs 73770/s 252% -

    XSを書く難しさ - Islands in the byte stream (legacy)
  • perldoc を使いこなす

    国内滞在説が根強い miyagawa です。アメリカ合衆国国内という意味であれば、いつもそうなんですが。 今回は意外と知られていないと思われる perldoc コマンドの使い方を紹介します。perldoc は Perl モジュールに含まれる POD ドキュメントを整形して man 表示するツールで、perldoc モジュール名のようにして実行します。 % perldoc Web::Scraper -l オプションをつけるとそのモジュールのあるパス、-m オプションで POD の代わりにソースコードそのものを表示することができます。 % perldoc -l Web::Scraper /Library/Perl/5.8.6/Web/Scraper.pm # .pm ファイルを vi で開く % vi `perldoc -l Web::Scraper` # .pm ファイルを PAGER で開

  • 技術的アドベントカレンダーの有用性について - tokuhirom's blog

    続かないかと思われていた JPerl Advent Calendar ですが、意外にも折り返し地点をまわっております。 http://perl-users.jp/articles/advent-calendar/2008/15.html 15日目は id:miyagawa さんです。perldoc の使い方の解説記事です。 来、アドベントカレンダーというのは、イエスの降誕祭を待ち望み、12月1日からクリスマスまでの間に1日一個ずつクリスマスツリーを模したカードの窓を一個ずつあけていくようなもののことです。 一方、エンジニアの世界では、技術系アドベントカレンダーというものがあります。これは、一日一個ずつ tips 的な記事を掲載していくというものです。Perl の世界では、2000年からはじまっています(発祥がどこかは寡聞にして知りませんが)。 http://www.perladvent.

  • 私的 XS メモ - IT戦記

    参考にしたサイト集 perlxs - perldoc.perl.org perlxstut - perldoc.perl.org perlguts - perldoc.perl.org perlapi - perldoc.perl.org http://d.hatena.ne.jp/tokuhirom/20081209/1228829454 Perl XS メモ - typemap と MAGIC をからめて - daily dayflower http://pub.ne.jp/wakapon/?entry_id=1109553 http://pub.ne.jp/wakapon/?entry_id=1109664 準備 $ h2xs -A -n MyXSS Makefile.PL CC => 'g++', 型 SV スカラー AV 配列 HV ハッシュ CV コード GV グロブ RV リ

    私的 XS メモ - IT戦記
    kokorokara
    kokorokara 2008/12/15
    xs
  • エキスパートPerl - 変態モジュール総覧

    Perl の世界には、「変態モジュール」と呼ばれるモジュールがたくさん存在します。 これらは、モジュールの形態をとりながら、Perl の内部に踏み込み、蹂躙しているという恐ろしい存在です。 しかしながら、これらのモジュールは使いどころを間違えなければ非常に有用であり、あなたのプログラムに無限の可能性をもたらすことでしょう。 自分の足をどうやって撃ちぬくか、よく考えてからつかってください。 下記のモジュールたちは、それ自体が変態的なものもあれば、変態的なことをするときに使うモジュールもあります。 PadWalker PadWalker は変態モジュールの筆頭です。レキシカルスコープの変数を、レキシカルスコープの外から見たり書き換えたりできます。 peek_my peek_our peek_sub closed_over という4つの関数をサポートしています。 下記のようなありえない操作を可能

  • ustreamを見ながらflvにダンプする - KAYAC engineers' blog

    kamaitachi開発者の村瀬です。 kamaitachiの開発のためにRTMP専用のスニファーを書いたのですが、そのアプリにほんの遊び心でflv保存機能をつけてみたところなかなかおもしろいのでここで紹介してみます。 ソースコードはこちら: Sniffer::RTMP この中の script/rtmp_flvdump.pl がRTMPストリームをflv形式でダンプするスクリプトです。(Net::Pcap を使用していますので実行にはスーパーユーザー権限が必要です。) 使い方は sudo perl ./script/rtmp_flvdump.pl en1 filename.flv のように、インタフェース名と保存するflvファイル名を与えると、RTMPのパケット中のビデオデータを filename.flv として書き出してくれるというものです。 たとえば、これを起動した状態でustream

    ustreamを見ながらflvにダンプする - KAYAC engineers' blog
    kokorokara
    kokorokara 2008/12/03
    ustream
  • Danと生活レベルが違いすぎる - TKSKを作る人のネタ帳 〜人格崩壊〜

    先日、DanガTPF-Jに御言及された。 Danとはつきあって数年になるけれど、TPF-Jとはほとんど交流がなかった。結構長い間つきあっているのでそろそろ考え方とか見え始めたりしている時期だし、いい機会だから見ることにした。 「(Shibuya.pm)++はやめてね」 そうDanが言ったので何となく予想は付いていたが、書かれていたのは「今までのあらすじ」が内輪すぎるんじゃないか?だった。 東京周辺以外に他の地域なく、TPF-Kanto状態。(追記:まだ立ち上げ方をどうするかを決める打ち合わせをするための飲み会だった。関東民限定というわけではないが、そもそも内容も固まって無いのに遠距離打ち合わせは厳しい) 日のDanについて説明してくれるid:kdaibaの笑顔がまぶしかった。でも絡まれててTPF-AsiaとかTPF-Galaxyとか言われていた。 コメント欄読んでても仕方がないので気付け

    Danと生活レベルが違いすぎる - TKSKを作る人のネタ帳 〜人格崩壊〜
  • Perl5 のオブジェクト指向を理解する - モダンなPerl入門

    Inside Perl5 OO 対象読者: 他の言語で OO したことあるっぽいひと/Perl4 でとまってるひと Class をつくる まずは点クラスをつくってみましょう package Point; sub new { my ($class, %args) = @_; # 第1引数はクラス名 bless({%args}, $class); # データを bless すると、オブジェクトになる } sub x { my $self = shift; # 第1引数は、インスタンス $self->{x} = shift if @_; # 引数があればセッター扱いになる $self->{x}; } sub y { my $self = shift; $self->{y} = shift if @_; $self->{y}; } このようにして作ったクラスは、下記のようにして呼び出すことができま

  • woremacx.com - https://woremacx.com/

    Windows 10 の入ったディスクのバックアップが clonezilla で外形的にできることがわかった Posted on Jun 27, 2020 Windows10 が載ってるディスクに破壊的な変更加える前にバックアップしたくて、SystemRescueCd で clonezilla 使ってディスクまるごとイメージ化した(内部的には partimage が使われてる?)。 でこれ、レストアしたら起動する状態まで持っていけるんかな? すんごく不安だ。。。 — woremacx (@woremacx) June 15, 2020 systemrescuecd に同梱されている clonezilla を使ってまるまる取った Windows 10 のバックアップが戻せるか不安で仕方なかったので、VirtualBox に戻せるか試した。 そもそもなぜ clonezilla を試したかったの

  • App::Benchmark::WAF - D-6 [相変わらず根無し]

    App::Benchmark::WAF tokuhirom/yappo/kazuho/hidekさんあたりが軽量なWAFの開発をなんか熱病に浮かされたかのようにしはじめたので、こりゃ負けてられないとApp::Benchmark::WAFを書きましたよ。 Apache::Testを使って、apacheから実際にHTTPリクエストサイクルを通って、CGIモードとmodperl(メモリに一度載せたらそれを再利用)する状態でベンチを取れるようにした。"make test"とすれば全てのフレームワークに対してab -c 100 -n 1000して計測する。 現在実装している中で、俺のMacBook上での計測値は以下の通り: # [cgi-app (cgi)]: 28.01 [#/sec] (mean) # [cgi-object (cgi)]: 34.92 [#/sec] (mean) # [cgi

    kokorokara
    kokorokara 2008/11/15
    waf
  • 窓の杜 - 【NEWS】ジャストシステム、スクリプト言語で「ATOK 2008」を拡張できる開発キット

    (株)ジャストシステムは30日、スクリプト言語で「ATOK 2008 for Windows」を拡張できる開発キット「ATOKダイレクト API for Perl / Ruby」を無償公開した。「ATOK 2008」から新たに搭載されたプラグイン機能“ATOKダイレクト”に準拠したプラグインを、スクリプト言語で簡単に作成できるようになる。 “ATOKダイレクト”とは、外部のアプリケーションやWebから取得したデータを直接「ATOK」の変換候補として利用できる機能で、これまで“Yahoo! JAPAN”の検索や“はてなダイアリー”の注目キーワードと連携できるプラグインが公開されている。加えて今回開発キットが公開されたことで、同社が提供するプラグインを利用するだけでなく、ユーザーが自分でプラグインを開発して「ATOK」を強化できるようになったわけだ。 開発キットには、サンプルスクリプトや簡易的

  • ジャストシステム、「ATOK」と外部Webサイトを連携させるプラグイン用API

    株式会社ジャストシステムは10月30日、スクリプト言語を使って「ATOK」のプラグインを作成できるAPIATOKダイレクトAPI for Perl/Ruby」を公開した。 ATOKダイレクトは、ATOKの機能拡張の仕組み。ATOKがWebサイトのサーバーに直接アクセスして、最新情報を随時入手し、その情報を文字入力時の変換候補ウインドウなどに表示することができる。 ATOKダイレクトAPI for Perl/Rubyは、こうした外部Webサイトとの連携プラグインを、PerlおよびRubyスクリプトによって作成できるAPI。現在ジャストシステムからは、Yahoo!・はてなgooとの連携機能が提供されているが、ユーザーのアイデア次第でさまざまなプラグインを作成することが可能になる。 例としては、常時参照しているニュースや株価、天気予報といった情報との連携が可能。また、住所録と連携させることで