2006-10-01から1ヶ月間の記事一覧

fieldWithErrors

正常系の開発はちゃくちゃくと進んでいる。グループ機能以外は大体実装完了で、今は細かい所を詰めている感じだ。(あ、あと自動テスト機能が未実装だ…) しかし、異常系でちょっとはまっている。入力エラーが出たtextareaはというタグで囲われるのだけれど…

Texモードとuim.elの相性が悪い

Texモードで数式を入力していると、上つき文字が実際にちょっと上に表示されるのだが、uim.elを使って日本語を入力している最中はこのちょっと上にある文字が下に降りてくる。(たぶん、候補表示のためにuim.elが頑張ってるのだと思う。)そのせいで、日本語…

なぜ/reports/new/issue_idはキモいのか

レポートの生成のために問題IDが必要であるのは、設計としてはまったく問題ない。それでも/reports/new/issue_idという形には違和感を覚える。newだけを見ているとこの違和感がどこから湧き出すのかよくわからないけど、/reports/edit/issue_idとはならない…

Re: FKのURL上の扱い

なるほど。外部キーをURL上でどう表現するのか、という問題として考えると、ありがちな問題として捉えられますね。外部キーという概念が頭の中に浮かんでませんでした。 で、結局、/reports/new/issue_idはなんだかキモすぎるので、/reports/new?issue_id=1…

login_engine

user_engineが悪さをするのか、普通に動かなくなってしまったので作り直し。泣きそう。 login_engineを導入したら、signupはできるものの、ログインが出来ない。もう一度READMEを見直すと、./app/controllers/application.rbに require 'login_engine' の1行…

rake migrate

データベースの構成を変更するのに00x_create_fugahoge.rbみたいなのを書くのがダルい。self.upさえ書けばself.downは書かなくても自動でなんとかできそうなもんだけど、複雑な例になってくるとそうもいかないのかなぁ。 ./script/generate migration Create…

FlashPlayer9 for Linux beta

出たらしい。早速入れてみた。infobar2のページが見られるようになったが、それ以外の差異は今のところよくわからない。パフォーマンスとか変わるのだろうか?(追記):音楽聴きながらFlash側でも同時に音が出せるようになってる。ALSA使うようになったんだっ…

user_engine

朝からRailsで開発をしているのだが、なにかとすぐにはまる。そろそろ疲れてきた。以下、はまった点。 MySQLだと日本語が化ける。これは有名な問題らしい。回避策も試してみたけどなんかうまくいかんかった。どこに見落としがあるのか調べるのも疲れたし、本…

結局の所CRUDがよくわかってないという事かしら

問題をissue、解答をreportとして、それぞれissuesテーブルとreportsテーブルに登録することにした。reportを作成するためにはそれがどの問題に対する解答であるのかを示すために、issueのidを知る必要がある。しかし、それをどうやってアドレスで表現したら…

第一回Scheme演習の反省点

学生の方を見ている余裕がなかった。 前でコードを書くと学生もそれを真似してくれるのだけれど、それをどこまで待てば良いのかよくわからず、テンポが悪くなってしまった。次はゆっくりと打ち込んで10秒ほど待つ、という感じで進めてゆきたい。 関数の説明…

寝た

日曜の夜から水曜の朝まで10時間ぐらいしか寝なかった。ひよわな体をしているので、そろそろ限界。というわけで、今日は14時間も昼寝した。昼寝というか、起きたら22時過ぎだったよ…。

Mozilla2

Mozilla2に関する予定がポストされている。その記事によると、 JITコンパイル機能つきのJavaScript用VMの導入(今のFirefoxはインタプリタだったよね?) 保守的なインクリメンタルGCの導入(の検討) APIの非互換な変更 などが予定に上がっている。他に「Op…

Port your code around the world with m17n

m17n-libがIBMのdeveloperWorksで紹介されている。

毎日書けるプログラムの分量

私が一日で書けるプログラムの量はせいぜい100行ちょっとのようだ。実際にはもっと書いてるんだけど、一日の初めと終わりでdiffを取るとそれぐらいしか成果としては残らない。バグで悩むと一日3行とかになる日もある。なんというか、生産性が低い…。

psort.scm

quickselectを使った部分ソートを実装してみた。細部を真剣に検討していない(する前に力尽きた)ので、もうちょっとテストしてみないと、自分でも使う気になれないが、概ね動いている模様。http://xem.jp/~tkng/code/に置いといた。 関数型言語?と思わず疑…

quickselectの平均計算量は本当にnなのか?

そもそもpartitionを1回するだけで計算量はnかかるんじゃない?quickselectってほんとにそんなに計算量少ないの?疑問が湧いてきたので確かめてみる。 配列サイズをnとして、partitionの計算量はn-1だ。では、partitionをかけるべき配列サイズはどのように小…

部分ソート(3)

実際の応用では、上記の(1),(2)の方法で十分な事が多いと思われる。しかしまぁ、他の方法も見てみよう。 3つ目の方法は、quickselectを使う方法である。quickselectは、配列のk番目の要素を少ないコストで見付けるアルゴリズムだ。配列のk番目を見付けたけれ…

部分ソート(2)

実は、libstdc++のpartial_sort(破壊的操作を行う方)は、部分ソート(1)で紹介したようなアルゴリズムにはなっていなかった。次の様になっている。 先頭のm個の要素を使ってヒープを作る。そこから最後までは、ヒープの最初の要素(つまりルート)と配列の一…

部分ソート(1)

まず、n個の配列をヒープとしてソートする。これは計算コストはnだ。次に、ヒープから最小のm個を取ってくる。popはlog nの操作なので、構築nとm回のlog nによる抽出で、計算量はn + m log nになる。これが伝統的なC++のSTLのpartial_sortのアルゴリズムらし…

部分ソート(0)

長さがnであるような配列があったとしよう。そこから、上位m個の要素を取ってくる、という問題を考えたい。言い替えると、配列の中で上位のm個だけはソートされていることを保証してほしい、ということになる。(残りの要素はソートされていようがいまいが関…

独自の拡張

構文キーワードは変数ではない。(実装上は変数でも良いだろうが、仕様書上の概念的には。)では変数は構文キーワードとなれるのか?これは場合による。実装依存の部分が大きい。Gaucheの場合は、式のコンパイル時に既にどの構文キーワードに束縛されている…

Mudar,起動プロセスの高速化

PardusというDistributionで、これまでのsysv initを使ったまま起動を高速化しましたよ、という話。起動スクリプトを全部Pythonで書き換えましたよ!並列化もinitでやるんじゃなくて起動スクリプトでやりましたよ!と書いてある。起動スクリプトを書き直すの…

述語に関するひとくさり

前期の講義でこんな話があったなー、というのを思い出したので書いてみる。Common Lispの仕様書より抜粋。適当に日本語に訳した。 命名規則として、述語の名前はpで終わるべきであるとする。(pはpredicateに由来する。)Common Lispは述語の名前のハイフネ…

Open vs. closed driver performance

ATIのR300チップのオープンなドライバとクローズドなドライバの性能比較。結果としては、Windowsのドライバに負けるクローズドなドライバに負けるオープンなドライバ、という性能。見た目もクローズドなドライバの方が明らかに良いらしい。オープンなドライ…

わかった!

資料を読んだことで、()は関数適用の形である、と考えてしまった事が目を曇らせていた。()はあくまでもリストであり、リストを評価することがLispにおけるプログラムの実行である。3年前から理解していたことなのに、すぐにわからなくなってしまう。頭が悪い…

マクロと構文

define-syntaxは構文を定義しているのだろうか?そもそも、構文ってなんだろう?引数を評価しなかったりするかもしれない何か、という解釈は正しくないような気がする。 Scheme入門では、フォームを「式とみなされるデータ」とし、ifやdefineなどは「特殊な…

migemo

sと入力すると「Regular expression too big」と返ってくる。がーん。

physical-line-mode

前にも書いたっけ?なんか、最近動作がおかしい。Emacs22になってからのような気がする。どっかで非互換な変更があったんだろうなぁ…。

寝坊

今日は輪講をスルーしてしまうところだった。(一時間ぐらい遅刻してしまった。)目覚しをスルーする力が…とか言ってごまかしてる場合じゃないな、これは。

Scheme入門

Scheme演習のために、Scheme入門という本を図書室から借りてきた。ざっと眺めたところ、マクロは言語仕様として定義されていない、と書いてある。R4RS?もしかしてR3RS?