タグ

wafに関するkwryのブックマーク (27)

  • Webフレームワークとは何か - HackerNews翻訳してみた

    「HackerNews翻訳してみた」が POSTD (ポスト・ディー) としてリニューアルしました!この記事はここでも公開されています。 Original article: What is a Web Framework? by Jeff Knupp Webアプリケーションフレームワーク、略して「Webフレームワーク」がWeb対応のアプリケーション構築に広く使われているのは、皆さんご存じですよね。単純なブログからAjax機能を搭載した複雑なアプリケーションまで、Web上のすべてのページはコードで記述されています。最近気になるのは、FlaskやDjangoのようなWebフレームワークに興味を持ってはいるけれど、実際にはWebフレームワークの目的や機能をちゃんと理解していない開発者が意外に多いということです。そこでこの記事では、ややもすれば見落とされがちなトピックであるWebフレームワークの基

    kwry
    kwry 2014/04/01
  • http://yappo.github.io/talks/20130920-amon2-line-setup/

    kwry
    kwry 2013/09/25
  • おそらくはそれさえも平凡な日々: Puncheurのご紹介改めオレオレWAFを作ってしまった件

    職質テックトークでもちょっと話したのですが、 PuncheurというWAFを作ってCPANにもあげてしまいました。 読み方はパンチャーですが、パンツァーでもパンチラでもなんでもいいです。 気軽に開発を始められてカスタマイズ可能なWAFとなっております。 最低限のユーティリティーを提供しつつ、DispatcherとViewは差し替え可能になってるという、最近よくあるあれです。 実際かなりAmon2からコピペです。 ちょっとしたPSGIアプリケーションをCPANで配布する的な用途に向いているのが大きな特徴となっています。 主な特徴としては以下。 Perl5.8切り捨て すべてMyApp->new(%opt)から始まる MyApp->new(%opt)->to_psgi; って書ける my $c = MyApp->new(%opt); ってCLIで書ける Lite的な奴も.psgiにべろっと書か

    kwry
    kwry 2013/07/30
  • Web アプリケーションのロジックを手続きとして実装する話 - tokuhirom's blog

    yusukebe のObject::Containerを応用したModel呼び出し のあたりをよんでの感想ですが。 一時期 Catalyst の影響もあって、モデルのインスタンスつくったりなんだりもしていたのですが、結局のところウェブアプリケーションにおいては、モデルをがんばってオブジェクトにモデリングしようとか考えるよりも、つまり手続として扱った方がしっくりくるな、ということに自分の中でなりまして、最近は、ごちゃごちゃ考えるのをやめて、手続きとして実装しています。 yusukebe の例をベースにはなしをすすめると、コントローラを以下のようにかきます。 package MyApp::Web::Controller::Root; use Mojo::Base 'Mojolicious::Controller'; use MyApp::M::Entry; sub index { my $se

    kwry
    kwry 2013/07/25
  • ゆーすけべー日記

    依然としてPerlのWeb Application Framework=WAFは Mojolicious推し です。ボケてほどの大きなトラフィックを集めるようになったサービスでも使っている実績がありますし、自分で使っていてたまにバージョンアップの互換性で問題が出るくらいで、すっごく困った事が無いので重宝しております。今回は備忘録的な意味も兼ねて、Mojoliciousをある程度使用した時に便利なTips 8個を個人的にまとめてみます。え、何?「Mojoliciousっていったいどういうものなの?」「Mojoliciousって名前を聞いた事があるけれど使った事がないんだけど...」そんな方は9月に開催されるYAPC::Asia 2013で僕が入門チュートリアルな発表をやろうと企んでいるので、そちらへ足を運んでください!ちなみにトークはまだacceptされたわけではないので、以下のページのソー

    ゆーすけべー日記
  • 『はじめてのフレームワークとしてのFuelPHP』を読んだ - Kentaro Kuribayashi's blog

    最近話題のFuelPHPがどんなものなのか気になっていたので、学習のために『はじめてのフレームワークとしてのFuelPHP』を読みました。FuelPHPのセットアップから、MVCの説明、仕様解説、実践的入門と、この手のフレームワークを使ったことのないひと向けに手堅く説明している感じで、よいだと思いました。 また、実践的入門編の後半では、ユニットテストはもとより、直接FuelPHPと関係があるわけではない、PHPUnitを用いたファンクショナルテストを導入し、リファクタリングを進めながらテストによって動作を確認するという、この手の入門書ではスルーされがちな手法についてもちゃんと書かれていて、意識レベルが適切。また、セキュリティについても、FuelPHPのサポートする諸機能を用いつつ、簡潔に説明がされていて、安心です(ただし、後述「疑問点」を除く)。 FuelPHPは、ドキュメント(日語訳

    『はじめてのフレームワークとしてのFuelPHP』を読んだ - Kentaro Kuribayashi's blog
    kwry
    kwry 2012/10/14
  • 最近のPerl WAFをベンチマークした - Perl日記

    試したのは以下。 Catalyst -- 元祖WAF Mojolicious -- 軽量WAF Dancer -- 軽量WAF Amon2 -- シンプルWAF Amon2::Lite Amon2(Flavor::Minimum) Kossy -- ISUCONのWAF Web Application Frameworkなので、HTMLの出力を測定。 またテンプレートエンジンにはText::Xslate(1.5007)、PSGIでWebサーバにはStarmanを使用した。 起動してから1回はアクセスしてテンプレートキャッシュは作った状態にした。 $ ./ab -n 1000 -c 50 http://127.0.0.1:5000/ 結果 WAF VERSION Requests per second[#/sec] (mean) Amon2Minimum (3.32(Amon2)) 1228

    最近のPerl WAFをベンチマークした - Perl日記
    kwry
    kwry 2012/10/05
  • 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
    kwry
    kwry 2012/09/05
  • Webアプリのなんかアレ - 愛と勇気と缶ビール

    HTTPはそもそもstatelessだ sessionとかをホゲホゲしてstateを持ち込むけど、そっちを基準にして考えるよりstatelessを基準にして考えた方がいいと思う ここからはWebアプリのことなので、プロトコルから演繹するものかどうかはアレだけど続ける HTTPは来statelessだから、副作用を持たない(または副作用が推奨されない)関数型言語が向いてるぜ!っていうのはいきすぎ その逆でもないけど、継続を使ってアレアレするぜ!ってのもアレ プロセス内にずーっと持ってるものと、リクエストごとにnewするもの(必ずしもオブジェクトじゃなくてもいいけど)が頭の中 / 設計上で区別されていて、両者が然るべきカタチで使い分けられていれば十分な気がする 前者であるべきものが後者になっていたり、後者に入るべきものが前者に入っていたりすると悲しい たとえば前者の内容を、リクエストごとに書

    Webアプリのなんかアレ - 愛と勇気と缶ビール
    kwry
    kwry 2012/03/31
  • TinyURLをつくってみよう 〜 軽量フレームワークAmon2入門 (4) 〜 - tokuhirom's blog.

    インストール今回は Amon2 の最新版が必要なので、すでにインストールしている場合でもあらためてインストールしてください。 環境は OSX, linux を想定していますが、Windowsでもそれほどかわらないかと思います。Windows でやっていてわからなかったら mattn さんにきいてください。さて、Amon2 のインストールは非常に容易です。Amon2はCPANにリリースされていますから、通常のCPANモジュールと同様にcpanmコマンドでインストールできます。 % curl -L http://cpanmin.us | perl - Amon2 Amon2::DBIで、インストールが完了します。テストに失敗する場合には、コメント欄などできいてください。

  • PSGIとPlackと 〜 軽量フレームワークAmon2入門 (3) 〜 - tokuhirom's blog.

    PSGIってなんだ?PSGIとは「ウェブアプリケーションとアプリケーションサーバーの間のプロトコルのこと」です。Perlの基的なデータ型であるArrayRef, HashRef やCodeRefを使ってHTTPリクエストとレスポンスを表現し、抽象化をおこないます。 やりとりは以下のような形でおこなわれます。リクエストは HashRef(ハッシュリファレンス) に抽象化され、レスポンスは ArrayRef(配列リファレンス)に抽象化されます。これらのデータタイプは Perl の基的なデータ構造です。PSGI は Perl の基的なデータ構造のみに依存しているので、誰でも Pure Perl で実装することができるのです。ここが最大の特徴となっているのです。PSGI 対応のウェブアプリ、ウェブサーバーは、それぞれ PSGI という抽象化レイヤをはさむことによりくみあわせをかんがえる必要が

    kwry
    kwry 2011/07/14
  • Amon2のアーキテクチャとトリガ機構 〜 軽量フレームワークAmon2入門 (2) 〜 - tokuhirom's blog.

    Amon2のアーキテクチャまずはこちらの図をごらんください。 Amon2 の構造は非常に単純であることをご理解いただけたかとおもいます。基的な構造はこれがすべてなのです。なにしろ、できるだけおぼえることがすくなくなるように意図して設計されておりますから、こういうシンプルな構造になるのもあたりまえといえましょう。ここで特徴的なところが二点あります。Web Context Object が Context Object を継承しているところ、レスポンスオブジェクトが has-a 関係ではないところです。Web Context Object が Context Object を継承しているのは、CLI でもなんとなくつかえるようにするためです。この工夫により CLI での開発が異常に楽になっています。このあたりについてはおって解説したいとおもっています。レスポンスオブジェクトが has-a 関

    kwry
    kwry 2011/07/13
  • Amon2の利点 〜 軽量フレームワークAmon2入門 (1) 〜 - tokuhirom's blog.

    Amon2とはAmon2は、ウェブアプリケーションフレームワークです。ウェブアプリケーションフレームワークというのは、ウェブアプリケーションを書くために楽をするためのライブラリと、それに関するツール一式のこととここでは定義しましょう。 そう、Amon2を使えば非常に楽に、高速に、ウェブアプリケーションを開発できてしまうのです。

    kwry
    kwry 2011/07/12
  • Hacking Thy Fearful Symmetry - Chained Actions with Dancer

  • Amon2を試そう - Perl日誌

    Amon2を試そう 最近iPhoneの開発に挑戦しています。結果、異なるフレームワークに触れる事によっていろいろな発見がある事を発見。 というわけで他人のフレームワークを試そう。 とりあえずドキュメントが豊富なものを試す。今日はこれにする。 http://amon.64p.org/bbs_tutorial.html はじめる えい。 % cpanm Amon2 [~/project] --> Working on Amon2 Fetching http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Amon2-2.29.tar.gz ... OK Configuring Amon2-2.29 ... OK Building and testing Amon2-2.29 ... FAIL ! Installing Amon2 failed.

    Amon2を試そう - Perl日誌
    kwry
    kwry 2011/03/11
  • Contextの生成・破棄を任意のタイミングで制御可能にする Scope::Container(仮) - blog.nomadscafe.jp

    追記 CPANリリースしました http://search.cpan.org/dist/Scope-Container/ /追記 mod_perl のアプリケーションでは、Apacheモジュールの提供するpnotesを使うとリクエスト毎のデータを簡単に持つことができます。pnotesに入れたデータはリクエストの処理が終了したところで自動的にクリーンアップされます。これを利用したのがリクエストごとにインスタンスを作成破棄できる、Apache::Singleton(::Request)です。 また、pnotesはデータベースの接続の管理にもしばしば使われます。1リクエストを裁いている間だけデータベースとの接続を維持し、リクエストが完了したところで接続を閉じるような処理に利用されています。このようにすることでmod_perlのプロセス数分(数百)の接続がMySQLに常に張られることもなく、また1

  • Web API のすすめ

    2. 自己紹介 名前 Yuji Shimada 嶋田裕二 仕事 DeNA CPAN XAICRON twitter @xaicron blog http://blog.livedoor.jp/xaicron/

    Web API のすすめ
    kwry
    kwry 2010/10/17
  • http://doc.gaeo.org/

  • Routes

    Routes is a Python re-implementation of the Rails routes system for mapping URL's to Controllers/Actions and generating URL's. Routes makes it easy to create pretty and concise URL's that are RESTful with little effort. Speedy and dynamic URL generation means you get a URL with minimal cruft (no big dangling query args). Shortcut features like Named Routes cut down on repetitive typing. Current fe

  • Django-nonrel - NoSQL support for Django

    Django-nonrel is an independent branch of Django that adds NoSQL database support to the ORM. The long-term goal is to integrate NoSQL support into the official Django release. The whole project is now hosted at: http://www.django-nonrel.org