2010年06月30日

せっかくDB Magazineで記事を書いている方々がいらしたのでサイン書いて頂きました。
  - やっぽてぃ Ficia Photo
素敵な東京都のマークも付けてもらえて感激です。
nippondanjiさんのサインは、別途サインをもらうのに相応しいイベントがあるようなので我慢しているところです。

個人的にはhandlersocketをさわってみたくて、集中して参加できたのですごく有意義でした。

ピース!PEACE!!
やっぽてぃ Ficia Photo

Posted by Yappo at 11:26 | Comments (0) | TrackBack (0) | 適当

2010年05月07日

こんにちは、最近 ここ1ヶ月間で映画館に4回行っているYappoです。

さて、ご報告が遅れましたが、先月発売されたWEB+DB PRESS Vol.56より「モダンWebインタフェース構築術」という題名で連載をさせて頂く事になりました。過去に違うジャンルの雑誌で連載していた事があったのですが、技術誌での連載は初めてなので胸がバクバクしています。

内容はというと、今風のWebアプリを作る時に知っておきたい事やらFiciaを実装していく事で得られた知見等を紹介していく方向性になっています。

おもにクライアント側の実装に焦点があたり、JavaScript+Ajaxな感じの連載になるんじゃないかという話もありますが、そこはまぁ特定の言語にフォーカスした感じにはならないかなと、実装例は出るけど本質的には「こういうのが困って、こういう解決方法を取った」という物をベースにした形の設計よりの話題かなーという所です。

第一回は、今時は型にはまったMVCなんか役に立たないよ!こうした方が良いよ!といったお話。第二回はスケールするWebアプリって言うけど、そのスケールってサーバサイドだけの物?的な方向で今書いてます><

なんにせよ@inaoさん、良き友人等のお陰でどうにか新連載にこぎ着けました。今後の展開にどうぞご期待下さいです。

WEB+DB PRESS Vol.56 - 4774142107

WEB+DB PRESS Vol.56

WEB+DB PRESS編集部
技術評論社 (2010-04-24)
rating:  - WEB+DB PRESS Vol.56
price: ¥ 1,554
posted with Amazoon mini icon at 2010.05.07

もう一つの連載

さて、実は今回のWEB+DBの連載リフレッシュでもう一つ僕が関与した物があるので、むしろ言い出しっぺの張本人から意図を行っといた方が良いかなーと思ってついでに書いときます。

それは何かというと「Perl Hackers Hub」です。

まぁ色々とやり取りがあってPerlの連載を書くのか他の適役を捜すのか悩んでいた時期があったのですが、丁度その時って空前のperl advent calenderブームだったのも有るんですが、実は2008年のadvent calenderやった時から「雑誌のPerl連載でリレー形式とかでやったら面白そう」という思いはふつふつあったんですよね。それなんで2009年のadvend calenderの時期と次のPerl連載の話の時期が重なって「じゃぁ次のWEB+DB PRESSのPerl連載はバトン形式にしよう」と思ったわけですね。

もちろん、何となくバトン形式が良い!って言うのではなく次のような利点が有るんじゃないかと思うのですよ。

  • それぞれの筆者が得意な分野を題材する事により、連載の全体を通して深く広い題材を扱える(一人で書くとどうしても得意分野以外が薄くなりがち。例えばXSの話題なんかはXSに精通した人が書くと深い物になるし、Win32に詳しい人が書くWin32の回の方が深みがあるでしょう)
  • 一人一回の制約なので、無駄に助長にならず次回に言い訳を持ち込めないのでクオリティが上がる
  • 後の回の人程よりクオリティを上げるプレッシャーがかかって良い刺激に
  • etc...(すぐに思い当たらなかった^^;)
まぁ、このあたりの事はadvent calenderをウオッチしてた方や参加者には肌で感じ取れるかと思います。

欠点としては、各回の著者の記事にバラツキがおきやすいという事があるのですが、その辺りは全てJPA代表理事のlestrratさんに監修をお願いしました。
そのほか企画が通る前からlestrratさんtypesterさんyusukebeさんに諸々意見頂戴したりとお世話になりました。
他にも企画が立ち上がる前から、もろもろ色々な人に感触を聞いてみたら高感触だったので、(以下省略ワッフル)

僕の想定していた事に比べて連載第一回目のmiyagawaさんは本当に突発だったんですが、WEB+DB PRESSのPerl連載を最初に引っ張ったmiyagawaさん、幅広い話題やアルゴリズムの考え方まで題材にしたnaoyaさんへバトンタッチして、そしてまたmiyagawaさんがバトンを受け取り、日本全国のPerl関連の事に貢献しようとJPAを立ち上げたlestrratさんへバトンタッチして日本屈指のPerl使い達へとバトンをリレーして行くなんて、なんかドラマ性あってカッコいいですよね。というか、僕自身がこういう連載を読んでみたかっただけなんですが!

という事で次回はtypesterさんです。次々回はいったい誰になるんでしょうか!?「Perl Hackers Hub」も要注目です。

Posted by Yappo at 19:05 | Comments (0) | TrackBack (0) | tech

2010年05月02日

報告が遅くなりましたが、OSDC.tw 2010でJSTAPdの発表をしてきました。基本的にスライドは日本語無いですが、本編の方は日本語で発表してきました。やっぱり中文はtypoだらけだったようです。

やっぽてぃ Ficia Photo

一応本編はJSTAPdなんですが、Shibuya.pm in taipeiのラスト発表だったんで、直近のshibuya.pmはperlだけにとらわれない事をやってるよ!的な雰囲気を伝える内容にしました。

http://yappo.github.com/talks/20100424-osdc.tw-2010/

この発表に併せて、JSTAPdももろもろ改善されております。まだCPANの方は古いままですがgithubに上がってる方ではHTTP::EngineからPlack+Twiggyに変更となってます。

既存の仕組みではtestが全て完了されてるかどうかをserverがわに数msec置きに問い合わせまくっているという仕様だったのですが、Twiggyを使ってtestが終了したかどうかを確認するHTTPセッションをlongpollで一つだけ張っておいて、テストが終了しだいresponseを返すという事をするようにしたので余計な負荷をかけないで済んでる感じです。その他のサーバにリクエスト投げつけまくる系の物をlong pollするようにしてあります。

あとは jstapd -n した時に作成されるテストのテンプレートファイルの構造を見直して、デフォルトでは*.t, *.html, *.jsとファイルを別けるようにしてあります。

ちょっと、まだ仕様が変わるかもですが、もうすこし落ち着いてからドキュメントをupdateしてCPANに0.02をあげたいと思ってるところです。

初めて海外で発表するのに、スライド事前準備してないどころか前日に迷子になって深夜徘徊するとかありえないですね!

Posted by Yappo at 10:06 | Comments (0) | TrackBack (0) | Perl

2010年04月19日

こんにちは!近頃mihimaru GTの曲がすごく好きな、月曜日の悪魔ことYappoです。

さて、僕の大好きなWassrには「飲みに行けるよ!」という素敵なボタンがあります。
とある楽天の偉い人

すげえ、お前作ったの?
と言ってしまう程画期的なボタンで、一時期は毎日のようにこのボタンがきっかけで飲み会が開催されていました。
なにがいいっていうと、知らないおっさんとかと飲みに行けるチャンスが増えるとかそういうのですね。

最近はビッグウェーブにのるっきゃないし、九州の方にとんでってるっぽいTKSKっぽい人が「これtwitterのOAuth使って移植したり、ボタンの内容変えればよくね?」 みたいな事もいってたので、ちょっとこのボタンをTwitterに移植してみました。

Surutter - するったー名前の由来的には、お酒を飲む事を"する"、何何を"する"のような「する」から来ています。

早速一つ目のボタンとして本来の目的の飲みに行ける!ボタンを再現してみました。

ランダムに出てくる言葉のリストは、にぽたんさんのところから拝借しました。

Wassrと同じように、ボタンを押した日が過ぎたら「する人一覧」がクリアされます。

ぎじつてきなはなし

今回は、殆ど使った事の無い物を使って試してみたので作り始めてから12時間くらいたっちゃいましたね。途中遊んだりしてたけど。

まず、エディタ、親切な人が.vimrcをくれたんで、折角だから最初から最後までvim使いって書いてみた。これが結構足かせになった><vimって普段viewとかsudoな時でしか使わないから慣れなくて><

つぎ、Plackを初めてまともに使った、なんつーかbuilderとかmountでハマった(mountつかったら最後までmount使い通さないといけないとかそういうの)ぐらいで、あとはすんなりいったけど、生Plackしちゃったので書かなくても良い部分を沢山書いた気がするけど気のせい。

テンプレートエンジンとしてHTML::Zoomを使ってみた。これって

$("#foo").append("<DIV/>".text("おうっふ♡"))
的な事をやる方法が判らなくって、一枚のindex.htmlに全ページ分のDOM要素書いといて、controllerによってdisplay:none;するとかいう泥臭い方法とった。
そもそもinclude的なの事をやる方法を見つけられれば良かったんだけど、良くわからなかった。

ぶっちゃけこれだったらhtmlは全部staticで吐き出して、あとajax使ってしまうFicia方式にしてしまえば楽だった気がするが、HTML::Zoom使うのが目的だったので気にしない。

次にデータベース、DBIx::Skinny使いたかったんだけど、俺にはこれを使うよりData::Modelを使ってマシにしてく作業が大事なのでスルーした。
もし負荷が増えたら、Driver::Cache使って透過的なキャッシュでも突っ込んで、やっぱりこんな無差別にmemcachedにキャッシュするなんて糞がやる事だぜheheheとか後悔しながら別の手を打とうかな。

最後にNet::Twitter::LiteでOAuthあたりの実装いれた。TwitterのOAtuhとか使うの初めてだったけど、はてなとかライブドアのとかより簡単だと思った。

長々と書いたけど、技術的に面白い要素は一切ない。
ということで、どうぞご利用下さい。