2005-11-03(Thu) [長年日記] この日を編集
_ [rails]FastCGI+SQLite3+Pagination on Windows
前述の業務データを突っ込んだSQLiteをscaffoldするだけのRailsアプリをFastCGIで動かしてみてもやっぱり遅いので追求してみました。Pagination内で1)全件数を取得 2)LIMIT,OFFSETを使っての検索が2回発生しますが、1)の全件数取得にやはり時間がかかった模様。主キーにindexもはってみたんですけど変わらず。実際にはmodel.countが呼び出されるので、モデル側で適当に数値を返すcountメソッドを書いてみたら、満足する速度になりました。
LIMIT,OFFSETを使った検索も、
select * from Table offset 10000 limit 30;
とかだと問題ないですが、
select * from Table offset 300000 limit 30;
くらいになってくるとちょっと微妙な感じ。
そもそもSQLiteに大量にデータ入れること自体がナンセンス、という向きもあろうとは思いますが、大量データだからこそ、薄いガワでラップできれば便利なんじゃないかなー、と思います。
つーか、大量データっつっても非圧縮で100M程度しかないわけで、DVDイメージですら4G、HDDも数十G、メインメモリも512M-1Gの時代なのにこれくらいがさくさく処理できないってのはなんなんでしょうね。なんか距離感が狂うな。もしかしたら、Unix系だと爆速なのかもしれませぬ。
2005-11-06(Sun) [長年日記] この日を編集
_ Vimに戻す
ここしばらくxyzzyを使っていましたが、やっぱりvimの操作が忘れられずにvimに戻ってみました。
今度は指がxyzzy風になってしまって困ってます。ファイルを複数扱うときにvimってカレントディレクトリをバッファ毎に設定しないみたいだから、:n で開くときに選択がめんどい。
たとえば、カレントディレクトリをrailsルートにしてて、app/controller/hoge_controller.rb を編集中に app/model/hoge.rb も編集、みたいなとき。なにかきっと技があるんだとは思うんだけど...。
結局両方併用になっていたりして。
_ せっかくお誘いいただいたのに...
babieさんからお誘い( ゜∀)キタ!!( ゜∀゜ )キタ━━━━。
でも前日の木金が東京出張で、金曜日に戻ってくるかまだ不明なんですよねー。泊まりになるかもしれないしタイミングが悪いなあ(´・ω・`)
とりあえずWikiには次回参加表明をしておきました! 。
そういえば、次回のRuby勉強会の前日も東京になりそうなんだった!どどどどうしよう...。
_ ガンダムMK2ver2.0できたー。
少しずつ作ってきましたが、やっとこさ一通り組み立て完了。初めてガンダムマーカーでスミイレしてみましたが、慣れるといい感じに見えてくるから不思議。白地にグレーでスミイレするときは、湿らせた綿棒で拭き取るといいようです。乾いたやつだと、青色成分が白地にのこって汚く見える。
あとは、つや消しクリアを買ってきて吹くくらいかしら。今回はそこまでやってみよう。
これでうまくいったら、次は MG 1/100 MSZ-006 ゼータガンダム Ver.2.0 (機動戦士Zガンダム)Z ver2.0か、 MG 1/100 MSA-0011 Sガンダム (ガンダム・センチネル)Sガンダムか、 MG 1/100 ガンダム Ver.ONE YEAR WAR 0079 (機動戦士ガンダム)ガンダムver.ONE YEAR WAR 0079 あたりを作ってみたい。すっかりスミイレ好きになってしまったので、モールドが結構多いやつがいいかも。
そうそう、リアルタッチマーカーセットのグレーとか、スミイレのブラックとかでゲートが白くなった部分をごまかせるのね。だんだん面倒になって、ニッパーで切断後、アートナイフかペーパーで削って、マーカーで処理しちゃった。でも赤い部品には、リアルタッチの赤だと帰って目立ちそうなんで、ガンダムマーカー赤を入手しようかしら。
2005-11-08(Tue) [長年日記] この日を編集
_ Rails勉強会@大阪0回
ふとみると、定員が倍になってるじゃないかっ。うぉぉぉ、行きたいっ。まだ定員には空きがあるし...でも打ち合わせが終わるかどうかわかんないし...。ええいっ。ままよっ。
というわけで打ち合わせは強い勇気を持ってとっとと終わらせようということでこそこそと参加にしました。よろしこ。
最悪土曜日に帰ってきても新大阪から直行するという手もあるし( ̄ー ̄)ニヤリ
2005-11-09(Wed) [長年日記] この日を編集
_ 明日から出張
なので、ポジションペーパーのネタを考えておかなくては。ふつーどんなの書くんだろ?土曜日に出かける前に20枚印刷っと。
_ 人物認識
前回のRuby勉強会@京都で後ろから2番目、babieさんの前、高橋会長の斜め前に座っていたのが私です。借り物のLANケーブルを又貸しした挙句に返しておいてくれとのうのうとぬかしおった覚えがあります(こら)。次回ちゃんとご挨拶しますね。
はっ、もし間違っていたらどうしよう。オロオロ。
毎日blogは巡回してから寝てるのに、なんで見落としたんだろーなー。
_ トラバ失敗
うわーん、自前サイト以外に初トラバしてみたかったのにエラーになっちゃった...(>_<)。もう寝る。
2005-11-17(Thu) [長年日記] この日を編集
_ AjaxでTodoList
てめえのOutlookのTaskの中にいれっぱなしのTaskで、「TodoListほしい」というのがあって、できればajaxでできたらかっちょいいのになーとか思ってたら作例キタ━━━(゜∀゜)━( ゜∀)━( ゜)━( )━( )━(゜ )━(∀゜ )━(゜∀゜)━━━!!
というわけで明日SD即買いです。
_ mingw32ruby1.8.2+ruby-oci8(1.8.3bin配布)+rails+WebrickだとSegmentation Faultでお亡くなりになる件について。
てめえのPCにゃVS6.0がはいってんじゃん!ということに今日突然気づき、自前コンパイルしてみたらあっさり動いた。今まで悩んでたのはいったひ...以下構成
- mswin32ruby1.8.3(ftp.ruby-lang.orgから)
- oracle client 9iR1
- ruby-oci8 0.1.13
- rails 0.14.3+Webrick
- iconv(kaoriyaさんから)
なんで自前コンパイルしてみる、に気づかなかったんだろう?
あと、mswin32rubyが添付ライブラリも含めてコンパイルできるようになりたい。自前コンパイルだとzlibがなくて、rubygemsがこけちった。
_ rails+oracleで書いてみた。
デバッグ用にと思って、v$sessionとかv$sqlareaを表示するのを書いてみようと思ったら、column名がとれなかった。見てみたら、oci_adapter.rbに、
select column_name, data_type, data_default, nullable, case when data_type = 'NUMBER' then data_precision when data_type = 'VARCHAR2' then data_length else null end as length, case when data_type = 'NUMBER' then data_scale else null end as scale from all_catalog cat, all_synonyms syn, all_tab_columns col where cat.owner = #{owner} and cat.table_name = #{table} and syn.owner (+)= cat.owner and syn.synonym_name (+)= cat.table_name and col.owner = nvl(syn.table_owner, cat.owner) and col.table_name = nvl(syn.table_name, cat.table_name)
なコードを発見。これだとv$系は使えないよねー。値は帰ってくるけど、colmunsでとれないっていうか。インスタンスのカラム名をメソッドとして利用するのはできた。
それと、これ何回も呼び出されるみたいだから、ownerとtable_nameのところは文字列埋め込みじゃなくて、PreparedStatementキボン。
_ ActiveRecordでouterjoinしたいときってどうするの?
- find_by_sqlで書くのかな?
- Modelを複数作って別々に呼び出すのかな?
- あるいはViewでやっちゃえ、なのかな?
うーん...。たとえばs2daoとかならどうなんだろう?
_ なかだ [msvcrtのDLLが一致してるか確認。]
2005-11-21(Mon) [長年日記] この日を編集
_ (´・ω・`)ショボーン
今週金曜日はマジカのセミナーに(出張扱いで!)行けることになったので喜んでいたら、Rails読書会@神戸が同じ日の夕方からあるらしい。なんてこった。すんません。次回から参加ということで。つーかメールの環境がまともになってないので、こんなところで書いてみたりして。はやくMLはいんないとなー。MLアーカイブはチェックしてるんですが。
今体力がそうとう落ちている(のを自覚したところな)ので、出張明けは無理をせず、土曜日の勉強会も欠席のつもり。
2005-11-23(Wed) [長年日記] この日を編集
_ [rails]SD 2005/12 の作例の写経
まずは masui さんのほうから。といっても単にやるだけじゃ面白くないので以下の方法を混ぜ混ぜ。
svn head の rails を使う。
gem install rails はやっておく。別に svn co http://dev.rubyonrails.org/svn/rails/trunk で入手しておいて、vendor/rails に配置するだけ。楽チン。
active_heart 導入
http://svn.rails2u.com/public/plugins/trunk を svn co して(ってもTortoiseSVNだから楽チン) active_heart をフォルダ丸ごと vendor/plugin にコピー。これだけでvalidate系メッセージが日本語が出る!すげー。
migrate積極利用
svn head だと sqlite3でもmigrateがサポートされてるのでガシガシ使う。こんな感じ。
> vi config\database.yml > ruby script\generate migration InitialSchema > vi db\migrate\001_initial_schema.rb # ここで items テーブル作成 > rake migrate > ... > ruby script\generate migration AddUsers > vi db\migrate\002_add_users.rb # users テーブル追加 > rake migrate > ... > ruby script\generate migration ForignKeys > vi db\migrate\003_forign_key.rb # items に user_id を追加する > rake migrate
migration の後の引数がクラス名とファイル名の基礎になるわけね。
migrateは便利だけど、たまに追加したフィールドを認識しないときがあり、WEBrickを再起動する必要があるみたい。いや、DBいじったら再起動なんじゃなかろうか。ふつー。database.yml も再起動必要だし。
今回から、ruby は再び ActiveScriptRubyでいこうかと。mingwだと、gemでいれたコマンドが *.cmd を作ってくれなかったりするけど、mswin32だと rake.cmd とか rails.cmd とかつくってくれて便利だし。今はVS60が使えるので拡張ライブラリコンパイルもありだし。
これで masui さんのは大体終えた。次は gorou さんの ajax todo 作例にとりかかろうかと。それがおわったら svn head で depot アプリに挑戦。
2005-11-25(Fri) [長年日記] この日を編集
_ 業務改善セミナー
に出席してきました。前半のABC,ABM,ABBといったところはついてくだけでいっぱいいっぱいだったが、生々しさだけはよく伝わった。やっぱキーワードだけ知ってるだけでは実務ではつらいか。あとでもう一度資料を読み返してみよう。
後半のマジカはおしごとパズル初登場(たぶん)ということでとても興味深かった。つーか、スーツ姿のはぶさん、はじめて見たw。でも内容はばっちりはぶ節炸裂!という感じ。とにかく一度会社でやってみたい。
セミナー最後に壇の後ろのカーテンが開いて夜景がよくみえた。さすが26階は違うね。とてもきれーだった...。
2005-11-28(Mon) [長年日記] この日を編集
_ ホワイトシート?
コクヨのホワイトボード(A4)を使っているのだけれど、
- マーカーのノリが悪いのか書き味がいまいち
- イレーサーで消えないので、ティッシュでごしごし拭いて消してる。紙がもったいない。
となやんでおりましたが、先日の出張の際に材料を入手して、今日工作しました。材料は以下のとおり。
- サクラクレパスワンタッチ白板 FN3045 A3くらいの。
- スリーブ(?)っての?A4くらいで横としたがとじられててちょっとした書類をはさむやつ。
スリーブ(?)の下を切ってA3にしたら、ワンタッチ白板をぺったり貼り付ける。ちょっとはみ出させておいて、まわりを切って仕上げるときれいにできる。
これでホワイトボードならぬホワイトシートのできあがり。A3サイズでマーカーもよく乗るし、イレーサーでさっと消せるのが( ・∀・)イイ!。まるめることもできるし。
つーか、こういう商品を最初から作ってくれればいいんだけどなー。ホワイトボード=壁掛けで堅いの、という発想自体がちょっと堅いんじゃない?などとほざいてみる。
つーか、サクラクレパスは自社製品なんだから http://www.craypas.com/seihin/wb/wb.html にのせてクレヨン。googleで検索してひっかからないとはなさけなや。
あと、磁石タイプのものもあるみたいなので、机にがっちり固定したい向きはそっちのほうがいいかも。工作しないで住むし。でもちと重い。
_ babie [いやぁ、失礼。間違いないですよ。高橋さんを間違ってたらアレですが(笑)。 ポジションペーパーは普通ウケ狙いのネタを書..]
_ moriq [そ、そうなのか>普通ウケ狙い]