タグ

perlに関するblueleのブックマーク (123)

  • The Comprehensive Perl Archive Network - www.cpan.org

    Welcome to CPAN The Comprehensive Perl Archive Network (CPAN) currently has 218,535 Perl modules in 45,280 distributions, written by 14,502 authors, mirrored on 1 servers. The archive has been online since October 1995 and is constantly growing. Search CPAN via metacpan.org

  • PSGI/Plackは本質・本命・本流・本気でした - Eorzea Lounge

    南陽市 パチスロ 店舗 口コミ 「当時最高の女優だったシム・ウナの演技復帰を共有できることは光栄だ」と付け加えた 土岐市 パチスロ 恵比寿 マスカッツ 目 押し 2024年の横浜アリーナ公演も決定したコンサートホール勝田台スーパーときめき♡宣伝部は,ギャンブル スポーツ【ToK8.me】最大1,000 USDTまでの75%キャッシュバック⚡⚡ギャンブル スポーツ❤️K888VIP.com❤️最大1,000 USDTまでの75%キャッシュバック パチスロ 沖 ドキ 基 八女市 パチスロ 最高 出 玉 動画 日のアニメがさらにお得 【ディズニープラス/2月配信】クリプトスロット入金不要ボーナス 千葉県勝浦市 パチスロ 戦国乙2 リセット 国籍を超えた友情を明かす…「カップルTシャツ&ギター」(画像提供:wowkorea) 韓国のガールズグループ「TWICE」のメンバー, パチスロ 水着 壁

  • AnyEvent::Socket で簡単な echo サーバを書く - shag の日記

    AnyEvent の勉強がてら、簡単な echo サーバを書いてみた。只の echo サーバではつまらないので返事をする度に数値をインクリメントして付与するようにしてみる。 #!/usr/local/bin/perl use warnings; use strict; use AnyEvent; use AnyEvent::Socket; tcp_server undef, 12345, sub { my( $fh, $host, $port ) = @_; warn "connect from $host:$port\n"; add_client($fh); }; sub add_client { my $fh = shift; my $i = 0; my $poller; $poller = AnyEvent->io( fh => $fh, poll => 'r', cb => sub

    AnyEvent::Socket で簡単な echo サーバを書く - shag の日記
  • タグ - Apache | おいぬま日報

  • Plack::App::Proxyについてだらだらと - Pixel Pedals of Tomakomai

    去年の年末、FlashのXMLSocket通信を横取りしてダンプするアプリを書こうとしたのですが、その時に見つけたのがLee AylwardさんのPlack::App::Proxyです。HTMLを置換してFlashの接続先を横取りしつつ、自前のXMLSocketサーバを立ち上げるってのが1プロセスでできるってのは、非同期なWEBサーバならではの技ですね! ただ、Plack::App::Proxyを触り始めてみると、そのままではなかなか難しい部分が色々あったりしたので、コメンテナにしてもらってちょくちょくいじったりしています。(ちなみに、miyagawaさんもコラボレータで、私よりバリバリいじってますw) 一言で言えば、 Plack::App::Proxy がカバーしているのは Apache の mod_proxy の機能です。 使い方はpod見てもらうと全部載ってますが、例えば /back

    Plack::App::Proxyについてだらだらと - Pixel Pedals of Tomakomai
  • Benchmark - Perl コードの実行時間のベンチマークを行なう - perldoc.jp

    Benchmark - Perl コードの実行時間のベンチマークを行なう 概要¶ use Benchmark qw(:all) ; timethis ($count, "code"); # Use Perl code in strings... timethese($count, { 'Name1' => '...code1...', 'Name2' => '...code2...', }); # ... or use subroutine references. timethese($count, { 'Name1' => sub { ...code1... }, 'Name2' => sub { ...code2... }, }); # cmpthese can be used both ways as well cmpthese($count, { 'Name1' => '...co

  • use Benchmark ベンチマークに際しての留意点 - hibomaの日記

    ベンチマークする時の留意点をあげてみます。ちょと長いけど興味ある人は読んでね。 ファイルを読み込んで操作するコードについて、Perl Best Practiceでは my $code = do { local $/; <$in>} とすることで、ファイルを一気読みすることを薦めている。 これに対して下記は、バッドなやり方として書かれているものです。 my $code; while(my $line = <$in>) $code .= $line; } スカラー文を連結するドット演算子の . (concat)を使っているので、スピードが落ちてしまうからだという。 さて試しに二つのコードをベンチマークしてみます。 #!/usr/bin/perl use strict; use Benchmark qw(cmpthese); cmpthese( 1000 , { 'slurp' => \&rea

    use Benchmark ベンチマークに際しての留意点 - hibomaの日記
  • [plack][perl] Plackにおけるファイルアップロード処理の準備メモ・改 | いわぶろ(ろてん)

    はじめに [plack][perl] Plackにおけるファイルアップロード処理の準備メモ « 岩家ぶろぐ このエントリを公開後,Plackの中の人でもあるmiyagawaさんより,同エントリの内容が現在のバージョンのものにおいて正しくない,という旨のご指摘をいただきました.ありがとうございます.(実際には,0.90*系と0.99_*系との違い,ということで無問題?) ということで,現時点で最新(ですよね?)の「0.99_5(DEVELOPER RELEASE)」を入れ,同バージョンにおけるPlack::Request,Plack::Request::Uploadのドキュメントを確認し,修正したものを以下に掲載します. アップロードフォーム 前エントリと同様のものです. <form action="" method="post" enctype="multipart/form-data">

  • [perl][cpan] Hash::MultiValue-0.07を軽く触ってみた | いわぶろ(ろてん)

    はじめに 先のエントリ公開後間もなく,miyagawaさんより次のようなご指摘をいただきました. > ただし,冒頭のフォームのように,1つのフィールドに複数の要素が存在する場合,リストリファレンスが得られることに注意です Plack 0.99 以降ではそのようになりません。Hash::MultiValue オブジェクトになるので、ハッシュとして扱えば最後の要素のみ、複数取得する場合は ->get_all を使用します。 comment by @miyagawa on [plack][perl] Plackにおけるファイルアップロード処理の準備メモ « 岩家ぶろぐ 私の環境に入っていたのは「0.9031」でした.で,現在「DEVELOPER RELEASE」である「0.99_5」のPlack::Requestのドキュメントを見てみたところ,次のような記述がありました. In version

    bluele
    bluele 2011/08/07
    [Hash::MultiValue]
  • YappoLogs: PerlのAttributeについてのお勉強 part2 ~Attribute::Handlersで作るプラグイン機構搭載ソフト~

    PerlのAttributeについてのお勉強 part2 ~Attribute::Handlersで作るプラグイン機構搭載ソフト~ さて、前回ではattributeの扱い方を軽く見てみました。 ただ、あんなコードを毎回書くのは面倒です。 そこでAttribute::Handlersモジュールの登場です。 概要としては、独自attributeの作成を簡単にしてくれます。 もちろん関数以外のattributeの作成が出来ますが、今回も関数のみに絞ります。 詳細はperldocしてください。 基的な使い方も簡単で use strict; use Attribute::Handlers; sub ah_test1 : ATTR(CODE) { my($package, $symbol, $referent, $attr, $data, $phase) = @_; print "ah_test1:

  • ApacheでCGI

    ApacheでCGIプログラムを実行するためには、 ・CGIスクリプトの格納場所を設定しそこにCGI実行権を与える ・特定のファイル名拡張子をCGIスクリプトとして認識してもらうための設定を行う の2つの方法があります。 httpd.confをメモ帳等で開いて、次の行を探します。 ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/" <Directory "C:/Apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> ScriptAliasによって指定されたcgi-binディレクトリ(上記だと C:\Apache\cgi-bin )でCGIプログラムが実行できるように設定されています。つまり、デフォルトでは何もしなくてもこの C

  • Plack::Builderのenable_ifよりも簡単に、指定した条件下でmiddlewareを有効にするモジュール - blog.nomadscafe.jp

    CloudForecastや先日のNoPasteではPlack::Builderを使って、デフォルトの機能としてPlack::Middleware::ReverseProxyを有効にしている。 my @frontproxy = map { s/\s//g } split(/,/, $ENV{FRONT_PROXY} || ""); foreach my $ip ( @frontproxy ) { my $netip = Net::IP->new($ip) or die; push @frontproxies, $netip; } buider { enable_if { my $addr = $_[0]->{REMOTE_ADDR}; my $netip; if ( defined $addr && ($netip = Net::IP->new($addr)) ) { for my $pr

  • Scope::Container::DBIを書いた - blog.nomadscafe.jp

    2010 Perl Advent Calendar などでも説明していた Scope::Container でDBの接続管理を行うモジュールを書いた。 CPAN: http://search.cpan.org/dist/Scope-Container-DBI/ github: https://github.com/kazeburo/Scope-Container-DBI 機能的には、Scope::Container に接続情報をキャッシュして、同じDSN・ユーザ名で接続の場合、キャッシュからdbhを返します。Scope::Containerなので任意のスコープで接続の維持と切断ができます。 Scope::Container::DBIには、connectメソッドがあるだけ。DBIと同じくdsn、ユーザ名、パスワード、オプションを渡す。 use Scope::Container::DBI; u

  • perlXStut - XSUB を書くためのチュートリアル - perldoc.jp

    This tutorial will educate the reader on the steps involved in creating a Perl extension. The reader is assumed to have access to perlguts, perlapi and perlxs. このチュートリアルは読者にPerlのエクステンションを作るのに必要な ステップを教えるものです。 読者が perlguts, perlapi, perlxs にアクセスできるということを 仮定しています。 This tutorial starts with very simple examples and becomes more complex, with each new example adding new features. Certain concepts may

    bluele
    bluele 2011/08/06
  • WebSocketを使って重い処理の進み具合をリアルタイムにクライアントへ通知する - Csideのダイアリー

    分割が可能な重い処理をサーバー側で実行して、処理の状況の変化をクライアント側で表示させたいとき(プログレスバーみたいなのを作るとき)、どういう方法がいいかちょっと考えてみた。問題は「どうやって処理の進歩状況の情報をクライアントサイドでリアルタイムに受け取るか」ということ。 まず最初に浮かぶのが、分割されたタスクを1つ行うAPIをサーバー側で用意して、クライアント側からJSのsetTimeoutなりライブラリのdeferredなり使って並行リクエストして、コールバックでプログレスバーを書き換える・・・みたいなのが浮かんだ。けれど、PerlにはCoroやAE::HTTPみたいな便利なものがあるし、「折角なので並行処理の制御はあくまでサーバー側でできないか?」と考えていた。 で、次に思い付いたのが、「分割されたタスクが1つ終わるたびにサーバー側からクライアント側に情報をpushする」こと。これを

  • おさかなラボ - [XS]XSのおさらいとtypemapについて

    前回のXSをとにかく作ってみる編の続編である。どこかに目次のエントリを作るか、Wikiにした方がいいような気がしてきた。今後、自身の学習・復習もかねてXSについて解説していく。対象は取り急ぎperl-5.8.8以上とする。なお、今回は話が思いっきりあさっての方向にそれたので、先にお詫びしておく。 XSとは何か。XSはPerlが用意したAPIに、C/C++でアクセスするためのマクロ言語である。そしてマクロ言語の記述フォーマットの名前である。「PerlAPIを叩くCプログラム」を総じてXSと呼ぶ向きもあるが厳密にはこれは正しくないことは前に述べた。 XSファイルは主に3つのパートに分けられる。Perlから関数として呼び出された時の引数を受け取る処理、そして核となるルーチン、そして演算結果をPerlに返す部分である。しかし引数と戻り値に関しては最初はあまり神経質になる必要はない。これらは大抵

    bluele
    bluele 2011/08/06
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • perl - tie()って何をtieするの? : 404 Blog Not Found

    2008年07月05日01:30 カテゴリLightweight Languages perl - tie()って何をtieするの? 私はタイをまとうのがだいっきらいですが、Perl 5の中で一番好きな関数がtie()だったりします。 tie関数とは - 燈明日記 すると、裏で処理が動き、オブジェクトをコンストラクトしたり、とある処理結果が参照できたり、代入したものに対応したものを格納出来たりする。 というわけで、tie()について語っておくことにしましょう。 tie()とはなにか? ずばり、「オブジェクトではない、perlの組み込みデータタイプを裏でオブジェクト化する仕組み」のことです。それがなぜtieと呼ばれるかと言えば、変数を指定されたクラスに結びつけるから、です。 論より証拠、実際に見てみましょう。 use strict; use warnings; { package MySca

    perl - tie()って何をtieするの? : 404 Blog Not Found
  • perlxstut - Tutorial for writing XSUBs - Perldoc Browser

    CONTENTS NAME DESCRIPTION SPECIAL NOTES make Version caveat Dynamic Loading versus Static Loading Threads and PERL_NO_GET_CONTEXT TUTORIAL EXAMPLE 1 EXAMPLE 2 What has gone on? Writing good test scripts EXAMPLE 3 What's new here? Input and Output Parameters The XSUBPP Program The TYPEMAP file Warning about Output Arguments EXAMPLE 4 What has happened here? Anatomy of .xs file Getting the fat out o

    bluele
    bluele 2011/08/05
  • XS基礎文法最速マスター - Islands in the byte stream (legacy)

    元ネタ:Perl基礎文法最速マスター(id:perlcodesample) XSを始めるための手順といくつかの要素の解説です。C言語をある程度知っている人でも,これを読んだだけでXSの基礎をマスターしてXSを書くことができるようにはなっていません。リファレンスでもありません。 XSとは,狭義ではPerlでエクステンションを書くためのマクロ言語の名前ですが,広義ではエクステンションを書くための技術の総称です。ここでは,広義のXSを俯瞰します。 XSはいろいろと特殊なのでテンプレは無視で行きます。 目次: h2xsで空のディストリビューションを作る XSファイルの構成 スレッドコンテキスト SVファミリ GCとスコープ さらなる学習のために h2xsで空のディストリビューションを作る 以下のコマンドで空のXSディストリビューションを作ることができます。 h2xs -A -b 5.8.1 -n

    XS基礎文法最速マスター - Islands in the byte stream (legacy)