2008年11月30日日曜日

gem install mysql エラー CentOS

CentOS5.2の話

 gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

これでうまくいきやしたぜ兄貴!

2008年11月28日金曜日

15分でAjaxブログを作る方法

という釣り

Rails2(.2らしいDHHのTwitter参照)でブログを作る方法をRyan Batesさんがスクリーンキャストで紹介しています。Creating a weblog in 15 minutes with Rails 2
Atom(RSS)も一瞬でやってくれてる辺りがすげー。

とにかく見てみた方がいいよ

Functional Testもやってますが、部分テンプレート、Railsのデバッグ方法やら、基礎的なところをやってくれてます。説明も操作も速いので一時停止したりして実際に同じ作業をした方がいいかもしれませんね。ショートカットキーを押した時は右上に一瞬表示されるので、そちらも参照に(Macユーザにしか理解できないかも?)。自分でも忘れていたことを思い出したのでやる気が出て来た。とりあえずMVCを知らない人は一回Railsやってみたら?と思います。MVCだけでは当然足りないのでヘルパというのが普通あるんですが。MVCHとは言わないんですよね。ちょっと不思議。Hの存在を知らなかった時はMでもVでもCでもどれでもない関数やらはどこに定義すればいいんだと悩んだ時がありました。Railsの構造を見れば、よく理解できると思います。

注意

初めてWebアプリを作る人は、Basic認証についてちゃんと知っておいた方がいいです。Basic認証だけではセキュリティ的にはヌルい。IDもパスワードも平文でやり取りされるので、盗聴されればアウトですね。SSLの場合は違いますが。認証にはプラグインを使う方がいいと思います。

CSRF対策も何気にされてる

Railsのいいところ。form_forでフォームを作成すると<input name="authenticity_token" type="hidden" value="81e17c6cd94d89d8bf61c111d75a41cd27de0768" />のようなものが。

セッションはクッキーに保存しちゃう仕様

おそらくアクセス数が多いサイトを考慮してこういう仕様のフレームワークがあるんだと(CodeIgniterもその一つ)勝手に思ってるんですが、知っとかないと怖いと思うので一応。

Railsは大規模開発に向くのか

これは絶対Yesではないです。Railsはスペックを食う。レールから外れた事をすると急に難しくなる。などがあげられます。Enjoy!

2008年11月26日水曜日

createElementしたものもjQueryオブジェクトにしちゃう方法

すごく簡単

var ele = $(document.createElement('div'));

//jQueryだけでやりたいなら
var ele = $('<div>');
//とか
var ele = $('<div class="text-left">');

2008年11月16日日曜日

MacでEXIF情報を見る

EXIFとは

jpegファイルなんかにくっ付いてる撮影日などの情報です。

Leopardのプレビューで見れる

プレビューで写真を開いて、インスペクタを表示し、詳細情報の中にexifのタブがあるのでそれをクリックして表示できます。ただしexif情報が無いファイルもありますので。

知り合いっぽい人が写真に写っていたので、撮影日で可能性を探ろうとしたのですが、exif情報は添付されてませんでした。残念。

2008年11月15日土曜日

Python メソッド一覧、メソッド列挙?

dirを使う

import os
dir(os)
a = dir(os)
len(a)
for x in a:
  print x

これだけだと名前しか分からないけど、何も手がかりが無いよりかはモチベーションを維持できまっせ

2008年11月10日月曜日

2008年11月5日水曜日

RubyでFizzBuzz

遊びでやってみた

(1..100).each{ |i| p "#{i}:" + (i%15!=0 ? i%5!=0 ? i%3!=0 ? i.to_s : "fizz" : "buzz" : "fizzbuzz") }
"1:1"
"2:2"
"3:fizz"
"4:4"
"5:buzz"
"6:fizz"
"7:7"
"8:8"
"9:fizz"
"10:buzz"
"11:11"
"12:fizz"
"13:13"
"14:14"
"15:fizzbuzz"
"16:16"
"17:17"
"18:fizz"
"19:19"
"20:buzz"
"21:fizz"
"22:22"
"23:23"
"24:fizz"
"25:buzz"
"26:26"
"27:fizz"
"28:28"
"29:29"
"30:fizzbuzz"
"31:31"
"32:32"
"33:fizz"
"34:34"
"35:buzz"
"36:fizz"
"37:37"
"38:38"
"39:fizz"
"40:buzz"
"41:41"
"42:fizz"
"43:43"
"44:44"
"45:fizzbuzz"
"46:46"
"47:47"
"48:fizz"
"49:49"
"50:buzz"
"51:fizz"
"52:52"
"53:53"
"54:fizz"
"55:buzz"
"56:56"
"57:fizz"
"58:58"
"59:59"
"60:fizzbuzz"
"61:61"
"62:62"
"63:fizz"
"64:64"
"65:buzz"
"66:fizz"
"67:67"
"68:68"
"69:fizz"
"70:buzz"
"71:71"
"72:fizz"
"73:73"
"74:74"
"75:fizzbuzz"
"76:76"
"77:77"
"78:fizz"
"79:79"
"80:buzz"
"81:fizz"
"82:82"
"83:83"
"84:fizz"
"85:buzz"
"86:86"
"87:fizz"
"88:88"
"89:89"
"90:fizzbuzz"
"91:91"
"92:92"
"93:fizz"
"94:94"
"95:buzz"
"96:fizz"
"97:97"
"98:98"
"99:fizz"
"100:buzz"

Railsをターミナルからテストする

irbいいね!

自分で書いたクラスの動作のテストをその場でやりたい時がありますよね。Railsでやる場合は、ruby script/console上から操作すると簡単に動作確認が出来ます。

モデル Developerの例

ruby script/console
d = Developer.new
d.name = "Dopin"
d.password = "ppp"
d.save
=> #true
d = Developer.find_by_bame("Dopin")
d

プライベートメソッドは__send__を使う

プライベートメソッドは直接呼び出せないので、__send__(:メソッド名[,引数])を使う。