Mojoliciouså ¥é
Perl
›
Mojolicious
Perlã®ä»£è¡¨çãã¬ã¼ã ã¯ã¼ã¯Mojoliciousã使ã£ãWebéçºã®å ¥éã§ãã
use Mojolicious::Lite; get '/' => {text => 'Hello World!'}; app->start;
Windowsã§ãLinuxã§ãã©ããªç°å¢ã§ãåãã¾ããããCGIã§å«ãªæãããããªã¼ãããæã£ã¦ããæ¹ãä»ãªããMojoliciousããããã¾ãã
1. Mojoliciousã®ç¹å¾´
ãMojoliciousã£ã¦å°ããªWebãµã¤ããããããä½ããªãã®ããªããããªçåãããã¨æãã¾ããå®éã¯ãMojoliciousã¯ãå°ããªWebãµã¤ãããåãã¦ãã©ãã©ãæé·ããã¦ãããã¨ãã§ãã¾ãã
Mojoliciousã¯
- Webãµã¤ããç°¡åã«ãã°ããä½æã§ãã
- Webãµã¤ãä½æã«å¿ è¦ãªæ©è½ã®ä¸å¼ãæä¾
- 大è¦æ¨¡ãªWebã¢ããªã±ã¼ã·ã§ã³éçºã«ã対å¿
ã¨ããç¹å¾´ãæã£ã¦ãã¾ãã
Mojoliciousã§ã¯ãWebãµã¤ãä½æã«å¿ è¦ãªä¸å¼ã®æ©è½ããæä¾ããã¦ãã¾ãã
ããã³ãã¬ã¼ãæ©è½ãã使ã£ã¦ããã°ããHTMLãæ¸ãã¾ããããã©ã¡ã¼ã¿ã¼ããç°¡åã«åå¾ã§ããã»ãã·ã§ã³ããããã©ã«ãã§ãµãã¼ãããã¦ãã¾ãããéåæI/Oãã«å¯¾å¿ãã¦ããã®ã§ããµã¼ãã¹éå§å¾ã«é«è² è·ã«ãªã£ã¦ãã対å¿ã§ãã¾ãã
ä½ãããWebãµã¼ãã¹ã¯ããã¾ãããå¹ççã§ä¿å®æ§ã®é«ãWebã¢ããªãä½æãããªããMojoliciousãã´ã£ããã§ãã
2. Mojoliciouså ¥é
ã§ã¯ãã£ããMojoliciousã®ã¤ã³ã¹ãã¼ã«ããåãã¦ã¿ã¾ãããããã®å¾ãå®éã«Mojoliciousãåããã¦ã¿ã¾ãã
2.1 Mojoliciousã®ã¤ã³ã¹ãã¼ã«
Mojoliciousãã¤ã³ã¹ãã¼ã«ããæé ã解説ãã¾ãã
2.2 Mojoliciousã§ãHello Worldãã¨è¡¨ç¤ºãã¦ã¿ãã
ä¸çªç°¡åãªHello Worldã¢ããªã±ã¼ã·ã§ã³ãMojoliciousã§ä½ã£ã¦ã¿ã¾ãããã
use Mojolicious::Lite; get '/' => sub { my $self = shift; $self->render(text => 'Hello World'); }; app->start;
è¨è¿°ã®èª¬æãå®è¡ã®ä»æ¹ã¯一番小さなWebアプリケーションãã覧ãã ããã
Mojoliciouså ¥éã§ã¯ãHTMLãããCSSãã®ç¥èã¯æã£ã¦ããåæã§è¨äºãæ¸ãã¾ããããæä½éã®ãHTMLãããCSSããã¾ã ç¥ããªãã¨ããæ¹ã¯ HTMLの基礎ã¨CSSの基礎ãåèã«ãã¦ãã ããã
2.3 ã¤ã³ã¿ã¼ãããä¸ã§ã®å ¬é
ãWebãµã¤ããä½æãããããã«å ¬éããã!ãããèãã¦ãããããã¾ããã
ãã£ã¨ãç°¡åãªæ¹æ³ã¨ãã¦ããããã®ã¬ã³ã¿ã«ãµã¼ãã¼ã»ã¹ã¿ã³ãã¼ããã使ã£ã¦ãã¢ããªã±ã¼ã·ã§ã³ãå ¬éã§ãã¾ãããã£ããå ¬éãã¦ã¿ããã¨ããæ¹ã¯ãさくらのレンタルサーバー・スタンダードでアプリを公開するãã覧ãã ãããã¾ã ãå ¬éããã«ãå ã«é²ãããã¨ããæ¹ã¯ãå¾ã§èªãã§ãããã§ãã
ã¤ã³ã¿ã¼ãããã§èªåãä½æãããµã¤ããåãåã³ã¯æ ¼å¥ã§ãããã²ãã£ã¬ã³ã¸ãã¦ã¿ã¦ãã ããã!
Webã¢ããªã±ã¼ã·ã§ã³ã®åºç¤
ãMojoliciousã使ã£ãWebã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ã解説ãã¾ãã
Mojoliciousãªãã¡ã¬ã³ã¹
ãMojoliciousãªãã¡ã¬ã³ã¹ã§ã¯ãMojoliciouså ¥éã§ç´¹ä»ã§ããªãã£ãããã¾ãã¾ãªãã¯ããã¯ãç´¹ä»ãã¾ããMojoliciousã¯ãé常ã«ã«ã¹ã¿ãã¤ãºæ§ã®é«ããã¬ã¼ã ã¯ã¼ã¯ã§ãããããµãã¼ãããæ©è½ãè±å¯ã§ãã
ãMojoliciousã使ãããªããããã«ãªãã°ãå¹ççã«Webãµã¤ããWebãµã¼ãã¹ãä½ããããã«ãªãã¾ããæ©è½ã®æ°ããçºè¦ãããããããã¾ããã
ã¤ã³ã¹ãã¼ã«
- Mojoliciousのインストール - Windows, Mac OS X, Unix/Linuxã§ã®Mojoliciousã®ã¤ã³ã¹ãã¼ã«
- Hello World!アプリケーション
ã«ã¼ã(Route)
ã³ã³ããã¼ã©ã¼
ãã³ãã¬ã¼ããJSONã®æç»
ã¦ã¼ãã£ãªãã£
ã¿ã°ãã«ãã¼
ã»ãã·ã§ã³
ãã©ã°ã¤ã³
Mojoliciousã®ãã©ã°ã¤ã³ã®ä½¿ãæ¹ã¨ã¢ã¸ã¥ã¼ã«ã®ç´¹ä»ã§ãã
- プラグインの名前空間を追加する
- Mojolicious::Plugin::AutoRoute - ルートを自動的に生成するためのMojoliciousプラグイン
- Mojolicious::Plugin::SQLiteViewerLite - SQLiteã®ãã¼ãã«æ å ±ããã©ã¦ã¶ããè¦ãããã®ãã©ã°ã¤ã³
- Mojolicious::Plugin::MySQLViewerLite - MySQLã®ãã¼ãã«æ å ±ããã©ã¦ã¶ããè¦ãããã®ãã©ã°ã¤ã³
試é¨
ãããã¤
- morbo - Mojoliciousの開発サーバー
- PSGIアプリをStarmanでデプロイする
- プロキシサーバ経由で接続する場合のURLの問題を解決する
- Apacheのmod_proxyを使った場合に"Service Temporarily Unavailable"エラーが出る場合の対処法
- hypnotoadコマンド
- hypnotoadが立ち上がらないときのチェック方法
- Test::Mojoで実行できない試験を行う
- Mojoliciousをサブディレクトリで運用する
- hypnotoadが正しく起動しているかどうかの確認
- rootユーザーからMojoliciousアプリケーションを管理する方法
- 特定のユーザー権限(あるいはグループ権限)でhypnotoadを実行する
- rootユーザーでいるときに、一般ユーザーにスイッチしてコマンドを実行する方法
SSLã¨ã®é£æº
ããã©ã¼ãã³ã¹
hypnotoadããªãã©ã¼ã¯ãµã¼ãã¼
ãã®ä»
ãªãªã¼ã¹æ å ±
ãããã®ã¬ã³ã¿ã«ãµã¼ã
ãããã®ã¬ã³ã¿ã«ãµã¼ãã¼ã§Mojoliciousã使ãããã«å½¹ç«ã¤è¨äºã
Mojoliciousãµã³ãã«
ãMojoliciousã使ã£ããµã³ãã«ãç´¹ä»ãã¦ãã¾ãã
- ひとことメッセージ掲示板 - ãããããªæ²ç¤ºæ¿
- 画像掲示板 - ãããããªç»åæ²ç¤ºæ¿
- 検索アプリケーション - ç°¡åãªæ¤ç´¢ã¢ããªã±ã¼ã·ã§ã³
- 簡単なリアルタイム時計 - WebSocketã使ã£ããªã¢ã«ã¿ã¤ã æè¨
- 簡単なリアルタイムチャット - WebSocketã使ã£ããªã¢ã«ã¿ã¤ã ãã£ãã
- Portable BBS - ãã¼ã¿ãã«ãªWebã¢ããªãä½æããããã®ãµã³ãã«
- Gitweb Lite - Gitãªãã¸ããªãã¥ã¢ã¼ãgitweb.cgiã®Mojoliciousã¸ã®ç§»æ¤ã
Mojoliciousããã¥ã¡ã³ã
ãMojoliciousã®å ¬å¼ããã¥ã¡ã³ãã§ãããã®ããã¥ã¡ã³ãã«ã¯Mojoliciousã®ãã¹ã¦ã®æ©è½ãè¨è¼ããã¦ãã¾ããããããªãã¨ãã¯ãããããã¤ã§ãåèã«ãã¾ãããã