AさんはRailsで書かれたある遅いコードの検証をしていました。 X-Runtimeヘッダを見ると $ curl -Is localhost:3000/hello | grep X-Runtime X-Runtime: 5.008580 5秒もかかってる。 しかしRailsのログを見ると Started HEAD "/hello" for 127.0.0.1 at Tue Apr 03 13:04:11 +0900 2012 Processing by HelloController#index as */* Rendered text template (0.0ms) Completed 200 OK in 10ms (Views: 9.7ms) こんな感じで10msで返していることになっている。なんだこれは? こういう状況で疑わしいことの一つとして、Rack等のMiddlewareのど
Plack::Test + HTTP::Request::Common 世の中には Plack::Test + HTTP::Request::Common という方法もあるが、この場合ブラウザを模したようなテストを書くと意外にも破綻しやすい。とりわけセッション周りの挙動が必須になると大変な手間になる。 LWP::UserAgent + LWP::Protocol::PSGI 最近は LWP::UserAgent + LWP::Protocol::PSGI で楽をするような方法で書くようにしている。ユーザー寄りのテスト(ログイン後の処理やCSRF対策用のトークンが必須等)をわりと楽に書ける点がメリット。 subtest と scope のメリットも享受できる /zento+/ 方式が見通し良く出来そう。*1 サンプル Some::Middleware::CSRFDefenderのテストを書く
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。
後編を書く前に、YAPC::Asia2011が終わってしまったので、変な勘違いをされるかとやめようかと思ったのですが。。。とりあえず、YAPC::Asia2010の復習として、Plack時代のPerlによるサーバ運用では、わりと一般的なリバースプロクシによる運用を、このブログの実例で報告します。 前置き:plackupはわかったけど、実際どうするの? 「Perlは遅い」の原点だったApacheのcgi時代は終わりを告げ、Apacheに依存したmod_perl時代も終りを告げました。Plackを使えば、CGIだろうとmode_perlだろうとPerlのスタンドアローンサーバーであろうと、かなり汎用的に動かせる時代です。mod_perlとかFastCGI前から使っていれば、あるいは、「Rubyではふんふん、Pythonではふんふん」とか語れれば、いろいろな歴史をしっているからすぐ実践しやすいと
インターネット、Go、JavaScript、Python、Perl によるプログラミング、ISUCON、Windows、Raspberry Pi など、興味のある事について気まぐれに記事を書いています。 最近は新進気鋭の Web Application Framework: Amon2 にも倣って、設定ファイルはPerlでハッシュリファレンスを返すように書いて、それをdoするようにしていて、シンプルで良いなと思っています。 AE_PerlIsm では、さらにブラックリスト追加などをTwitterへのStreming APIの接続を切らずに対応できるように、以下のようにシグナルにコールバック関数を登録する AE::signal 'HUP', \&callback を使って好きな時点で読み込めるようにしてみました。 この変更により、たとえば無名関数で書いたスパム判定ロジックを本体が動作したまま
本日、TVTalk という Web サービスをリリースしました。 Twitter 上で、テレビ局のハッシュタグが付いているツイートを拾って、放送中の番組情報と紐付けるという、アグリゲーターサービスです。リアルタイムにタイムラインを追うにも、放送済み番組の内容をチェックするのにも使えますので、みなさんぜひ使ってみてください。ブックマークやいいね!も良かったらお願いします! 今日は、この Web サービスの裏側のシステム構成を紹介したいと思います。 構成 EC2 Route53 (DNS) ELB (Load Balancer) MySQL 5.5.11 nginx 0.7.65 Starman Twiggy Tatsumaki AnyEvent::Twitter::Stream Airy (自作フレームワーク) Web サーバー Web はフロントに nginx をおいて、静的ファイルは n
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
前々から同時接続中のクライアントにサーバから通知というのがものすごーくやりたかったのだけどこのたびTwiggyとTatumakiのegとぶつかり稽古を重ねてようやくできた。 多分最近だとこういうのやるのにWebSocketとかでやるのかもしれないけどそれだとブラウザが対応してなかったりするとアレなのとTwiggyのegと全く同じになってしまう気がするのでjquery.ev.js使ってlong-poll(というのかしら)でやってますです。 use strict; use warnings; use Encode; use JSON; use Data::Section::Simple; use Text::Xslate; use Plack::Request; use Plack::Builder; #$ENV{TWIGGY_DEBUG} = 1; my $vpath = Data::Sec
昔どこぞのパクリブログ対策でやってた奴をPlack::Middlewareで。 mattn/Plack-Middleware-ReplaceToUnko - GitHub plack middleware for replacing images to shit image that referer from external sites. https://github.com/mattn/Plack-Middleware-ReplaceToUnko 指定の仕方も簡単で、ウンコ画像のURLを指定するだけ。 use strict; use warnings; use utf8; use lib 'lib'; use Plack::Builder; use Path::Class qw(file); my $app = sub { [ 302, [ "Location" => "/index.
CAMはエンタメコンテンツ、ビジネスバラエティメディア、ライフスタイルメディアを主軸に30以上のサービスを展開しています。エンタメコンテンツの分野では、国内外で圧倒的人気を誇るアーティストやアイドルグループとのパートナーシップを結び、オフィシャルファンサイトや動画関連サービスを運営しています。
よく知らないまま、はじめてplackupを使ってみていたのだけど、ちょっと困っていたので何気なく呟いてみたら… sugyan plackup -R が若干負荷が高くて膝の上にMacBook載せて作業するには熱くなりすぎる…! 2010/04/03(土) 15:38:34 miyagawa @sugyan try plackup -L Shotgun instead 2010/04/03(土) 15:41:13 miyagawa @sugyan or install Mac::FSEvents 2010/04/03(土) 15:44:43 sugyan @miyagawa ありがとうございます! さっそくいれてみます 2010/04/03(土) 15:48:00 sugyan そっか、Filesys::Notify::Simpleってのが中でMac::FSEvents(もしくはLinux::
初めてのnode.js - 葉っぱ日記 に便乗しまして。 Perlの世界では、2009年秋くらいから「PSGI」という仕様が作られていまして、いまやPerlでWebサーバを作る際の標準インターフェースとなっております。 PSGI/Plack - Perl Superglue for Web Frameworks and Web Servers 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (1):Perl Hackers Hub|gihyo.jp … 技術評論社 とりあえず、教科書どおりに簡単なWebサーバを作ってみます。 ''=~(('(').('.'^'~'^(''=='').''^'^').('='^'^'^')'^(''=='').'').((''=='').''^'='^'~').('('^'='^'.'^'^').('='^'('^'.'^(''==''
以下のように RPC::XML をつかうとよい。 Following code is XMLRPC server snippet on Plack. This code uses RPC::XML. use strict; use warnings; use Plack::Request; use Plack::Builder; use RPC::XML; use RPC::XML::ParserFactory 'XML::LibXML'; sub res { RPC::XML::response->new(@_) } my %dispatch_table = ( 'sum' => sub { my $args = shift->value; return res(0 + $args->{a} + $args->{b}); }, 'echo' => sub { my $args = shi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く