Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm
動作確認できる環境を作る とりあえず動作を確認できる環境を作る。 アプリディレクトリにPluginディレクトリを追加。 libにパスが通っていれば、 app->pluginで普通に読み込まれるようになる。 プラグインのプログラムを書く プラグインのプログラムは、以下の形式に従うようにする。 モジュールの名前を"Mojolicious::Plugin::*"にする Mojolicious::Pluginを継承する registerメソッドを定義する 以下の様なプログラムになる。
概要 Mojoliciousに付随しているMorboのような開発用サーバが欲しかったので、 勉強がてらにPorboという開発用PSGIサーバを作った。 以下のような条件を全て満たす開発用サーバが欲しかった。 シングルプロセスで複数のポートをListenできる(HTTP::Server::PSGIだとできない) SSLに対応している(Twiggyだと対応していない) Plack::Middlewareが使える(Morboだと使えない) 個人的にこれらの機能が備わっていると開発が捗る。 Porboの中身 複数ポートをListenするからイベント駆動が必要そうだな、 ということでAnyEventを使用して書いた。 TwiggyやHTTP::Sever::PSGIを読んで、見よう見まねで作ったので、 AnyEventの仕様や動作などをまだよく理解できておらず勉強中。 テストはTwiggyのものを流
I’m excited to announce the release of Mojolicious 5.0 (Tiger Face). It is named after the location of our very first Mojoconf, which has been a huge success and ended just a few days ago. The Oslo Perl Mongers have really done an amazing job putting it all together, and we would love to see this turn into a yearly event, so if you’d like to host the next Mojoconf in 2015, please get in touch! The
Tengのファイルを作成する lib/MyApp/DB.pmというファイルを作成する。 このファイルでは以下のような設定を記述する。 Tengを継承 有効にしたいプラグインの設定 hookの設定 プログラムは以下のような内容になる。 package MyApp::DB; use parent 'Teng'; use DateTime; # プラグイン有効 __PACKAGE__->load_plugin('Pager'); __PACKAGE__->load_plugin('Count'); # hookの設定 use Class::Method::Modifiers; # updateメソッド時にupdated_atに現在時刻を自動入力する before update => sub { my ($self, $table_name, $update_row_data, $update_c
Plack::Middlewareに依存した動作をするアプリの場合、 特になにもしないとTest::Mojoでテストができないので、 以下の手順で対応した。 Mojolicious::Plugin::PlackMiddleware の導入 Mojoliciousのフックであるaround_dispatch内で、 Plack::Middlewareを使えるようにしてくれるプラグイン。 導入は普通に以下のようになる。 Plack::Builderを使うのではなくて、 こちらのプラグインを使う方針であれば解決。 今回は、やはり起動スクリプト内でPlack::Builderを使いたかったので、 もう一手間行った。 Test::Mojoでビルドしたアプリにプラグイン設定する 以下のように、 Test::Mojoでいったんアプリを普通にビルドして、 そのアプリに対してプラグイン設定をする形をとった。
plackupコマンド Plackに同封のHTTP::Server::PSGIでサーバを立ち上げる。 その際に、「ssl」「ssl-key-file」「ssl-cert-file」オプションで、 先ほど作成したファイルを指定してSSLを有効にする。 $ plackup -s HTTP::Server::PSGI --ssl-key-file server.key --ssl-cert-file server.crt --ssl 1 app.psgi HTTP::Server::PSGI: Accepting connections at https://0:5000/ これで、httpsでListenするサーバが立ち上がる。 ヘッダの追加 ばあいによっては、 アプリに渡すヘッダにX-Forwarded-HTTPSのような情報を渡す必要が出てくる。 Mojoliciousでは、X-Forwa
Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en
ユーザーからのPOST等された入力値の妥当性をチェックする Validation をどこでやるか問題が個人的にありまして〜、DBを使わないケースならばいわゆるFomrValidator::*を使ってControllerでやればいいのですが、Modelを経由するようなアプリだとControllerだけじゃ不安よねぇ〜、Modelだけ使う時もあるし、Model単体のテストで再現出来ないよね〜なんて思ってます。で、実際の実装をControllerではFormValidator::Lite、Modelの一部にData::Validatorを使っているのですが、なんかコレも効率悪い感じしてたんで、ちょいと実験的に理想の一つを実装してみました。 こんな条件です。 エラーメッセージを簡単に設定したいのでValidationモジュールにはFormValidator::Liteを使う 色々錯誤していたらOR
え〜 この記事を書いている今から数えて「昨日」 ボケて に関わるメンバーで忘年会がありまして、当初はほそぼそとやっていたサービスが、例えばiOSとAndroidアプリのダウンロード数の合計が「250万」となり、大きなインパクトを持ちだしたわけで、感慨深いものがあると感じました。 さてそんなことも加味して、そのアプリにもWeb APIを提供している「バックエンド」で使っているとあるモジュールの話をします。それが Bokete.pm です。Mojoliciousで動いている部分が現状は大半なので、大抵は のように作成され、ネームスペースをこの場合 Web層 と分けているという前提で話を進めます。とすると、トップレベルである Bokete.pm には特に書くこともあまり無いように見受けられますが、ボケてのアプリでは設定のロード周りを記述しています。 猫で著名なあずまさんが Configプラグイン
普段は主にSMTPと付き合っててHTTPとはまだそれほど親しくなっていない@azumakuniyukiです。 昨日の@dokechinさんのエントリMojoliciousのJSON出力で文字化けの最後で さて、次回はazumakuniyukiさんということで、期待高まります。 って書いてあって、ハードルが上がった気がしながら無駄に長くなった気がしないでもない12月6日金曜日の記事です。 Liteではないアプリケーション WebアプリやWebサイトを作るのはたまにある程度なのですが、その時はMojoliciousを使っています。 Mojoliciousについて検索すると、比較的Mojolicious::Liteの記事が多いように思います。今日はLiteではない、ある程度の規模のアプリケーションを作ってみるという前提で実用的なディレクトリ構造について具体的なアプリを設計する感じで書いてみます。
YAPC::Asia 2013 2013/09/21 Yusuke Wada a.k.a. yusukebeRead less
依然としてPerlのWeb Application Framework=WAFは Mojolicious推し です。ボケてほどの大きなトラフィックを集めるようになったサービスでも使っている実績がありますし、自分で使っていてたまにバージョンアップの互換性で問題が出るくらいで、すっごく困った事が無いので重宝しております。今回は備忘録的な意味も兼ねて、Mojoliciousをある程度使用した時に便利なTips 8個を個人的にまとめてみます。え、何?「Mojoliciousっていったいどういうものなの?」「Mojoliciousって名前を聞いた事があるけれど使った事がないんだけど...」そんな方は9月に開催されるYAPC::Asia 2013で僕が入門チュートリアルな発表をやろうと企んでいるので、そちらへ足を運んでください!ちなみにトークはまだacceptされたわけではないので、以下のページのソー
おでんが美味しい季節になって来ましたね。たまごがないとおでんを食べた気になれない mattn ですこんにちわ。 Twitter や Facebook に代表される大型SNS(ソーシャルネットワーク)を見ると、数年前には考えられない程の動的コンテンツを扱っていて、機能は目覚しく移り替えし、Ajax API を使うなんてのは当たり前の世の中になりました。 もはや「Ajax API を提供してクライアントサイドで動的コンテンツを整形する」といった事は、こういった大規模サイトでなくとも一般的な状況になりつつあります。 モダンなウェブサイトを作る際、僕はよく API を先に作ります。データベース設計が終わった段階で、それを API としてサーブする為の仕組みを作ります。 Java であれば エンティティ DAO (Data Access Object) サービス といった流れでしょうか。Perl に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く