タグ

perlに関するmurakomaのブックマーク (59)

  • ファイル指定で、ページキャッシュにのっているか確認したり追い出したり - (ひ)メモ

    ファイル指定で、ページキャッシュにのっているか確認したり追い出したりするPerlモジュールを書きました。 https://metacpan.org/release/Sys-PageCache https://github.com/hirose31/Sys-PageCache Linux なら動くはずですが、動かなかったら教えてください。あと一応、FreeBSD 8.3以上でも動くと思います。 既存の実装にGooglelinux-ftoolsやエヌハヤシ氏のpagecache-toolがありますが、これのPerlモジュール実装(XS)になります。 https://code.google.com/p/linux-ftools/ https://github.com/nhayashi/pagecache-tool たまにfreeコマンドでみるとbuffers/cacheがっててswapしてる

    ファイル指定で、ページキャッシュにのっているか確認したり追い出したり - (ひ)メモ
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • 第17回 Padre:Perlで拡張できるコミュニティのための開発環境 | gihyo.jp

    Perlを入れたはいいものの ご存じのように、Perlには、簡単なコマンドであれば、いちいちスクリプトファイルを用意しなくてもコマンドライン上で実行できる-eというスイッチが用意されています。 > perl -e 'print "Hello, world!"' また、一行では収まらないような長さのスクリプトでも、使い捨てでよければ、perlコマンドをスクリプトファイルや-eスイッチなしで実行することで、コンソールからスクリプトを入力できるようになります。 > perl print "Hello, world!"; ^D とはいえ、まともにPerlを使おうと思ったら、何らかのテキストエディタが必要になります。Unix系の環境ではviとEmacsの系統がそれぞれ一大勢力を成していますが、Windows環境では、標準添付のメモ帳(notepad)があまりに貧弱なため、たいていの人は自分の好みのエ

    第17回 Padre:Perlで拡張できるコミュニティのための開発環境 | gihyo.jp
  • Cache::Memcached::Fastの高速化

    一番簡単に高速化するには シリアライザをData::MesagePackにするとよいかもしれない。 #! /usr/bin/perl use strict; use warnings; use Cache::Memcached::Fast; use Data::MessagePack; use Benchmark qw/timethese/; my $normal = Cache::Memcached::Fast->new({ servers => ['127.0.0.1:11211'], serialize_methods => [ \&Storable::freeze, \&Storable::thaw ], }); my $msgpack = Cache::Memcached::Fast->new({ servers => ['127.0.0.1:11211'], serialize

  • Don't use base.pm, use parent.pm instead! - Islands in the byte stream (legacy)

    「使っちゃいけない標準モジュール」*1の反響を見ていると、baseが非奨励ということに驚かれた方が少なくありませんでした。そこで、baseについて補足します。 まずbase.pmのドキュメントの最初の文は以下のようになっています。 Unless you are using the fields pragma, consider this module discouraged in favor of the lighter-weight parent. (拙訳: fieldsプラグマを使用しているのでないかぎり、このモジュールは勧められない。かわりに軽量なparent.pmを使う方がよい。) fieldsプラグマは、ハッシュリファレンスのキーを固定したオブジェクトを作成するための機能ですが、あまり一般的ではないためここでは解説しません。特に理由がない限り、ここは素直に忠告に従った方がいいでし

    Don't use base.pm, use parent.pm instead! - Islands in the byte stream (legacy)
  • Mouseに関する4つの誤解 - Articles Advent Calendar 2010 Hacker

    メリクリ!Hacker Trackもいよいよ最終日となりました! 今回は以下のようなMouseに関するよくある誤解を晴らそうと思います*1。 MouseはMooseとの互換性に難がある Mouseは依存モジュールが多い Mouseはロードが遅い Mouseは実行が遅い MouseはMooseとの互換性に難がある これは誤解です。確かにMouseはMooseと互換性のない部分もありますが、それはほとんどがメタオブジェクトプロトコルレベルの話です。メタオブジェクトプロトコルは普通に使っている限り意識する必要のないものなので、ほとんどのケースでは問題になりません。普通に使う限りは非互換な点は特にないでしょう。 Mouseは依存モジュールが多い これは誤解です。Mooseは大量の依存モジュールがありますが、Mouseが依存しているのは標準モジュールのみです。また、CコンパイラがあればXSコードをビ

    Mouseに関する4つの誤解 - Articles Advent Calendar 2010 Hacker
  • 使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual

    gfxと申します。 Perlは後方互換性を重視しているので、標準モジュールはめったに取り除かれる事がありません。しかしそれでも、いくつかのモジュールが将来的に取り除かれる見込みです。そのようなモジュールは使用しないほうがいいでしょう。また、取り除かれはしないものの、様々な理由から使用すべきでないモジュールもいくつかあります。今日は、そういった使うべきでないモジュールを紹介します。なお、このエントリの対象バージョンは5.8から5.14を想定しています。 さて、まずは取り除かれるモジュールです。現在のところ、以下の三つのモジュールが5.14でコアから削除される予定です。 Class::ISA Pod::Plainer Switch Class::ISAはクラス階層を直列化するモジュールですが、5.10以降はmroに取って代わられました。5.10未満のバージョン用にはMRO::Compatが用意

    使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual
  • 第38回 DBIx::Class:拡張性の高さが売りではありますが | gihyo.jp

    国内では微妙な立ち位置に ずいぶん間が空いてしまいましたが、今回はデータベース話の3回目として、DBICことDBIx::Classについてまとめてみます。DBICは、海外ではMooseやCatalystと並ぶモダンPerl界の三種の神器のひとつとしていまも広く宣伝されていますが、国内では、当初こそClass::DBIからの乗り換えを強力に推進する流れが見られたものの、最近ではあまり名前を聞くこともなくなり、むしろDBICからの脱却が潮流になっているかの印象を受けることさえあります。いったい何がどうなっているのか、例によって歴史を追いかけながら見ていきましょう。 もともとはオブジェクトを永続化するためのもの DBICの立ち位置を理解するには、まずはその先駆けとなったClass::DBIがどういうものであったかを理解しておく必要があります。 連載第36回でも紹介したように、マイケル・シュワーン

    第38回 DBIx::Class:拡張性の高さが売りではありますが | gihyo.jp
  • @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual

    こんにちは。最近は PHP ばっかり書いている、永遠の Perl 初心者 hatyuki です。 とつぜん質問ですが、みなさんが最も多くみている Perl のエラーはなんですか? 自分の場合は、う〜ん。。。 Can't locate Hoge.pm in @INC (@INC contains: ~~~~ .). BEGIN failed--compilation aborted. かな?いつまでも進歩がないのが伺えますね! 皆さんご存知の通り、このエラーは "@INC" で指定されたディレクトリの中にモジュールが見つからなかった場合に発生するエラーです。つまり、モジュールをインストールし忘れているか、モジュールがどこに置いてあるのかを適切に設定していないか、の (およそ) どちらかですね。 さてさて、Casual Perler な皆さんは、このエラーを回避するためにどんな方法を使って @

    @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual
  • 約700項目のHTML/スクリプト言語リファレンスを公開

    日経LinuxITproは、総計約700項目のHTML/スクリプト言語リファレンスを公開しました。「HTML」(295項目)、「CSS」(73項目)、「Dynamic HTML」(98項目)、「JavaScript」(295項目)、「Perl」(125項目)あわせて698項目。各項目にサンプルコードを掲載しており、コピーし貼り付けてすぐにお使いいただけます。JavaScriptは「この用例を実行する」という文字をクリックすれば、その場でサンプルコードを実行してみることもできます。 ファンレンスを使いこなすための記事や、「JavaScript入門」「Perlの使い方入門」「CSSの基」「Linuxコマンド道場」「シェル・スクリプト工房」といった入門記事もご用意しました。 これらのリファレンスはここ2~3年かけて作成してきたものです。そのため一部に内容の古いものもありますが、順次更新してい

    約700項目のHTML/スクリプト言語リファレンスを公開
  • mod_perlメモ - 『しらぎくさいと実験室』雑記帳。

    mod_perl 向けのスクリプトを開発していて気付いた事の覚書ですが、公開する以上は解り易くするため実例も用意しました。 mod_perl 向けのスクリプトを書いていて気付いた事を書いております。なかなか検索しても出て来ないので書いておく事としました。 ウィンドウズサーヴァにmod_perlをインストールするには。(平成30年 8月 4日) mod_perl はアパッチサーヴァの拡張機能ですので、当然ウィンドウズネイティヴとされるIISサーヴァでは利用出来ません。 そこで、例え IIS が付いていたとしてもアパッチサーヴァを用意する必要があります。 アパッチサーヴァ自体は簡単に入手出来るのでそれほど問題にはなりませんが、問題は mod_perl の入手です。 調べてみたところ、幾つかの方法があります。 アパッチサーヴァも mod_perl も無償で入手出来ます。 ソースコードを入手して自

    mod_perlメモ - 『しらぎくさいと実験室』雑記帳。
  • SQL::Makerで動的に SQLを生成する - Articles Advent Calendar 2010 Hacker

    どうもこんにちは。hacker track がやる気なさすぎるのでもう一回かくよ!というわけで tokuhirom ですこんにちは。こんにちは。 さて、最近つくった SQL::Maker というモジュールについて紹介します。SQL::Maker は、要は SQL::Abstract みたいなやつです。じゃあなんで SQL::Abstract じゃなくて SQL::Maker なの?ってことになるわけですが、 SQL::Abstract は実績があるし、非常に便利なんですが、いかんせんコードがまじよみづらいっていうかこれよむの無理じゃね!!ってことをおもうので、あたらしくつくったという次第。 また、SQL::Maker は method chain で SELECT 文を構築する機能もついてます。あらべんり。こんなかんじ↓↓ my $sql = SQL::Maker::Select−>new

    SQL::Makerで動的に SQLを生成する - Articles Advent Calendar 2010 Hacker
  • Cache::LRU が速い理由 - Articles Advent Calendar 2010 Hacker

    先日、オンメモリなキャッシュモジュール Cache::LRU を書きました。Kazuho's Weblog: Cache::LRU (a handy and fast in-memory cache module in pure-perl) を見ていただければ、Cache::LRU が他のモジュールより速いことは明らかだと思います。速度差の原因としては機能や実装上の差異もあるのですが、設計上の工夫も Cache::LRU が速い理由のひとつです。 LRU (Least Recently Used) アルゴリズムを備えたキャッシュを実装しようと思うと、 エントリルックアップのためのハッシュ アクセス順を表現するためのリスト の2種類を組み合わせる必要があります。リストを表現する手法としては配列を利用するものとリンクリストを利用するものがありますが、Perl だと前者のほうが速い、ということは

    Cache::LRU が速い理由 - Articles Advent Calendar 2010 Hacker
  • Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual

    はじめまして!@hisaichi5518です。就活生です。誰か雇ってください。 Text::Xatenaについて書こうと思っていたんですが、もうText::Xatenaの記事が他のトラックにあるので、今日はgfxさんによってリリースされたData::Validatorを紹介しようと思います。 Data::Validator とは 実行時型チェック / パラメーターチェックが出来る便利なモジュールです。 現在、Params::Validateがデファクトスタンダードっぽいんですが、速度が遅かったりするので正直微妙です。 ベンチマーク p5-Data-Validator/benchmark/simple.pl Params::Validate/0.95 Smart::Args/0.06 Data::Validator/0.06 without type constraints Rate P::

    Data::Validatorでバリデーションする - Articles Advent Calendar 2010 Casual
  • Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual

    こんばんは。tumblr がサーバーダウンするとネット呼吸が出来ないotsune (Facebook - otsune) です。 jp.blogs.com|おもしろブログ記事のまとめサイトというサイトで、ネットウォッチ中に見かけた興味深いWebページのURLを美人編集長上野さんにたれ込むという趣味的行為をしているんですが。困ったことにURL集計にGoogle Docsの表計算の複数人編集機能を使ってて、1-clickどころかブラウザひらいてマウスでカチコチと気の長くなるほどメンドクサイ手順を踏まないとURLを貼れないという、CUIGUIのあいだに横たわる深くて長い天の川があったりしてシンドイわけです。世間でもよくある話ですね。 そんなわけでめんどくさいことはPerlのようなものにやらせればいいのよってことで、今日は飲み会のヒーローlopnorさんが書いたNet::Google::Spre

    Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual
  • WebService::Async でウェブサービスの非同期アクセスを簡単に! あるいは私は如何にしてMacBookProを手に入れたか? - Articles Advent Calendar 2010 Hacker

    今年はHokkaido.pmからはるばる YAPC::Asia に出張してきたkeroyonnです。 嫁にYAPCの写真を見せて「ほらみんなMacでしょー」と言ったら、不憫に思ったのかMacBookProを買ってくれました。 ひとりだけ違うメーカーのランドセルをしょった可哀想な子供を連想したらしいです。 すばらしいですなっ! YAPC は! WebService::Async とは さて今回ご紹介する、WebService::Async というモジュールは、yusukebe さんの WebService::Simple の非同期版です。 WebService::Simple はカジュアルにウェブサービスにアクセスできる素晴しいモジュールだなぁと思っていたのですが、非同期処理ができないため同時に複数のリクエストを投げるのがちょっと面倒でした。 これを簡単に書けたらいいなーと思って作ってみまし

    WebService::Async でウェブサービスの非同期アクセスを簡単に! あるいは私は如何にしてMacBookProを手に入れたか? - Articles Advent Calendar 2010 Hacker
  • 続・Encodeでラクラク日本語処理 - Articles Advent Calendar 2010 Casual

    この考え方が当に正しいかを確かめるために、UnicodeのコードポイントがU+00E8である「è」という文字を使って試してみましょう。 use strict; use warnings; use utf8; use Encode qw/is_utf8 encode_utf8/; sub disp_hex($) { use bytes; join ' ', map {sprintf '0x%X', ord($_)} split //, $_[0]; } my $utf8flagged = 'è'; # 内部表現がUTF-8の「è」 my $latin1 = "\x{00E8}"; # 内部表現がLatin-1の「è」 for ($utf8flagged, $latin1) { print "Dump: ", disp_hex($_), "\n"; print "UTF-8 flag: ",

    続・Encodeでラクラク日本語処理 - Articles Advent Calendar 2010 Casual
    murakoma
    murakoma 2010/12/05
    「UTF-8フラグがついていれば文字列、無ければバイナリ列(=バイト列)」という解説記事を目にしたことがある方もいるかと思いますが、この考え方は間違えています。
  • apache のユーザ認証を Google Apps アカウントで行う Apache::Authn::GoogleApps - nazokingのブログ

    https://github.com/nazoking/perl-apache-authn-googleapps perlの書き方とかドキュメントの書き方とかどうやったらCPANにあげられるのかとかテストの書き方とか英語とか全然分からないので知ってる人は何とかして欲しいです。apache のユーザ認証を Redmine で行う Redmine.pm を見ながら作りました。 使い方は、GoogleApps.pm をダウンロードして、/usr/lib/perl/Apache/Authn/GoogleApps.pm みたいなところにコピーして(詳しい場所は自分のlinuxさんと相談)、httpd.conf に PerlLoadModule Apache::Authn::GoogleApps <Location /svn> AuthType Basic AuthName GoogleAccount

    apache のユーザ認証を Google Apps アカウントで行う Apache::Authn::GoogleApps - nazokingのブログ
  • Perlの開発環境構築メモ - hide-k.net#blog

    最近、社内で初対面の人に自己紹介すると「あ!twitterでfollowしてます。AKB好きな方ですよね?」と辱めを受けてることが多くて色々反省しています。 こんばんは。 先日、会社で新しいMac Book Airを支給されて開発環境を再構築して、せっかくの機会だったので自分の環境をメモりました。 YAPC::Asia 2010でtokuhirom氏の「モダンな Perl5 開発環境について」で大きく取り扱われたり、あちらこちらで散々エントリされていますが毎回ぐぐるのも面倒なのではっときます。 0. 下準備 gccや各種ライブラリが必要なので何はなくともXcodeをインストールします。僕はiOS SDK付きをダウンロードしてインストールしました。 ついでにhomebrewもインストールしておきます。 sudo dscl /Local/Default -append /Groups/staf

  • perl - Unicode「'あ'はAlphabetですが、何か?」 : 404 Blog Not Found

    2010年04月23日07:00 カテゴリLightweight Languages perl - Unicode「'あ'はAlphabetですが、何か?」 結論から言うと、仕様です。 Is "あ" an alphabet? - FloralCompany.log use utf8; print 1 if "あ" =~ /\p{IsAlpha}/; print 2 if "あ" =~ /\p{Alphabetic}/; print 3 if "あ" =~ /[[:alpha:]]/; ナンデヤネーン それも、PerlではなくUnicodeの。 UAX #44: Unicode Character Database Characters with the Alphabetic property. For more information, see Chapter 4 in [Unicode

    perl - Unicode「'あ'はAlphabetですが、何か?」 : 404 Blog Not Found