タグ

ブックマーク / hirobanex.net (9)

  • PerlのWAFのKossyとO/RマッパーTengでつくるWIKIアプリ | hirobanex.net

    Like a ハッカソン(pre Hachioji.pm #15)の準備として、Kossyの勉強用アプリとしてWIKIアプリを作ってみました。O/RマッパーをTengで、Object::Container::Exporterでインスタンスキャッシュという感じの構成。 Kossyの特徴 作ったアプリの話に入る前にちょっとした個人的なメモをば。 ディスパッチャー/ルーターとコントローラーはSinatra-ish,filterがいい按配 テンプレートエンジンは、Text::Xslate(Kolon) 独自のバリデーター セットアップスクリプトあり フロントサイドのサポートして、CSSフレームワークのbootstrapとJqueryもついてくる Kossyのメソッドについてのメモ filter(DISPATCHER METHODS for Kossy class) $appのコードリファレンスをラ

  • 楽にDarkPAN作れるOrePAN2::ServerでCPAN Authorになったよ! | hirobanex.net

    DarkPANをOrePAN2ベースでサーバーとして立ち上げられるOrePAN2::ServerなるものをsongmuさんとCPANにあげたとももに、それによってCPAN Authoerになったことを謹んでご報告いたします。で、使い方とか個人的な回想録をば。 DarkPANとかOrePAN2って何?メリットとラストワンマイル DarkPANとはCPANにあげられないモジュールや、CPANにアクセスできない環境で、CPANモジュールをキャッシュ的にためておく社内用のCPANミラーのことです。OrePAN2は、DarkPANを作成できるコマンドラインツールで大変便利にできています。 ただ、OrePAN2はサーバーではないので、cpanm,cartonから落とすにはplackupするなりApacheとかNginxとかかませる必要があるし、プッシュも、SSH経由でOrePAN2のコマンドをたたいた

  • WebサーバーをNginxのReverse proxy+cacheに変えたときのチューニングメモ | hirobanex.net

    このブログのバックエンドApacheからNginxに乗り換えたので、それまでの流れをメモとして公開します。Nginxをわざわざ使う上でやっておいたほうがいい基的な設定とリバースプロクシキャッシュの動く設定からベンチマークツールの賛否両論まで。 次世代WebサーバーのNginxという未来へ! 「Nginxがすごい!!!」みたいな話を聞いて、はや4年。なんだかよくわからず、Apacheを使い続けていましたが、やっとNginxのすごさがわかったので、乗り換えました。そのあたりのより入門的な内容やApacheでよくやる設定をNginxでどうやろうかもつらつら調べているので、そのあたりは別記事としてたぶん公開するとして、まず手っ取り早く導入しないとそのあたりをやる気力もなくなるので、個別のカスタマイズはさておき、導入内容ついて記事にしておきます。とりあえず、Nginxの公式サイトでも見てみるといい

    amari3
    amari3 2013/10/18
  • 【Amon2のオレオレTips】MVCを意識したModelの実装要件 | hirobanex.net

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

  • Plack時代のReverse proxyによるサーバー運用方法 ~YAPC::Asia2010の復習(後編)~ | hirobanex.net

    後編を書く前に、YAPC::Asia2011が終わってしまったので、変な勘違いをされるかとやめようかと思ったのですが。。。とりあえず、YAPC::Asia2010の復習として、Plack時代のPerlによるサーバ運用では、わりと一般的なリバースプロクシによる運用を、このブログの実例で報告します。 前置き:plackupはわかったけど、実際どうするの? 「Perlは遅い」の原点だったApacheのcgi時代は終わりを告げ、Apacheに依存したmod_perl時代も終りを告げました。Plackを使えば、CGIだろうとmode_perlだろうとPerlのスタンドアローンサーバーであろうと、かなり汎用的に動かせる時代です。mod_perlとかFastCGI前から使っていれば、あるいは、「Rubyではふんふん、Pythonではふんふん」とか語れれば、いろいろな歴史をしっているからすぐ実践しやすいと

    amari3
    amari3 2013/05/29
  • CPAN本には入っていないけど、抑えておきたいフレームワークモジュール群 | hirobanex.net

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

    amari3
    amari3 2013/03/14
  • モダンPerl製サイトのベース解説書『Plack Handbook』を読んだ | hirobanex.net

    Plack Handbookは、CGI以降の最近のPerlを使ったウェブサイトを作る上でベースとなるPSGIという仕様の実装であるPlackのまとまった(電子)書籍です。待ちに待ってましたという感じだったんですが、でやっと入手して読んだ感想とかをメモります。 といいつつPlackって何?詳しく教えて? 上述した通りなものがPlackなのですが、FTPでアップしてふんふんふん、という事をしている人にとって、いまいちピンとこないのがPlackだと思います。昔は、FTPを使って.cgiファイルみたいなのをアップしてちょっとした動的な動きをするページを作るには、PerlだとCGI.pmというCPANモジュールに準拠しながらいろいろと作っていたのです。ただ、ApacheのCGIという技術の上だと、何分毎回プログラムファイルの読み込みをとかを行うので遅かったりしたのです。そこで、FastCGIとかmo

  • PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群 | hirobanex.net

    最近、久しぶりに新規コードを書いたんですが、そのテスト書く中でTest::Mock::Guardってモジュール使って便利だったんで、ここらで、動作確認テストを書く上でいいな(使ってみたいな)って思ったモジュール群やテスト関連ネタを個人的なメモとしてまとめておきたいと思います。 いいなって思うPerlの動作確認テスト系CPANモジュール群 私が実際に普段使っているものから、これいいなー使ってみたいなーと思うものまで、一覧にまとめて見ました。結構いろんなモジュール使わないと、いい具合にTDDってできないものだと思います。 入門編 モジュール名 概要 参考日語記事

    amari3
    amari3 2012/08/03
    いいまとめ
  • 引数の明示という観点からのPerlモジュール群 | hirobanex.net

    Perlモジュールのバリデーターと呼ばれるジャンルのモジュールなどをバリデーションという観点ではなく、引数を明示するという観点から整理しました。 バリデーターの種類 バリデーターというものは、一般的に引数が期待される型など(整数か、文字列か、URLか、メアドか等)になっているかどうかをチェックするというものです。特に、Webアプリにおけるフォームから入力されるデータのチェックに活用されることが多いです。そういういった意味から、Perlのバリデーターモジュールはフォーム系と非フォーム系に分類することができます。 フォーム系のバリデーター等 FormValidator::Lite CPANにも紹介されている強力なフォームバリデーターです。フォームバリデーターとしては、フォームの型の定義、チェック、エラーメッセージの定義、が必要ですが、やりたいであろうことのだいたいがそろっているモジュールで実

    amari3
    amari3 2011/06/02
  • 1