<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>jifty / Drkcore</title><link>http://blog.kzfmix.com/jifty</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Sun, 05 Nov 2006 16:56:27 +0919</lastBuildDate><item><title>Jiftyはスイスイッと気持ちヨサゲ</title><link>http://blog.kzfmix.com/entry/1162713387</link><description>&lt;p&gt;&lt;a href="http://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml"&gt;Django&lt;/a&gt;と&lt;a href="http://www-06.ibm.com/jp/developerworks/linux/060825/j_l-turbogears.shtml?ca=drs-"&gt;Turbogears&lt;/a&gt;
って&lt;strong&gt;sql文を書いたりしなくていいので楽だナァ&lt;/strong&gt;と。djangoだとクラス定義して&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$&lt;/span&gt; &lt;span class="nv"&gt;python&lt;/span&gt; &lt;span class="n"&gt;manage&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt; &lt;span class="n"&gt;syncdb&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ってやればいいし、Turbogearsも同様に&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$&lt;/span&gt; &lt;span class="nv"&gt;tg&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;admin&lt;/span&gt; &lt;span class="n"&gt;sql&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;でうまくやってくれる。で、そういえば&lt;a href="http://tokyo.yapcasia.org/blog/ja/"&gt;YAPC&lt;/a&gt;で&lt;a href="http://fsck.com/~jesse/talks/yapc.asia.2006.xul"&gt;Jifty&lt;/a&gt;もそんなこと発表してたのを思い出して、大量のモジュールと共にインストールしてみた。&lt;/p&gt;
&lt;p&gt;練習用に使ったサンプルは&lt;a href="http://www.tcool.org/jifty/Tutorial.html"&gt;Jifty::Manual::Tutorial&lt;/a&gt;。ちなみにJiftyのバージョンは0.60912。&lt;/p&gt;
&lt;p&gt;最初の流れはCatalystと違って、アプリケーションだけつくれば、ビューとかコントローラー作る必要ないみたい。いきなりモデルをつくりはじめるわけだが、もちろんデータベースの設定はSQL文など書かなくてよくて、&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;column&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
      &lt;span class="n"&gt;type&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;text&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;Title&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;Untitled post&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;column&lt;/span&gt; &lt;span class="n"&gt;body&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; 
      &lt;span class="n"&gt;type&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;text&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;Content&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;render_as&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;Textarea&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;とハッシュっぽく記述しておいて、&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;jifty&lt;/span&gt; &lt;span class="n"&gt;schema&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;これだけ。あとはテンプレートまわりをいじるわけだが、僕の使ったバージョン(0.60912)だとwebではなくshare/web/だった。また、テンプレートシステムにMason利用しているので、実用Perlプログラミングなど読み返しながら。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/487311280X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51ZM9ZJ30PL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;実用 Perlプログラミング 第2版&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Simon Cozens&lt;br /&gt;
    オライリージャパン / 3360円 ( 2006-03-01 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;%でperl式を挿入する場合%は行頭から始めないといけない（間にスペースとかをいれてはいけない）ことを理解していなくてちょっとはまった（下の部分）。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nv"&gt;%&lt;/span&gt; &lt;span class="nv"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;$post&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$posts&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="s-Regexp"&gt;&amp;lt;dt&amp;gt;&amp;lt;%$post-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="nv"&gt;%&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nv"&gt;dt&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="s-Regexp"&gt;&amp;lt;dd&amp;gt;&amp;lt;%$post-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="nv"&gt;%&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nv"&gt;dd&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nv"&gt;%&lt;/span&gt; &lt;span class="err"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Masonってなんかphpっぽいな。今回Jiftyの触りしかいじってないけど、アプリ作成すると、オンラインドキュメントも一緒に作られるので、これを読むのがなかなか面白い感じ。あとMasonも暇があればなんかで使ってみよう。でもMason使うとビューとコントローラーの切り分けが曖昧になってきちゃうような気がするんだよナァ、、、&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;あーめんどうだ、テンプレートに直接書いちゃえ!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;みたいな（うーん実際はどうなんだろうか）。&lt;/p&gt;
&lt;p&gt;というわけで、一通りサンプルを作ってみて、感想を。Jiftyは(RoR,djangoもそうだけど)フルスタックなのでサクサク開発できそうで、なにより使っていて気持ち良い。&lt;/p&gt;
&lt;p&gt;Catalystと使い分けできれば生産性は上がるかな。ちょっとしたもの作る場合にはJiftyはいいと思った。&lt;/p&gt;</description><pubDate>Sun, 05 Nov 2006 16:56:27 +0919</pubDate><category>perl</category><category>jifty</category></item></channel></rss>