From masao @ ulis.ac.jp Fri May 23 19:48:35 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Fri, 23 May 2003 19:48:35 JST Subject: [Mobo-dev] navi changes Message-ID: <030523194835.M0104276@nile.ulis.ac.jp> どうも、たかくと申します。 # MLの初記事だと思うので、まずは自己紹介です。 先日、かずひこさんに共同開発者にならないかと誘われまして、 勉強がてら、MoBo を色々といじってみようと思っています。 当方は、元々 Perl 使いでして、Ruby歴は半年ほどしかないので、 おかしなコードを書いていたら指摘していただけると嬉しいです。 以下、本題です。 「編集」以外の画面では「一覧」は不要ではないかと感じたので、 navi の表示方式をちょっといじってみました。 以下のように、各モード毎に navi の表示内容を変えるような変更を加えました。 # tDiaryの実装から色々借用しました。:-) ・通常モード(一ヶ月毎): [トップ] <<前月 最新 翌月>> 集計 編集 設定 ・編集モード: [トップ] 最新 集計 一覧 編集 設定 ・設定モード: [トップ] 最新 集計 設定 ・年間集計モード: [トップ] 最新 集計 設定 いかがでしょうか。 ついでに、 この変更で、前月・翌月へのリンクを生成するようにしたので、 calendar の方は、登録データのある月のみをリンクするように 変更しようかと思ってます。 以上です。よろしくお願いします。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Fri May 23 21:09:35 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 23 May 2003 21:09:35 +0900 Subject: [Mobo-dev] navi changes In-Reply-To: <030523194835.M0104276@nile.ulis.ac.jp> References: <030523194835.M0104276@nile.ulis.ac.jp> Message-ID: かずひこです。 どうぞよろしくお願いします (とは言ってもまだ参加者は二人...)。 At Fri, 23 May 2003 19:48:35 JST, Masao Takaku wrote: > 「編集」以外の画面では「一覧」は不要ではないかと感じたので、 > navi の表示方式をちょっといじってみました。 そうですね、そのあたりは気になっていたところでした。さて、せっかくモード 別に navi の挙動を変えるのなら、というわけで気になったことを書いてみます。 > ・通常モード(一ヶ月毎): > [トップ] <<前月 最新 翌月>> 集計 編集 設定 tDiary にならうなら、表示されているのが「今月」なら、「最新」リンクは不 要ですね。 > ・編集モード: > [トップ] 最新 集計 一覧 編集 設定 「編集」は不要でしょう。「一覧」というのが、要するに編集モードの脱出 (つ まりキャンセル) なわけですが、他にいい語があれば置き換えたいなあ。 > ・設定モード: > [トップ] 最新 集計 設定 「集計」は、いるかなぁ。 > ・年間集計モード: > [トップ] 最新 集計 設定 「集計」は不要でしょう。 # 自分の実装を棚にあげて好き勝手言ってすみません。m(_ _)m > ついでに、 > この変更で、前月・翌月へのリンクを生成するようにしたので、 > calendar の方は、登録データのある月のみをリンクするように > 変更しようかと思ってます。 そうですね。私も「翌月」リンクを作ったらそうしようと思っていたのでした。 なんか、考えることが同じですね。:p その他 ToDo などは、Wiki の方に思いつくままに書いていき (ます/ましょう)。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Sat May 24 00:28:55 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sat, 24 May 2003 00:28:55 +0900 Subject: [Mobo-dev] navi changes In-Reply-To: References: <030523194835.M0104276@nile.ulis.ac.jp> Message-ID: At Fri, 23 May 2003 21:09:35 +0900, Kazuhiko wrote: > > ・編集モード: > > [トップ] 最新 集計 一覧 編集 設定 > > 「編集」は不要でしょう。 (snip) > > ・年間集計モード: > > [トップ] 最新 集計 設定 > > 「集計」は不要でしょう。 とりあえずこの二つを変更してコミットしました。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Sun May 25 16:23:53 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Sun, 25 May 2003 16:23:53 JST Subject: [Mobo-dev] navi changes In-Reply-To: Your message of "Fri, 23 May 2003 19:48:35 JST". <030523194835.M0104276@nile.ulis.ac.jp> Message-ID: <030525162353.M0110694@nile.ulis.ac.jp> > calendar の方は、登録データのある月のみをリンクするように > 変更しようかと思ってます。 これもコミットしておきました。 ご確認お願いします。 しかし、 どの月にデータがあるかを確認するために、いちいち PStore を読み込んでチェックしないといけないのは、ちょっとアレですね。 やはり、保存ファイルを月単位に変更して、 そのファイルの有無で判断できた方が良いかもしれませんね。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Sun May 25 17:18:36 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sun, 25 May 2003 17:18:36 +0900 Subject: [Mobo-dev] navi changes In-Reply-To: <030525162353.M0110694@nile.ulis.ac.jp> Message-ID: かずひこです。 At Sun, 25 May 2003 16:23:53 JST, Masao Takaku wrote: > > calendar の方は、登録データのある月のみをリンクするように > > 変更しようかと思ってます。 > > これもコミットしておきました。 > ご確認お願いします。 ふむふむ。tDiary のようにデータのある月だけ表示されると思っていたら、01 から 12 まで全て表示した上で、データのある月だけリンクになっているのです ね。最初違和感を感じたけれど、この方がいいかもしれませんね。 > しかし、 > どの月にデータがあるかを確認するために、いちいち > PStore を読み込んでチェックしないといけないのは、ちょっとアレですね。 > > やはり、保存ファイルを月単位に変更して、 > そのファイルの有無で判断できた方が良いかもしれませんね。 もし月単位に PStore ファイルを保存するようにしたとしても、データのない月 を一度でも表示させようとアクセスしたら (例えば前月とか翌月とかで)、その 月の PStore ファイルができてしまうのではないでしょうか。そうなら、ファイ ルの有無ではやはり判断できませんね。 でも、それはそれとして月単位保存の方がいいかな、とは思っています。で、そ のついでにやっぱり日単位で Item クラスを持つように改造しましょうか? 利点: * 日単位で編集を呼び出せるので編集画面の読み込みがかなり速くなる * 簡易日記機能の実装が楽? 欠点: * データ形式が非互換になるので変換スクリプトを書かないといけない... -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Sun May 25 17:59:27 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Sun, 25 May 2003 17:59:27 JST Subject: [Mobo-dev] navi changes In-Reply-To: Your message of "Sun, 25 May 2003 17:18:36 +0900". Message-ID: <030525175927.M0111876@nile.ulis.ac.jp> In , kazuhiko @ fdiary.net wrote: > ふむふむ。tDiary のようにデータのある月だけ表示されると思っていたら、01 > から 12 まで全て表示した上で、データのある月だけリンクになっているのです > ね。最初違和感を感じたけれど、この方がいいかもしれませんね。 はい。chalow の影響で、こちらの方式を良く使います。 # 「chalow風」と(勝手に)呼んでます。:) # → http://nais.to/~yto/tools/chalow/ > もし月単位に PStore ファイルを保存するようにしたとしても、データのない月 > を一度でも表示させようとアクセスしたら (例えば前月とか翌月とかで)、その > 月の PStore ファイルができてしまうのではないでしょうか。そうなら、ファイ > ルの有無ではやはり判断できませんね。 あぁ、確かに…。そう言われてみれば、そうでしたね。 失念してました。 > でも、それはそれとして月単位保存の方がいいかな、とは思っています。で、そ > のついでにやっぱり日単位で Item クラスを持つように改造しましょうか? 同感です。 保存単位の変更などは、今のうちにやっておくのが、楽な気がします。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Mon May 26 00:12:56 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Mon, 26 May 2003 00:12:56 +0900 Subject: [Mobo-dev] navi changes In-Reply-To: <030525175927.M0111876@nile.ulis.ac.jp> Message-ID: かずひこです。 At Sun, 25 May 2003 17:59:27 JST, Masao Takaku wrote: > > でも、それはそれとして月単位保存の方がいいかな、とは思っています。で、そ > > のついでにやっぱり日単位で Item クラスを持つように改造しましょうか? > > 同感です。 > 保存単位の変更などは、今のうちにやっておくのが、楽な気がします。 ではそうしましょう。 ・PStore の保存単位は月単位 (200305 のようなファイル名) ・Item インスタンスは Daily クラスに入る (Diary インスタンスも今後入るか も) ・Daily インスタンスは Monthly クラスに入る という感じかな。 あと、いろんな total 系のメソッドがうじゃうじゃありますが、これもすっき りまとめたいところですね。 Month::total( 'account' => 'か財布', 'genre' => 'i:給与', ... ) みたいな呼び出しで、ハッシュのキーに検索キー、ハッシュの中身に正規表現を 入れるようにすれば、あらゆる total 系を一つにまとめられるのかな。同様な each 系メソッドを定義すれば、検索もそれで実装できそうかな。 さて、かなり大改造になりそうですね。作業分担するとしたら、どんな感じがよ ろしいでしょうか? ご意見お聞かせください。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Mon May 26 00:56:10 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Mon, 26 May 2003 00:56:10 +0900 Subject: [Mobo-dev] navi changes In-Reply-To: References: <030525175927.M0111876@nile.ulis.ac.jp> Message-ID: かずひこです。 At Mon, 26 May 2003 00:12:56 +0900, Kazuhiko wrote: > Month::total( 'account' => 'か財布', 'genre' => 'i:給与', ... ) > > みたいな呼び出しで、ハッシュのキーに検索キー、ハッシュの中身に正規表現を > 入れるようにすれば、あらゆる total 系を一つにまとめられるのかな。同様な > each 系メソッドを定義すれば、検索もそれで実装できそうかな。 def Monthly::total( *arg ) にして、 Monthly::total( account, genre ) \ { |account, genre| account == 'か財布' && genre == 'i:給与' } みたいな使い方でもよさそうですね。 まずは既存のデータ形式のまま、このあたりの整理をやってしまおうと思います。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Tue May 27 12:43:20 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Tue, 27 May 2003 12:43:20 JST Subject: [Mobo-dev] navi changes In-Reply-To: Your message of "Mon, 26 May 2003 00:12:56 +0900". Message-ID: <030527124320.M0101155@nile.ulis.ac.jp> たかくです。 In , kazuhiko @ fdiary.net wrote: > ・PStore の保存単位は月単位 (200305 のようなファイル名) > ・Item インスタンスは Daily クラスに入る (Diary インスタンスも今後入るか > も) > ・Daily インスタンスは Monthly クラスに入る > という感じかな。 了解です。 > さて、かなり大改造になりそうですね。作業分担するとしたら、どんな感じがよ > ろしいでしょうか? ご意見お聞かせください。 そうですね。 簡単に直せそうなところから少しずつ修正していくのが良いですかね…。 ここらへんの分担の仕方は、正直僕も経験がないのでよく分かりませんが、 何かお手伝いできそうな点があったら、まずは振っていただければと思います。 In , kazuhiko @ fdiary.net wrote: > まずは既存のデータ形式のまま、このあたりの整理をやってしまおうと思います。 了解です。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Wed May 28 17:55:11 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Wed, 28 May 2003 17:55:11 +0900 Subject: [Mobo-dev] navi changes In-Reply-To: <030527124320.M0101155@nile.ulis.ac.jp> Message-ID: かずひこです。 まず、けっこう大きな変更なので、データをバックアップとるなり、試験的に別 の家計簿を作ってみるなりしてから今日の cvs 更新版をおためしください。 At Mon, 26 May 2003 00:12:56 +0900, Kazuhiko wrote: > Month::total( 'account' => 'か財布', 'genre' => 'i:給与', ... ) ↑ Month#total の間違い... > > みたいな呼び出しで、ハッシュのキーに検索キー、ハッシュの中身に正規表現を > 入れるようにすれば、あらゆる total 系を一つにまとめられるのかな。同様な > each 系メソッドを定義すれば、検索もそれで実装できそうかな。 At Tue, 27 May 2003 12:43:20 JST, Masao Takaku wrote: > In , kazuhiko @ fdiary.net wrote: > > まずは既存のデータ形式のまま、このあたりの整理をやってしまおうと思います。 > > 了解です。 まずは、ここまで実装しました。データ形式は、「まだ」互換です。:) Month#each( cond={} ) Month#total( cond={} ) # Month#each(cond) の金額を足しているだけ で、マッチング条件をハッシュで渡します。なお、total のほうは、従来 Month#total( account = nil ) という形式でしたので非互換になりますので注意してください。一応、skel 以 下の month, edit, report の各 rhtml ファイルについては書き換えたつもりで す。 なお、従来の genre_total とか each_move_item とかについては、呼び方も互 換のまま、シンタックスシュガーとして残していますし (中身は #each や #total を使うように書き換えています)、skel も書き換えていません。 ただ、どうせシンタックスシュガーを用意するなら、もうちょっとマシに整理で きないかな、とは思います。いいアイデアがあればお知らせください。 「特別?」の扱いが、Item クラスの中では 'on' という値になっていて、その 時 Item#special は '*' を返し、その選別に all = 1 とか使っているというの はいくらなんでもダサすぎますよね。:p あと、edit.rhtml も、収入・支出→移動という順に表示されるようにしました が、本当は追加画面のようなインタフェイスにしたいところ。でもいったん二つ のエントリにわかれちゃった移動の項目をまた一つに表示させるのも難しいのか なぁ。それから、ついでにより tDiary テーマが映えるようにちょっといじりま した。 At Tue, 27 May 2003 12:43:20 JST, Masao Takaku wrote: > In , kazuhiko @ fdiary.net wrote: > > ・PStore の保存単位は月単位 (200305 のようなファイル名) > > ・Item インスタンスは Daily クラスに入る (Diary インスタンスも今後入るか > > も) > > ・Daily インスタンスは Monthly クラスに入る > > という感じかな。 (snip) > ここらへんの分担の仕方は、正直僕も経験がないのでよく分かりませんが、 > 何かお手伝いできそうな点があったら、まずは振っていただければと思います。 もしよろしければ、PStore の保存単位を月単位にするあたりをやってくださる ととても助かります。 それが落ち着いてから、Daily クラスを導入しましょう。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Thu May 29 16:38:34 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Thu, 29 May 2003 16:38:34 JST Subject: [Mobo-dev] navi changes In-Reply-To: Your message of "Wed, 28 May 2003 17:55:11 +0900". Message-ID: <030529163834.M0113348@nile.ulis.ac.jp> たかくです。 In , kazuhiko @ fdiary.net wrote: > > Month::total( 'account' => 'か財布', 'genre' => 'i:給与', ... ) > ↑ Month#total の間違い... > > > > みたいな呼び出しで、ハッシュのキーに検索キー、ハッシュの中身に正規表現を > > 入れるようにすれば、あらゆる total 系を一つにまとめられるのかな。同様な > > each 系メソッドを定義すれば、検索もそれで実装できそうかな。 ... > まずは、ここまで実装しました。データ形式は、「まだ」互換です。:) お疲れ様でした。 手元でも問題なく動作することを確認しました。 > 「特別?」の扱いが、Item クラスの中では 'on' という値になっていて、その > 時 Item#special は '*' を返し、その選別に all = 1 とか使っているというの > はいくらなんでもダサすぎますよね。:p これですが、データとしては true/false を持つようにするのが、 分かりやすいでしょうか? > あと、edit.rhtml も、収入・支出→移動という順に表示されるようにしました > が、本当は追加画面のようなインタフェイスにしたいところ。でもいったん二つ > のエントリにわかれちゃった移動の項目をまた一つに表示させるのも難しいのか > なぁ。それから、ついでにより tDiary テーマが映えるようにちょっといじりま > した。 移動の項目の編集は、何とかしたいところですよね。 片方の項目の移動額を間違えて編集しちゃうと、 一貫性が無くなっちゃう感じなので…。 > もしよろしければ、PStore の保存単位を月単位にするあたりをやってくださる > ととても助かります。 わかりました。ちょっとチャレンジしてみます。 > それが落ち着いてから、Daily クラスを導入しましょう。 そうですね。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From masao @ ulis.ac.jp Thu May 29 19:10:15 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Thu, 29 May 2003 19:10:15 JST Subject: [Mobo-dev] 月単位での保存 In-Reply-To: Your message of "Thu, 29 May 2003 16:38:34 JST". <030529163834.M0113348@nile.ulis.ac.jp> Message-ID: <030529191015.M0116086@nile.ulis.ac.jp> In <030529163834.M0113348 @ nile.ulis.ac.jp>,masao @ ulis.ac.jp wrote: > > もしよろしければ、PStore の保存単位を月単位にするあたりをやってくださる > > ととても助かります。 > わかりました。ちょっとチャレンジしてみます。 やってみました。 まだあまりテストしてないのですが、とりあえずパッチを添付します。 ご確認のほど、よろしくお願いします。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/octet-stream サイズ: 2636 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/mobo-dev/attachments/20030529/2755c3c8/attachment.obj From kazuhiko @ fdiary.net Fri May 30 01:19:35 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 30 May 2003 01:19:35 +0900 Subject: [Mobo-dev] 月単位での保存 In-Reply-To: <030529191015.M0116086@nile.ulis.ac.jp> Message-ID: At Thu, 29 May 2003 19:10:15 JST, Masao Takaku wrote: > > > もしよろしければ、PStore の保存単位を月単位にするあたりをやってくださる > > > ととても助かります。 > > わかりました。ちょっとチャレンジしてみます。 > > やってみました。 > まだあまりテストしてないのですが、とりあえずパッチを添付します。 おなじくあまりテストしていないのですが、うまくいってるっぽいです。ありが とうございます。 データ移行スクリプトがないと、すでにつけはじめているユーザというか開発者 に試してもらえなさそうですね。というわけで作りました。このメールの末尾に つけておきます。 では、いよいよ日付単位クラスの導入ですが、どうせ大掛かりなリファクタリン グですので、仕様などで気になることはどんどん言ってください。Monthly じゃ なくて Month だろ? とか。:p よろしくお願いします。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 ---------- ここから最後まで ---------- #!/usr/bin/env ruby # データファイルを YYYY.db から YYYYMM.db に変換するスクリプト # # 使い方 # # このスクリプトを mobo.rb と同じディレクトリに置き、変換したいデータベー # スファイルも同じディレクトリにコピーする。以下のスクリプトでは 2003.db # とファイル名を決めうちしているので、他の年度の家計簿をつけている人は、 # すべての年度について変換してください。変換後は data_path で設定したディ # レクトリにコピーしてください。 require 'pstore' require 'mobo' module MoBo db = PStore::new('2003.db') db.transaction do begin @mobo = db['mobo']; rescue; end end @mobo.keys.each do |key| p key @monthly = @mobo[key] db = PStore::new( "#{key}.db" ) db.transaction do db['mobo'] = @monthly end end end From masao @ ulis.ac.jp Fri May 30 11:55:01 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Fri, 30 May 2003 11:55:01 JST Subject: [Mobo-dev] EOFError Message-ID: <030530115501.M0219241@nile.ulis.ac.jp> たかくです。 デバッグ中に気付いたのですが、MoBo にアクセスする度に、 以下のような警告メッセージが error_log に出てました。 Exception `EOFError' at /usr/local/lib/ruby/1.6/ftools.rb:27 - End of file reached 他の環境では、どうでしょうか? こちらの環境は Solaris7, Apache 1.3.26, Ruby 1.6.8 という感じです。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Fri May 30 12:05:50 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 30 May 2003 12:05:50 +0900 Subject: [Mobo-dev] EOFError In-Reply-To: <030530115501.M0219241@nile.ulis.ac.jp> References: <030530115501.M0219241@nile.ulis.ac.jp> Message-ID: かずひこです。 At Fri, 30 May 2003 11:55:01 JST, Masao Takaku wrote: > デバッグ中に気付いたのですが、MoBo にアクセスする度に、 > 以下のような警告メッセージが error_log に出てました。 > > Exception `EOFError' at /usr/local/lib/ruby/1.6/ftools.rb:27 - End of file reached あぁ、これこちらでも出まくっています。どうしてでしょう? 誰かわかったら教えてくださいませ。m(_ _)m > こちらの環境は Solaris7, Apache 1.3.26, Ruby 1.6.8 という感じです。 Linux-2.4.21-rc3 Apaache-2.0.46 Ruby 1.6.8 という感じです。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Fri May 30 20:20:57 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 30 May 2003 20:20:57 +0900 Subject: [Mobo-dev] EOFError In-Reply-To: References: <030530115501.M0219241@nile.ulis.ac.jp> Message-ID: かずひこです... At Fri, 30 May 2003 12:05:50 +0900, Kazuhiko wrote: > > Exception `EOFError' at /usr/local/lib/ruby/1.6/ftools.rb:27 - End of file reached > > あぁ、これこちらでも出まくっています。どうしてでしょう? > 誰かわかったら教えてくださいませ。m(_ _)m index.rb にこんな行が... $DEBUG=1 大変失礼しました。消してコミットしました。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」