タグ

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

タグの絞り込みを解除

perlに関するgoto553のブックマーク (370)

  • Plack Advent Calendar

    The content of this blog has been updated, and now is available as an e-book called Plack Handbook. The e-book includes Japanese translation as well, and the source code of this book is available for free. 24 days have passed so fast and this is the last entry for this Plack advent calendar. Best Practices Plack and PSGI are still really young projects but we've already discovered a couple of sugg

    Plack Advent Calendar
  • バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009

    バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめまして。nobjasと申します。 今日はあまりにもネタがないために、 バカな僕がやっと最近使うことが出来たPSGIとPlack::Requestの使い方を書こうと思います。 基的な構造はmiyagawaさんのPlack Advent Calendar(http://advent.plackperl.org/)などで 紹介されているので、頑張って英語を読んでください(笑 基的にはPSGIはリクエストとレスポンスの形式の規約みたいなものです(と思っています)。 それを実装するのがPlackという訳ですね。 そこで、まずは Plackでリクエストを受け取ってレスポンスを返すCGIスクリプトを書いて見ましょう。 us

  • へぼへぼCTO日記 - PlackにおけるCSRFとDNS-Rebinding対策

    最近のwebセキュリティ界隈ではCSRFやDNS-Rebindingが話題ですが、Plackでアプリケーションサーバを立ち上げる際にこれらの対策をどのように行うかについてまとめてみました。 まず、CSRF対策ですが、拙作のPlack::Middleware::RefererCheckを使うことにより、RefererのチェックによるCSRF対策が行えます。CSRF対策としては、onetime token方式も存在しますが、個人的にはRefererチェックが導入が楽で好きではあります。Refererを送信しないクライアントを対象にしたサービスを運営される方は別途onetime token方式の対策をおこなってください。 Plack::Middleware::RefererCheckの使い方はこのようになります。(SYNOPSYSからの抜粋) use Plack::Builder; builde

  • ゆーすけべー日記

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

    ゆーすけべー日記
  • Sub::Pipe で UNIX pipe みたいな関数適用をする - JPerl Advent Calendar 2009

    これはなに? Sub::Pipe は非常に小粒なモジュールです。どれぐらい小粒かというと、質部分は package Sub::Pipe; use overload '|' => sub { $_[0]->( $_[1] ) }; sub joint(&) { bless $_[0], __PACKAGE__ }; この 3行のみ、というぐらい小粒なわけですが、なかなかおもしろいモジュールじゃないかと思っています。 Sub::Pipe を使うと、UNIX pipe のような記法で適用する関数を作成できます。 use Sub::Pipe; sub trim { joint { my $str = shift; $str =~ s/^\s+|\s+$//g; return $str; } } $foo = " foo " | trim; # is $foo, "foo" これは文字列の前後の空

  • perl - id:sfujiwaraのFilter.pmをSub::Pipeに : 404 Blog Not Found

    2009年05月22日15:30 カテゴリLightweight Languages perl - id:sfujiwaraのFilter.pmをSub::Pipeに 素敵! 演算子 | を overload して TT のフィルタみたいな記法を実装する - 酒日記 はてな支店 <?= $value | replace('x','y') | uri ?> こんな風に書けたら素敵ですよね。ということでこんなのを書いてみた。 でも、そのままではちょっと使いづらいので、その辺を直してSub::PipeとしてCodeReposにうpしておきました。 /lang/perl/Sub-Pipe/trunk - CodeRepos::Share - Trac 問題点は、以下の通り。 さすがにFilterというモジュール名はまずい。ソースフィルター系とかぶる。 直にcoderefをblessするのはちょっと

    perl - id:sfujiwaraのFilter.pmをSub::Pipeに : 404 Blog Not Found
  • FormValidator::LazyWay で検証ルールをまとめよう - JPerl Advent Calendar 2009

    FormValidator::LazyWay で検証ルールをまとめよう - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? どうも、亀仙人になって鼻血ブーしたい vkgtaro です。ご機嫌いかがですか。亀仙人が最初なのかどうか知らないけど、鼻血を吹くというマンガ表現はすごく好きです。おっと、hacker track でした。 ということで僕もハッカーではないけれど、自分がメンテナンスしてるモジュールの中から一つ紹介させてもらいますね。 今日は FormValidator::LazyWay で検証ルールをまとめちゃいます。 フォームの検証 web アプリケーションを作っていると、どのページでも出てくる入力項目ってあると思います。 会員登録時のパスワード項目とログイン時のパスワード項目とユーザ情報変更時のパ

  • linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場

    Perl等のLLでウェブアプリケーションサーバを書いていると、普通はマルチプロセスモデル (apache なら prefork とか) で運用することになると思う。で、それらがどれだけメモリを使っているか、っていうのはチューニングにおいて重要になってきたりする (んじゃないかと思う) けど、そもそもメモリの総使用量をどうやって測定するのか。 20:20追記: PSSを使ってワンライナーで測定するのが簡単 (コメント欄参照)。kosakiさんありがとうございます。 $ sudo perl -le 'for my $p (@ARGV) { open my $fh, "< /proc/$p/smaps" or die $!; map { /^Pss:\s*(\d+)/i and $s += $1 } <$fh> } print $s' `pgrep plackup` 914325以下は初回投稿時

    linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場
  • 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

  • Nakajiman Software Blog: サブルーチン末尾の括弧ありなしで振る舞いが変わるなんて知らなかったよ

  • sysopen

    説明 ファイル名で指定されたファイルをオープンして,ファイル・ハンドルを結びつけます。 MODEでファイル・オープンのモードを指定します。Fcntlモジュールに上記MODEの値が定義されています。 パーミッションの省略時は0666になります。 使用例 #!/usr/bin/perl use strict; use warnings; use Fcntl; my $file = 'data.txt'; sysopen my $fh, $file, O_RDONLY or die "$!:$file"; while (my $line = <$fh>) { print $line; } close $fh;

    sysopen
  • Have Your Own Perl! - JPerl Advent Calendar 2009

    こんにちは、dankogaiです。Encode.pmのメンテナーとかしています。なのでEncodeのことでも書こうかと思ったのですが、すでにEncodeでラクラク日語処理をxaicronに書かれちゃいました。 それじゃ何書く?と思ったら、残ってましたよ。最も大事なものが。 Perlハッカーに最も必要なもの ここでなぞなぞです。Perlハッカーにとって最も必要なのは何でしょうか? Perlそのもの、ですよね。 そうなんです。どんなすばらしいPerlモジュールも、Perl体がなければ動きません。Perlはモジュールがなくてもなんとか動きますが、その逆は真ではないのです。 自分専用Perlを持つべき理由 あまりに当たり前のこの事実ですが、その一方、およそ Windows を除けばPerlは主要OSにははじめから組み込まれているのでそのことになかなか気がつきません。Perlがそこにあること、そ

  • パスワード保存のお供に Crypt::SaltedHash - JPerl Advent Calendar 2009

    パスワード保存のお供に Crypt::SaltedHash - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちは。はてなでは id:sfujiwara、それ以外のところでは fujiwara です。 Webサービスなどでユーザーのパスワードを預かる場合、「一方向ハッシュ関数を通した値を保存せよ」というのはよく知られた話だと思いますが、単に MD5 や SHA1 の値を保存するだけでは安全性に問題があります。 例えば Digest::MD5::Reverse というモジュールを使うと、MD5 の値を逆算することができてしまいます。 use Digest::MD5::Reverse; print reverse_md5("388c3c9c00e651cc163cbdd47f08c427"); # f

  • Perldocの話 - JPerl Advent Calendar 2009

    Perldocの話 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? lestrratこと牧です。AnyEventの話を書こうと思ったけど、それはを書くくらいの厚さになりそうなのでやめました。「リアルタイムWebのためのPerl」って書きたいので、編集さん誰か連絡ください。 ああ、advent calendarでした。 カジュアルトラックなので、カジュアルに使うために有用なテクニックってなんだったのかと考えたのですが、やっぱりperldocじゃないかな、と。僕がperlを2000年頃に使い始めてまず感動したのはドキュメントを漁りにネットに繋げなくてもよいということでした(当時はJavaを大学で使っていたので、ものすごく頻繁にjava.sun.comのjavadocページを見ていた)。 コマンドライン

  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
  • Kazuho@Cybozu Labs: Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性

    « MySQL の order by 〜 limit を高速化する方法 | メイン | MySQL Conference & Expo 2009 で Q4M の話をします » 2008年12月16日 Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性 先月開催された Shibuya.pm #10 でプレゼンテーションがあった MENTA や NanoA では、Mojo 由来のテンプレートエンジンを拡張して使用してきたのですが、Perl モジュールとして独立させるべきだよね、ということになり、このたび Text::MicroTemplate として CPAN にアップロードしました。 そのことを告知するとともに、作業の過程で興味深く感じた、テンプレートエンジンのセキュリティと利便性に関する話題をブログに書いておこうと思います。 テンプレートエンジンのエスケ

  • Text::MicroTemplateで遊ぶ : As Sloth As Possible

    こないだ言ってたPlackアプリのサンプルでは、出来るだけ普段使ってない構成にしようと目論んでて、そのために例えばテンプレートエンジンにはText::MicroTemplateを使ってみたりしている。 Text::MicroTemplateはシンプルで軽くてなかなか良かった。ちなみにこんな感じで使う。 use Text::MicroTemplate qw(:all); my $html = render_mt('Hello, <?= $_[0] ?>', 'faultier')->as_string; でもファイルから読みたいよねーそれ実装しなきゃなのかなーとか思ってたらちゃんとText::MicroTemplate::Fileってのがあって、こっちを使えばキャッシュも使ってくれるしラッパーの機能とかもあるしで素敵だ。 ?# hello.mt Hello, <?= $_[0] ?> use

    Text::MicroTemplateで遊ぶ : As Sloth As Possible
  • 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

  • perl-mongers.org - このウェブサイトは販売用です! - perl mongers リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.