なんとなく日記

Everyday studying...

MySQLのチューニングには必須の本でしょうか

2nd Editionが出るというので,1st Editionの日本語訳は買うのやめてみました.あといまさらですが勉強会用に(ぉぃ. High Performance MySQL 著者: Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy D. Zawodny, Arjen Lentz 出版日: 2008-06 出版社/メーカー: Oreilly & Associates Inc カテゴリ: Book RESTful Webサービス 著者: Leonard Richardson, Sam Ruby 出版日: 2007-12-21 出版社/メーカー: オライリー・ジャパン カテゴリ: Book Railsレシピブック 183の技 著者: 高橋 征義, 諸橋 恭介 出版日: 2008-05-31 出版社/メーカー: ソフトバンククリエイティブ カテゴリ: Book 月刊 アフタヌーン 2008年 07月号 [雑誌] 著者: 出版日: 2008-05-24

1000Speakers#5に参加してきた

ちょっと怖々だったんですが,何とか参加してきました(ぉぃ.ひとまずログっぽいなにかを. ==== ##iKnow OpenIDに対応しているのは初めて知りました. 出題の順序などは脳科学に基づいている 瞬間記憶とかいうあれかな? コースやリストにいろんなものがある SF Vocabulary なんてのがある 懇親会で Rails プログラマのための英単語 なんてのもあるのを聞きました. SNS自体が,学習の動機付けの元になっている. 日本語学習サイトを作って,英語を学びたい日本人 <-> 日本語を学びたい英語圏の人のコラボレーションを実現したい. ##HTMLと漢字 異体字の話. lang 属性なんてあんまり知らなかったけど,UTF-8だけでは字体まで再現しない. デモしれもらったけど,結構違うもんだな. ##組み込み系開発 処理時間とリソースにかなりの制限があるのは,組み込み系の常なのか. パイプライン処理というより,並列処理,さらにいうと分散並列に近い考えかな? ##Don’t forget Cygwin 昔使いました.いまは会社も自宅もLinuxなので・・・・ 結論は「Mac 買えばいいんじゃね?」? ##WindowsMobile 用アプリケーションのお話 MZ3.iの人でした.フリーソフトウェア作者に会うのは初めてなので,ちょっと感動. いつのまにか Twitter に対応.これ使うべし. ##DoCoMo と Twitter と Cookie と 「にゃー」の人?誰か説明を・・・・ Cookie Proxyなのかな.これは良いアイデアではないでしょうか. 何かに応用できそう. ##Wii で Greasemonky を使う方法

全てのモデルにbefore_findを追加するには#2(find_by_*)

Model.find_by_name などでも before_find したい場合には, class Human < ActiveRecord::Base self.abstract_class = true class << self def find(*params) puts "before_find" super end def method_missing(method_id, *arguments) if match = /^find_(all_by|by)_([_a-zA-Z]\w*)$/.match(method_id.to_s) # find_* なので before_find 範疇 puts "Human.before_find_by_*" end super end end end class Person < Human end などとする.これもちょっと強引だなぁ.

全てのモデルに before_find を追加するには

下記のようなに,抽象モデルを上位に作り,それを継承する感じにする. class Human < ActiveRecord::Base self.abstract_class = true class << self def find(*params) puts "before_find" super end end end class Person < Human end すると, >> Person.find(:all) before_find => [#<Person id: 1.... などとなる.データベース実体のない抽象モデルを作ることで,ActiveRecordに手を加えなくともテーブル分割や分散データベース処理などできそうです.

Rails勉強会@東京第30回に参加してきた#2

さて続きを.と言うか,松田さんのPPで十分な気がしますが,とりあえずログを. ===== ##Rails 2.1の新機能 一番の目玉は named_scope ですね.これはかなり便利だ. ###イントロ Rails関係の情報源の紹介 松田さんのポジションペーパーを見る has_one :through 今までできなかったのか.あんまり使うことないような気もしますが,なきゃないで困るか. named_scope 後でも書きますが,SQLの合成がかなり良いな. ###Rails 2.1を使ってみよう インストール 方法としては, freeze piston (git に対応したら) git clone 今回は git clone する. $ rails edge-git $ cd edge-git/vender/ $ git clone git://github.com/rails/rails.git $ ls rake tasks 前回参照 script/dbconsole database.ymlを見なくても,指定された environment の Database に接続してくれる.勝手に接続してくれるのは便利だな.いちいち「あれ?MySQLだっけ?」とか考えなくてもいいのは(ただ,それは忘れないだろうから,Username/Passwordの省入力化かな). Model.create に block が渡せる Rubyっぽいくていいらしいが,ちょっと使いどころが見えない.... Model.

Rails勉強会@東京第30回に参加してきた#まとめ

まとめと感想をば. ##まとめ script/console で再読込できるとは知らなかった.これでかなり作業効率あがるかな. Rails 2.1では変わってるところが多いので,2.0だけじゃなくて,ちゃんと追っておかないといかんぽい. メール受信に関しては,やはり Rails 起動が遅いという見解 by Yuguiさん. 確かに遅い.そして BackgrouDRb か.舞波さんも言うてたし,やっぱこの手法なんだろうか. druby をキャッシュに使うのはいいかもしれない. daemontools でプロセス管理させてみるのもいいかな. その場合は「druby に存在しない場合は読み込みに行き,存在すればその値を採用する」となるか. ##業務連絡(?) 次回は6/20で場所は筑波 RubyKaigi2008内で 通常の勉強会はなし ただし自発的に集まるのは良いんじゃないだろうか的な. 7月は7/20に ##反省点と次に向けて 名札忘れないように.YAPC のを再利用しよう.と言うか,鞄入れっぱなしにしておこう.... 重くともACアダプター持ってこう.RubyKaigiは時間長いから必須かな. もう少し積極的に発言などしていこう.受け身だけじゃ自分のためにならんな.

Railsのscript/consoleで便利な技(?)

まあ知らなかっただけなのですが....今日のRails勉強会で知った便利な技のログを. ##変更の再ロード >> reload! なんだこれだけでよかったのかorz.ずっと再起動してたよ.... ##consoleにログをだす >> ActiveRecord::Base.logger = Logger.new($stderr) これで一つのterminalで実行>結果表示までできて便利そうだった.

Rails勉強会@東京第30回に参加してきた#1

いつものように,まとめログを. ##セッション一覧 前半 scaffold 半歩先へ Redmine & git/github & ActiveRecord without Rails <- ここに参加 OpenID 後半 Rails 2.1の新機能 <- ここに参加 Agile Web Development with Rails 3rd editionを読んでみる Passenger(mod_rails) ##Redmine & git/github & ActiveRecord without Rails ###git 分散バージョン管理システム offline でも commit や log を見ることができるのが便利 merge が便利 やってみる(Yuguiさんが開発中のRedmine for ruby-langを元に) githubから持ってくる % git clone git://github.com/yugui/redmine4ruby-lang.git branchを見る % git branch * master - master が trunk にあたるものだが,名称は慣習的なもの .

YAPC 2008 Asiaの収穫

ざっとまとめてみる. ##本買った 10%オフに負けたorz. プログラミングGauche 著者: Kahuaプロジェクト 出版日: 2008-03-14 出版社/メーカー: オライリージャパン カテゴリ: Book 詳説 正規表現 第3版 著者: Jeffrey E.F. Friedl 出版日: 2008-04-26 出版社/メーカー: オライリージャパン カテゴリ: Book Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術 著者: Brian Marick 出版日: 2008-02-23 出版社/メーカー: オライリー・ジャパン カテゴリ: Book ##絵文字関係 TypeCastやMobaSiFなどEncode::JP::Mobileとか独自実装とか,その手法などわかったのは収穫でした.あとはソース読むかな. ##バックエンド関係 O/Rマッパーにいろいろと,キャッシュ周りについての話題を聞いてきましたが,モバゲーがmemcashed使ってないってのは,ある意味新鮮でした.チャットっぽいことにキャッシュ使っても意味ないと言うことでしょうかね. あとPatitioningを自動的にやってくれるとか透過キャッシュとか,O/Rマッパーにもいろいろありますね.ActiveRecord上ではどうするのかを調べてないといけないな. ##某Danを見た リアルでは初めて見ました. ##まとめ Perlも一回勉強し直さないといかんな.