タグ

ブックマーク / faultier.blog.jp (9)

  • #isucon で学ぶWebアプリの高速化の話 : As Sloth As Possible

    あるいは、お遊びチーム2号は一体何をしていたのかについて。 ISUCONという大変白熱した楽しいお祭を開催するにあたって、その前夜祭的な環境試験のためのチューニング祭が社内の有志数名で行われていて、そのときに色々学んだことをおまけとして書いておきます。 ISUCONて何? 下記参照。 なんでもありのWebアプリケーション高速化バトル、#isucon 開催のお知らせ 【締め切りました】Webアプリケーション高速化バトル、#isucon 詳細と参加者募集開始 ISUCON に参加してきました #isucon に参加してきました&isuconツールを試してみました #isucon で優勝してきました isuconに参加してきた&チーム「いんふらえんじにあー」の戦略など isuconお遊びチーム(事前社内β組)の設定あれこれ #isucon で優勝させてもらってきました #isucon に参加して

    #isucon で学ぶWebアプリの高速化の話 : As Sloth As Possible
    otsune
    otsune 2011/08/31
  • livedoorブログにAtomPubで投稿する : As Sloth As Possible

    もう、こなったら、iphone用livedoorアプリの出力するXML見て、自前でXML組み立てるかな。 誰か助けてください。(切実) 俺日記 : [HELP ME!]perlでlivedoorに投稿するときのカテゴリ設定方法 誰か助けてください、とのことなのでお助けします。…と、その前に一つ注釈というか弁明というかしておくと、実はそのAPI、AtomPubの仕様が完全に固まる前に実験的に作られたもので(まだAtomPPとか呼ばれてたはず)、色んなところがすごく古いです。 結果は惨敗。生成されたXMLを見てみると、ちゃんとcategory要素が追加されてるんだけどなー。 <?xml version="1.0" encoding="utf-8"?> <entry xmlns="http://www.w3.org/2005/Atom"> <title>ちょっとテスト(すぐ消します)</titl

    livedoorブログにAtomPubで投稿する : As Sloth As Possible
    otsune
    otsune 2010/03/05
  • PlackでSinatraチックな何かを作ってみた : As Sloth As Possible

    こないだ言ってたばりったーは実はもう完成してたんだけど、なんかサンプルアプリのつもりが作ってるうちに段々ガチなフレームワークと化してきて、大したアプリじゃないのに中身は意外と複雑でしかもバグだらけ、みたいなことになってしまった。 うーんこれ公開してもいいけど参考になんねーよな、つか飽きたなーとか思って別の遊びを始めたら意外とそっちが楽しくなってきちゃって、こんなものが出来た。 faultier's Asagao at master - GitHub 何これ Plackを使ってSinatraっぽい感じでWebアプリを書ける雰囲気のフレームワークみたいな(弱々しく)。一応README.jaを読むとどんなものかは何となく伝わるんじゃないかしら。ドキュメントとサンプルアプリくらいは作ってみようとは思いますが、何ができるか試してみる際にはソース読んでくだしあ。(追記)簡単なサンプルコードとドキュメン

    PlackでSinatraチックな何かを作ってみた : As Sloth As Possible
    otsune
    otsune 2009/12/08
  • Text::MicroTemplateで遊ぶ : As Sloth As Possible

    こないだ言ってたPlackアプリのサンプルでは、出来るだけ普段使ってない構成にしようと目論んでて、そのために例えばテンプレートエンジンにはText::MicroTemplateを使ってみたりしている。 Text::MicroTemplateはシンプルで軽くてなかなか良かった。ちなみにこんな感じで使う。 use Text::MicroTemplate qw(:all); my $html = render_mt('Hello, <?= $_[0] ?>', 'faultier')->as_string; でもファイルから読みたいよねーそれ実装しなきゃなのかなーとか思ってたらちゃんとText::MicroTemplate::Fileってのがあって、こっちを使えばキャッシュも使ってくれるしラッパーの機能とかもあるしで素敵だ。 ?# hello.mt Hello, <?= $_[0] ?> use

    Text::MicroTemplateで遊ぶ : As Sloth As Possible
    otsune
    otsune 2009/11/17
  • 「Plackで一発ネタは俺に任せろ!」バリバリ「やめて!」 : As Sloth As Possible

    タイトルからして既に残念な感じが漂ってるけど、前回の記事で言った通りPlackでアプリを作ってみようと試行錯誤中。ちなみにこないだサーバをApacheからnginxに変えたついでにHTTP::EngineのアプリもFastCGIで動かすようにしたので、PlackのアプリもFastCGIで動かしてみた。設定はこんな感じ。 # app.psgi use NetaKit::TweetProxy::App; use Plack::Builder; builder { #mount '/baritter' => builder { NetaKit::TweetProxy::App->new->to_app; #}; }; #!/usr/bin/env perl # bin/fcgi.pl use strict; use warnings; use File::Spec; use FindBin qw

    「Plackで一発ネタは俺に任せろ!」バリバリ「やめて!」 : As Sloth As Possible
    otsune
    otsune 2009/11/15
  • HTTP::Engineでテスト : As Sloth As Possible

    そう言えばこないだのうどん屋のコードは一切テストを書かなかったけど、それはよろしく無い、まったくもって主義に反するし、RubyのときはちゃんとSpec書いたのにPerlのときは書かないだとかふざけてる、と思ったのでテストも書いてみることにした。 さてテストだけど、HTTP::Engineにはちゃんとテスト用のインターフェースが用意されている。あと、テストリクエストを生成するモジュールもある。なんだ、じゃあ話は簡単だ。 interface => { module => 'Test' } でengineを作る HTTP::Engine::Test::Requestでrequestを作る engineのrunメソッドにテストリクエストを投げてやる 返ってきたレスポンスをチェックする ってことですね、わかります。 まずは素直に書いてみる コード量少ないのではっつけちゃおう。Udon::AppにGE

    HTTP::Engineでテスト : As Sloth As Possible
    otsune
    otsune 2009/06/02
  • HTTP::Engineのミドルウェアを作ってみる : As Sloth As Possible

    先週末からこっちうどん屋をいじって遊んでたのだけど、HTTP::EngineにはHTTP::Engine::Middlewareというミドルウェアを作る仕組みもあるので、せっかくなのでUdonMap(Rack::URLMapもどき)をミドルウェアで実装してみた。 gist: 117012 - GitHub 前回の記事のときと構成が変わってるけど気にしない方向で。あとで前の記事直しとこう前の記事も補足した。Udon::Middleware::URLMapがミドルウェアで、server-middleware.plがミドルウェア版UdonMapを使って書き直したもの。 ミドルウェア自体は簡単に作れた。use HTTP::Engine::MiddlewareするとMooseの初期化処理をしたりミドルウェア用のメソッドを生やしたりしてくれるので、HTTP::Engineをnewするときに指定したハン

    HTTP::Engineのミドルウェアを作ってみる : As Sloth As Possible
    otsune
    otsune 2009/05/29
  • YapraでFastladderのクローラを書いてみた : As Sloth As Possible

    LDR&Fastladderの中の人から「これ面白そうだから、OpenFLで使ってみようよ。ていうか作ってよ」と大変無茶振りをされたのでYet Another PraggerでFastladderのクローラを書いてみた。 YapraかわいいよYapra 使ってみた感想としては良い感じ。Class-basedなプラグインなところが家PRaggerより好みだし、でもlegacyなプラグインも読み込める互換性が使い勝手がいい。あと「実行時に使うプラグインだけ読み込む」ってことをしてくれるのも素敵。 肝心のFastladderのクローラは iDiskに置いといたので興味のある方は持ってってください。展開したら中身をlib-plugin/yapra/plugin以下あたりに配置すると使えると思います。YapraはYuanyingさんのところから。ちなみにconfig.yamlのサンプルはこんな感じ

    YapraでFastladderのクローラを書いてみた : As Sloth As Possible
    otsune
    otsune 2008/11/25
    HASH(0x2b67f70cd180)
  • 「誰か」から「誰か」へのメディア : As Sloth As Possible

    つまり、一部のヘビーユーザーの嗜好が強く反映されすぎると、新規ユーザーの開拓が阻害されるかもしれない。 それならば、ヘビーユーザーの嗜好を運営が否定していいのか。 否定していいはずがないし、少なくともはてなはやらないだろう。このまま流れに身を任せるだろう。その結果このようなエントリーだらけになってしまったら、さすがにライブドアクリップやdeliciousにユーザーが流れると思う。 運営の手でCGMサイトにおけるヘビーユーザーの影響力を薄める行為の是非が問われているのかもしれない。 SBMのゆくえ 〜運営がヘビーユーザーの影響力を薄めるべきか〜 - Core クリップに流れてきてくれる分には俺としては嬉しいけど、それはまぁそれとして、ちょっと思うところがあったので色々考えてたらまとまらなくなったので書きながら考えることにする。 偏って欲しいわけはない 気で「集合知」だとか「Web 2.0メ

    「誰か」から「誰か」へのメディア : As Sloth As Possible
    otsune
    otsune 2008/10/17
    「hotentryじゃなくてfavoriteをつかって」というのが開発者から言われて3年以上経過してるのに全然浸透していないよね
  • 1