Rubyはオーバーロードができないんだ

最近ブログさぼってます。。。
はやくけいぞくくん作らないとね。(少しづつ進捗はしてるけど)

最近知ったこと。
Railsのモデルのコンストラクタをオーバーロードしようとしたら、Newの引数なしのやつが動かなくなって、何でだろ?
と思ったら、Rubyオーバーロードができないらしい。
なんかへこむわ。

YUI Grids CSS 読んでみた2 ネストしたグリッド

http://developer.yahoo.com/yui/grids/をちょろっと読んでみた その2
バージョンは2.6.0

Using Nesting Grids

グリッドを入れ子にする

(超適当)
グリッドは入れ子にできる。メインのブロックをさらに2つのブロックに分けたりとか

The Basic Idea

基本的な考え方

  • グリッドはユニットを持つ
  • グリッドはclass="yui-g"。gはグリッドの意味
  • ユニットはclass="yui-u"。uはユニットの意味

ブロックを2つに分ける例。

...
<div id="yui-main">
   <div class="yui-b">
      <div class="yui-g">
         <div class="yui-u first"></div>
         <div class="yui-u"></div>
      </div>
   </div>
</div>
...

Note: Indicating :first-child
class="yui-u first"のfirstはCSSの擬似クラス:first-childをサポートしてないブラウザが
あるから付けとけってこと?
(あんまりよくわからん)

Deeper Nesting

多重の入れ子にする

こんな感じでできる。

...
<div id="yui-main">
   <div class="yui-b">
      <div class="yui-g">
         <div class="yui-g first">
            <div class="yui-u first"></div>
            <div class="yui-u"></div>
         </div>
         <div class="yui-g">
            <div class="yui-u first"></div>
            <div class="yui-u"></div>
         </div>
      </div>
   </div>
</div>
...

大事なこと

  • yui-gの子にはyui-gにする。yui-uの子にyui-gはだめ
  • firstをそれぞれ必ずつけること

Using Special Nesting Grids

普通のグリッドはブロックを半分に分けるけど、
3つに分けたり、半分づつでなくて66%と33%に分けたりしたいときは
特別なグリッドを使う。

firstグリッドが2/3で残りが1/3のときはこんな感じ

...
<div id="yui-main">
   <div class="yui-b">
      <div class="yui-gc"> <!-- the "special grid" -->
         <div class="yui-u first"></div>
         <div class="yui-u"></div>
      </div>
   </div>
</div>
...

利用できるグリッドのクラス

クラス 分割の割合
.yui-g 1/2-1/2
.yui-gb 1/3-1/3-1/3
.yui-gc 2/3-1/3
.yui-gd 1/3-2/3
.yui-ge 3/4-1/4
.yui-gf 1/4-3/4

YUI Grids CSS 読んでみた

http://developer.yahoo.com/yui/grids/をちょろっと読んでみた
バージョンは2.6.0

YUI Grids CSS

Getting Started

(超適当)

ブラウザを標準モードにするため、DOCTYPE スイッチを
こんなのにするのがおすすめ。
XHTMLにしてXML宣言を書くとIE6が互換モードになるのでXHTMLはだめそおだ)

CSSファイルはreset-fonts-grids.cssでOK。
reset-fonts-grids.cssはresetとfontsとgridsのCSSが入ってる。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <title>YUI Grids CSS </title>
 <!-- Source File -->
 <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.6.0/build/reset-fonts-grids/reset-fonts-grids.css">
</head>

Using YUI Grids CSS

HTMLはヘッダー、ボディ、フッターの3つの領域が必要。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>YUI Grids CSS </title>
  <!-- Source File -->
  <link rel="stylesheet" type="text/css" href="reset-fonts-grids.css">
</head>
<body>
<div id="doc">
  <div id="hd"><!-- header --></div> 
  <div id="bd"><!-- body --></div> 
  <div id="ft"><!-- footer --></div> 
</div>
</body>
</html>

Choose the Overall Page Width

全体の幅を決めるには、一番外のdivのidを変えればOK

docからdoc4まである。

id="doc" 幅750px 中央寄せ
id="doc2" 幅950px 中央寄せ
id="doc3" 幅100%
id="doc4" 幅974px 中央寄せ


注意:
doc3は左右に10pxのマージンがとってあるので、無くしたかったら
こんな感じにすれば0にできる

<style>
#doc3 {margin:auto;}
</style>
Customizing the Page Width

幅をカスタマイズするには、指定したいpx単位の幅を
13で割り算してemに変換して指定する。ただし、IEの場合は13.3333で割る。

600pxの幅にする時の例はこんな感じで。
(*widthってなんだ?)

<style> 
#custom-doc {
	margin:auto;text-align:left; /* leave unchanged */
	width:46.15em;/* non-IE 600÷13≒46.15 */
	*width:45.00em;/* IE  600÷13.3333≒45.00*/
	min-width:600px;/* optional but recommended */
}
</style>

Note:あんまりこの辺をいじるな(超適当)

Using Template Presets

たいていのWEBコンテンツはメインコンテンツのブロックと2番目のコンテンツのブロックがある。
テンプレートは狭いほうのブロック(2番目)の配置を左右で選べるようにしてある
狭いほうのブロックは固定幅で、メインのブロックは幅は可変になるようにしてある。


2つのブロックがあって、両方ともdiv.yui-bになってる。"b"はブロックの意味ね。
メインのブロックはさらに別のyui-mainっていうdivで囲んどいてね。
こんな感じ

...
   <div id="bd">
      <div id="yui-main">
         <div class="yui-b"></div>
      </div>
      <div class="yui-b"></div>
   </div>
...

Source-Order Independence

(超適当)

HTML内のブロックの順とは関係なくyui-mainブロックを配置できる。
(どっちかって言うとサイドバーの位置を変えれる)

あらかじめ定義されているレイアウト

クラス サイドバーの幅 サイドバーの位置
.yui-t1 160
.yui-t2 180
.yui-t3 300
.yui-t4 180
.yui-t5 240
.yui-t6 300

こんな感じでdocのdivのクラスを指定する。
HTMLは変更しなくても、クラスを変えればサイドバーの位置と幅を変更可能。
SEO的にメインが最初かサイドバーが最初か有利なほうを選べる)

...
<div id="doc" class="yui-t4"> <!-- change class to change preset -->
   <div id="hd"></div>
   <div id="bd">
      <div id="yui-main">
         <div class="yui-b">メイン</div>
      </div>
      <div class="yui-b">サイドバー</div>
   </div>
   <div id="ft"></div>
</div>
...

これはHTMLでメインが後だけど見た目は上と同じ。

...
<div id="doc" class="yui-t4"> <!-- change class to change preset -->
   <div id="hd"></div>
   <div id="bd">
      <div class="yui-b">サイドバー</div>
      <div id="yui-main">
         <div class="yui-b">メイン</div>
      </div>
   </div>
   <div id="ft"></div>
</div>
...

YUIのgrids

http://developer.yahoo.com/yui/grids/
まえから試そうと思ってて、なんとなくほっといたんだけど
今日ふと試してみたら、YUIのグリッドは結構シンプルだった。
リセットCSSもいいかんじ。

これからYUIのグリッド使おう。

Bort Railsでよく利用するプラグインが最初から入ってる!

だいだいRailsなんてフルスタックで開発環境ちゃちゃっと作って速攻開発して速攻公開って言うのが売りじゃなかったっけ?(ちがったかな)
現実は開発始めるまでが結構どころか相当めんどくさい。
プラグインだって入れてからいろいろソースいじんないと動かないし。
(まあ全然RubyRailsも分かってないのが最大の原因だけど)

でBortってのがあるみたい。
Railsでよく使うものをまとめて提供·Bort MOONGIFT

Railsでよく利用するプラグインが最初から入ってる、
アプリケーションのテンプレート的なもの。
こういうのが要るでしょ。

いまんとここいつをベースに自分のテンプレート作っとけって言うのが正解かなあ?


Bortみたいなのは標準でやっといて欲しいなあ。


昨日からPython+Djangoを調べ中。
Pythonの妙なとこさえ慣れることができれば
Python+Djangoのほうがいいのかも。

bort OR DIE!!!!

bortすげえええええ。
とりあえず簡単に動いたよ。
bortかわいいよbort。

修正したのは、RailsのバージョンとDB関係と、デフォルトルート追加

出た問題は

  • Forgotten Passwordのときのルートがないエラー
  • OpenIDがうまくいいってない

くらい。
OpenIDも調べれば直りそう。

bort OR DIE!!!!