2011年5月25日水曜日

Rails3.1でCoffeeScript SCSS HTTP Stream jQuery defaultな件...

CoffeeScriptとSCSS

Rails 3.1から、appフォルダ内にassetsというフォルダができて、その中にjavascriptsとstylesheetsというフォルダができるようになった。そしてそこにCoffeeScriptファイルやSCSSのファイルを置くようになります。CoffeeScriptは、JavaScriptの冗長的な書き方ではなくRubyやPythonのように書いて、それをJavaScriptにコンパイルするというものですが、Rails 3.1では拡張子を例えばapplication.jsとすれば普通のJavaScriptファイルですし、application.js.coffeeとすればCoffeeScriptとして扱われ、コンパイルも自動で行われます。つまり完全にオプション的な扱いです。ですが、書き方になれると普通のJavaScriptには戻れなくなりそうですねー。

SCSSはCSSをネストして書いたり、変数を使って書けたりするものです。SASSというのもあって、こちらはもっとプログラマーよりで関数定義までできちゃうんですが、Rails 3.1ではSCSSが採用されました。CSSを書いていると、同じものを書く事がよくあります。例えば角丸border-radiusとか。そういうのはクラスにまとめればいいんですが、クラスにまとめるか、個別に持っておくべきか迷うことがあります。そう言う時にSCSSのmixinは便利そうです。そしてネストさせることで、セレクタよりも直感的に分かりやすくなりそうだなーと思います。

HTTP Stream

PHPでいうところの、ob_flushとかをやるのと同じです。これ、個人的に何が嬉しいのかよく分からなかったんですが、出力に時間がかかる部分で、先に出せる物は出しておいてユーザの体感速度をあげるというのが一つの狙いのようですね。たとえば、headまで出しておいて、そこに含まれるcssやcssに含まれる画像は先にダウンロードさせておくなど。まぁ、でもそこまで重いページって用意したくないし、Rails3のActiveRecordはRails2のActiveRecordより遅いというデータもあるらしく、そちらの改善も期待しています。ActiveRecordばかりに頼らずに最適化しろっちゅー話なんですけどね><

ちなみに、この機能はFiberがないと動かないらしく、Ruby 1.9以上が必要になります。まー実質1.9.2ですね。あと動作環境がnginxとunicornである必要があるようです。Apache+Passengerの環境もサポートしてくれないのかな?両方使ってるので後者もサポートしてほしいですねー。

jQueryがやっとデフォルトに

やったー!てっきりRails3からデフォルトになると思ってたので、やっとこの日が来たか!という感じです。

あー、早くRails 3.1で開発してみたい。

CSS Nite in MIYAZAKI, Vol.2を開催しました

参加された方々、ご協力くださった方々、本当にありがとうございました

CSS Nite in Miyazaki, Vol.2 スマートフォンがキターーー!を、前回から約半年ぶりに開催しました。今回のテーマはスマートフォンということで、講師にCSS Nite主催の鷹野さん、H2Oのたにぐちまことさん、Androidユーザ会宮崎支部支部長の山根さんに登壇していただきました。そして今回初の試みでLTをしました。LTの出演は、あてくし(CSS Niteではマシオカという名前で活動してます)、Seven Studioのwa3さん、eaterの後藤さん(飛び入り)と黒葛原道さんでした。

二回目の開催だけあって、前回に比べスムーズに行った点があり(^_^)v、その反面、課題が浮き彫り(orz)となる感じもありましたが、今回も参加者の方々やご協力くださった方々のとっても温かい人情に恵まれて、無事に終了することができました。本当にありがとうございます。声をかけて下さる人たちの言葉が宝物みたいでした。あぁ、開催できてほんとよかったー(T_T)

ところで、LTやりました

そうです。出演してみたんです。ビビりが紛いなりにも...

で、結果?はといいますと、タイムオーバーの無効試合という感じ。というか、発表前日に事件があって、まぁ、もっと余裕をもって仕込んでない自分が悪いんですが、LTのメッセージが「Mobile Safariじゃファイルアップロードできないから気をつけろ!」に入れ替わってしまう寸前でした。いや、むしろそう受け取ってもらった方が知らなかった人にとってはプラスでしょうね。LTの話はスマホサイトをRailsでやってみようという内容だったんですが...。準備した内容はフォローアップで流させてもらうんですが、ちょっと欲張っていろいろ詰め込んでしまってて、よく分からない内容に仕上がってしまったというのが正直なところです。この辺はいずれRubyユーザ会宮崎で、知りたい人にはフォローできればと思ってます。んー、今思うと、LTなんだから、jQuery Mobileでアニメーションするより、CSS3でできるものはそっちを使った方がパフォーマンスが(大体)いいよ!とかいう話の方がよかったですねぇ...。また出演する機会がありましたら、次はもっと皆さんに満足してもらうような内容にできるよう頑張りたいです。

そしてアンケートに書かれたコメントに感動中

な、なして、みんなこげんに優しいとじゃ...というコメントの数々に泣かされてます。ほんと、皆さん温かいですね。だからこそ、もっともっといいものを提供したったという思いが強くなります。今回出演してみて本当に良かったです。出演側の状況も把握するいい機会にもなりましたし、必ず次ぎへつなげたいと思います。

あ、あんなゆるキャラが真面目な感想を書いてしまった...w

ところで、毎回というとまだ2回しか開催してないのであれですが、懇親会に参加した方の充実度はより一層違うみたいです。懇親会には何かありますね。というか、運営側の自分もスタッフというのを忘れて飲み食いして楽しんじゃってましたから。やっぱり同業者とざっくばらんにいろんな話ができるっていいですね。今回も皆さん楽しそうで良かったです。CSS Niteで好きなシーンは、講師の話に参加者が夢中になってシーンとなるところ、いい技を見て「おお!」って声があがるところ、面白い話に笑いが出るところ、そして懇親会で賑やかに会話してるところですね。本当に素晴らしい会を開いているんだと実感できる最高の瞬間です。さー、また、次回に向けてやっていきますかね!!笑 では皆さん、また近いうちにお会いしましょう!ありがとうございました。

参加者の感想がブログにあがってるようです

リンクしちゃいます

2011年5月8日日曜日

Ruby On Rails 3をこれから始めたい人へ

初心者向けの本が出るようです

目次

Amazonの目次は参考にならないので、著者のサイトの目次を参考にした方がいいです。目次

結構いいかも

この本はまだ読んでませんし、購入する予定もないのですが、目次を見ると、結構初心者向けとしてはいいかもしれないと思います。チュートリアル系というよりかはリファレンス系という感じでしょうか?でも、結構リファレンスは大事で、フレームワークを使うからには、ゆくゆくは使いこなさないといけなくなります。チュートリアルをやって、異文化体験をしてはい終わり、ならWeb上にあるチュートリアルでもやるなり、スクリーンキャストを見て満足すればいいのですが、自分でオリジナルなものを作って行く時は、そういったチュートリアルからある意味脱線して行きます。その脱線する際に、情報を調べる為の手助けになるのがリファレンスやサンプル(レシピ)集です。チュートリアルだと、チュートリアルでしか使わないものの説明にとどまるので、アソシエーションを組んでもそれをどうやってフォームヘルパーを使ってやるのかの説明がなく、初心者は路頭に迷う事があると思います。そういった時にヒントやキーワードになるものが少しでも多く埋め込まれている情報に出会えるのは大事なことです。Rails3やってみたいと思っている初心者の方は、一度本屋にでも行ってどんなものか見てみるといいと思います。そして、間違えてRails1.2やRails2の本を買わないように気をつけて下さいw 日本語で書かれている本でRails3の本はこれでまだ2冊目だと思います。