タグ

perlに関するstudio-mのブックマーク (316)

  • WikiHub :: php-funcref-in-perl :: README

    目的 http://jp2.php.net/manual/en/funcref.php PHP: Function Reference - Manual の用な体裁でPerlのドキュメントを整備したいと思います。 なんでもPHP -> Perlに移行組とかには需要があるそうです(by junichiroさん)。 PHPからPerlにくる人にモダンなPerlを知ってもらいまっしょい。 やる事としては、PHPのリファレンスにある各組み込み関数と同等の実装をPerlで行った場合にどうなるのか?というコードを集めたいと思います。 「PHPのこの関数と同じ事をPerlでどうやるんだ?」といった需要を満たせるようになればいいなぁ。 Viewer wikihub で見れます。 http://wikihub.org/wiki/php-funcref-in-perl Community #perl-casu

  • hollyなblog:システム管理系なperlねたその1

    システム管理のためのperlのねたのメモ。 Plack/PSGI, CatalystなどのようなmodernなWEB系システムの話じゃなく、そういうアプリケーションの下で動いている == バックエンドで動いているシステムを作る時に自分が心がけていることをまとめてみる。 バックエンドで動く == batch処理とかCLIベースなプログラム となるので、外部コマンドを実行するというのがなんとなく増えてしまう。それはそれで悪くないのだが、いろいろ思うところがあるのでずらずら書いてみよう。 まあ私見なので、他人が見たら違うというところもあるだろうけど。 1. 外部コマンドの実行結果をチェックする 平穏な状態ではまず失敗しないようなコマンドも、サーバ、ネットワークの負荷が高い、特殊な環境では失敗することもあったり。というわけでコマンド実行した後は必ずsystem "/path/to/command"

  • Web Application Framework ではなく、コードジェネレータでいいのではないか - tokuhirom's blog

    Web Application を構築するための部品が十分にそろいつつある今日この頃ですから、今となっては Web Application Framework をつかうのではなく、ライブラリの glue 部分を Code Generator で吐いてしまうのも選択肢にはいるのではないでしょうか。 というわけで、サラっとかいてみた。400行程度のジェネレータだけで、質的なコードはない。実はこういうので十分なのではないだろうか。 (なんとなく Path::AttrRouter をつかって Catalyst 風にしてある) 一般的な Web Application の構成要素はすべてふくんでいるが、出力されるコードはおどろくほどみじかいし、実際これで十分だとおもう。 use strict; use warnings; use utf8; use Getopt::Long; use Pod::U

  • キャッシュしよう

    京都観光で散財しすぎて貯金がないmalaです。こんにちは。キャッシュの話を書きます。 色んなキャッシュがあります データベースから引く前にmemcachedから取得したり テンプレートエンジンのレンダリング結果をキャッシュしたり 各種ウェブサービスのリクエスト結果をキャッシュしたり その他諸々CPUったり時間のかかる処理をキャッシュしたり 簡単に思いつくのはこの程度ですが、スケーラブルなウェブサイトを構築するには常識的に考えてそんなのキャッシュしねーだろうというようなものをキャッシュする必要があります。 DateTimeをキャッシュしよう 同じ時刻に対するDateTimeオブジェクトをキャッシュします。 package MyDateTime; use strict; use base qw(DateTime); my %CACHE; sub now { my $class = shif

  • Devel::NYTProf v4 201007 (OUTDATED, see 201008)

    Slides of my talk on Devel::NYTProf and optimizing perl code at OSCON in July 2010. It covers the new features in NYTProf v4 and outlines a multi-phase approach to optimizing your perl code. Best viewed fullscreen. A screencast of this talk, that includes a demo, can be viewed at http://blip.tv/file/3913278 An updated version of the slides can be viewed at http://www.slideshare.net/Tim.Bunce/devel

    Devel::NYTProf v4 201007 (OUTDATED, see 201008)
  • モダンな Perl の開発環境の構築方法 - tokuhirom's blog

    一般的な OSX 環境および Linux 環境における、モダンな Perl 開発環境の構築方法についてまとめてみたよ。 perlbrew のインストールperlbrew をつかうことにより、簡単に最新版の Perl5 を利用することができるようになる。 perlbrew をいれる。% curl -L http://xrl.us/perlbrew | perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。あたらしいシェルをたちあげる。最新版の perl をインストールする。% perlbrew install perl-5.12.1 % perlbrew switch perl-5.12.1 ここまできたら、she

  • perlbrew + cpanminus + local::lib で環境構築 - Webtech Walker

    local::libとかcpanmとか便利になってきたなーと思っていたところにperlbrewというまた新たなツールがでてきたので一度ここら辺でperlの環境構築についてまとめときます。 システムにインストールされているperlを使うとOSのアップデートなどの影響を受けてしまうので、それらを使わずホームディレクトリ以下にperlもCPANモジュールも全部インストールしていきます。 perlbrewはperlをバージョン毎にインストールしたり、それらをswitchして使えたりすることができるコマンドです。 App::perlbrew - search.cpan.org まずperlbrewをインストールします。 $ curl -LO http://xrl.us/perlbrew $ chmod +x perlbrew $ ./perlbrew install これで$HOME/perl5にp

    perlbrew + cpanminus + local::lib で環境構築 - Webtech Walker
  • プログラミング言語"Perl"の商標登録について - JPA 運営ブログ

    一部の方はすでにご存じの通り、先日 "RUBY"や"OPENSOURCE"などの商標登録が出されていた他、"Perl"および"パール"の商標登録がプログラミング言語Perlの開発およびコミュニティと全く関係のない法人(テラ・インターナショナル)により出願され、受理されてしまっていることが発覚いたしました。 Japan Perl Association (JPA) としては件に関して法的な対応をするかどうかを含め検討中ですが、取り急ぎ現実的にプログラミング言語「Perl」を日常的に使用されている皆様に向けて現在の状況とそれに対してどのように対応するべきかJPAとして調査した結果をお知らせいたします。 まず プログラミング言語「Perl」を自社製品、サービスに対して使用することについてはなんの問題もございませんし、それを使って作られた製品を使用・開発することに対して使用料等が発生することはあ

    プログラミング言語"Perl"の商標登録について - JPA 運営ブログ
  • OAuth::LiteでOAuth対応のHTTP::Requestを作る方法 (Perlでtwitter bot書いてる人向け) - 酒日記 はてな支店

    最近人気エントリーに便乗したネタが多くてすみません。 実用! PerlでコマンドラインからTwitter投稿(OAuth対応) では、Net::Twitter を使って OAuth で投稿する方法が紹介されていますね。 ところで、単純な twitter bot 作るのに Net::Twitter 使います?「投稿なんて LWP で1発リクエスト投げればいいだけだから使わない」という人も多いと思いますが、Basic 認証が廃止されたらどうしましょう。 そのようなかた向けに、OAuth::Lite で OAuth 対応な HTTP::Request を作る方法をご紹介します。 consumer key, consumer secret, access token, access token secret は既に何らかの方法で取得できているものとすると、こんな感じです。 use OAuth::L

    OAuth::LiteでOAuth対応のHTTP::Requestを作る方法 (Perlでtwitter bot書いてる人向け) - 酒日記 はてな支店
  • Perl Hackers Hub:連載|gihyo.jp … 技術評論社

    最終回 Carmelによる依存モジュール管理 CPANモジュールの更新を高速⁠⁠、安全に(2) 宮川達彦[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-10-17 最終回 Carmelによる依存モジュール管理 CPANモジュールの更新を高速⁠⁠、安全に(1) 宮川達彦[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-10-16 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(2) 石垣憲一[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-08-18

    Perl Hackers Hub:連載|gihyo.jp … 技術評論社
  • LL脳な人でもこれぐらいは覚えておくとうれしいgdbのつかいかた。または猫でもわかるgdb講座 - tokuhirom's blog

    LLつかってても「ばすえらーになるー」っていう状況ってたまにあるわけですが、LL しか普段つかわないゆとりは、ここでお手あげになってしまったりすることがままあります。 で、「ばすえらーになるんですが」ってときの最低限これだけはやってみたらどうか、という話。「えー、わたし gdb とかわかんないしー」とかいってる人でもこれぐらいならできるんじゃないかなーっと。 perl t/00_load.tというコマンドで segv するという場合、gdb をつかって % gdb --args perl t/00_load.tとうつ。 すると、以下のようにプロンプトがでるので、"run" とうつ。これでスクリプトがはしりはじめる。 % gdb --args perl t/00_load.t GNU gdb (GDB) 7.0-ubuntu Copyright (C) 2009 Free Software

  • yokohama.pm tech talk #5 - unknownplace.org

    OpenSocial なモバイルアプリを書く場合、アプリ単体でテストできるようにしてくれる Moxy の OpenSocial プラグインの話と、外部 API 呼び出しを専用に行う非同期なプロクシサーバーの話をしました。 資料はこちら: OpenSocial mobile application development 前者に関しては、個人的には OpenSocial モバイルアプリ開発には必須なツールなので良い感じにしていきたいところ。 &してくれるひと募集。 後者のプロクシサーバーは「あんまり頭よくない」だけれども、現在のウェブアプリケーションの構成で、API呼び出しの待ち時間をうまく使おうとするときにはこうなるのかなぁと思った。同じようなことをしているところもあるらしい! 個人的にはそれ〜でできるよ!ってのがないかなーと思っていたのだけど、ないっぽいのかなー。 nginx でおしいと

  • ぽろきぃのblog : Text::Livedoor::WikiでPad(ゲームコントローラ)記法をサポートしました

    2009年10月29日17:18 カテゴリperl Text::Livedoor::WikiでPad(ゲームコントローラ)記法をサポートしました 鉄拳6やってますか!のぽろきぃです。こんにちは。 Text::Livedoor::Wiki Version 0.02公開 昨日公開された、Pad記法をText::Livedoor::Wikiに組み込んでCPANにあげたので報告だYO! それと、画像とかも更新したので、ここからダウンロードすると良いと思う! Pad記法作った人 実装したのは、フリーエリア研究所のオクラホマーさんです。カッコいいですね。はやく100個くらいフリーエリアツール作れよ。このやろうですね。 あ、デザインはザキュさんです。あ、マークアップはカブタン研究所のカブタンです。 Pad記法を思いついた人 半年くらい前に「ゲームコントローラの、ボタンをwikiに出したいねー」みたいなこ

  • DBIx::ProfileManager で SQL Profiling | BLOG - DeNA Engineering

    風邪を引きっぱなしで全然治らない山口です。恐らくネット上では zigorou と言うハンドルでご存知の方もいらっしゃるかもしれません。 まずは技術系のネタの第1弾です。 今回は実際にモバゲーオープンプラットフォームで用いている SQL Profiling の方法をご紹介致します。 DBI::Profile について モバゲータウン ではデータベースは MySQL を用いており、サーバーサイドプログラムから管理ツールまでのほとんどが Perl で書かれており、 当然ながら DBI モジュールまたはそれを利用したモジュールを使って DB アクセスをしています。 今回、オープンプラットフォームチームで作った OpenSocial RESTful API ですが、モバゲータウン内のデータベースに大量にアクセスする為に日々どのようなクエリが実行され、どれくらいの実行時間が掛かっているかは常に気になる

    DBIx::ProfileManager で SQL Profiling | BLOG - DeNA Engineering
  • 標準出力や標準エラー出力を捕まえてテストする Test::Output / Capture::Tiny - 酒日記 はてな支店

    Perl で、あるコードが標準エラー出力に吐き出した内容をテストしたい場面がありました。 自分でまず思いついたのは STDERR を dup して保存しておいて、ファイルにリダイレクトして、元に戻して、というやりかた。これはこれで動くのですが面倒。こういう場合は Test::Output (や miyagawa さんに教えてもらった Capture::Tiny) が便利です。 Test::Output はこんな感じ。 std(out|err)_(is|isnt|like) といったテスト関数が使えるようになります。 use Test::Output; use Test::More; stderr_is { # STDERR になにか出力するコード } "STDERRの内容", "description"; stdout_like { # code } qr/regexp/, "descri

    標準出力や標準エラー出力を捕まえてテストする Test::Output / Capture::Tiny - 酒日記 はてな支店
  • Lingua::LanguageGuesser はいかにして生まれたのか

    言選Webは東京大学情報基盤センター中川研究室で公開している 専門用語(キーワード)自動抽出サービスです。 このシステムは内部で、専門用語(キーワード)自動抽出Perlモジュール"TermExtract"を活用しています。 特に西欧言語版では英語だけではなく、フランス語、イタリア語などの用語抽出を行うことができます。 しかし、入力テキストがどの言語で書かれているか判定する仕組みをもたず、ユーザがその都度指定する必要がありました。 そこで、入力テキストがどの言語で書かれているか、自動判定する仕組みを新たに考えることになった次第です。 言語判定を行う方式を調べたところ、いくつかの手法があることがわかりました。 N-Gramモデルを用いたテキストの分類器を使う 各言語で頻出する単語や特徴的な単語があるかどうかで判定する アクセス先サイトのURLから国名を得る HTMLのMETAタグの記述を確認す

  • perldoc-search

    bulknews.typepad.com Tatsuhiko Miyagawa's blog to discuss mostly tech and nerdy stuff. Joshua ben Jore / App-Perldoc-Search-0.03 - search.cpan.org I've been always having problems locating the right POD files when I deal with a big module/software/framework in Perl, for instance, Moose. They have a fairly good amount of document, but merely doing `perldoc Moose` doesn't give me what I want to know

    studio-m
    studio-m 2010/01/16
    App::Perldoc::Search
  • 第23回 Module::Build:MakeMakerの後継者を目指して | gihyo.jp

    今年もよしなにお願いいたします 連載第18回ではlocal::libの話題を取り上げましたが、今回はそのときにもちらと紹介した、モジュールをインストールするときに利用するいくつかのモジュールについて簡単にまとめてみます。 ExtUtils::MakeMakerが生まれるまで Perlがバージョン3でコンパイル時にユーザ独自のライブラリを組み込んで体機能を拡張できるようになったとき(1990年⁠)⁠、おそらくもっとも喜んだのがデータベースを使っていたユーザでした。彼らはいそいそと自分の使っていたデータベースのライブラリをPerlに組み込み、それとわかる名前をつけて公開しました。当時の記録によれば、Oracleに対応したOraperlやPostgreSQLに対応したPgperlなど、データベース関連だけで8つないし9つの専用Perlがあったようです[1]⁠。 でも、このアプローチには問題もあ

    第23回 Module::Build:MakeMakerの後継者を目指して | gihyo.jp
  • CGI.pmで作ったCGIをコマンドラインから実行する - D-6 [相変わらず根無し]

    CGI.pmで作ったCGIをコマンドラインから実行する 某所での会話: 13:14 <#perl6> t****: y'know, one thing that got me into Ruby was that the CGI library would auto-detect that I was testing it in a browser and take arguments as if I was working in a browser. Made troubleshooting a breeze... 13:14 <#perl6> t****: I mean, testing from the command line... 13:15 <#perl6> t****: I always wished the perl CGI module would do that...

  • Coroを使って並行処理 - JPerl Advent Calendar 2009

    こんにちわ。『層・圏・トポス』読者の会からの刺客、id:hirataraです。 「並行処理」って言葉はなんだか魅力的ですよね! そこで、今日はCoroを使った並行処理を紹介します。なお、Coroはコアモジュールではありませんので、使ってみたい場合にはCPANからインストールして下さい。 スレッドを作る Coroでは、asyncによって新しいスレッドを作ることができます。ただし、asyncでスレッドを作っても、何もしなければ他のスレッドに勝手に処理が移ることはありません。asyncで作成した別のスレッドに制御を移すには、明示的な操作が必要となります。ここではcedeを使って、asyncブロックへ処理を移しましょう。 use strict; use warnings; use Coro; async { print "Another thread\n"; }; print "main thre