標記のとおり。遅まきながら,ですが。
普段,NetBeansのRailsモードで開発してたんですが,Rinariなる凄く便利なelispができたようなので,試すついでに色々設定してみました。emacsは23.1.1です。パッケージで言うとemacs23、と明示的に指定します。単純に23のほうが日本語フォントの設定がしやすいからです。。
インストールと設定
一部,emacsとRinariで快適Rails開発! と言う素晴らしい記事を激しくコピペしつつ,以下の手順です。
標記のとおり。遅まきながら,ですが。
普段,NetBeansのRailsモードで開発してたんですが,Rinariなる凄く便利なelispができたようなので,試すついでに色々設定してみました。emacsは23.1.1です。パッケージで言うとemacs23、と明示的に指定します。単純に23のほうが日本語フォントの設定がしやすいからです。。
一部,emacsとRinariで快適Rails開発! と言う素晴らしい記事を激しくコピペしつつ,以下の手順です。
Ubuntu 9.10等,GRUB2を採用するディストリビューションも増えてきたこの頃,イカがお過ごしでしょうか。今日は,そんなGRUB2を色々いじっていて気づいたいくつかのtipsをメモしたりなんかします。
/boot/grub/menu.lst はもういないGRUBのメニュー表示設定といえば /boot/grub/menu.lst という勢いで,インターネット上にもそのファイルの編集ノウハウがたくさん転がっていますが,GRUB2採用のUbuntu9.10にはそんなファイルありません。とっとと忘れましょう。
udzura@ubuntu-vaio:~$ ls /boot/grub/menu.lst ls: /boot/grub/menu.lstにアクセスできません: No such file or directory udzura@ubuntu-vaio:~$
Windowsを入れているPCに,デュアルブート構成でUbuntuその他Linuxを入れると、「Ubuntu, Linux 2.6.31-19-generic」とかそういうエントリーが上のほうにきて,デフォルトでブート(ほっといてブート)するのもLinuxになります。 /boot/grub/menu.lst はもういないので,この順序を変えるにはどうすればいいの???
大丈夫! 実は簡単なんです。 /etc/grub.d と言うディレクトリをご覧ください
udzura@ubuntu-vaio:~$ ls /etc/grub.d 00_header 10_linux 30_os-prober README 05_debian_theme 20_memtest86+ 40_custom udzura@ubuntu-vaio:~$
そう,実はこの順番でメニューが表示されるのです。10のlinux、20のmemtest、そしてやっと30のその他OS,と言う風に……
その他OSたるWindowsを上に持ち上げるには,30になってるos-proberを05より大きく10より小さい数に mv(1) すれば良いと思います。07とかいいんじゃないでしょうか。
1 | sudo mv /etc/grub.d/30_os-prober /etc/grub.d/07_os-prober |
そして、
1 | sudo update-grub |
udzura@ubuntu-vaio:~$ sudo update-grub [sudo] password for udzura: Generating grub.cfg ... Found Windows Vista (loader) on /dev/sda1 Found Windows Vista (loader) on /dev/sda2 Found linux image: /boot/vmlinuz-2.6.31-19-generic Found initrd image: /boot/initrd.img-2.6.31-19-generic Found linux image: /boot/vmlinuz-2.6.31-17-generic Found initrd image: /boot/initrd.img-2.6.31-17-generic Found linux image: /boot/vmlinuz-2.6.31-16-generic Found initrd image: /boot/initrd.img-2.6.31-16-generic Found linux image: /boot/vmlinuz-2.6.31-15-generic Found initrd image: /boot/initrd.img-2.6.31-15-generic Found linux image: /boot/vmlinuz-2.6.31-14-generic Found initrd image: /boot/initrd.img-2.6.31-14-generic Found memtest86+ image: /boot/memtest86+.bin done udzura@ubuntu-vaio:~$
Windowsが先に認識されたのが分かります。
上記のとおり,update-grub(8)はインストールされているLinuxのカーネルをすべて引っ張り出してしまいます。なので、アップデートが為されるたびにエントリーが追加されていきます。
でも、正直行って最新のカーネルしか使いませんよね。。
実はupdate-grub(8)は、 /boot/grub/grub.cfg を生成しているだけに過ぎないのです。なので、最悪、直接いじってしまえばいいのです。
ここで要注意なのは,/boot/grub/grub.cfg はrootを含む全ユーザに対してしてリードオンリー属性なので,いったん chmod(1) してあげないと,編集しても保存できなかったりとか何かと都合が悪いという事です。
1 2 3 | sudo chmod u+w /boot/grub/grub.cfg sudo gedit /boot/grub/grub.cfg sudo chmod u-w /boot/grub/grub.cfg |
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
......
}
↑のカギカッコの塊を好きなだけ消しちゃいましょう(※ 消しすぎると起動できなくなります!)。
以上,実施した結果は無保証ですが。。お役に立てば何より。
以下のようなモデルがあります(適当に考えたんですが、SNS的な何かを想定してみましょう)。
1 2 3 4 5 6 7 8 9 10 11 12 | class Post < ActiveRecord::Base belongs_to :member end class Member < ActiveRecord::Base belongs_to :job has_many :posts end class Job < ActiveRecord::Base has_many :members end |
「日付が2010年2月6日で、かつ書いた人の職業名が”Engineer”の人の日記一覧を抽出したい」んですけど、どうしましょう。なお、date属性はPostクラスに、job_name属性はJobクラスにくっついています。
なので、以下では全然ダメです。
1 2 3 4 5 6 | Post.find(:all, :conditions => { :date => Date.new(2010, 2, 6), :job_name => "Engineer" }, :include => {:member => :job}) |
SQL (0.2ms) SET NAMES 'utf8'
SQL (0.6ms) SET SQL_AUTO_IS_NULL=0
Post Load (0.0ms) Mysql::Error: Unknown column 'posts.job_name' in 'where clause': SELECT * FROM `posts` WHERE (`posts`.`date` = '2010-01-31' AND `posts`.`job_name` = 'Engineer')
You are currently browsing the archives for 2月, 2010
Arclite theme by digitalnature | powered by WordPress