CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
はじめに 前回では、フロー制御のメソッドを使用してアクションからURLを遷移することなく別アクションを呼び出す方法、そしてリダイレクトを行う方法を紹介しました。これでコントローラに関する主要な機能についての紹介を終えて、今回からはモデルに移っていきたいと思います。 ところで、Catalystの5.7から5.8にバージョンアップされた際に、内部を実装する仕組みとしてMooseが採用されました。MooseとはPerl5にオブジェクトシステムを導入するためのモジュールであり、これまでのblessを使用したPerlのオブジェクト指向プログラミングよりも簡単に、より多くのことを実現できます。 本記事では、簡単にではありますがblessとMooseを比較したPerlのオブジェクト指向プログラミングについて説明し、その後でモデルの概要を説明していきます。 対象読者 Perlで簡単なスクリプトを作成したこ
と言う訳で自分なりに色々調べてみた。 テスト用データベース定義 CREATE TABLE `User` ( `user_id` bigint(20) NOT NULL auto_increment, `name` varchar(255) character set latin1 default NULL, `created_on` datetime default NULL, `updated_on` datetime default NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `Book` ( `book_id` bigint(20) NOT NULL auto_increment, `name` varchar(255) character set latin1 de
これもよく使うくせによく忘れるので備忘。 まずはCatalystのControllerでData::Page::Navigationをuseして MyApp::Controller::User package MyApp::Controller::User use strict; use warnings; use parent 'Catalyst::Controller'; use Data::Page::Navigation; sub index : Path : Args(0) { my ( $self, $c ) = @_; my $page = $c->req->param('page') || 1; my $rows = $c->req->param('rows') || 10; my $users = $c->model('DBIC::Users')->search( {},
Pemeliharaan Terjadwal: Playtech pada 2023-11-30 dari 11.00 PM sampai 2024-05-30 12.29 AM (GMT + 7). Selama waktu ini, Playtech permainan tidak akan tersedia. Kami memohon maaf atas ketidaknyamanan yang mungkin ditimbulkan. Pemeliharaan Terjadwal: PP Virtual Sports pada 2023-10-13 dari 5.00 PM sampai 2024-06-13 6.30 PM (GMT + 7). Selama waktu ini, PP Virtual Sports permainan tidak akan tersedia. K
名前¶ DBIx::Class::Manual::Cookbook - レシピいろいろ レシピ¶ 検索¶ ページ処理された結果セット¶ When you expect a large number of results, you can ask DBIx::Class for a paged resultset, which will fetch only a small number of records at a time: 結果セットが膨大になりそうなら、ページ処理された結果をDBIx::Classで取得できます。 一回に、少しのレコードしかとってきません: my $rs = $schema->resultset('Artist')->search( undef, { page => 1, # page to return (defaults to 1) rows => 10, #
この前の仕事からTipsをダンプ... Catalyst x Lighttod の時、Catalyst は 5.7004 以上必須 Shibuya.pm の typester さんの話で感化されたのもあって採用した Lighty、イイ。シンプルに言われたことだけをこなしてくれる感じ。 で、Catalyst を Lighty で動かすときは Catalyst 5.7004 以上が必須なんすね。でないと、SCRIPT_NAME などの環境変数のバグから、http://example.com/foo/ と http://example.com/foo のように最後にスラッシュが付く付かないで実行されるアクションが変わってしまう。なので今後はアプリケーションクラスにすぐ use Catalyst::Runtime '5.7004'; と書くことにした。 Lighty、UploadProgressは
最近、Ruby on Railsを始めとして各種プログラミング言語におけるWebアプリケーションの フレームワークに関する話題がホットです。種々のプロダクトがある中で、Java におけるStruts の様に定番の地位を不動のものにしたものがある一方で、PHPのように乱立状態 の様相を呈しているものもあります。そんな中でPerlでは昨年(2006年9月現在) あたりから、高い拡張性、既存のCPANモジュールとの親和性を「ウリ」としたCatalystがMVCフレー ムワークとして注目されてきています。ただ新しいこともあってか、日本語情報 が少ないのが現状です。 そんなCatalystですが、 まずは論より証拠、自分自身で試用してみることにしました。 仕様 さしあたって例題としては簡単な掲示板を作ってみました。スレッド式のもので、 オリジナルメッセージにコメントを追記できるようなものです。ただし
題名 Catalyst::Manual::Cookbook - Catalystでお料理を 説明 ママが昔よく焼いてくれたおいしいコード! レシピ デバッグ画面を強制表示する endアクションでdie()を呼び出すと、リクエストの最後にデバッグ画面を強制表示させることができます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug"; } いちいちこれを書いたり消したりするのが面倒なら、endアクションにこんな条件文を加えることもできます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug" if $c->req->params->{dump_info}; } こうしておくと、たとえばクエリストリングに"&du
モダンPerl入門を読んで色々勉強したので、サンプルアプリを作って自宅サーバで公開してみる。 http://niget.net/ ソースはgithubで晒し中。 http://github.com/hirafoo/niget/tree/master 誰かの参考になったり、disられたり、あれこれ議論したり、何かが起こったりするのを期待中。 とりあえず、このアプリの使い方とか。 ニコニコ動画の任意の動画のURLを入力 適当バリデートを通ったらDBに保存 5分に1回cronが走る。内容は、ニコニコ動画のAPIを叩いて、動画本体のURLと動画の名前を取得 APIは2個ある。本体のURLを取得する部分は小飼 弾さんのスクリプトを使わせてもらった 取得した内容をDBに保存。取得済みの動画は削除。 あとは動画本体を落とせばいいじゃない 以上。 まーサンプルアプリだしね! でも、本体URLを取得できるw
2023-11-03 Windows/エクスプローラー/レジストリでアプリケーションの関連付けをする 2023-10-30 Windows/WSL/環境構築/ディストリビューションのアンインストール MySQL/環境設定/Debian 10にMySQL8をインストール 2023-10-26 Vim/環境設定/インストール/WindowsにZIPファイルでインストール Windows-アプリケーション/Mery/インストール Windows/WSL/ファイルシステム/WSL2のディスクスペースを開放する Git/設定/TortoiseGit Git/設定/TortoiseGit/libgit2でnot owned by current userなエラーが出る 2023-10-23 Windows-アプリケーション/Mery 2023-10-10 ウェブ開発全般/CodeSandbox/概要
DBIx::Class::Schema::Loaderを入れれば、その上の3つもインストールされる。DBDはどれを使うか聞かれるがデフォルトは「インストールしない」なのでリターン連打しないように注意して。ほかにも物凄い大量の依存パッケージをインストールする。 CatalystのDBIサポート関連クラスをCPANでインストール 適当なテーブルを作る。 CREATE TABLE books ( id INTEGER NOT NULL AUTO_INCREMENT, isbn VARCHAR(13), title VARCHAR(255) NOT NULL, author VARCHAR(255), summary TEXT, PRIMARY KEY(id) ) character SET utf8 type=innoDB; テスト用に適当なデータもブッ込んでおく insert into boo
id:hyuki さんの ITpro の連載で、Catalyst を取り上げています。記事では Windows での使い方を説明してますので、Ubuntu Linux 8.04LTS で同じことをやってみました。 ⇒ 第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク:ITpro 依存関係が複雑なモジュールを扱うため、Ubuntu 8.04LTS のバイナリ・パッケージ管理機能を使って、deb パッケージからインストールすることにします。SQLite は、特に 2 を使わなければならない理由がない限り、3 を推奨したいので、sqlite3 を使うことにしました。設定を YAML で記述したいので、それもインストールしておきます。元記事で使っている、Data::Uniqid モジュールは ubuntu の deb リポジトリにないようですので、これだけは CPAN
今回のAjaxは、テキストボックスに値を入れて、フォーカスが外れたら登録するというものにしました(リスト24)。Ajaxからはajax_registが呼び出されますが、ajax_registは登録処理を行うだけなので、regist_executeにforwardします。また、このAjaxの場合はdivブロックを入れ換えるだけなので、bookmark_list.tt(リスト25)という、ブックマーク一覧部分だけを表示するテンプレートを指定しています。 リスト24:Ajaxからの登録 sub ajax_regist : Local{ my($self, $c) = @_; $c->forward('regist_execute'); $c->stash->{template} = 'bookmark_list.tt'; }
題名 Catalyst::Manual::Intro - はじめてのCatalyst 説明 ここではなぜ、またどうやってCatalystを使うのかを簡単に紹介します。Catalystの挙動について説明し、簡単なアプリケーションを手早く立ち上げる様子をご覧に入れます。 Catalystとは? Catalystとはエレガントなウェブ・アプリケーション・フレームワークです。きわめて柔軟なのにきわめてシンプル。Ruby on RailsやSpring (Java)、そしてCatalystの元となったMaypoleによく似ています。 MVC Catalystはモデル・ビュー・コントローラ(MVC)というデザイン・パターンを踏襲しているため、コンテンツ、プレゼンテーション、フロー管理といった問題を簡単に切り分けて独立したモジュールにすることができます。こうして切り分けることで他の問題を処
時間が空いているときに Catalyst のお勉強をしていたのですが、なかなか情報をまとめる時間がとれないのです・・・。思ったより苦戦したので少しずつでもお勉強の情報をまとめていこうと思ってます。今回はその1ってことで。Catalyst をこれからお勉強してみようって方の参考にでもなれば幸いです。 実際には、アプリケーションを1つ作ってみるってところまで既に2週間前に終わっていたりするのですが、その解説に至るまでどれくらい時間かかるんだろう・・・ (。・x・)ゝ Catalyst の基礎知識 Catalyst のフレームワークの構成は上図のような構成になっています。純粋な MVC ではなく、MV C + A(Apprication) のような構成になっていますが、Application の部分は Dispatcher 機能に相当する部分で、実装時には MVC の考え方で問題ありません。 M
Catalystは、PerlのWebアプリケーションフレームワークです。同じPerlのWebアプリケーションフレームワーク、Maypoleの後継で、Ruby on RailsやStrutsにインスパイアされて作られたものです。 MaypoleはデータベースのCRUD(Create、Read、Update、Delete)に焦点が当てられていましたが、Catalystはもっと汎用的なWebアプリケーションのために作られました。そして、Ruby on RailsやStruts の良いとこ取りをした、洗練されたWebアプリケーションフレームワークになっています。 Catalystを使うとWebアプリケーションに必要なものがほとんど全て手に入り、簡単かつスマートに開発できます。 Webサーバー Catalystは、CGI、mod_perl、mod_perl2、lighttpd、FastCGI等々、さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く