YAPC::Asia 2013 2013/09/21 Yusuke Wada a.k.a. yusukebeRead less
YAPC::Asia 2013 2013/09/21 Yusuke Wada a.k.a. yusukebeRead less
すき焼きの食材を買って帰ったはいいものの突然修正しなくてはいけないコードが降ってきまして〜 自炊する時間がなくてしょうがなく 最高のラーメン を食べたゆーすけべーです。 今回はMojoliciousのセッションについてのお話。もともと備わっているMojoliciousのセッションを使うにはこのような操作をします。 #!/usr/bin/env perl use Mojolicious::Lite; app->secret('passphrase'); get '/' => sub { my $self = shift; $self->session->{count}++; $self->stash->{count} = $self->session->{count}; $self->render('index'); }; app->start(); __DATA__ @@ index.ht
普段は主にSMTPと付き合っててHTTPとはまだそれほど親しくなっていない@azumakuniyukiです。 昨日の@dokechinさんのエントリMojoliciousのJSON出力で文字化けの最後で さて、次回はazumakuniyukiさんということで、期待高まります。 って書いてあって、ハードルが上がった気がしながら無駄に長くなった気がしないでもない12月6日金曜日の記事です。 Liteではないアプリケーション WebアプリやWebサイトを作るのはたまにある程度なのですが、その時はMojoliciousを使っています。 Mojoliciousについて検索すると、比較的Mojolicious::Liteの記事が多いように思います。今日はLiteではない、ある程度の規模のアプリケーションを作ってみるという前提で実用的なディレクトリ構造について具体的なアプリを設計する感じで書いてみます。
依然としてPerlのWeb Application Framework=WAFは Mojolicious推し です。ボケてほどの大きなトラフィックを集めるようになったサービスでも使っている実績がありますし、自分で使っていてたまにバージョンアップの互換性で問題が出るくらいで、すっごく困った事が無いので重宝しております。今回は備忘録的な意味も兼ねて、Mojoliciousをある程度使用した時に便利なTips 8個を個人的にまとめてみます。え、何?「Mojoliciousっていったいどういうものなの?」「Mojoliciousって名前を聞いた事があるけれど使った事がないんだけど...」そんな方は9月に開催されるYAPC::Asia 2013で僕が入門チュートリアルな発表をやろうと企んでいるので、そちらへ足を運んでください!ちなみにトークはまだacceptされたわけではないので、以下のページのソー
Webアプリでユーザーからの入力がある部分を作る際、ユーザーフレンドリーでかつ実装も簡単な方法を模索するのにkazeburoさんのブログ記事をよく参考にしていました。 CGIとは〜〜だというのはたくさん答えがあるだろうけど、自分的には「ユーザからの入力をチェックして画面にだす」ものだというのがしっくりくる。当たり前のことを書いているようだがMVCモデルでいうコントローラーの作成がCGIだと。 シンプルなWebアプリなCGIを書いてみる : blog.nomadscafe.jp kazeburoさんはほんとにCGIで実装してたけど、フレームワークを使ったり、ライブラリを使ったりしたら、つまり、今風に、実用的に書いてみるとどうなるのかやってみています。kazeburoさんのとちょっとだけ仕様が違うがなんとなくこんなかなーという具合。あ、もちろん僕のことなんでPerlを使ってます。が、コードは非
Yusuke Wada introduced his work developing the Bokete website. Bokete is a Japanese entertainment website similar to 9gag that allows users to post and view "boke" which are photos with short texts. It has a website, mobile apps, and receives 300 million page views per month. Wada developed the backend system for Bokete using Perl and Mojolicious along with several other CPAN modules, particularly
意外と Mojoliciousについての本格的なYAPC::Asiaでの発表が無かったので「 日本で一番Mojoliciousを実践的に紹介するトーク 」をしたいと思います。Perlは大規模なWebアプリケーションに使われている!と言われているかもしれませんし、実際のところ僕も今回のテーマであるMojoliciousとその他大勢のCPANモジュールを使ってつくった中規模のWebサービスを日々いじっています。ところが「Perlを使ったWebアプリ作成方法」を学ぶための資料が随分と少ないことに気づきました。そこで今回は初心者が最初に手を付けるのに最適な「Mojolicious」を取り上げてWebアプリの実装の仕方をオーバービューしていきます。 MojoliciousはMVCのうちVC=ViewとControllerのみをサポートしつつ、Perl標準モジュールのみに依存しているシンプルでポータブ
As a newer member of the Mojolicious Core Development Team, I am more than usually excited for a Mojolicious release. This is because the next major release, version 4.0, is set to ship very soon! For those of you who don’t know, Mojolicious is a modern Perl web framework which is lightweight and easy to get started learning and using, while containing features that are cutting-edge. It’s asynchro
MojoliciousのテンプレートエンジンのEP(Embedded Perl)は、HTMLの中にPerlの制御構文や出力を埋め込めるタイプです。 僕は今までHTML::Templateというテンプレート内では表現をほとんど弄れないものを使っていたので、MVCモデルでいうところのController部分でテンプレート差し込み用の文字列の表現を作っていましたが、EPでは、それをView側に持って来れるということです。 例えば、ディレクトリリストを表示するとして、ファイルのサイズをbyte〜KB〜MB〜GBと様々な単位で表現したい時、 HTML::Templateでは、テンプレート側では数値や単位を変えられないので、テンプレートに渡す前に数値と単位を変えてあげる EPでは、テンプレート側で数値や単位を変えるロジックを組めるので、テンプレートに渡す数値は意識することがない という違いになると思い
現在進行中で開発・運用しているWebアプリのファイルとディレクトリが若干ゴチャゴチャしてたんで、整理したらだいーぶスッキリした。こんな感じ! MacBook@yusuke % tree -L 1 -F . ├── Makefile.PL ├── cli/ ├── config/ ├── deploy/ ├── etc/ ├── lib/ ├── log/ ├── psgi/ ├── public/ ├── sandbox/ ├── script/ ├── t/ └── templates/ ちなみにこのプロジェクトは以下が前提です。 Perl製、WebのフレームワークはMojoliciousを使っている 一つじゃなくていくつかのアプリのエンドポイントがある つまり一つのModel、複数の「Contoroller郡」で構成されている 一個一個見て行こう! Makefile.PL Perlプロ
僕はWebアプリの開発言語にPerlを使っていますが、Perlで書くためのWeb Application Frameworkとして、 Mojoliciousを最近では利用しています。 Web Application Framework(WAF)とは、 Webアプリケーションの開発を効率的に行うためのライブラリ群(つまりフレームワーク)で、これがなければ少しでも大きめのアプリになると大変な思いをします。以下Mojoliciousについてとりあえずの、参考リンクです。 ちなみに昨日かな?Mojoliciousはバージョン3.0が出ました。 PerlのWAFはMojolicious推しな件とそのノウハウ - ゆーすけべー日記 Mojolicious - Perl real-time web framework Mojolicious 3.0 released: Perl real-time we
おでんが美味しい季節になって来ましたね。たまごがないとおでんを食べた気になれない mattn ですこんにちわ。 Twitter や Facebook に代表される大型SNS(ソーシャルネットワーク)を見ると、数年前には考えられない程の動的コンテンツを扱っていて、機能は目覚しく移り替えし、Ajax API を使うなんてのは当たり前の世の中になりました。 もはや「Ajax API を提供してクライアントサイドで動的コンテンツを整形する」といった事は、こういった大規模サイトでなくとも一般的な状況になりつつあります。 モダンなウェブサイトを作る際、僕はよく API を先に作ります。データベース設計が終わった段階で、それを API としてサーブする為の仕組みを作ります。 Java であれば エンティティ DAO (Data Access Object) サービス といった流れでしょうか。Perl に
Perlには非常に多くのフレームワークがあります。非常に大きいものにはCatalystやJifty、小さいものにはMojolicious、CGI::Application、HTTP::Engine、Dancerなどがあります。今Perlではフルスタックのフレームワークを使うよりも、小さいものを組み合わせてWebアプリケーションをつくっていくほうが流行っていると思うので、「小さいものを組み合わせ」ながらMVCで開発できるような環境を考えてみました。 今回はWAFとしてMojoliciousを、テンプレートエンジンとしてText::Xslateを、O/RマッパーとしてDBIx::Skinnyを用いて、MVCでWebアプリケーションを作る方法について順を追って解説します。 それぞれの簡単な説明 Mojoliciousとは SimpleなMVCのWebフレームワーク。軽いプロジェクトならMojol
node.jsの衝撃とWebSocketが拓く未来 (1/2):WebSocketで目指せ! リアルタイムWeb(1) - @IT という記事を読みました。node.js という V8 を用いたサーバーサイド JavaScript フレームワークを使うと簡単にイベント駆動のサーバが書ける、node-websocket-server.js を使うと node.js で WebSocket サーバが実装できる。Ajax による polling や Long Polling などと WebSocket のアーキテクチャ比較といった内容でした。 WebSocket を使うと手軽にサーバプッシュ的なアプリケーションが作れて嬉しいのですが、現時点では、HTTPサーバー側で WebSocket を処理する下地の実装をどう用意するかというところがひとつ課題でしょう。node.js はその回答のひとつとして
つい先程の話。kanazawa.rbで「Mojoliciousと愉快なPerl」という話をしてきました。 Perlの記事を書いたことはあるけど、Perlについての発表をするのは初めてだったので、いつも以上に緊張した感じです。というか、ようやくプログラムの話ができるようになったという感じでしょうか。 Meetup #2 - Kanazawarb スライド スライドは以下に置いておきました。 Mojoliciousと愉快なPerl 話の内容 スライドにはキーワードだけ書いて、口頭での説明とデモがメインだったので、スライドだけ読んでもちょっと物足りないかもしれません。 発表でも話しましたが、かつてはRubyがPerlから学ぶことが多かったけれど、今はPerlがRubyから学ぶことが多いです。 Rubyの勉強会に参加するのも初めてでしたが、多分、Perlの人がRubyの勉強会に参加するのは、少し先
Perlerな皆さん!WAFは何を使っていますかー!? 昨日行われたという「Perl Beginners #1」のレポートを漁っていると @hsksyuskさんのエントリにこう書かれていましたので僕もつい乗っかってみたくなりました。 PerlのWAFは何がいいの? @ytnobodyさんはKossy推し。 僕はAmon2推し。 ぼ、ぼ、ぼ、僕はMojolicious推し!!! ということでなぜ僕が今、Mojolicious推しなのかを探るためにその「いい点」と思っていること列挙してみました。 それと同時に悪い点も見えてきて、かつバッドノウハウもあるなーって感じなのでまとめてみます。 Mojoliciousのいい点 依存モジュールが無くポータブル ご存知の通りMojoliciousは標準で入っているモジュールに依存しているだけで、 残りは自前で実装しています。なので、 $ cpanm Moj
追記 2012/06/30 小粒なウェブアプリケーションたち 「小粒なくせに設定はいっちょまえだな!」 ここ最近、ちょっとしたフォームやデータビューワ的なウェブアプリケーションを作るときはMojolicious::Liteでパパっと作っちゃいます。 数が少ないうちは 「ポートを割り当ててー」 「daemontoolsのrunスクリプト書いてデーモン化してー」 「ReverseProxy設定してー」 なんてやっていたのですが、数が多くなってくるとだんだん面倒になります。 CGI + mod_rewriteってのもなんだかなーですし。 それPlack::App::URLMapで 「そうだ!サブディレクトリで動かせばいーんじゃね?」 ということで散らばってる小粒なMojolicious::LiteアプリをPlack::App::URLMapのmount(Plack::Builderから利用)で束
<iframe src="https://cacoo.com/diagrams/mwnW3FwdQWE8eWPr/view" width="402" height="330" frameborder="0" scrolling="no"></iframe>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く