From kazuhiko @ fdiary.net Mon Jun 2 23:38:12 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Mon, 02 Jun 2003 23:38:12 +0900 Subject: [Mobo-dev] 月単位での保存 In-Reply-To: References: <030529191015.M0116086@nile.ulis.ac.jp> Message-ID: かずひこです。 At Fri, 30 May 2003 01:19:35 +0900, Kazuhiko wrote: > > > > もしよろしければ、PStore の保存単位を月単位にするあたりをやってくださる > > > > ととても助かります。 > > > わかりました。ちょっとチャレンジしてみます。 > > > > やってみました。 > > まだあまりテストしてないのですが、とりあえずパッチを添付します。 コミットしました。 > データ移行スクリプトがないと、すでにつけはじめているユーザというか開発者 > に試してもらえなさそうですね。というわけで作りました。このメールの末尾に > つけておきます。 misc/conv2.rb として cvs add しました。 あと、MoBo::Item::<=> を def <=>( other ) t = @date.to_i <=> other.date.to_i return t if t != 0 return @genre <=> other.genre end のように定義して、sort を日付順→ジャンル順で行うようにしましたが、いま のところジャンル順がジャンルの文字コード順であって、設定画面でのジャンル のリスト順でないのがちょっとダサいのは ToDo ということにさせてください。 > では、いよいよ日付単位クラスの導入ですが、どうせ大掛かりなリファクタリン > グですので、仕様などで気になることはどんどん言ってください。Monthly じゃ > なくて Month だろ? とか。:p Daily クラスを導入しても、Monthly クラスの各メソッドはそのままの書式で使 えるようにはできると思います。まだまったく手を動かしていませんが。 それはそれとして、「日」ごとの編集にしたいのですが、どういうインタフェイ スにしたらいいのか悩んでいます。今だと、表示が月単位なので、上のメニュー から編集を押せばその月の編集に行くという挙動で分かりやすいのですが、さて どうしようかな。 あと、 http://wiki.fdiary.net/MoBo/?ToDo に書きましたが、Monthly クラス に、各ジャンルトータルの値 (通常および全て) をキャッシュとして持たせるよ うにしたら、 ・入力のあるときは計算しなおしてキャッシュを書き出す。 ・入力のないときはキャッシュを読み出して現在残高や集計を計算する という風にして高速化を図れるような気がします。 実際、みなさんの環境ではパフォーマンスはどうですか? PStore の記録ファイルを YYYY.db -> YYYYMM.db にしたら、体感的に遅くなっ たような気がしますし、このペースでつけていって年末を向かえたらもっと遅く なるように思います。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Fri Jun 6 22:45:19 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 06 Jun 2003 22:45:19 +0900 Subject: [Mobo-dev] CVS コミット通知メールマガジン Message-ID: かずひこです。 CVS コミット通知メールマガジンを始めました。購読を希望される方は、 http://lists.sourceforge.jp/mailman/listinfo/mobo-cvs をご覧ください。 # まあ、実質はただのメーリングリストなんですが、そこあてには投稿しないで # くださいね、ということで。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Sat Jun 7 18:32:38 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sat, 07 Jun 2003 18:32:38 +0900 Subject: [Mobo-dev] プラグイン? Message-ID: かずひこです。 Wiki の ToDo に、「データの CSV 出力」とありましたが、同様に「集計のグラ フィカル出力」とかもいずれやりたいし、そのあたりを考えると、プラグイン機 能を実装したほうがいいように思い始めています。 最初は、プラグイン機能があってもユーザメリットは別にないよなぁ、と思って いたのですが、上記のような機能拡張をしていくときに、開発者メリットがある ように思います。どうでしょう? 既存の機能のうち、navi とか calendar とかもプラグインに追い出せるかな。 あと、「日毎の表示」という ToDo が追加されましたし、そろそろまじで Diary クラスを書き始めます。例によってデータ変換が必要になると思われますので、 いきなりコミットせずにこっちにパッチを投げながらの作業にします。 ご意見などお聞かせください。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Sat Jun 7 22:18:11 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sat, 07 Jun 2003 22:18:11 +0900 Subject: [Mobo-dev] Daily クラスへの移行 Message-ID: かずひこです。 懸案の Daily クラスへの移行パッチおよびデータ変換スクリプトを送ります。 おおざっぱに言えば、Daily クラスを新設したうえで、Monthly クラスを変更し ただけです。つまり、外から見た API は変わらないように、Monthly クラスの メソッドの中身を変更しています。 Monthly クラスのインスタンスは、これまで Item クラスのインスタンスを一月 分 Array で蓄えていましたが、それを Daily クラスのインスタンスを一月分 Hash (key は YYYYMMDD) で蓄えるようにしました。ただ、速度的な面で? 従来 のように Array で持った方がいいのかどうか悩み中です。 Item クラスは、もはや date を保持しなくてもよくなりましたが、今のところ そのまま持たせています。というのは、Monthly::add( item ) というこれまで の API との互換性のためです。 そんなわけで、ちょっと確認してくださいますか? あと、速度が遅くなったように感じるかどうかもお知らせくださいませ。 よろしくお願いします。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 ==================== 変換スクリプト (conv3.rb) ==================== #!/usr/bin/env ruby # データファイルを Daily クラス版用データファイルに変換するスクリプト # # 使い方 # # このスクリプトを mobo.rb と同じディレクトリに置き、変換したいデータベー # スファイル (YYYYMM.db) も同じディレクトリにコピーする。変換後のファイ # ルは、new/ ディレクトリ内に作成されるので、data_path で設定したディレ # クトリにコピーしてください。 require 'pstore' require 'mobo' module MoBo class Monthly def items @items end end unless FileTest::directory?( 'new' ) then Dir::mkdir( 'new' ) end Dir::glob( "??????.db" ).each do |f| db = PStore::new( f ) db.transaction do begin @monthly = db['mobo']; rescue; end end next unless @monthly.item_size > 0 @monthly_new = Monthly.new ( @monthly.month ) @monthly.items.sort.each do |i| date = "#{@monthly.month}#{sprintf('%02d',i.date)}" @diary = @monthly_new[ date ] || Daily.new( date ) @diary.add( i ) @monthly_new[ date ] = @diary end db = PStore::new( "new/#{f}" ) db.transaction do begin db['mobo'] = @monthly_new; rescue; end end print "#{@monthly_new.month}\n" end end ==================== パッチ (mobo.rb.diff) ==================== Index: mobo.rb =================================================================== RCS file: /cvsroot/mobo/mobo/mobo.rb,v retrieving revision 1.10 diff -u -r1.10 mobo.rb --- mobo.rb 2 Jun 2003 14:20:55 -0000 1.10 +++ mobo.rb 7 Jun 2003 13:04:11 -0000 @@ -123,20 +123,18 @@ end def <=>( other ) - t = @date.to_i <=> other.date.to_i - return t if t != 0 return @genre <=> other.genre end end # - # class Monthly + # class Daily # - class Monthly - attr_reader :month - def initialize( month ) - raise ArgumentError::new( 'Bad month' ) if (/^\d{6}$/ !~ month) == nil - @month = month + class Daily + attr_reader :date + def initialize( date ) + raise ArgumentError::new( 'Bad date' ) if (/^\d{8}$/ !~ date) == nil + @date = date @items = [] end @@ -144,10 +142,6 @@ @items << item end - def []( idx ) - @items[idx] - end - def each_item( cond = {} ) @items.sort.each do |i| flag = true @@ -156,6 +150,47 @@ flag = (i.send(key) =~ val) && flag end yield i if flag + end + end + end + + # + # class Monthly + # + class Monthly + attr_reader :month + def initialize( month ) + raise ArgumentError::new( 'Bad month' ) if (/^\d{6}$/ !~ month) == nil + @month = month + @diaries = {} + end + + def add( item ) + date = "#{month}#{sprintf('%02d',item.date)}" + diary = @diaries[date] || Daily.new( date ) + diary.add( item ) + @diaries[date] = diary + end + + def []( date ) + @diaries[date] + end + + def []=( date, diary ) + @diaries[date] = diary + end + + def each_diary( cond = {} ) + @diaries.sort.each do |date,diary| + yield diary + end + end + + def each_item( cond = {} ) + @diaries.sort.each do |date,diary| + diary.each_item( cond ) do |i| + yield i + end end end From kazuhiko @ fdiary.net Mon Jun 9 13:07:35 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Mon, 09 Jun 2003 13:07:35 +0900 Subject: [Mobo-dev] データベースのバックエンド In-Reply-To: <20030609031231.C0DB84508@quickml.com> References: <20030609031231.C0DB84508@quickml.com> Message-ID: かずひこです。 またまた掲示板より。:) > !バックエンドを PostgreSQL 化してみたいです。 - rcn (2003-06-09 (月) > 12:12:29) > 「ももんが家計簿」の開発の趣旨と方向性が、かなり違っていると思いますが、 > データの保管部分に PostgreSQL を利用した改造をしようと思っています。 いえ、そういう方向はいずれありえると思っていました。 tDiary のように、@io をきりかえられるようにして、@io.transaction でデー タの読み出し、書き込みをできるようにするのがいいと思います。 ただ、ものが数字の集計なだけに、せっかく PostgreSQL を使うのなら、集計も PostgreSQL にやらせるのが自然だと思いますので、そのあたりも @io.total と か @io.each みたいになっているほうがいいのかな。 > また ERB のかわりに eruby(mod_ruby) を使うことも考えています。 現在の MoBo の仕様では、ruby インタプリタの起動よりも集計とかのほうがよ ほどボトルネックだと思うので、mod_ruby にしてもたいした効果はないと思い ますが、mod_ruby でも動くような改造というか修正は大歓迎です。 mod_ruby に詳しくないので聞きたいのですが、単に今のような形のままで mod_ruby でうごかすのではなく、eruby の解釈を直接 mod_ruby にさせること で、パフォーマンスが大きく異なったりするのでしょうか? > ・・・今の「ももんが家計簿」に直接マージすることは難しいかもしれません。 I/O の方は、各種バックエンドをきちんと wrap できればマージできると思いま すが、mod_ruby の方で大幅に変わってしまうかどうか、教えてくださいませ。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Wed Jun 11 16:01:16 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Wed, 11 Jun 2003 16:01:16 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: References: Message-ID: かずひこです。 まず、開発用ブランチを切りました。 cvs up -r v0_2 で取得してください。 ●変更点 > 懸案の Daily クラスへの移行パッチおよびデータ変換スクリプトを送ります。 とりこみました。 > プラグイン機能を実装したほうがいいように思い始めています。 (snip) > 既存の機能のうち、navi とか calendar とかもプラグインに追い出せるかな。 プラグイン機能も実装しました。 ただ、calc_links まわりが今のところボロボロです。とりあえずデータの有無 にかかわらずあらゆる月へのリンクになっています。プラグインでこのあたりを 定義するなら、これまでのように直接データベースを覗いてデータの有無を調べ るとかでなく、しかるべきメソッドを用意してあげる必要があるでしょう。(こ のあたり、お願いできますか?>たかくさん) # なお、navi はまともに機能しているので一応使い物にはなります。 あと、今は month=...... と渡していますが、今後日単位の編集とかがでてくる ことをにらんで、tDiary と同様に date=YYYYMM or YYYYMMDD で渡すように変更 する予定です。 tDiary からコピーしたままで、MoBo には不要なコードも多数含まれますが、そ のあたりも追って整理します。 というわけで、今後は v0_2 ブランチの方のハックにお付き合い下さると幸いで す。よろしくお願いします。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Sat Jun 14 18:58:10 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Sat, 14 Jun 2003 18:58:10 JST Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: Your message of "Wed, 11 Jun 2003 16:01:16 +0900". Message-ID: <030614185810.M0225980@nile.ulis.ac.jp> たかくです。 # 反応が遅くなりました。すみませんでした。 In , kazuhiko @ fdiary.net wrote: > まず、開発用ブランチを切りました。 > cvs up -r v0_2 > で取得してください。 やっと確認できました。 > ただ、calc_links まわりが今のところボロボロです。とりあえずデータの有無 > にかかわらずあらゆる月へのリンクになっています。プラグインでこのあたりを > 定義するなら、これまでのように直接データベースを覗いてデータの有無を調べ > るとかでなく、しかるべきメソッドを用意してあげる必要があるでしょう。(こ > のあたり、お願いできますか?>たかくさん) とりあえず、calendar プラグインについては、以前のように 表示されるようにしてみました。こんな感じでしょうか? 確認をお願いします。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Sun Jun 15 00:21:04 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sun, 15 Jun 2003 00:21:04 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: <030614185810.M0225980@nile.ulis.ac.jp> Message-ID: かずひこです。 At Sat, 14 Jun 2003 18:58:10 JST, Masao Takaku wrote: > # 反応が遅くなりました。すみませんでした。 いえいえ、いつもありがとうございます。 > > ただ、calc_links まわりが今のところボロボロです。とりあえずデータの有無 > > にかかわらずあらゆる月へのリンクになっています。プラグインでこのあたりを > > 定義するなら、これまでのように直接データベースを覗いてデータの有無を調べ > > るとかでなく、しかるべきメソッドを用意してあげる必要があるでしょう。(こ > > のあたり、お願いできますか?>たかくさん) > > とりあえず、calendar プラグインについては、以前のように > 表示されるようにしてみました。こんな感じでしょうか? > 確認をお願いします。 素晴らしい。あと、exception classes の定義追加も助かります。 At Wed, 11 Jun 2003 16:01:16 +0900, Kazuhiko wrote: > あと、今は month=...... と渡していますが、今後日単位の編集とかがでてくる > ことをにらんで、tDiary と同様に date=YYYYMM or YYYYMMDD で渡すように変更 > する予定です。 従来の year も month も、すべて date という cgi 変数にして、 \d{4} => YYYY として年間集計モード \d{6} => YYYYMM として月表示、編集など \d{8} => YYYYMMDD として日表示、編集など という風にする予定です (ただし、日表示などはまだどうするかあまり考えてい ません)。 skel/ 以下の書き換えも必須ですが、そのあたりも含めて私の方で作業してみま す。 これを整理し終えたら、とりあえず HEAD にマージするつもりです。ブランチ期 間は極力最小限にしたいので。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Sun Jun 15 01:59:56 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sun, 15 Jun 2003 01:59:56 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: References: <030614185810.M0225980@nile.ulis.ac.jp> Message-ID: At Sun, 15 Jun 2003 00:21:04 +0900, Kazuhiko wrote: > > あと、今は month=...... と渡していますが、今後日単位の編集とかがでてくる > > ことをにらんで、tDiary と同様に date=YYYYMM or YYYYMMDD で渡すように変更 > > する予定です。 > > 従来の year も month も、すべて date という cgi 変数にして、 > \d{4} => YYYY として年間集計モード > \d{6} => YYYYMM として月表示、編集など > \d{8} => YYYYMMDD として日表示、編集など > という風にする予定です (ただし、日表示などはまだどうするかあまり考えてい > ません)。 > > skel/ 以下の書き換えも必須ですが、そのあたりも含めて私の方で作業してみま > す。 作業を終えて commit しました。ついでに、現在の年以外の集計ができなかった 不具合の修正もしました (でも、いまいちコードがださいめ)。 あくまで CGI 変数を date で統一しただけで、内部的にはこれまで同様に @year, @month がありますが、これは別にこのままでいいと思っています。今後 @day も定義することになるとは思いますが。 あと気になっていること: ・MoBoBase に、データの追加関連も入っているが、これを MoBoEdit か何かに追 い出して、Base からはなくしたい。 ・plugin で、@index と @conf.index のような混在をしているが、後者に統一 したい。 なお、とりあえず複数年にまたがって現在残高の計算ができるようにはなってい るようです。いずれは年単位で「繰越」をするようにしようと思っていましたが、 月単位のキャッシュをうまく実装できれば繰越しなくても実用的な速度で動くの かも? (自信なし... いずれにしても、当面は、機能追加よりはコード整理を中心に今後のメンテナン ス性を高めていきたいと思っていますので、お気づきの点などあれば、何でもおっ しゃってくださいませ。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Sun Jun 15 23:30:26 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Sun, 15 Jun 2003 23:30:26 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: References: <030614185810.M0225980@nile.ulis.ac.jp> Message-ID: かずひこです。 今日、三回ほどにわけてコミットしました。 まず、事前に予告していなかった大きな変更点としては、データの追加、編集ま わりを、別の CGI 経由 (デフォルトでは 'update.rb') にしました。これによっ て、家計簿の内容は一般公開するけど追加、編集はパスワードをかける、といっ たことができます。 At Sun, 15 Jun 2003 01:59:56 +0900, Kazuhiko wrote: > ・plugin で、@index と @conf.index のような混在をしているが、後者に統一 > したい。 しました。今後は @index などでは参照できませんので、すべて @conf.index などで参照してください。 > ・MoBoBase に、データの追加関連も入っているが、これを MoBoEdit か何かに追 > い出して、Base からはなくしたい。 データの編集、追加関連はすべて MoBoEdit にまわして、 月表示からの追加は、 MoBoAdd::new(@cgi,'month.rhtml',conf) 編集モードからの編集終了は MoBoEdit::new(@cgi,'month.rhtml',conf) みたいにしました。 ただ、それぞれの終了後の月表示で、@mode の値が 'month' ではなく 'add' や 'edit' になるため (クラス名から自動的に決められるから)、navi プラグイン で「前月」「翌月」「編集」などが出てくれません。CGI 変数で何らかの形でモー ドを明示的に渡せるようにするのが素直な解でしょうか *1 。それとも、データ の編集、追加まわりを MoBoEdit に出したのが間違いだったのか... *1 従来、@mode = @cgi['mode'][0] みたいなコードがあったけれど、クラス名 から自動的に決められる値で上書きされていました。 あと、そもそも月表示の画面に中途半端な追加フォームを置かず、(tDiary のよ うに) 追加モードを別に作った方がいいのではないか、という意見もありえると 思います。それについてはいかがでしょうか? ちょっとしばらくバタバタした状態が続いて申し訳ないのですが、ご意見お待ち しています。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Mon Jun 16 12:04:34 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Mon, 16 Jun 2003 12:04:34 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: References: <030614185810.M0225980@nile.ulis.ac.jp> Message-ID: かずひこです。 At Sun, 15 Jun 2003 23:30:26 +0900, Kazuhiko wrote: > > ・MoBoBase に、データの追加関連も入っているが、これを MoBoEdit か何かに追 > > い出して、Base からはなくしたい。 > > データの編集、追加関連はすべて MoBoEdit にまわして、 > 月表示からの追加は、 > MoBoAdd::new(@cgi,'month.rhtml',conf) > 編集モードからの編集終了は > MoBoEdit::new(@cgi,'month.rhtml',conf) > みたいにしました。 > > ただ、それぞれの終了後の月表示で、@mode の値が 'month' ではなく 'add' や > 'edit' になるため (クラス名から自動的に決められるから)、navi プラグイン > で「前月」「翌月」「編集」などが出てくれません。CGI 変数で何らかの形でモー > ドを明示的に渡せるようにするのが素直な解でしょうか *1 。それとも、データ > の編集、追加まわりを MoBoEdit に出したのが間違いだったのか... 編集、追加関連はすべて MoBoMonth にまわして、 月表示からの追加も、編集モードからの編集終了は MoBoMonth::new(@cgi,'month.rhtml',conf) にすれば万事解決ですね。なにを勘違いしていたのだろう... > あと、そもそも月表示の画面に中途半端な追加フォームを置かず、(tDiary のよ > うに) 追加モードを別に作った方がいいのではないか、という意見もありえると > 思います。それについてはいかがでしょうか? この変更をしたら、 ○メリット 印刷時に出納だけ印刷できる。 ○デメリット 追加するときに、「えっとどこまで記録したっけ」というのが分からない。 ですね。ということは、印刷時に追加フォームを印刷しないように css で細工 するのが一番いいのかなぁ。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From kazuhiko @ fdiary.net Tue Jun 17 21:07:03 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Tue, 17 Jun 2003 21:07:03 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: References: <030614185810.M0225980@nile.ulis.ac.jp> Message-ID: かずひこです。 Daily クラスへの移行スクリプト (misc/conv3.rb) で、旧仕様の Monthly::item_size を上書き定義するのを忘れていたのを修正してコミットし ました。 で、またまた非互換話で申し訳ないのですが、せっかく Item クラスで日付を持 つのなら、現状の DD ではなく、YYYYMMDD で持たせた方が嬉しかったりするで しょうか? (期間指定しての検索とか、CSV 出力とかにとって都合がいい?) ご意見お聞かせくださると幸いです。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Fri Jun 20 21:13:28 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Fri, 20 Jun 2003 21:13:28 JST Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: Your message of "Tue, 17 Jun 2003 21:07:03 +0900". Message-ID: <030620211328.M0101732@nile.ulis.ac.jp> たかくです。 # またまた遅い反応で失礼します。 In , kazuhiko @ fdiary.net wrote: > で、またまた非互換話で申し訳ないのですが、せっかく Item クラスで日付を持 > つのなら、現状の DD ではなく、YYYYMMDD で持たせた方が嬉しかったりするで > しょうか? (期間指定しての検索とか、CSV 出力とかにとって都合がいい?) そうですね。 DD よりは YYYYMMDD の方が扱いやすそうな気がしますので 修正には賛成です。 そうそう、「期間指定しての検索」については、「現在の残高」で 未来の分の支出・収入を計算してしまっている部分があるので、 ちゃんと現在の残高を表示させられるようにするあたりの処理から 追加していきたいですね。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp From kazuhiko @ fdiary.net Fri Jun 20 21:38:16 2003 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 20 Jun 2003 21:38:16 +0900 Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: <030620211328.M0101732@nile.ulis.ac.jp> Message-ID: かずひこです。 At Fri, 20 Jun 2003 21:13:28 JST, Masao Takaku wrote: > In , kazuhiko @ fdiary.net wrote: > > で、またまた非互換話で申し訳ないのですが、せっかく Item クラスで日付を持 > > つのなら、現状の DD ではなく、YYYYMMDD で持たせた方が嬉しかったりするで > > しょうか? (期間指定しての検索とか、CSV 出力とかにとって都合がいい?) > > そうですね。 > > DD よりは YYYYMMDD の方が扱いやすそうな気がしますので > 修正には賛成です。 ちょっと http://wiki.fdiary.net/font/?stolenbitmap の件で多忙を極めており、当面 MoBo にあまり時間を割けなさそうです。 まことに申し訳ないのですが、この修正の件、たかくさんにお願いしてよろしい でしょうか。 > そうそう、「期間指定しての検索」については、「現在の残高」で > 未来の分の支出・収入を計算してしまっている部分があるので、 > ちゃんと現在の残高を表示させられるようにするあたりの処理から > 追加していきたいですね。 現在というより、指定期日時点までの total (というか each) を実装して、 「現在」は必要に応じてシンタックスシュガーを追加とかでしょうか。 これができれば、集計モードで月ごとの残高の推移がわかるとかできそうですね。 どうぞよろしくお願いします。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From masao @ ulis.ac.jp Mon Jun 23 02:24:17 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Mon, 23 Jun 2003 02:24:17 JST Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: Your message of "Mon, 16 Jun 2003 12:04:34 +0900". Message-ID: <030623022417.M0112096@nile.ulis.ac.jp> たかくです。 In , kazuhiko @ fdiary.net wrote: > > > ・MoBoBase に、データの追加関連も入っているが、これを MoBoEdit か何かに追 > > > い出して、Base からはなくしたい。 > > > > データの編集、追加関連はすべて MoBoEdit にまわして、 > > 月表示からの追加は、 > > MoBoAdd::new(@cgi,'month.rhtml',conf) > > 編集モードからの編集終了は > > MoBoEdit::new(@cgi,'month.rhtml',conf) > > みたいにしました。 > > > > ただ、それぞれの終了後の月表示で、@mode の値が 'month' ではなく 'add' や > > 'edit' になるため (クラス名から自動的に決められるから)、navi プラグイン > > で「前月」「翌月」「編集」などが出てくれません。CGI 変数で何らかの形でモー > > ドを明示的に渡せるようにするのが素直な解でしょうか *1 。それとも、データ > > の編集、追加まわりを MoBoEdit に出したのが間違いだったのか... > > 編集、追加関連はすべて MoBoMonth にまわして、 > 月表示からの追加も、編集モードからの編集終了は > MoBoMonth::new(@cgi,'month.rhtml',conf) > にすれば万事解決ですね。なにを勘違いしていたのだろう... これですが、ちょっと見てみました。 MoBoBase の方に save_items() というメソッドを追加して MoBoMonth は(編集用のコードを排除して)月表示専用にした方が 分かりやすいかなと思います。 編集終了は MoBoSaveMonth という新クラスを導入して そちらに任せるという感じでどうでしょう。 navi プラグインの条件分岐が多くなるのが、多少難点ですが…。 一応パッチを付けます。 問題が無さそうなら、明日あたり commit します。 > > あと、そもそも月表示の画面に中途半端な追加フォームを置かず、(tDiary のよ > > うに) 追加モードを別に作った方がいいのではないか、という意見もありえると > > 思います。それについてはいかがでしょうか? > > この変更をしたら、 > ○メリット > 印刷時に出納だけ印刷できる。 > ○デメリット > 追加するときに、「えっとどこまで記録したっけ」というのが分からない。 > ですね。ということは、印刷時に追加フォームを印刷しないように css で細工 > するのが一番いいのかなぁ。 こっちの方は、デメリットが大きそうなので、悩ましいですね。 「日毎の入力」とか、他の入力方式が出てから再考する感じで 良いのではないかと思います。 PS: # フォント問題の方は、お手伝いできないので恐縮ですが、 # 一利用者として応援しています。頑張ってください。> かずひこさん。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/octet-stream サイズ: 6878 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/mobo-dev/attachments/20030623/a3263862/attachment.obj From masao @ ulis.ac.jp Sun Jun 29 13:40:52 2003 From: masao @ ulis.ac.jp (Masao Takaku) Date: Sun, 29 Jun 2003 13:40:52 JST Subject: [Mobo-dev] Daily クラスへの移行 In-Reply-To: Your message of "Mon, 23 Jun 2003 02:24:17 JST". <030623022417.M0112096@nile.ulis.ac.jp> Message-ID: <030629134052.M0102370@nile.ulis.ac.jp> たかくです。 In <030623022417.M0112096 @ nile.ulis.ac.jp>, masao @ ulis.ac.jp wrote: > MoBoBase の方に save_items() というメソッドを追加して > MoBoMonth は(編集用のコードを排除して)月表示専用にした方が > 分かりやすいかなと思います。 > > 編集終了は MoBoSaveMonth という新クラスを導入して > そちらに任せるという感じでどうでしょう。 > > navi プラグインの条件分岐が多くなるのが、多少難点ですが…。 > > 一応パッチを付けます。 > 問題が無さそうなら、明日あたり commit します。 遅くなりましたが、先程 commit しておきました。 commit してから、肝心の navi プラグインの条件分岐を間違えていたのに 気づいて慌てて直したけど…。(^_^;; 他には、 ・設定画面が見えなくなっていたのに対処 ・mobo.rb から ruby-indent-level 設定を削除 もやっておきました。 以上です。 -- 高久 雅生 // mailto:masao @ ulis.ac.jp