独断と偏見で選ぶ!〜SQuBOK V2の必読ページはこれだ!〜 - mhlyc -presentation
URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
この記事はPerl Advent Calendar 2013の15日目の記事です。 Amon2とは @tokuhirom さんが開発しているPerl製のWAF*1です。 Plackを軽くwrapしたような軽量でシンプルなWAFです。 現在、Version 6.00がリリースされていますが、Version 3.50からwebsocketのサポートが入り、 その関係でPSGIの遅延レスポンス/ストリーミングレスポンスのインターフェースに対応しています。 Amon2で非同期レスポンスを使う Amon2::Plugin::Web::Streamingを使う事により非同期でレスポンスを返す事が出来ます。 例えば、index.txを5秒後にrenderして返す場合は以下のようになります。 use strict; use warnings; use utf8; use Amon2::Lite; use
@tokuhirom です。Perlを書き始めて8年ほど経ち、Perlで何か作る際の効率化の手法がそれなりに確立してきたので、それを思いつくままに紹介しようと思います。主に多言語から来てPerlにほどんど慣れてない方などを想定しています。 僕の秘伝のタレ的な .vimrc の中から perl に関係ある部分だけをぬきだしてお教えしましょう。すべて設定すればだいぶ快適になりそうです。とかかいてると教えるのもったいない気分になってきた。 ぼくの環境 僕は vim の環境として以下のようなものを指定しています。mattn さんからは DIS られがちです。 neosnippet unite.vim pathogen vim-perl プロジェクトの成果物をつかう https://github.com/vim-perl/vim-perl なんか最近、perl-vim から vim-perl にかわ
アドベントカレンダーをご覧のみなさん、こーんにーちわ! トミール です (`・ω´・)ノ 今年はずっと、Voyage Group 社内のいろんな子会社名義で、スマートフォン向けアプリのバックエンドAPIばっかり作てました。直近のやつはひさびさの PHP で書くことに (o_o) 最終的に、複数の言語を使ってみることはエンジニア人生にとって有益とおもう。PHPでちゃんと書いてみてあらためてそう思った。始めは非効率だけど外国行ってカタコトでコミュニケーションする楽しさがあるし学ぶことがある。言語そのものだけじゃなく文化(コミュニティやエコサイクル)ごと見るの大事。ただ、何か慣れた “ホーム” ツールがあるとどこで何する上でもいい。ぼくの場合は perl にだいぶ助けられますた。 たとえばテストね。クライアントアプリ開発側と API 仕様にぎったら、まず先に Bahavior のテストを書いてし
みなさんガードオブジェクト使ってますか。ガードオブジェクトとは一般的には オブジェクト生成時になんらかのリソースを初期化・取得 オブジェクト解放時に該当リソースを解放 という動作をするオブジェクトをさします。 Perlではガーベジコレクションにリファレンスカウント方式を取っているため、ガードオブジェクトが解放されるタイミングが制御しやすいので比較的頻繁にガードオブジェクトを作って様々なリソースの初期化〜解放までを簡単にコントロールしたりします。 わかりやすい例で言うと、例えば現在実行中のスクリプトが動いている間だけ別プロセスでmemcachedのようなサーバーを立てたい、という時にProc::Guardなどのモジュールを使うと、以下のようなコードを仕込むだけで簡単にmemcachedプロセスを起動、終了することができます use strict; use Proc::Guard; my $g
こんにちは。先日、調べものをしてたらいつの間にかインナーに着ていたT-shirtsを破っていたyusukebeです。 色んなところで書いているネタな気がしますが、イマイチ良さが伝わってないのでもう一度まとめます。まず、Dropbox便利ですよね^^ PCから手元のストレージ感覚で保存したものが、クラウド?に保存され、各々のデバイスで同期される。これは素晴らしい。次に、この記事は「はてな記法」で書かれていますが、僕は最近もっぱら「Markdown記法」で文章を書いていて、シンプルで見やすく素晴らしい。となると「Markdownの文章をDropboxに保存して共有」なんてユースケースは割とあるのではないでしょうかね? Markdownを使っていて気になるのはHTMLに変換した見た目だったりしますね。Markdownはプレーンな状態とレンダリング後の見た目の差異が少ない感じ... というのが売り
「君のPSGIファイルを僕のミドルウェアでいっぱいにしたい」という台詞を思いついたけど、埋めれるほどPlack::Middlewareを書いてないkazeburo です。 そんな僕が一番最近書いた Plack::Middleware がYet Anotherなアクセスログ記録ミドルウェア AxsLog です。某二人組は今年でデビュー20周年らしいですが、あんまり関係ありません。 https://metacpan.org/module/Plack::Middleware::AxsLog Plackのコアパッケージの中に Plack::Middleware::AccessLog が含まれてますが、以前からこのミドルウェアが比較的「重い」ということが気になっていました。マイクロベンチマークですが、 $ cat test.psgi sub { [200,['Content-Type'=>'text
こんにちは、こんにちは。カジュアルにPerl使っているkoba04 です。 Webアプリを作っていて、確率で処理を分けたり複数の要素を重み付けて選びたいことってありませんか? 真っ先に浮かぶのはガチャみたいなものですが、それ以外にもランダムでバナーを出し分けてみたり、接続するサーバーを重み付けて選んだり色々と使い道が思い浮かびます。 そんな時に使える二つのモジュールをご紹介したいと思います。 詳しくは下記の作者の方のブログを見てください。 Sub::Rate Data::WeightedRoundRobin 以上! でもいいのですが..順番に紹介してみたいと思います。 モジュールなしで実装 優先度を付けてデータを選びたい時はrandを使っての実装が思い浮かびますが、バグりそうな気もするし面倒だし出来れば書きたくないです。 (書き方が悪いという説もある) # 結果をdumpする関数 sub
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く