タグ

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

タグの絞り込みを解除

perlに関するhide-Kのブックマーク (742)

  • PerlエンジニアのためのObjective-C Blocks入門 - unknownplace.org

    OS X 10.6 以降の xcode では Objective-C に Blocks というシンタックスが追加されている。 Blocks Programming Topics: Introduction Perl でいうところの無名関数(コードブロック)を作ることができる機能で、Perlでいうところの my $f = sub { ... }; $f->(); は void (^f)() = ^{ ... }; f(); のように書ける。書式がきもいのはObjective-Cの定めなのであきらめましょう。 より詳しい書式については上記ドキュメントを見ると良い。 しかしデフォルトではPerlのコードブロックとはレキシカル変数の扱いが異なる。 my $i = 0; my $f = sub { return $i + 1 }; $i++; $f->(); # 2 を返す perlではこのようにレ

  • 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
    hide-K
    hide-K 2010/04/22
  • Perl 5は生き返った! 新たな前進を再開したPerl

    Perl 5コアの開発はここ数年、負の連鎖が続いていた。リリースは滞り、開発者は去り、将来の見通しはどんどん悪くなっていった。ここで話すのは、Perl 5の開発におけるこの悪い流れがどのようにして、楽しく、前向きで、エキサイティングなものに変わったか、というストーリーだ」 Perl 5のコアデベロッパーで、ActiveStateの技術リードでもあるJan Dubois氏は、4月13日に同社のブログにポストしたエントリ「Perl 5 is Alive」で、このように書き出しています。 Perlは、機能が高度化し複雑になったPerl 5までのバージョンを見直し、新たに作り直そうと、2000年にPerl 6の開発が始まりました。しかしPerl 6は10年たったいまでもリリースされておらず(今月に最初のバージョンがリリースされるといわれていましたが…)、一方でPerl 6の開発が始まってからは、

    Perl 5は生き返った! 新たな前進を再開したPerl
    hide-K
    hide-K 2010/04/17
  • 502 Bad Gateway

    502 Bad Gateway nginx

  • Text::ClearSilver のベンチマークをとってみた - tokuhirom's blog

    【追記】ごめん。うそなんだ。。。当は一番はやいのが cs です。 id:gfx が clearsilver binding をかいたということなので、ベンチマークをとってみた。 結果をみてみると、意外なことに Text::ClearSilver の方が TT より遅いということがわかった。なんでだろう。 5.010001 linux at foo.pl line 22. Template: 2.22 Text::MicroTemplate: 0.11 Text::ClearSilver: 0.10.5.0 (warning: too few iterations for a reliable count) Rate cs tt mt cs 1139/s -- -60% -96% tt 2833/s 149% -- -91% mt 32258/s 2732% 1039% --ベンチマークス

  • AE::HTTP で HTTP::Request をなげるには - tokuhirom's blog

    HTTP::Request をつかって呼ぶのはそんなにむずかしい話ではない。という。たとえば、以下のようにすれば、普通によべる。 sub http_request_by_http_request { my $cb = pop @_; my ($req, @args) = @_; my %headers; $req->headers->scan(sub { $headers{$_[0]} = $_[1]; }); http_request($req->method, $req->uri, body => $req->content, headers => \%headers, @args, $cb); } ↓のようにしてもいいかも。$req->headers のあたりがちょっとアヤシイけど。 http_request($req->method, $req->uri, body => $req

  • given-when を dispatcher としてつかう場合の注意事項 - tokuhirom's blog

    せっかく given-when 構文をつかえるのだから、以下のように Dispatcher を書けばいいのではないか、という話があったので実際つかってみていたのだが、このような書き方は非常に低速であることがわかった(too slow)。 use 5.010; sub dispatch { my ($class, $c) = @_; given ([$c->request->method, $c->request->path_info]) { when (['GET', '/']) { return call("Root", 'index'); } ... } } 以下のようなベンチマークスクリプトをうごかすと 25倍遅い。 use strict; use warnings; use Benchmark qw/:all/; use 5.010; my $method = "GET"; my

  • GitHub - tokuhirom/MojaMoja: (PoC)yet another sinatra-ish framework built on CPAN modules

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - tokuhirom/MojaMoja: (PoC)yet another sinatra-ish framework built on CPAN modules
  • 『JPerlは偉大だった』……けれど - Charsbar::Note

    匿名のJperlユーザとおぼしき方から連載記事への要望コメントをいただいた。非公開希望ということなので取り合う必要はまったくないのだけれど、おかしなFUDを広められても困るので簡単にコメントを書いておく。 1) Perlのコアに「大きいことは良いことだ」という思想はない。「ワンライナーのためのツール」という側面を切り捨てたことはないし、これからもないだろう。21世紀に入ってツールチェーンまわりを新しくするためにいくつかのモジュールがコア入りしたが、コアにはモジュールをインストールするのに最低限必要なもの以外は入れない、というのが基路線だ。 2) ActivePerlもStrawberry Perlも、コアのみのPerlではない。いずれもコアだけでは一般的な用途には足りないからという理由でさまざまな追加モジュールを同梱した独自パッケージだ。同梱しているものも異なるし、設定にも異なっている部

    『JPerlは偉大だった』……けれど - Charsbar::Note
    hide-K
    hide-K 2010/03/26
  • perl5 でファンクションプロトタイプをつかっちゃいけない理由と使われる理由。 - tokuhirom's blog

    Damian Conway の Perl Best Practice は関数プロトタイプを非推奨扱いにしているが、一方で巷の Perl Hackers はこれを使いまくっている。このような状況が初心者を混乱させているのではないかと思い、解説することにした。 function prototype を Damian Conway の Perl Best Practice が非推奨扱いにしている理由は以下のような点だ。 Prototypes do not work on methods. Prototypes do not work on function references. Calling a function with a leading & (&foo) disables prototypes. But you shouldn't be calling functions like t

    hide-K
    hide-K 2010/03/24
  • 第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp

    Test Anything Protocol Perlは非常にテストを重視している言語です。連載第14回ではPerl体のテスト数がどのように推移してきたかを、また連載第24回ではCPANモジュールの品質保証に大きな役割を果たしてきたCPANTSについて簡単に紹介しましたが、Perlとテストのつながりはそれだけではありません。CPANにはTestを名前に含むディストリビューションが500以上もあがっていますし(これは全ディストリビューション数の約2.5%にあたります⁠)⁠、Perlで標準的に使われているテスト形式はTest Anything Protocol (TAP)という名前を得て多くの言語に移植され、2008年からはIETFの標準化を目指した活動も始まっています――というと何やらすごいプロトコルのように聞こえるかもしれませんが、Test Anything Protocolというのは要

    第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp
  • 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
  • perlでMing

    Mingを使用すれば簡単にFlashのswfファイルを作成することができます. ページではLinux上でのMing/perlのインストール,および簡単な作成法を紹 介したいと思います. Menu ダウンロード インストール swf作成の基礎 サンプル リンク ダウンロード Mingの家サイトはhttp://ming.sourceforge.net/ です.現在の最新版は 0.3 (2006/02/15)となっています.ここから次のファイルをダウ ンロードしてください.perlモジュールは別ファイルになりました. ming-0.3.0.tar.gz ming-perl-0.3.0.tar.gz ttf2fft-1.0.tar.gz インストール まず,Mingではいくつかのライブラリを使用しますので必要なら体の前 にそれらをインストールしておきます.生成されたswfのサイズを小さくする

  • Module::Build と EU::MM と M::I と dzil にかんする雑感(miscellaneous thoughts) - tokuhirom's blog

    Module::Build の目標は make の排除だとおもうのだが、現実的には、EU::MM に依存している場合には make が必要だし、ある人のモジュールだけが make なしではいるようになってもとくにうれしくはない。 つまり、移行するメリットが薄い。よって、流行らなかったのだとおもう。 おぼえることがふえるのやだし。 EU::MM はもはや積極的に開発はされないようだが、普通に使う分にはもんだいないし、メンテナンスはされてる。 単純な pure perl のモジュールなら、これをそのままつかっても問題はない。 ただし、ちょっとこった実行時の処理などをやろうとすると、よみづらい Makefile.PL ができあがる傾向があるようにおもう。 クールなインターフェースを提供してくれる。プラガブルで拡張可能だ。 日では、Plagger で M::I が採用されたことを契機に、一気にひ

    hide-K
    hide-K 2010/03/04
  • Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。

    タイトルは釣りです。 perlでは一般的にperldocを使って調べ物をする事が殆どですが あれー、あのモジュールなんだっけ...IO:: 忘れた。 とか IO:: の下辺りに似たモジュールあったよなー なんて事が結構あったりするのですが(私だけかも)、今日もSys::SendfileのAuthorから「チミが送ってくれたpatchに対して僕が書いたtestがWindowsで通らないんだけど、何か分かるかい?」とメールが来てて それ、以前ワテがp5pに送ったpatchの件ちゃいますやろか、確かIO:: ...えーっと... ってなってしまった訳です。 なんか良くある事なので解決出来ないかなぁと思っていた所、見つけてしまいました。perldoc-completeを。 ap's perldoc-complete at master - GitHub A bash completion help

    Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。
    hide-K
    hide-K 2010/03/03
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
    hide-K
    hide-K 2010/03/03
  • bytes.pm will be deprecated in Perl 5.12 - Islands in the byte stream (legacy)

    [追記]その後deprecated(廃止予定)ではなくstrongly discouraged(強く非奨励)に状態が改められたが、使用すべきでないという点は変わらない。[/追記] bleadperlのコミットログを眺めていたところ,以下のような記述があった。 deprecate bytes.pm この件でTwitterで議論が起きたので,Togetterでまとめてみた。 #perl bytes.pmがdeprecatedになった件*1 要点をまとめると以下のようになる。 Perlの文字列モデルを正しく理解していれば,bytes.pmを使う必要はない 入力されたデータををdecode,出力するデータをencodeする,というスタイルを採用すれば,bytes::lengthなどは必要ない たとえば,PSGIの仕様では,encodeした文字列を渡すことになっている decode/encodeが面

    bytes.pm will be deprecated in Perl 5.12 - Islands in the byte stream (legacy)
    hide-K
    hide-K 2010/02/24
  • $. と <> と for と while - D-6 [相変わらず根無し]

    $. と <> と for と while forでは$.はカウントされない ちょっと違うので横から。 これはforの動作というより、式の評価コンテキストの問題。 forはその性質上、捜査対象は配列になる: for (<>) { .... } # 上記はこれと同等 my @lines = <>; for(@lines) { .... } なので、<>も配列として評価されるべく*まず最初に*<>を最後まで読み切って、行区切りの配列を作ってからforに渡す。このときファイルハンドルを読み切っているので、当然 $.はファイル全体の行数になる。 これに対して、whiileは対象を毎ループ評価するので、1行ずつの読み込みになる。だから$.は行毎の値になる。B::Deparseを使うとちょっとわかるかも。 # こっちはちょっと正直わかりにくいとは思うけど・・・ daisuke@beefcake $ p

    hide-K
    hide-K 2010/02/23
  • OAuth::LiteでxAuth - Codin’ In The Free World

    OAuth::Lite 1.25変更点 今までのget_access_token my $access_token = $consumer->get_access_token( url => $access_token_url, token => $request_token, verifier => $verification_code, ); tokenリクエストトークンを渡さなかったり verifierを渡さなかったりしたら、エラーとして扱っていました。 これはOAuth 1.0 Rev a で必ず必要なパラメータだったためです。 またメソッドの返り値として得られるのはOAuth::Lite::Tokenオブジェクトでした。 しかしSession Extensionや、先日のxAuthなどでは、token以外の情報も レスポンスに含まれるようになってきました。 また、xAuthでは、

  • 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)
    hide-K
    hide-K 2010/02/11