なんで出来てないのか?というTauriで作っている家計簿アプリですけど。
ずっと同じところをやってると飽きるとか、あるいはある場所を作るのに別のところを先に作らないといけないとか、そんなことで途中で放置されるところがあったりするのですが、時間が経つとどこが完成していて、どこが未完成なのか解らなくなってたりして。
それとは関係なく、今日は数行で終わるはずのファイルのコピー(機能としてはデータベースのバックアップを保存)をする部分を作ってたら、Tauriならではの問題でファイルをコピーするための権限がないというエラーとか。
この権限のところは最初の方にもつまずいたところでもあるのですが、設定する項目が細かすぎてどれを許可したらコピーが出来るのか?とかいうのを見つけるのが大変なのです。
このあとまた別のファイルの操作をするところも作る予定ですけど、そこでも多分権限が必要になるので、また一日がかりになってしまうのか?という感じです。(一日がかりといっても丸一日これをやってるわけではないですが。)
<!-- そろそろ別のことがしたくなってくる。-->
ということで違法な増改築で崩壊寸前みたいな状態のTauri作りたい家計簿アプリの続きですが。
ここで豆知識として書いておくと、最初の設定ではアプリ名が「Little Economies」となっていました。
もちろん、絶対にあとで変えることになるのは解っていたのですが、Tauriで開発を始める時にアプリ名を指定しないといけないような感じなので、けっこう悩みつつもイマイチな名前を付けることになったということです。
正式名称はほぼ決まっているのですが、本体の方が出来そうで出来ないのでまだ発表されないのです。
ということはどうでも良いのですが、そろそろ出来るかと思ったら重要なことを忘れていて。
家計簿をつける時に商品のカテゴリーとか買う目的とかも登録するようにしているのですが、せっかく登録しても今のところどこにも活かせる場所がないことに気付いたのです。
なので急遽、そういうものを分析するための機能を考えないといけなくなったりして。
しかもカテゴリーとかはユーザーが新規に作成出来るようになっているということで、その分コードも複雑になってしまうとか。
今のところユーザーは私だけですし、私が必要だと思うカテゴリーは最初から作られているので、余計なことをしている気もしますけど。
それなりの感じじゃないと面白くないので、ちゃんとしたアプリっぽくするのです。
ということで、昭和風にするとかいうのも忘れかけていたTauriで作りたい家計簿アプリですけど。
最後に面白機能を作ったらほぼ完成なのに、全然出来ないとか。
毎年JavaScriptとCanvasなどで「何時だか解らないCanvas時計」を作ってきたりしたので、面白機能みたいなのが一番得意かと思っていたのですけど。
家計簿のデータは時計よりもゴチャゴチャしているので難しいということなのか。
というか思いつきで仕様が決まるので、使い回せるはずのものが使い回せなくなったりして。
こういうことがあると最初からやり直したくなってしまいますが、多分また同じことを繰り返すだけなので、今回は今回で完成させるのです。
最近は上手くいかないことは暑さのせいにすればだいたい合っているので、そういうことに違いないです。
<!-- 完成してもレシートが溜まりすぎなので記録をつけるのも面倒な気がします。-->
ということで、Tauriで作っているもうすぐパソコンで家計簿がつけられたら良いな、というアプリですが。
デザインをメインにやっていると、なぜか急にJavaScriptのコードが進展することがあったりして。
やっぱり見た目がそれなりになっている方がやる気が出るということなのか、どうなのか。
それにしても、Rustの部分が出来たらあとは簡単と思っていたのに、気付けばスゴい時間がかかっています。
最初は一週間ぐらいで出来ると思っていたのですけど。
もう最初に方に何をどうやっていたのかとか思い出せない状態になっています。
やっと基本的なところは出来てきたのですが、あと一つ面白機能を予定しているので2月の終わりから溜まっているレシートはまだ消化出来ないのです。
というほどでもないですが、レシートの束が厚くなっていくだけのTauriで作りたい家計簿アプリでは新たにCSSのカスタムプロパティを使ってみることにしたのです。
というか、新技といってもかなり前からあると思いますが。CSSで変数のようなものが使えるやつ。
でも変数じゃなくてカスタムプロパティなのはなんでか?とも思っていたのですけど。
説明([CSS カスタムプロパティ(変数)の使用 - CSS: カスケーディングスタイルシート | MDN])を読むと、変数とはちょっと違うかも知れないとかも思いましたが。
でも便利そうだけどこれまではLittle Mustapha's Black-holeやRestHouseで使われなかったのを試してみたらけっこう良さそうなのです。
(使われなかったのは古いブラウザでもちゃんと機能するのか?とか、そういうのもあるのですけど。)
いろんなパーツのデザインは全て違うことはあまりないですし、逆に同じアプリ内だったら似ている要素が多くなるのですけど。
同じ色を使っている場所を変えようと思った時にカスタムプロパティなら一気に変更出来たりするのです。
まあ、やみくもにプロパティを作成しまくっていたら意味がなくなってきますけど。
上手くやれば色の組み合わせとか、これまでは面倒で試せなかったことも簡単に出来るのでLittle Mustapha's Black-holeの模様替えでも色々と実験が出来るかも知れないのです。
そして、今日はデザインの実験ばかりやっていたので、まだコードの部分も完全でない家計簿アプリは何も進んでないといっても過言ではないとか。
ということで、Tauriで昭和の家計簿は手書きだろうが!アプリの続きなのですが。
デザイン部分をいじり始めたら、ここはボタンにして「表示」と「非表示」を切り替えた方が良いなあ、というのが出てきたのでちょっと修正するつもりがスゴく大変でした。
というか、最初の方に作った部分はコードの書き方のコツを忘れている感じで、ゴチャゴチャなので修正するのも大変だったり。
関数にしなくて良いところが関数になってたり、その逆とかも。
一応動くようにはなったのですが、また問題が発生したら何がどうなってるのか解らないかも知れませんけど。
だけど、書き換えたことによって最初よりはまともになったという怪現象も起きているのです。
そんな感じなので、デザインが進むはずがコードの修正になっているので、まだ昭和のエレベーターになっていないのです。
<!-- でも見た目がアプリっぽくなってくると何故かやる気が出てきたりもします。-->

チャンクス!チャンクス!チャンクス!
ということではないのですが、Tauriで家計簿アプリが上手くいかない問題の続き。
昨日書いた問題点はRustでデータベースを扱うsqlxのマニュアルを参考に一部を書き換えたら上手くいったというか。
何がどうなって上手くいったのか解ってないので、実際には上手くいってないけど、上手くいったことになっているのです。
それでとりあえず先に進めそうと思ったら、一つのデータを修正するとなぜか別のデータまで書き換えられてしまう現象。
頭が大混乱でもうやめようかと思ってしまいましたけど。
JavaScriptの方だと問題を調べる方法が色々とあるので、大変だったけど問題解決なのです。
というか、何が起きているのか調べるのに何度も登録済みのデータを修正していったら全部「チャンクス」になってしまったとかもあるのですが。
もともとは本物のレシートを使ってちゃんとしたデータが登録されていたのです。
それはどうでも良いですが、スクショに写っている「編集/修正」ボタンをクリックすると、該当データのidと編集のための機能が「決定」ボタンに割り当てられるようになっているのですけど。
「編集/修正」を押す度にそれらの機能が追加で割り当てられていて、最初に一番目を修正しようとしてボタンをクリックしたあとに、やっぱり二番目とか思って二番目のボタンをクリックすると一番目と二番目が同時に編集されてしまうということになっていたのです。
長く書いたのですが、なんのことだか解らないとも思いますけど。
とりあえず直ったので、ただのチャンクスじゃなくて、チャンクスのあとにidのナンバーが書かれた状態で保存されているというスクショでもあるのです。
チャンクスばっかりになっているのが面白いってだけでもありますが。
そんな感じで、そろそろ最終段階に進めるのか、あるいはさらなる問題が発生するのか、というところまで来たので、続けて頑張っていきたいと思います。
ということで、Tauriで作っている「いつになったら家計簿がつけられるのか?」アプリの続きですけど。
一度入力したデータを修正したりするところで問題が発生なのです。
しかも、エラーが出てないのにちゃんと動いていないという一番厄介なやつでもあるのですけど。
Rustの方のコードはネットで見つけたサンプルを写したようなものなので、どこに問題があるのか良く解らないですし。
困ったことになっております。
というか、最初に基本的な操作が全部出来るか試してから作り込んでいくべきだった、ということかも知れませんけど。
簡単に出来るはずだったのが、凄い時間がかかっているです。
タイトルは漢字だらけなのにそれほど中国語っぽくはならないですね。
というのはどうでも良いですが、Tauriで家計簿アプリを作るのだ!の続きですが。
もうここまで来たらあとは一気にやってしまえる、という感じのところに来ているのに全然進まないのです。
画像等整理アプリのMecoressの時は一日にもっと進んだし、それでもなかなか出来ないという感じでもありましたが。
今回はそれほど複雑ではないけど時間がかかります。
多分モチベーションの差というか。
Mecoressは作れそうにないと思っていたものが出来てきてちょっと盛り上がってましたし、しかも個人的にはないと困るようなものでもあったので、かなり頑張れたのです。
それに比べると、今回はデータベースを使うアプリの練習ということで始めているので、面倒になってくると先に進めないのです。
ついでに暑いし。
そんな感じですが早く溜まったレシートを処理出来るように頑張るのです。
<!-- もしも公開するということになった家計簿アプリの方が需要はありそうですけどね。(今のところ誰かに使ってもらえるレベルにはなっていませんけど。)-->

ということでTauriで家計簿チャレンジですけど。
まだ全然完成品とは違うのですが、珍しくエラーなしで新しい機能が追加出来たので記念にスクショ。
エラーはなくても直すところは沢山ありますけど。
その前にデータベースとのやり取りが大変で。
新しくデータを追加する時に自動でIDが割り当てられるのですが、そのIDをどうやって取得するのか?とか。
簡単に出来そうなところなのにつまずいていたりして。
たまたま別のことを調べる時にRustのSqlxのマニュアルを読んでいたらIDを取得するコードが出てきて、やっと前に進めたとかもありますし。
その他にも、もっとシンプルに出来るはずのところをすごく遠回りしてデータを取得してるところもあったり。
そういうのをちゃんとやろうとすると終わりそうにないので、かなり妥協バージョンで作ってます。
とりあえずバージョン0は動けばイイということですし。
<!-- ついでに書くと何故か7月にデータがあったりするのは、入力の時に間違えたからに違いないですが、まだ修正とか削除とかの機能がないので直せないのです。-->
早く家計簿をつけたい!というTauriで作っていることになっている家計簿アプリの続きですけど。
なんか脳が機能してないみたいな感じで、かなり微速前進な状態です。
今回はSqliteを使っているので、それを上手く使いこなせると、一番古いデータはどれか?とか、そういうのを簡単に探せるのですけど。
Rust経由でやろうとするとワケが解らない状態になってしまうのです。
もっと単純な仕様にしたらすぐ出来そうなのですが、ちょっとでもスゴいものを作りたくなってしまうので、ゴチャゴチャで何をやっているのか解らなくなってしまいます。
とってあるレシートの束もかなり厚くなってきましたし、なんとかしたいのです。
7弦ギター用のセットで売っている弦だと、これまで使っていたのより太めになるので、これまでの6弦用セットに7弦だけをバラで買うようにした、というのは前に書いたかどうか覚えてませんが。
0.01の違いなのにスゴい効果があって、最近私のギターが気持ち良く歌っているのです。
(というか、今調べて知りましたが、ギターの弦の袋に書いてあるあの数字ってミリメートルかと思ったらインチなんですね。)
その代わり、かどうかは知りませんが、演奏にこだわり過ぎて録音作業が全然進まないのですけど。
適当に弾いたやつもこだわったやつも、人が聴いたらあまり違わないということでもあるのですが。
演奏が楽しいので、簡単に妥協出来ないというか。
上手く出来てももう一回弾いてみたいとか、そんな感じなのです。
家計簿アプリをTauriで作るのさ!の続きですが。
必要な項目を入力するためのパーツを作って、金額の所に文字とかが入力されないような対策もして、そろそろデータベースに記録する段階になって来た、と思って試しにレシートの内容を入力しようとしたのです。
そうしたら、なんと消費税がある!
良く考えたら、これはけっこう厄介なところなのですけど。
税抜きで計算すると実際の出費と差が大きくなりすぎですし。
しかも10%と8%があるとかですし、今後税制が変わったらバージョンアップしないといけないとか。
<!-- ついでに書くとバージョンアップの時にTauriの仕様が大幅に変わっていて、簡単には出来ないということもあり得るとか。-->
税率の変化は設定ファイルで対応出来るかも知れないですけど、二種類あるのが一つになるとかも、大いにあり得ることなので、なんだか面倒なものを作り始めてしまったと思えてきました。
もしかして、このアプリのために選挙で誰に投票するかが変わってくる、というのはネタですけど。
また良い方法を考えないといけなくなってしまいました。