前置き Catalystアプリをたくさん書いている 毎回同じようなことを書く必要がありまくる いつも書くconfig ... 前置き Catalystアプリをたくさん書いている 毎回同じようなことを書く必要がありまくる いつも書くconfig いつも書くコントローラ ...
前置き Catalystアプリをたくさん書いている 毎回同じようなことを書く必要がありまくる いつも書くconfig ... 前置き Catalystアプリをたくさん書いている 毎回同じようなことを書く必要がありまくる いつも書くconfig いつも書くコントローラ ...
2. Catalyst のいやんなところ component が context に依存してるー>特に Model! MyApp::M::Foo にビジネスロジックを実装すると Catalyst でしか使えない Test が面倒くさい! 4. 作り方 Helper がついてる script/myapp_create model Foo Adaptor Foo::Class create package MyApp::Model::Foo; use strict; use warnings; use base 'Catalyst::Model::Adaptor'; __PACKAGE__->config( class => ‘Foo::Class', constructor => ‘create', ); 1;
今回は竹迫さんのリクエストもあったのでなるべくゆっくりめに話そうと思うには思っていたのですが、結局だれだったかが「時間が長くなっても話のペースは変わらんと思う」と予言していた通りになってしまったのが申し訳ないというかなんというか。 すべては当日の朝、スライド書いている最中に 10:20 <t********> Catalyst 年表とかほしいとふとおもいますた 10:20 <t********> 2005年 sri 独裁政権時代 10:20 <t********> とか、そんな感じの。という天の声を聞いて、ちょろっとだけ差し替えるつもりが100%増量になってしまったのが敗因、ということにしておきたいと思います。 なにはともあれ資料はこちら。 http://www.tcool.org/talks/catalyst_conf1.pdf それから、今回自重したCatalystで軽量版のJifty
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
2. アジェンダ WAF における MVC と WAF と M の関係 Catalyst(WAF) から M を切り離す方法 MVC の M を構築するためのアーキテクチャ 4. WAF の役割 WAF は基本的に Web/Http の世界の仕事をする セッション管理 認証処理 URL ディスパッチャ フォームバリデーション Controller としての役割 M と V のノリとしての役割 モデルへ処理の委譲 モデルの処理結果を View にフォワード 5. WAF の役割でないこと モデルの管理 モデルのビジネスロジック モデルの Caching の機構 Etc.. Catalyst で良くない点 Catalyst::Model::* M が Catalyst に依存している Model をプラガブルに拡張するのは、 AF の役割
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
2008年04月13日06:00 カテゴリLightweight Languages タイプ・クラス・プロトタイプ - OOの語彙 その違いは微妙というにはあまりに大きいので、ここでおさらい。 駄文 - JavaScript と「クラス」と「コンストラクタ」と「プロトタイプ」って言葉の定義が難しいよなあ - IT戦記 JavaScript関数の実体は、Functionクラスのオブジェクトです。今回はFunctionクラスの機能を網羅的に解説します。 JavaScriptの関数オブジェクトを完璧に理解する - builder by ZDNet Japan 「Function クラスのオブジェクト」って言いますよねー。 僕もそういう風に言ったりするんですけど、本当は微妙ーに違うんですよね。 Type(型)って何? まず、タイプ=型から説明しよう。 型というのは、「どんなデータを、どう置くか」の
CoroでFlickrにアクセスする もうずいぶん前からCoroを使いたくて使いたくてしょうがなかったのだが、やっときたよ。Flickr APIを叩いて、非同期I/OしながらCoroで写真の情報をダウンロードするよ! まず某sukebeさん作のWebService::Simpleを使ってみるよ(本当に使ったコードは違うフレームワーク用にいろいろついてたので、あまり利便性とか考えずに説明用のコードだけ書きだします) package MyFlickrModel; use strict; use WebService::Simple; my $webservice = WebService::Simple->new( \%必要な引数 ); # 写真のIDを渡すとinfo, context, sizes, permsを全部ひっぱってくる sub find_photo { my $class =
/helloの画面をテンプレートで描写してみる。 $ perl script/myapp_create.pl view TT TTRoot.pmの書き換え sub hello : Local { my ($self, $c) = @_; $c->forward($c->view('TT')); } また、MyApp/myapp.ymlにテンプレートのパスを指定 name : MyApp View::TT: INCLUDE_PATH: - '/home/unyaunya/test_catalyst/MyApp/root/templates/' TEEMPLATE_EXTENSION:'.tt'さらにテンプレートファイル(root/templates/hello.tt)を作成 <html> <head><title>[% c.config.name %]</title> <body> <p>H
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Introducing "MobaSiF" (Mobile Simple Framework) スピーカー tokiharu noto 日付: 2008/05/16 13:45 期間: 40分 言語:日本語 スライド: http://crawler.dena.jp/MobaSiF/MobaSiF_blog.ppt タグ: mobile web モバゲータウン [English] DeNA is releasing the mobile web application framework MobaSiF (Mobile Simple Framework) as an open source project at YAPC::Asia 2008 Tokyo. DeNA has been developing and using MobaSiF for variety of successf
こんにちは、栗原です。 今回はlivedoor Blog モバイルのサーバ構成についてご紹介しようと思います。 日本でも最大規模のブログサービスのモバイルサイトがどのようなサーバ構成で稼動しているのか、またその構成を構築していく上で苦労した点や今後どのようにして行こうと考えているかについても説明できたらと思います。 サーバ構成 まずは現在のlivedoor Blog モバイルの内部構成について簡単に説明したいと思います。 livedoor Blog モバイルでは、大きく分けて5種類のサーバ群が稼動しています。 リバースプロキシ + アプリケーションサーバ ユーザが携帯からブログを閲覧した際にページを生成してレスポンスを返すサーバ群になります。現状はApache(リバースプロキシ)とApache + mod_perl(アプリケーション)を1台のサーバに同居させた形で稼動しており、台数は全部で
「なんでMVCなんて使うの?」という牧さんの記事には全面的に賛成なわけですが、ここでCatalystを出してくるんだったらひとつDISっておかないといけないものがある。 Catalyst::Model::DBIC::SchemaとかCatalyst::Model::Jifty::DBIとか、O/Rマッパをそのままモデルにしちゃってるヤツだ。 自分でも書いておきながら何を、と思わんではないけれど、MVCのキモは、Mで起こっていること、Cで起こっていること、Vで起こっていることをそのまま相手に見せてはならない、ということ。 CatalystのCはMの要素とVの要素を併せ持たされてしまうことが多いわけですが、MVC的には、ふつうの人がC(やV)でやっていることのほとんどはMの中に戻してやらないといけない。O/RマッパはあくまでもMのなかでこっそり使うものであって(現代的にはMMVCパターンの一方
久しぶりのえんとりー めがねのひとに触発されてオレオレポリシー。 Re:Catalystアプリオレオレポリシー 仕事も個人もCatalystなんで、特にポリシーは分けてない。 会社のみんなも俺のポリシーでやればいいのに。 ・MyApp::Pluginとかは作らない。 だってそのアプリでしか使わないならMyApp.pmに書けば良いじゃない。 もしMyApp.pmが長くなってきたらそのとき考える。 他のアプリでも使いそうだったら全部C::P::Hogeにする。 CPANにあげなくてもC::P::Hogeにする。 そういうのはrun_script.plの中でPERL5LIBに足してパス通す。 ・設定系は全部myapp.yml connect_infoもフォームのセレクトボックスも、 DBには入れたくないけどハードコードしたくないのは全部myapp.yml ・myapp.yml
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Catalyst Conference #1 Catalyst (Perl, Cisco, ATI) ユーザーが集まってうだうだする会 既にキャパオーバーなので締切ました!!''' 日時 nothingmuch(http://search.cpan.org/~nuffin/)が来日するので4/22(火)で確定。 開場 19:00 開始 19:30 場所 サイボウズ・ラボ (サイボウズ・ラバは悪質なフィッシングサイトなのでお間違いないようお願い致します) 2次会会場 赤坂 蘭苑飯店 21:00スタート 23名で予約済み 内容 メディア(LANケーブル)を量産する(これは内容の例です) 司会 Committer:typesterさん、おながいします タイムキーパー id:tmaesaka 基調講演 id:dann のCatalystとMVC論 (15min) id:ikasam_a によるCa
YAPC::Asia 2008 を 2008/05/15-16 に東京工業大学大岡山キャンパス (東京都目黒区) で開催します。 最新情報や参加者同士のコミュニケーション用に、ニュースフィード, Twitter, Facebook イベントページ を用意してあります。(Facebook での参加者登録は任意です) ストリーミング・録画チームのみなさんのおかげで、動画のアップロードがすでに一部で完了しています。 DeNA ルームの1日目・2日目および Larry Wall のキーノートについてはアップロードが完了し、スケジュールからリンクされているトークの個別ページに埋め込まれています。(例: Larry Wall のキーノート) 動画の音質や画質は各部屋ごとに異なりますが、どの部屋も問題なく視聴できるものになっているとおもいます。スライドが読みづらい場合は、スピーカーがアップロードしたスラ
あまりにも書いてなかったので、こっちに書いてみる。 いろいろと物議を醸し出していたHTTP::MobileAgent::Plugin::LocatorをさっきCPANに上げました。もうしばらくしたらインデックスされると思います。 ちなみに、このモジュールはCodereposで管理しているため、なんかバグなど発見したら修正をしてもらっておkです。すでにリリースまでの間にid:tokuhiromがいろいろと修正してくれました。tokuhirom++。Coderepos++。 で、このモジュールはなんのためのモジュールかというと仕様の違う携帯4キャリアの位置情報を透過的に扱えるようにするためのものです。使い方は以下のようにするだけで簡単に緯度経度が取得できます。 use CGI; use HTTP::MobileAgent; use HTTP::MobileAgent::Plugin::Loca
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く