タグ

perlに関するovertakeのブックマーク (544)

  • WebSocket を使って Amon2 でチャットプログラムを書いてみる - はちゅにっき

    ずいぶん前ですが Amon2 が WebSocket に対応したということで、今更感のあるチャットプログラムを書いてみることに。 今更とは言いつつも社内では IRC を使うことができないので、ちょっとしたメッセージがやりとりできるものを作ってみようかなと思い、そのベースとなるようなイメージで作ってみました。 オマケで以前から使ってみたいなぁと思っていた Redis や Proclet なんかも (無駄に) 使ってみました。 適当な Heartbeat で WebSocket を維持していたり、エラー処理が適当すぎて Member の一覧が嘘つきだったり *1 と、まだまだイケてない部分ばかりですが、最近時間がなかなか取れないこともあり、とりあえず動くし晒してみようかと思います。 Twincle の名前は昔テストで Twitter Client を作ったときに押さえた ID をそのまま踏襲し

    WebSocket を使って Amon2 でチャットプログラムを書いてみる - はちゅにっき
  • 【Amon2のオレオレTips】MVCを意識したModelの実装要件 | hirobanex.net

    PerlのウェブアプリケーションフレームワークのAmon2を使うときModelってどうするの?って疑問が沸きませんか?Largeフレーバー以外でセットアップすると、シナトラリッシュなDispatcher(Router)でセットアップされるので、基的にコントローラーに全部実装してしまおうかなーって気になるんですけど、そうじゃないMVCを意識したケースはどうしようかなーという時のオレオレ理想の要件です。 MVC的なWAFの実装について ウェブアプリケーションフレームワークを使うと、M(モデル)とV(ビュー)とC(コントローラー)の3つにわけてクラス設計を行うのが基と言われていますが、細かい実装をどこに持って行こうか悩むケースにしばしば出くわしますね。とくに、薄いフレームワークと言われるWAFほど、Modelについてはノータッチで自由な設計が逆にできすぎて悩んでしまうことがしばしばではないで

  • PerlのWAFはMojolicious推しな件とそのノウハウ - ゆーすけべー日記

    Perlerな皆さん!WAFは何を使っていますかー!? 昨日行われたという「Perl Beginners #1」のレポートを漁っていると @hsksyuskさんのエントリにこう書かれていましたので僕もつい乗っかってみたくなりました。 PerlのWAFは何がいいの? @ytnobodyさんはKossy推し。 僕はAmon2推し。 ぼ、ぼ、ぼ、僕はMojolicious推し!!! ということでなぜ僕が今、Mojolicious推しなのかを探るためにその「いい点」と思っていること列挙してみました。 それと同時に悪い点も見えてきて、かつバッドノウハウもあるなーって感じなのでまとめてみます。 Mojoliciousのいい点 依存モジュールが無くポータブル ご存知の通りMojoliciousは標準で入っているモジュールに依存しているだけで、 残りは自前で実装しています。なので、 $ cpanm Moj

    PerlのWAFはMojolicious推しな件とそのノウハウ - ゆーすけべー日記
  • Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版

    FacebookAPIを使う要件が出てきそうなのでいろいろ調査中。 perlでFacebookAPIを使うにはFacebook::Graphがいいんでしたよね! Facebook::Graphのドキュメントにちょうどチュートリアルがあったので 試しに今回はその手順通りに設定していきたいと思います。 ただしそのままではなく一部Amon2用に置き換えてます。 また、今回は表示するデータを自分のニュースフィードにしてみました。 あと、Facebook アプリ登録画面ってログインするたびちょこちょこ変わってて 他のサイトの設定画面が参考にならなかったりするので スクリーンショットも添付してみましょう。 Step 1: Set up the developer application on Facebook. https://developers.facebook.com/ に行きます。 Step

    Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版
  • こんなプログラムはいやだ: 負の剰余 - bkブログ

    こんなプログラムはいやだ: 負の剰余 知人から次の式の計算結果はどうなるかという問題を出されました。 -3 % 5 3 % -5 -3 % -5 降参して答えを尋ねたところ、問題を出した方も答えを知らないことがわかりました。そこで、いくつかの言語処理系で結果を調べてみました。手元の環境 (Intel Xeon 上の Debian GNU/Linux sarge) で調べると2つのグループに分かれました。 C (GCC 3.3.5) Java (Sun JDK 1.5.0_05) PHP 4.3.10-16 Emacs 22.0.50.2 Ruby 1.8.2 Python 2.3.5 Perl 5.8.4

  • PrePANをAmon2化した + Amon2で気になった点など - Kentaro Kuribayashi's blog

    PrePANのWebアプリケーションフレームワークをAmon2に変更しました。閲覧者的には何も変わるところはないので特に意味はないですが、今後の機能開発がしやすくなったので、結果的にはよい影響はあると期待しているところです。 WAFは、YAPC::Asia 2011でのcho45さんの発表「ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく」にあるように「薄いフレームワーク」がより良いと最近は感じています。PrePANはまあ、特に変わったこともしていないアプリなので、ドメインスペシフィックに対処するべきこともなく、また、下手に自作するよりも、Amon2の方がずっといいものであることが明白なので、今回はAmon2を使うことにしました。 というわけで、Amon2作者のtokuhiromさんに「Amon2使いますよ!!1」と話したのを実行できたし、PrePANはいろいろと機能追加の

    PrePANをAmon2化した + Amon2で気になった点など - Kentaro Kuribayashi's blog
  • Amon2を継承して自分のWAFを作る - Practice of Programming

    2ヶ月くらい前からか、id:tokuhiromさん作成のAmon2を会社のFrameworkのベースにしています。 Amon2は拡張しやすい感じだし、Flavorをメンテするのは結構だるいし、会社なら共通させたほうがいいなーということで、継承して使ってます(Flavorも使っていますけど)。ORマッパーはid:nekokakさんのTeng、テンプレートはid:gfxさんのText::Xslate。 当分公開できるような状態にはならない気がするので、こんな感じにしてます的な話(実際のコードと同じだったり、全然違ったりするところもあるけど、手を入れたポイント的な話)。仮に、MyWAFていう名前空間で書きます。 コードが断片的なのでよくわかんないかも…しれません。 最近書かれているAmon2に関する記事 id:tokuhriomさん自身の解説 http://blog.64p.org/entry/

    Amon2を継承して自分のWAFを作る - Practice of Programming
  • Perlのメトリクス計測 - WebService::Blog->new( user => ’hide_o_55’ )

    ソースコードの品質向上のための効果的で効率的なコードレビュー にメトリクス計測ツールがでてきますが、Perlにももちろんあります。 Perl-Metrics-Simple-0.18 - Count packages, subs, lines, etc. of many files. - metacpan.org またPerl::Metrics::Simpleを使用したテストモジュール Test-Perl-Metrics-Simple-0.1 - Use Perl::Metrics::Simple in test programs - metacpan.org もあります。 循環的複雑度(Cyclomatic complexity)がしきい値を上回ったらテストが失敗するようになっています。 use Test::Perl::Metrics::Simple -complexity => 25;#

    Perlのメトリクス計測 - WebService::Blog->new( user => ’hide_o_55’ )
  • ゆーすけべー日記

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

    ゆーすけべー日記
  • CPAN本には入っていないけど、抑えておきたいフレームワークモジュール群 | hirobanex.net

    今さらながらtomitaさんが執筆された通称CPANPerl CPANモジュールガイド』の感想を、CPAN自体の感想と、CPANに触発されてという感じでメモしたと思います。 CPAN自体の感想 非常にたくさんのモジュールが紹介されていて大変勉強になります。半分以上が使ったことがないです。なので、使ったことがないモジュールをやりたいことに沿って探して使用するというベタな使い方いいです。 あと、ぼくがいいなと思ったのは、使ったことがあるけどマジメにドキュメント呼んでいないモジュールの解説を読んでより理解を深めるという使い方です。 個人的に、CPANモジュールは、モジュール名で検索して出てきただれかのブログ記事を参考にぱぱっと書いたり、ドキュメントのSYNOPSISをぱっと動かしてみて適当に使うということが多いです。それに加えて、英語のドキュメントはなかなかしっかり読むには腰が重くて細

  • PerlでOAuth 2.0を使ってみた - hide-k.net#blog

    携帯の緊急地震速報の音が怖いので、「会いたかった」に変えるHackを募集しています。 こんばんは。 OAuth 2.0は仕組も特徴も理解していたのですが、実際に実装の必要が出てきたので今更ながら初めて使ってみました。 仕様は現在draft15というステータスで公開されています。(The OAuth 2.0 Authorization Protocol) OAuth 2.0の特徴としてはHTTPSを使って通信経路を暗号化することによりトークンを直接やりとりすることが可能となっています。そのため署名が必要なくなり、あの悪夢のような署名検証をしなくて済むようになったのが大きなメリットです。 とはいえ、読んでもよくわかんないのでコードにしてみます。Authorization ServerとResource Serverとして使ってみるのはFacebook。クライアントサイドフローとサーバーサイドフ

  • 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

  • ゆーすけべー日記

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

    ゆーすけべー日記
  • Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は藤吾郎さんで、テーマはXslateです。 はじめに PerlとWebアプリケーションとの相性の良さは周知のとおりです。そして、Web開発にはテンプレートエンジンが欠かせません。テンプレートエンジンは、プレゼンテーションとロジックを分離し、デザイナとプログラマの分業を可能にし、MVC(Model-View-Controller)のV(View)を担う重要な要素です。 今回は、そんなテンプレートエンジンンの一つであり、筆者が開発しているXslateを紹介します。Xslateは2010年4月に開発を始めた新しいモジュールですが、速度・安定性・機能ともに高い水準になってきました。また、牧大輔氏や松野徳大氏をはじめとしたShibuya.pmの面々に多くのアドバイスをいただき、既存のテンプレートエンジンを置き換えられるくらい実用的に

    Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社
  • Tengについて

    先ほどTengという新しいORMをリリースしました。 TengはDBIx::Skinnyの後継バージョンと捉えていただいて結構です。 DBIx::Skinnyはおおよそ3年前ほどに一人でつくりはじめたORMで 現在に到るまでに様々な仕様変更を繰り返し、 結構秘伝のタレ的なコードが目立つようになってきました。 元々はDBIx::Skinnyをリファクタリングすることで済まそうと思っていたのですが、 後方互換を残したままのリファクタリングに限界を感じました。 多くの人に使っていただいている現状で後方互換を簡単に捨ててしまうのは 宜しく無いとの判断から別プロジェクトとしてリリースするに至りました。 DBIx::Skinnyは現状、バクレポートも特別なく 問題なく継続してご利用頂けると思いますので、ご安心ください。 また、なにか大きな問題点があれば、サポートしますのでpatches&testsウエ

  • Amon2 - Web application framework for Rapid web development

    Amon2 is Fun use Amon2::Lite; get '/' => sub { my $c = shift; return $c->create_response(200, [], ['Hello, world!']); }; __PACKAGE__->to_app();

  • Welcome to search.metacpan.org

    Proof of concept interface for using http://api.metacpan.org.Currently in beta. Find us on Github: This Search Site — Repo / Bugs  |  The API — Repo / Bugs. Get in touch with us on our Google Group.

  • homebrew + perlbrew + cpanm + local::lib + etc.な開発環境を作る - id:antipop

    homebrew インストールはhomebrewにある通りで特に問題なかった。以下、入れたもの。 git keychain coreutils w3m wget lv mecab proctools readline rlwrap libjpeg giflib libtiff gmp mecab tig emacs typesterさんによるフルスクリーンパッチを適用し、/Applicationにsymlinkを作る $ brew install emacs --cocoa $ ln -s /usr/local/Cellar/emacs/23.2/Emacs.app /Applications/Emacs.app cmigemo 以下を参考にインストール http://d.hatena.ne.jp/./lapis25/20100918/1284775330 uim uim-fep http

    homebrew + perlbrew + cpanm + local::lib + etc.な開発環境を作る - id:antipop
  • 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

  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp