タグ

関連タグで絞り込む (269)

タグの絞り込みを解除

Perlに関するneedingyouのブックマーク (333)

  • Elementary, ... Software DesignにてピザPlaをまじめに解説

    Software Design 2006年10月号の Plagger 特集に、Google+Plaggerネタで2書かせていただきました。このブログの 「はらへった」と検索するとピザが届くようにするまで とGoogleで○○と検索すると○○:実用編 を、雑誌向けに書き直したものです。ネタをまじめに解説しています。 特集は Plagger を始めるにあたっての敷居を低くしようというコンセプトもあったので、暗黙知なものをできるだけ説明しようとしています。竹迫さんによる導入部には、CPAN シェルの初期設定やインストールが難しいモジュールの入れ方についても書かれています。竹迫さんも書いていますが、 これは Plagger に限らず CPAN を初めてさわる人に良い資料だと思います。 Plagger 0.7.9で変わった設定ファイル内のUTF-8文字列の扱いに伴う差し替えが間に合わなかったよう

    Elementary, ... Software DesignにてピザPlaをまじめに解説
  • Good Evils In Perl

    Perl provides many powerful features and modules that allow developers to customize and extend the language. Some popular modules include Moose for object-oriented programming, TryCatch for exception handling inspired by Perl 6, and P5.10 features that backport Perl 6 functionality. While useful, some features like autoboxing and state variables could introduce subtle bugs if misused. Overall, Per

    Good Evils In Perl
  • Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai

    Moose::RoleはJavaのInterfaceと似たような物だと思ってたんですが、大きな誤解でした。 モダンPerlの世界へようこそを読んで、Moose::RoleはTraits: Composable Units of Behaviorの概念の実装らしいことがわかったので、この論文を読んでみました。*1。非常に面白い内容でした。P.12 の a) と b) を見るだけでも、この概念の面白さが伝わるんじゃないかと。要は、指定した振る舞い(requires)から新しい振る舞い(provides)を作るものが、Traitsってことです。(ただし、ここで言う振る舞いにはアクセサを含みます。) 誤解していたこと Moose::RoleをTraitsとして見なすとすれば、JavaのInterfaceの性質である以下の2点は誤解です*2。 Moose::Roleは、単なるインタフェース(API)

    Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai
  • perl編集時以外でもperl-completionのコマンドを使う - IMAKADO::BLOG

    perldocを開くコマンドをperl編集時以外にも使いたいときがあります。 その場合は以下のように global-mapperl-completion.el のコマンドを割り当てると、いつでも使えるようになります。 ;; perl-completionがインストールされていれば割り当てる (when (require 'perl-completion nil t) (global-set-key (kbd "C-M-d") 'plcmp-cmd-show-doc) (global-set-key (kbd "C-M-p") 'plcmp-cmd-show-doc-at-point) (global-set-key (kbd "C-M-m") 'plcmp-cmd-smart-complete))

    perl編集時以外でもperl-completionのコマンドを使う - IMAKADO::BLOG
  • [ThinkIT] 第1回:Webアプリケーションフレームワークとは (1/4)

    近年のWebアプリケーション開発は大規模化が進み、基幹システムなどの一角を担うまでになってきています。また、Webアプリケーション開発はレガシーなシステム開発に比べて手間のかかる部分が多いにも関わらず、開発にかけられる工数は短縮化の傾向にあります。 そのため、案件の大規模化で開発に携わる人数も増える傾向にあり、開発チームの各々がWebアプリケーションのライブラリを別々に制作してしまい、同様の機能を持ったライブラリが複数存在してしまったり、またUIを担当するデザイナーとビジネスロジックを担当するプログラマが、いざそれぞれの部分を組み合わせようとしたらうまく機能しなかったりといった様々な問題が出てきます。 このような背景から、それらの問題に対するソリューションのひとつとして現在、開発現場ではWebアプリケーションフレームワークを用いた開発スタイルが注目され、実際に多くの開発会社がWebアプリケ

  • 第4回 Hook処理を極めて外部からモジュールを拡張する | gihyo.jp

    指定したhook pointを実行し、順番にhook pointのコードを処理し、最初に戻り値があった時点で以降に登録されたコードの実行は行ないません Hook関連のメソッドは少なく、シンプルですね。 register_hookは主にPluginから利用されるメソッドになっており、hook pointとhook poinに対するコードをPlaggerに対して登録します。 Class::Triggerで言う所のadd_triggerになります。 実際のプラグインのコードを引用すると下記のように利用されます。 # Plagger::Plugin::Publish::CHTML sub register { my($self, $context) = @_; $context->register_hook( $self, 'publish.feed' => \&feed, 'publish.fi

    第4回 Hook処理を極めて外部からモジュールを拡張する | gihyo.jp
  • 0行で作るPerl用テンプレートエンジン : ひろ式めもちょう

    60行で作るPHP用テンプレートエンジン http://anond.hatelabo.jp/20071030034313 40行で作るPerl用テンプレートエンジン http://anond.hatelabo.jp/20071030153111 404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン http://blog.livedoor.jp/dankogai/archives/50940023.html 触発されて表題のPerl用モジュールを作ってみました。 特徴: ・モジュールが小さい。わずか0行 ・高機能。 変数の出力はもちろん、Perlそのままの文字列演算、 ループや条件分岐に対応します ・拡張が自由 お好みのサブルーチンを追加して機能を拡張できます とても便利だと思うので、ぼくのスーパーハッキングテクニックを使ってPer

    0行で作るPerl用テンプレートエンジン : ひろ式めもちょう
  • perl - tnek-cgi@CodeRepos - nms-cgi 再び : 404 Blog Not Found

    2009年04月03日10:30 カテゴリLightweight Languages perl - tnek-cgi@CodeRepos - nms-cgi 再び これを見ていたたまれなくなったので。 perlでアップローダを作ったのですが、クラックを受けている様なんです。 ./up の配下にしかアップロード出来ない様にしたつもりが、その上のディレクトリに.htaccessやらi.. - 人力検索はてな /lang/perl/tnek-cgi/trunk ? CodeRepos::Share ? Trac これはいったい何かというと、 nms - web programs written by experts の日版みたいなものです。nms-cgiにもファイルアップローダーがなかったので作りました。その他の「よく使うCGI」なども、ここを起点にみんなで添削してそれを配布、という形にすれば

    perl - tnek-cgi@CodeRepos - nms-cgi 再び : 404 Blog Not Found
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    needingyou
    needingyou 2009/04/02
    [][お役立ち]
  • Pure PerlによるPerl5 Virtual Machineの実装 - Islands in the byte stream (legacy)

    Perl VMの気持ちを知るには、PurePerlで実装してみるとよい。 コード例(PerlVM.pmのコードは記事の末尾にある): #!perl -w use strict; use PerlVM; my $x = shift || 42; PerlVM::call_sv(sub{ print "Hello,", " world!", "\n"; if($x){ print $x, " is true\n"; } else{ print $x, " is false\n"; } }); __END__ 実行結果: $ perl hello.pl Hello, world! 42 is trueむろん、PerlVM::call_sv()の中で引数を呼び出したりはしていない。 Hello, world!くらいならPerlVMの中身も比較的単純だ。そのメカニズムはBモジュールに依存している。B

    Pure PerlによるPerl5 Virtual Machineの実装 - Islands in the byte stream (legacy)
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • YappoLogs: danさんのllevalをもっと便利にするラッパー作った

    danさんのllevalをもっと便利にするラッパー作った 404 Blog Not Found:Ajax - Lightweight Languages を実行するAPI 今度はPerlだけではありません。一時はcodepadの1/100くらいの利便性まで下がってしまって心配しましたが、80倍便利になってぼくたちのDan the APIが帰って来ました。 しかし、まだ物足りない所として貼付けたcodeのpermalinkが取れないので、実行結果を友達に教えてhackに役立てるのが不便でした。 そこでDan the APIを利用する形で、貼付けたcodeのpermalinkを作るCGIを作りました。 http://seiitaishougun.com/lleval.cgi ソースコードは公開されてるので、自己責任で遊んで下さい。実際に動いてる物はYacafiのpack機能をつかって1つのファ

  • Higher-Order Perl

    by Mark Jason Dominus Order Higher-Order Perl online from Powell's Books Download full text here There are three versions available. You have your choice of structure or presentation, but not both. License reminder Higher-Order Perl is copyright ©2005 by Elsevier Inc. Unauthorized reproduction or distribution is absolutely forbidden. You may download the book for your personal use, but you may not

  • Higher-Order Perlは面白い! - なつたん

    Higher-Order Perl、Chapter2に入りました。 VERBOSITY 8 CHDIR /usr/local/app のように文字列が並んでいる設定ファイルを読み込む話。一行ずつ読み込んで、splitしてまでは同じ。 普通にif elsifを並べるのではなく、 $dispatch_table = { CHDIR => \&change_dir, LOG_FILE => \&open_log_file, VERBOSITY => \&set_verbosity } というような、コマンドと飛び先のテーブルを作ると良いという話。関数のポインター並べて、テーブルジャンプは組み込みプログラマなら良くやる処理。割り込みベクタとか、テーブルジャンプそのものだし。 同じ事をPerlでやると俄然面白くなる。テーブルは変数なので、DEFINEが出てきたら以降の文字列を置き換える、といった処理

    Higher-Order Perlは面白い! - なつたん
  • mod_perliteを試してみた - とほほのN88-BASIC日記

    Ideas - O'Reilly Media modperlite PHPのようにファイルを置くだけで実行されてCGIより速くてmod_perlより簡単なapache moduleだそうです。去年からのCGI frameworkブームを補完する上でも試してみるっきゃないということで まずはソースの取得 svn co http://code.sixapart.com/svn/mod_perlite/trunk modperlite cd modperliteちなみにもうすぐgithubに移行されるようです。 コンパイルとインストールはapxsにパスを通して ./Build.PL ./Build ./Build installhttpd.confとかconf.d/modperlite.confとかに LoadModule perlite_module modules/mod_perlite.s

    mod_perliteを試してみた - とほほのN88-BASIC日記
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • 第1回 「モダンPerl」ってなんだろう? | gihyo.jp

    「モダンPerl」という言葉の流行 先日、国内有数のPerlハッカーである牧大輔氏が『モダンPerl入門』という書籍を刊行しました。 日Perlユーザーのハブサイトを目指しているperl-users.jpでも「モダンなPerl入門」と題して「古来から親しまれているPerl入門とはひと味違う、今風のPerl入門テキスト」を作ろうという動きがあります。 海の向こうでは、Perl 6の言語仕様の策定にたずさわっているクロマティック(chromatic)氏が「Modern Perl Books」というウェブサイトを開設して、「⁠モダンPerl」についての考察を始めました。氏はその名もModern::Perlというモジュール[1]を公開して「モダンPerl」の啓蒙に努めています。 個人の主義主張に過ぎないのでしょうか? でも、この「モダンPerl」とはいったい何なのでしょうか。 字面から「今風の

    第1回 「モダンPerl」ってなんだろう? | gihyo.jp
  • azito.com

    This domain may be for sale!

  • Moose(Mouse)の基本。アクセサのコードを読んでみる

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    Moose(Mouse)の基本。アクセサのコードを読んでみる
  • 仙石浩明の日記: Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました

    多数の TCP/IP セッションを同時に維持する必要性などから、 非同期I/O が最近流行りのようです。 何をいまさら、という気もするのですが、 いわゆる「最新技術」の多くが 30年前の技術の焼き直しに過ぎない今日このごろなので、 非同期I/O 技術が「再発見」されるのも、 「歴史は繰り返す」の一環なのでしょう。 スレッドが当たり前の時代になってからコンピュータ技術を学んだ人にとっては、 (古めかしい) 非同期I/O が新鮮に映るのかも知れず、 なんだか「ファッションのリバイバル」に似ていますね。 Perl で非同期I/O 処理を手軽に行なうための枠組みとして、 POE: Perl Object Environment というものが あるようです。 POE を使うと、 あたかもスレッドを使っているような手軽さでプログラミングできます。 試しに VPN-Warp の relayagent を