FizzBuzzってこんな感じでしったー?

流行に遅れましたが…

つまらないことでもアウトプットしていこうかなとか
とりあえず、ループ使わない、剰余演算子使わない縛り
あれ?mapと再起って広義ではループなのか?

map {
    print fizz($_) . buzz($_) || $_, $/
} (1 .. 100);

sub fizz {
    my $i = shift;
    $i < 1 && return $i ? q{} : 'Fizz';
    (caller(0))[3]($i -= 3);
}

sub buzz {
    my $i = shift;
    $i < 1 && return $i ? q{} : 'Buzz';
    (caller(0))[3]($i -= 5);
}


追記: もういっこ。仕事では使えませんね

my ($i, $fizz, $buzz, $max) = (1, 3, 5, 100);
FizzBuzz: {
  print q{} . (--$fizz ? q{} : 'fizz') . (--$buzz ? q{} : 'buzz') || $i, $/
    and (($fizz, $buzz) = ($fizz || 3, $buzz || 5)) and $max > $i++ && redo;
}

YAPC::Asia 2011 RejectConfスライド

発表内容のスライド

YAPCでのスライドを公開しました。
本来なくてはならなかったスライドを追加してあります。
※54-57

これがなかったためまとめトークのまとめで頭が真っ白になりました。
アドリブが強くないので準備はしっかりとしないと。。。

YAPC::Asia 2011に行ってきましたったー

RejectConfでお話させて頂きました

前回も書きましたが、トークの機会を頂きました。
内容は自身も満足できるものではありませんでしたが、
アウトプット力を身に付けてリベンジしたいと思います。

楽しい3日間でした

前夜祭から勝手に後夜祭までほぼフルで参加しました
トーク、LT、今年から導入されたスポンサートーク全て楽しかったです
欲しかったjsdo.itステッカーもsugyanさんから頂けたり、
会ってみたいperl hackerな方々ともお会いできました。

トークを聞いて勉強になるだけでなく、
技術向上のモチベーションも上がりました。
こういうイベントは本当に素晴らしいですね

lestrratさん、941さんをはじめ、スポンサー、運営、ボランティアの皆様。
楽しい時間をありがとうございました。
来年はまだ未確定だそうですが、是非、参加したいと思います。

YAPC::Asia 2011 ふりかえり

YAPC::Asia 2011インプレッション

概要

少しマジメに自分が回ったトーク/LTを中心に書きたいと思います。
内容に関してはすでに他の方が素晴らしいエントリを上げていらっしゃるので、
感想のみにとどめましたが、長文乙なので適宜読み飛ばしてください。

前夜祭

前半戦

前夜祭は裏番組とかないから全部聞くぜ!って思っていたのですが、
自分が残念な人間なせいでスライド編集と確認の途中でPCのバッテリ切れ><
充電させていただくために会場外へ。。。
前半の2つのトークを聞くことが出来なかったことがとても悔やまれます。

サービス運用者のための継続的監視

Myfinderさんのエンターテイナ性がスゴかったです。
数多くスピーチをされるDeNAさんの同僚セッションの案内を織り交ぜつつ
監視のレベルの細さ(本当にそこまでやってるの!?)に驚きました。
前夜祭でのDeNAさんの切り込み隊長的な役割を立派に果たされていました。
このヒトと一緒に働いてみたい!と思いました。

1日目

Opening

機材トラブルのため、少しだけ遅れて始まることに。
遅れている間を繋ぎながら指示を出しながらのトーク術が素晴らしかったです。
@941さんトークのノウハウ本が出版されたら本気で買いたいです。
さぁ、いよいよYAPC::Asia 2011の始まりです!

Perl 5.16 and beyond

Perlの将来を担う一人であるJesse Vincentさんのトーク
奇しくもキーノートをされたhidekさんと同じくManagingをされる方。
お二人ともエンジニアを活かすことを指針とされていました。
他の誰かが作ってくれると言いながら、しっかりと指針を立てていること。
"rebuild Perl 5"という言葉にドキドキしながら聞いていました。

前方互換を大切にするために肥大化するのでなく切り捨てるもの(Perl4)は切る。
そういった決断も必要な時期に差し掛かってきた。
5.12辺りから非推奨が増え、CPANに逃がす様になってニヤニヤしてました。
前夜祭でお話させて頂いた様にbuilt-inは最小が好きなので(機械語やれとか言わないで><)

VMを目指すのかなと途中までは思っていましたが、VM上でも動くものをという言葉にドキッとしました。
あと数年もすればハードウェアの進化という恩恵に与れないような低水準の組み込み系でも
Perlで開発/構築が出来るようになるのかなと。
Rubyや(Symbian上での)Pythonを羨ましく思っていた時代はもうすぐ過去になりそうですね!

CPANモジュールガイド編集後記+α

とりあえず、始まる前に弾さんが隣に陣取られてビクビクしました。
Perl忍(ゲフンゲフン なトミールさんのトークでしたが知らないモジュールがやっぱり多かったですね。
色んなモジュール紹介が多くて面白かったです。ちょっと駆け足になってしまったのでじっくりとスライドを拝見させて頂きたいと思います。

A Language for getting the job done

ラクダ本からの引用で始まった"job"にこだわったというトーク
対価を受け取るための仕事ということから、今のOSSを見つめたトーク
10年前のOSSと現在のOSSの違い、10年もの間に築き上げられた資産(それは私たちです!)
更に10年後に何を自分が残せるのかと課題を与えられた気持ちでいっぱいです。

AnyEvent, Coro, IO::AIO - a good team

裏番組でYetAnotherHashRefernceが開かれていたようですが、
こちらはiThreadsをD●sりつつ、よりよいイベント駆動の提供のお話。
イベント駆動大好き!JSも大好き!!な人間なので、
もうトークの途中でコードを書きたくてたまらなくなりました。
AnyEventに関するお話というよりは何を目指してAnyEventを作ったかという印象でした。

Perlで構築された中規模サイトのDC引っ越し記録

ベストスピーカ受賞でISUCONに続いて今年二冠を達成されたfujiwara組長のトーク
単に緻密に計算された移行業務というわけでなく、リスクマネジメント、
メンテナンスにおけるサービス停止に対するユーザの視点を見据えた、
まさに綿密に計算され尽くした移行とそれに伴って実現された冗長化はすごいとしか。。。
次にお会いできる時には忘れずに稟議を落とすコツとかお聞きしたいです!
インフラ屋さんには本当に頭が上がらないなと改めて思い知らされました。

Mobage オープンプラットフォームの事件簿

mobageで実際に起こった事件の数々。
最初はあーあるあるwって感じでしたがDELETEがINSERTに追いつかないとか((((;゚Д゚))))
しかも、現在進行形。。。自分ならカウント保持するテーブル作って、
閾地を超えたら別テーブルで管理になるのかな?
また、zigorouさんのxicronさんへの信頼とそれに答えるxicronさんとのチーム力、羨ましかったです。

Mobageソーシャルゲームにおける大規模サーバ運用 with Perl

20億PV/1day(March 2011)を捌くDeNAインフラチームのお話。
zigorouさんに続いての仕様との戦いであったり、運用者との連携であったり、
PVが増えたからといって表示速度の悪化を許さないプロ意識が凄まじかったです。
インフラは不得手な上に桁が違いすぎてスゴイ経験をされてるなと羨ましく思いました。

LT一日目

ゴメンナサイ!タイトルのメモとかしてませんでした><
makamakaさん

新規に作られたカードゲームとAcme大全のお話。
カードゲームが品薄のために抽選になるとかパネェッす

tokuhiromさん

個人的にトークで聞きたかったAmon2のお話。
簡単にRESTfulを実現できるのはすごく便利。甘えずに車輪を再発明はしないとだけど。

株式会社カヤック 松原佳代さん

スポンサートーク、直前にリリースしたPerl道場のお話。
すでに出題者が!ってtypesterさんw
アレ?面白法人なのに法人じゃ(ry ←無粋

Yappoさん

『自動化はエンジニアの鑑』を実現する敏腕エンジニアだなと思いました。
このヒトも間違いなく目指すべきエンジニアだと思いました。

Kenichi Ishigakiさん

ゲームを解くのもそうですが、データをぶっこ抜いて再現するのもスゴかった

Eikichi Gotohさん

あ、後ろは大学生ですワロタ
ネタまじりでしたが、目標を達成した熱意を尊敬しました

SKYARC Systemsさん

遠方支援制度の実現は本当に素晴らしいと思いました。
熊には気を付けてくださいw

issmさん

地域.pm第二弾、来年の発表を楽しみにしています。

Mayumi Takahashiさん

iSteveワロタw
他のトークの記憶が飛びそうなくらい笑わせて頂きました。
LTの投票が出来るなら間違いなく投票していました。
SixApartさんは色々とレベル高杉!

karupaneruraさん

ちょうど、JSでClassAccessorぽいものを作っていたんですが、
ベンチとかあるとよかったなと思いました。あったっけ?
やっぱり、ありました!
個人的にはClass::XSAccessor派です!

turuginaさん

認証系の回避は本当に大変ですよね。
あと、エンジニア相手だと自動化するツールつくりそうでコワイ><

株式会社 リクルートさん

マッシュアップ・アワードのお話
大体、7つくらい応募したらどれかは入賞しますw

岡部恵一さん

例のアレ。弾さん、JPAの皆様、本当にお疲れ様でした。
まさかの銅鑼無視w

keroyonn_さん

Perlが悪者なんですね(′・ω・`)
当然、ムリゲーなんですよね?

Kosuke Arisawaさん

モジュール管理は大変だけど、P/J毎に採用できると嬉しいですよね!

nekokakさん

DBIを直接触るの苦痛じゃないし、個人的にもORMキライですが、
DBとのI/Fは宗教的な意味でも難しいと思います。

tagomorisさん

次もTL見てるだけになりそうですが、ISUCON2楽しみにしています!
後夜祭の後の帰路をご一緒させて頂けて嬉しかったです♪

続 Unix Programming with Perl

個人的にとても尊敬しているkazuhoさんのトーク
前日に帰りの電車でご一緒できてとても嬉しかったです。
メモもツイートもできないくらいに濃密な内容でした。
kazuhoさんは自分が目指す理想のエンジニアです。
追いつける気なんてしないけど(´・ω・`)

運用しやすいWebアプリケーションの構築方法

このトークもとても濃密な内容でした。
ログのとり方や重要性、とても大事だと思います。
Javaをやっていた流れでLog4Perlを使っていましたが、
Log::Minimalを使ってみたいなと思いました。

DISられないCPANizeを目指して

AKB派とももクロ派の仁義なき争いのお話
CPANに上げる前にPrePanを通せという風潮がないようになど、
懸念はされていましたが、とても素晴らしいサイトだし活用したいと思います。

Hacking with metacpan

  • いきなりまとめ
  • OreCPANの作り方
  • FrePANキタ━━━(゚∀゚)━━━!!
  • cpanm --metacpan
  • 管理者が死んだら大変
  • ukigumo
  • マスコットキャラ
  • ukigumo作者が死んだ場合 -> 殺さないで
  • 段取りのよさも流石だなと思いましたが、
    持ちネタがいくらでもあるのはたゆまぬアウトプットをされるtokuhiromさんならではでした。
    やっぱり、スゴイヒトだなってことを実感しました。

闇のEメール伝説

普段、何気なくモジュールを使っていたけど、RFC724がヒドいのはよく分かった。
SMTP(SimpleMailTranserProtocol) Simpleなんて嘘っぱちw
すごくプレゼンテーションのうまい方で怖い話なのに笑いが絶えなかった。
日本人は携帯キャリアが連続するドットのメールアドレスを許可しているので笑えない。

Hacking Mac OSX Cocoa API from Perl

Lionが出た途端にAPIのハックをしていたtypesterさんのトーク
XS経由でCocoaAPIを使うということでしたが、結構、駆け足でした。
スライドが上がってきてからコード見たいなと思いました。
Cocoaの予習をしておけばよかった。。。
デモでさりげなくPerl道場の宣伝w
ツイートで嘘ついてスミマセンでした><

Hello Embed Perl!

玉ねぎの皮を剥くお話かなと思ってましたが、XSのお話。
そういえば事前についったでXSの事前知識がないとって呟かれてました><
XSは書籍にまとまっていないのでノウハウ欲しいなと思いました。
その前に10年くらいまともに触ってないC言語のを復習しないとですけどね!
typesterさんのツイートが的確すぎるツッコミで印象的でした。

あんなテスト、こんなテスト

スイーツエリアのトークは狭いし暑かった(′;ω;`)
テストコードを書いてない人が予想外に少なかった。
Test::MockTime知らんかった><
tsucchiさんにご挨拶できずに無念!と思いましたが、
LT前に近くにいらっしゃるのに気付けてご挨拶できて嬉しかったです(`・ω・´)

Perl Hackers Hub の舞台裏

  • セッションの間にスピーカーが歩き回るw
  • 今は亡きcoderepo(保守されてます!)
  • 俺がこいつの原稿を読みたいドリブン
  • トークの途中でゲストを呼んでスピーカーが消えたw
  • 壇上に呼び出しておいて喋らせないw
  • 面白そうなのでトーク5分延長 by 鳥居さん△
  • 何だかんだでやっぽさんの人柄のよさがよく分かりました。
  • LT二日目

    kiwanamiさん

    Emacsスゲー
    Vimを倒すゲーム on Emacs(しかもオンゲなのでみんなで出来ます!?)

    深町英太郎さん

    引き続き、YetAnotherLispConfernenceタイム
    PHPは黒暦史、Emacsはカオスw
    Perlは十分に小さいw

    株式会社ガイアックス 鳥居晋太郎さん

    LTでまさかの地元自慢
    ドヤ!
    地元自慢かーらーの嫁自慢
    株式会社ガイアックス福岡支社開設するのでエンジニア募集

    azuma kuniyukiさん

    下駄のヒト、猫神様
    移行、猫神様がTLで大人気

    株式会社ライブドアさん

    ロケタッチのお話
    7つくらい作ったらマッシュアップアワードに一個くらい当選するらしいよ!

    Yappoさん

    真面目なお話
    941さん「え!?Yappoさんですよね?」

    トミールさん

    AAAAAAAAAは以前に見て壮絶に笑ったのとMouseの軽量版にMOがあるのは知ってましたが、
    更に軽量を目指したMモジュールは初めて知りました。詳細は是非CPANで調べてください。
    全ての熊に捧げるw

    tokuhiromさん

    トークセッションに続いて時間余る->作った20のモジュールを紹介。
    それだけのアウトプットを出しているのがスゴい。

    ミクシィさん

    絶対にバグが出るだろうソースを特定してリスクをヘッジする手法に興味がある
    最長不当関数w

    Kenichi Ishigakiさん

    xicronさん、おめでとうございます
    これの算定方法ってどういう基準なんだろう?

    kamipoさん

    みぃちゃん愛を感じました
    @kamipo

    YUSUKEBEさん

    18禁、akiyamさんが晒されるw
    アクセス数を稼ぐキーワードの選別ロジックはちゃんと聞いてみたい。

    TAKESAKOさん

    宣言通りに1分でLT完遂。
    カッコよかったです。

    Managing A Band Of Hackers

    TLでは悪ノリしてしまい、申し訳ありませんでした><
    話されている内容にとても感銘を受けました。
    皆さん、真面目なツイートで言われていたように任せることは大事ですね。
    10年前、大学生だった自分はソレが出来ずに悔しい思いをしました。
    以前からツイートを拝見していて、面白いヒトだなーと思っていましたが、
    YAPC中にも何度かお話させて頂いて、それ以上にとても人柄の良い方なのだと感じました。
    そういえば関西出身の方なのかな?
    聞き忘れた><
    僕の○○、その辺に落ちてませんでしたか?ネタ大好きです!

    Closing

    今年のYAPCが例年をはるかに上回ったそうですが、
    牧さんからの重大発表ががが
    今年は過去最高のYAPCを目指す!
    その意気込みは来年のYAPCの運営に最高の形でバトンを渡すためだったんですね。
    お疲れ様でしたは来年のkeynoteにとっておけると信じています。
    来年はムリそうですが、やっぱり、PerlHackerな牧さんのエンジニアトークを聞けるかと思うと楽しみで仕方ありません!

    感想

    一昨年に大阪から東京に来たばかりで余裕がなく、
    昨年は外せない要件があったため、初参加となったYAPCでしたが、
    RejectConfでお話させていただく機会を頂けたり、
    とても会いたかった方々と会い、お話をさせていただくことができました。

    今年のRejectConfでの発表は満足の欠片もできないものだったので
    是非とも来年はリベンジを果たしたいと思います。
    また、こんな自分でも発表する機会を頂けたので、
    もっと多くの方がチャレンジするべきだと思います。
    ハッカーな方達だっていつまでも若くないですし、自分はオッサンですけど。。。
    あと、自分が聞いトークの約1/3くらいで
    gfxさんが作った(作っている)モジュールというお話があったのはとても印象的でした。

    最後に

    重ね重ねになりますが
    スポンサー、運営、ボランティアの方々、ありがとうございました。
    三日間、とても楽しかったです。
    是非、来年も参加して今年以上の刺激を受けたい。
    来年は少しでも刺激を与えられるようになっていたいと思います。

    YAPC::Asia 2011でトークをさせて頂きましたったー

     

    お話してきましたよ

    自己評価

    遅くなりましたが、13日のRejectConfでお話させて頂きました。
    あえて自己評価を付けるなら0点ですね。
    特にアウトプット出せたわけでもなく、

    スライドも出来はしたものの、当日までかかってしまった上に、
    直前まで構成を練り直しつつ、考えていたのですが、
    駅近くのドトールにてバッテリー切れ(′;ω;`)

    まとめられなかった

    歯切れの悪い終わりになって皆さんポカーンだったと思います。
    自身が一番アレ!?って思いました。。。

    話せてる風味だったことは自分++

    トーク開始して意外と冷静に喋れてるなーという印象。
    しかし、5分ほど経った頃から右肩が緊張でプルプル。。。
    ハワワワ(′・ω・`)眠い!
    前日は徹夜で資料作成とオッサンの一人リハが繰り広げられていました。

    切り取った5分

    まぁ、言い訳にしかなりませんが、
    早朝4時くらいの時点で22分を切れないと悟ったため、
    急遽、スライドを削る作業。。。
    TTのオラ本のページ数自重!とか退会ネタはやりたかった。
    コレは削れない!

    本当の結論

    今回のスライドは結論を大幅に変えてます。
    本当に言いたかったのは『Perlに興味を持ってもらう動線を作りたい!』
    だったんですが、よく見直すとそこに至るまでの論旨がブレブレ、
    発表した内容ですら大概がブレてました。
    そんなこんなで0点な感じですね。
    ただ、そんなトークでも最後までお聞きくださった皆様、
    ご清聴、ありがとうございました
    ※スライドは少しだけ修正した上で近日中にアップします

     

    AOPなJSの準備始めたったー

    JavaScriptのというよりもプログラミング言語におけるオブジェクトってのは
    『参照の集合の参照』じゃないの?

    と思ってるs_ohiraです。おはこんばんちわです。
    硬い感じも試してみて苦手だったので、砕けた感じで書きたいと思いますです。

    ヤター、dispatchできたよー - jsdo.it - share JavaScript, HTML5 and CSS

    久々にjsdo.itで遊ばせてもらいましたー!楽しーですね!!
    Perlはもちろん好きだけど、JavaScriptも好き!jsdo.it大好き!!
    今回は以前からやりたいな!って思ってたネタです。

    なぜか難しいと思ってたにもかかわらず、簡単に実装できましたったー
    アレ?何だか簡単に出来るんじゃないの?って思ったのは某女史の質問でした。

    var a = b = {};

    たしか、こんな感じだったけど、おい!bってどこから出てきやがりました!!
    ってのはおいといて、要はb.hogeを変更するとa.hogeまで変わっちゃう><
    という内容だったわけですが、参照代入してんだから当たり前じゃないの…

    で、以前からJSでAOPぽいなことをやってみたいと思ってたワケです。
    もう一つやりたいのはPerlのautoloadぽいことなんですが。。。
    以前に試した内容が何だか、全く別の方向に進んでしまったため断念。。。
    そのうちにうまいことやる方法が思い浮かぶはず。。。

    今回、試したのはAOPはそれ自体がやりたいことだったりなんですけれども、
    もっと面白いことを展開できるwktkな雛形だったりなのですね!
    アレとかアレとか…モー夢が広がりんぐ!

    やってる内容はJavaScriptのOOPsを多少くらいは知っていれば難しくないハズ。
    というか、オイラに分かる内容なので難しくないと思います。
    分かりづらいなーって思った際は下記の記事を参考にして頂ければと思います。

    http://blog.livedoor.jp/dankogai/archives/51223538.html
    http://d.hatena.ne.jp/jdg/20090706/1246840565#tb
    http://d.hatena.ne.jp/perlcodesample/20101124/1278596435
    http://d.hatena.ne.jp/gfx/20110226/1298705892
    http://yanother.blogspot.com/2011/03/javascript.html

    弾さん、taijuさん、PerlCodeSampleさん、gfxさん、YetAnotherな牧さん。。。
    この時点でなんという強力な面々。。。
    他言語を意識して出来たり、チュートリアルを考えられる方々ばかり!
    すでにオイラなんかが付け入る隙とかミジンコですら入れないや。。。

    で、何をしているかと言うとAppsでカプセル化を行ってます。
    taijuさんのエントリを見れば何をしたくてやってるかはわかると思います。
    その上で(今回は必要ないですが)thisを退避させます。
    当然、退避先はthatですね!self使いたいあなた!!ちょっと待ってください。

    http://d.hatena.ne.jp/uupaa/20100325/1269459024

    uupaaさんのブログもそうですが、JavaScript:The Good Partsでも推奨。
    ここは意味を悟った上で守ってもらいたいなマナーです。
    thisの退避先はthatにする習慣を付けて貰えたら嬉しいですね!

    さて、ようやっと本題ですが本当に難しいことなんて何もしてません。。。
    無名関数を引数に渡して前後にbefore/afterDispatchを実行させたくらいですね。
    問題としては参照先の関数を変更された場合という懸念があります。

    このあたりはtoStringをかけてゴニョゴニョしないとなのかなーとか何とか。
    ボチボチと進めていきたいと思いますので思い出したように見て頂ければと思います。

    とっても中身がないや(′・ω・`)

    チューニンガソン2に参加してきたったー

    ほぼT/Oです。参加させて頂きましたが、ほぼ何もできませんでした。
    チューニングとか出来るわけでもなく、フロント寄りのエンジニアが参加してみた。
    そういった場合に何を考えたか?といった目線で読んでいただければと思います。
    (2011-10-03 二行を追記)
    結果は11位以下ということで分かりませんが、極めて最下位に近いと思います。
    PHP5.4にするだとか、nginxを使うだとか、APC入れるだとか
    isuconで@fujiwaraさんがされていたIPTablesのOFFだとか、
    色々とできそうな気はしていましたが、実際にあの場に入ると忘れちゃいました。
    何だかスマホの充電をさせてもらいに寄ったくらいな感じでした。

    内容はほぼ前回と同じでソフトウェアの改変は一切せずにインフラのみでチューニング。
    対象はMediawiki、レスポンス1秒くらいかかりますよというもの。
    更に無作為に抽出したURLのリストからの一度きりのアクセス(閲覧のみがチェック対象)
    正直、この時点でキャッシュに載せるのは不可能だろうなと思考の対象外に。
    ※いくつかの方法は思いつきましたが試すには至らず(後述)

    今回のチューニングはアプリケーション作者が避けたかったであろうシチュエーション、
    最初のアクセスに負荷を背負ってもらうというポリシーを攻めるというものでした。
    作者さんからすれば、ノコギリを作ったけど、釘を打つのに使われてた><
    という感じでしょうね。

    また、インスタンスを二つ提供されましたが、DBの設定を変更できないということで
    APとDBにそれぞれ分けるという運用が出来ない点で頑張るだけムダかなという点、
    出来たとしてもネットワーク越しになり、遅くなる懸念もあったためパス。
    インスタンス一台は累積負荷を減らすためだけに終了前に慌てて素で用意だけ。

    結果を聞くと一位の方は"disk_cache_module"を使われたそうでした。
    ちなみにこのモジュールを知りませんでした。知識のなさ自慢ですね><
    上位の方たちは前回の@methaneさんに倣いPHP5.4のコンパイル、前回実績のあるAPCの導入、
    mediawikiのチューニングページにあったmbstringのOFF等をされていた様です。

    結果的に何も出来なかったのでどうやってまとめようかなと悩みましたが、
    いくつか思いついたチート、実際に業務で行うことになった場合どうするか?
    という2点で書いてみたいと思います。

    チート

    前回の優勝者でもある@methaneさんのインスタンスにリダイレクトをかける

    実際にコレを実行すれば、チェックの対象外だったと思うとのことでした。
    2回目だからこそ出来るとことだし、これはかなりやりたかったなーと思いますね。

    例えば、MySQLを動かさない

    今回のレギュレーションではMySQLの動作は単なる足枷でした。
    どういうことかというと、『登録はする、だがそれだけだ』ということです。
    つまり、それっぽいリスナさえ動いていればOKなわけです。
    即座にダミーの返却値を返すプログラムを書ければよかったのですが、漏れたらエラー
    また、MySQLのダミープログラムの書き方を調査する時間もなかったのでムリポでしたね。

    キャッシュを作る

    アクセスのタイミングでキャッシュしていくのであればテスト前にアクセスを発生させればいい
    とはいえ、truncateしますよというアナウンスはあったのでタイミングを考えないと!

    1. Apacheの起動シェルに書き込む
    2. cronを設定して1分単位で回す

    最初に1を思いついたのですが、タイミングがApacheの起動->trunacateになると意味ないですね。
    で、cronを回すという手も考えたのですが、1分でそもそも終わらないし、
    直前でtruncateされたらバッチがガリガリ動いてる中でテストを迎えるという罠。。。
    どう考えても現実的ではないなと思いました。

    実際にやるであろう対策

    懇親会まではスクレイパだと思っていたのですが、ソースを見た方のお話を聞くとクローラもしてる?
    だとすれば、最小のコストで済ませるためにクローラ部分をコメントアウトしますね。
    その上でJSでユーザに分からない程度にバックグラウンドでリクエストを投げる。
    ページ内のリンクのキャッシュさえ出来れば上々ですし、
    次のページを神速で開くユーザというケースはさすがに考慮しません。

    最後に

    @zakiさんのチューニンガソンを開く意図を聞いて、なるほどーと思いましたが、
    知りたいという方は是非、チューニンガソン3に足を運んで自分の耳で聞いて判断してください。
    さすがに参加すべき方に参加してもらいたいのですが、席が余っていたら懲りずに参加したいと思います。
    スポンサーのAmazonWebService, Gihyo, VOYAGE GROUP(Alpha順、敬称略)、
    主催のゼロスタートの皆様、スタッフとしてサポートされた方々、
    楽しいイベントをありがとうございました。