出来上がるまでレシートの束が増える一方のTauriで作りたい家計簿アプリの続きですが。
おそらく一番難しいポイントだったと思われるRust側のデータベースとのやり取りの部分が出来てきたっぽいので、あとは簡単と思いきや、やっぱりちゃんとしたアプリは準備(設計?)とかが必要なのですぐには出来ないです。
それとは関係なく、ブラウザで動かすような普通のJavaScriptだと出来ないようなこともTauriでは出来たりするのですが、そういうのは多分、裏でRustを呼び出して実行してるのだと思ってたり。
なので同じ事をRustで書く事もできるっぽいので、ここは勉強のためにRustで書くべきか、あるいは早く完成させるためにJavaScriptで書くのか。
迷っている時間がまたもったいないということでもあるのですが。
Rustは本を読むだけじゃなかなか書けるようにならないので、自分でコードを書いて慣れるしかなさそうですし、どうしようか。
<!-- レシートは前に変なスピーカーを作るのに短く切ったアルミパイプに突っ込んでますけど。あと二ヶ月分ぐらいは貯められそうではあります。-->
やっと上手くいったと前回書いたTauriで家計簿計画なんですが。
実は次の日にもう一度やり直したら、またデータベースのテーブルが作成出来てないとかでピンチになってたのです。
まだ基本的なことしかしてないですし、上手くいく時といかない時があるとか、謎すぎなのですけど。
色々とネットで情報を探して、もしかしてこれか?ということでSQLファイルを置いてあるフォルダの名前を変えたら上手く動きました。
(でも謎すぎるので、次にやると変になる可能性もありますけど。)
このままだと先に進めないので、とりあえず最初の段階は出来た事にして、次は慣れているはずのJavaScriptとの連携だから、ここで一気に完成形に近づくと思ってたのです。
JavaScriptはナントカ応援団のアレの修正で3月ぐらいに一度いじっているので、復習にもなっていたはずなのですけど、やってみると全然書けないとか。
しかたないので、ノートにやるべき事を色々と書き出して、どういうコードを書けばいいのかをまとめてみたら、余計なアイディアとかも出てきてしまって。
それはそれで楽しいのですが、なかなか完成しない気もしてきました。
そんなことよりも、早く溜まりすぎなレシートの束を片づけたいので、完成させるのが先なんですけど。
なんか、最近はずっとこんな感じなので、何を作るにしてもなかなか完成しないみたいです。
ということで、コードを書き始める前から苦労しているTauriバージョン2で作りたい家計簿アプリですけど。
昨日つまずいていたところはどういうことかというと、useを使って読み込む関数の読み込み方というか書き方が解らなかったということなのです。
あれって、関数というのか解らないですけど。
正解はこちら、ということで "use tauri_api::path::local_data_dir;" と書いたら上手くいったのです。
やりたいことをやるのには local_data_dir() を使えば良いというのは調べて解ったのですが、使えるようにする方法を知るのにはかなり遠回りした感じです。
そして、やっと基本部分のエラーがなくなってコンパイルが出来るようになったのですが、今度は起動時に作成されるデータベースがおかしくて、確認すると作られているはずのテーブルがなかったり。
SQLファイルが実行されてないっぽいので、もしかしてRustのコードで"?"のところを"expect"にしたらどこで失敗したのか確認出来るかも、と思って書き換えてみたのです。
そうしたら、エラーは出なくてちゃんとデータベースにテーブルも作られてるとか。
これでは、何が悪くて何が良かったのか全然解らないので、この先が不安になったりするのですけど。
とりあえず、ここまではちゃんと動いていることになっているので、次からはちゃんとJavaScriptと連携出来るのか、ということです。
なんだか、また大量のエラーが出るような気もしますけど。
<!-- エラーが出るならまだ良いですが、思ったとおりに動かないのにエラーも出ないというのが一番困るとかも。-->
ということで、パソコンを新しくしたらTauriがバージョン2になってしまったので、新しいやり方を覚えないといけないのですが公式なドキュメントだけだとちょっと難しいし、ネットで情報を探したいのですが、Tauriのことを書いてある記事は全体的に少ないので結構大変なのです。
その前に、何をやっているのか?ということですが、ちょっと修正しようと思ったMecoressの続きではなく、前に作ろうとしてそのままになっているパスワード・マネージャーでもなかったりします。
本当はパスワード・マネージャーを完成させたいところですが、データベースと暗号化(と複合)とか難しそうなことが多いので、その前にデータベースだけを使う物ということで別のを計画してたりして。
計画だけは2月からあるので、おかげで大量のレシートが貯まっているのですけど、最近はミョーに物が高くて余計な出費があるような気がしてきたので、家計簿アプリのようなものを作ろうとしているのです。
データベースとのやり取りの部分は前に途中までやっていたパスワード・マネージャーのが使える予定でしたけど、Tauriならではのエラーが出ていて、先に進まなくなっています。
どうにかしようと色々と調べたら、バージョン2になって変わったことが思ってよりも多そうですし。
もっと簡単なものから再入門したい感じもしてきました。
<!-- ついでに書くと、公式ドキュメントを見ていたらバージョン2だとデータベースも簡単に使えそうなのですけど。せっかく途中まで作ったので、しばらくは今の方法で頑張ってみるのです。-->
ボルテスVを見てる途中に書くことがあると思ってたのですが、このネタだったかどうか忘れてたりして。
ということですが、またまともに出力出来るようになってきた3Dプリンタで何かの部品を作ったのです。

左が本体で、右は本体の方の空洞になってる部分のサポートを外したもの。
こういう感じでサポートが沢山あるものは作ったことがなかったのですが、本体の方の部品がバキッてならないかドキドキしながら外したら綺麗に取れてウレシイ、ということで写真まで撮ってしまったということです。
というか、本体の方は裏から撮影した方が何をしたのかが解りやすかったと思いますけど。
ついでに書くと、この本体の裏側にユニバーサル基板がネジで取り付けられる予定なのですが、ネジ用の穴が思っていたよりかなり小さいのに気付いたりして。
せっかく綺麗にプリント出来たのに、場合によってはやり直しかも知れません。
さらに書くと実写版ボルテスVは思っていたのと違ってドラマがメインなので結構面白いのです。
ベランダにメコリスでおなじみ(?)の写真とか音声とかのメディアファイルを整理するためのLMB製のTauriアプリのMecoressなのですが。
新しいパソコンにしてOSも新しくなったらファイルコピーのダイアログで新しいフォルダを作成出来ないのに気付いたり。
これは1ヶ所修正すれば多分大丈夫と思って、マイナーバージョンアップをすることにしたのですが、新しくTauriをインストールしたらバージョンが2の方になってたりしたのです。
でもmigrateというコマンドもあって、これで簡単にバージョン2に対応出来ると思ったらそんなことはないという感じで。
あまりにも変更箇所が多くて、どこを直せば良いのか解らない状態になってしまいました。
最初はエラーが90個以上でコンパイル出来なかったのが、やっとコンパイルだけは出来るようになりましたけど。
ウィンドウが表示されてもパーツが出てこないし、おそらくJavaScriptも読み込まれていないようです。
これは元のコードを書き直すよりも、基本的なところは新しく作り直して、使い回せるJavaScriptをコピペした方が早そうな感じです。
<!-- プログラムのコピペは良くないというのもありますが、私が使う私のアプリなので良いのです。-->
ということで、1ヶ所修正するつもりだったのに、大変な事になってきているのです。
でもこの機会にバージョンが1に出来るかも知れないので、ちょっと頑張るのも良いかも知れませんけど。
(現在のバージョンは0.2.10ですけど。このバージョンは半分ネタでやってる感じなのでどうでも良かったりします。)
やらなきゃいけないが大渋滞!
なんでこんな言い回しをするのか?ということはアレですが、シン・悪魔デバイス(なんでこんな名前になってるのか?ということはアレですが)の外側だけはなんとかなって来たので、そろそろナントカ応援団の今年の写真を用意しようと思ったのです。
そうしたら、これまでコルタナ団員の台座部分のLEDを制御していたArduinoが悪魔デバイス第二章の実験のために外されていたのを思い出したりして。
外されたArduinoはまだ使えないし、この機会にコルタナ団員用に新しく買ってあったArduino Nanoを使うことにしました。
形は違ってもだいたい同じはずということで、ピンの位置とかを間違えないように接続して、これまでと同じコードで動かしてみたのですけど。
なんだか動作が不安定だったりして、思うように動いてくれなかったりして。
これをちゃんとするにはかなり時間がかかりそうなので、とりあえずスイッチを押すごとにLEDのオンオフを切り替える単純なやつを作っておきましたけど。
ただ、今回改めてコードを読んでみたら、これまでもコードのとおりに動いていたか?というとビミョーな感じもありましたし。
スイッチを押すごとにLEDの点滅のパターンを変えたりするという、単純そうに思えることなんですけど。
思ったとおりに動かすのはけっこう大変なのです。
<!-- ついでに書くと、コルタナ団員の台座とArduinoを一体化させるために小さいArduino Nanoを買ったのは何年前だったか?ということになってますけど。最近は3Dプリンタも復活した感じなので、この辺もちゃんとやりたいと思っております。-->
去年の12月ぐらいから始めてるのに全然終わらない秘密の悪魔デバイス第二章ですが。
悪魔デバイスということは電子工作的な一面もあるのですが、それは後回しにしてとりあえず形だけ作らないと部屋が片づかないので、最終段階で必要な物を買ってきたのです。
そうしたら、必要なネジを買い忘れたというか、そこにネジが必要なことを忘れていたので買い物リストに入れ忘れていて、後少しのところで作業が止まってしまいました。
M3の25ミリぐらいのネジなので、もしかして家にあるかも?とか思って探してみたら60ミリとか、ミョーにヒョロ長いのが出てきたりして。これは何に使おうとしていたのか?ということでもありますが。
それはどうでもイイですが、ネジ数本のためにまた遠くのホームセンターまで行かないといけない、というのが大変なのです。
どうせなら他に買うものがある時に行きたいホームセンターでもあるので、また一週間以上間が空いてしまうのか?ということになりましたけど。
ふと横を見ると、前の悪魔デバイスから取り外したネジが置いてあって、しかも丁度良い長さだったりして。
これでなんとか形だけは完成に近づきそうですけど。
でも、ネジとかってコンビニとかで売ってたらウレシイと思ったりしたのです。
そうしたら、年に一回ぐらい私が買いに行きますし。
コンビニエンスっていうぐらいですから、そういうことですよね。(なんのことかは知りませんが。)
最近はサボりぎみでも一応定期的にギターの練習はしていたのですが、ずっとナイロン弦だったので、久々にエレキギターをちゃんと弾こうと思ったら痛くてすぐに終了になってしまいます。
しかも急に寒くなったりするので余計に弦が硬く感じたりしますけど。
でも昔から集中して弾こうと思うと痛くなってたような気もしたり。
もしかしてやる気があれば痛くても弾けるのか、どうなのか。
やる気的なことだと、7弦ギター用にセットで売ってる弦だとこれまで使っていた太さのがなかったりして、ちょっと太めのを使っていたのですけど。
やっぱり何だか違うということで、これまでの6弦用のセットにバラ弦で7弦だけを買うというこだわりにしてみたら結構昔の感覚になって、弾いてる時にテンション上がりがちになっています。
ギターついでに書くと、家にある使われていないギターを使った怪しい計画が進行中という噂も。
何が起きようとしているのか。
巣箱!ジャーン♪

ということで、失敗に失敗を重ねたNanoPi NEO2のケースのようなものがついに完成!
この半分むき出しなデザインのために完成してないみたいですが、完成なのです。
何この出っ張り?!ジャーン♪

ということで、そろそろ冗談抜きで完成のはずだったNanoPi NEO2のケースのようなものですが、採寸の時には全く気付いてなかったこの出っ張りのせいでまたもやり直し。
このくらいならやすりで削って修正できないかと思ったのですが、3Dプリンターで作ったものの特性なのか、削るという感じにはならずに、表面がボロボロになってしまったり。
この金属部品のこの部分って、パソコンで使われていた時には本体とこの部品をネジで止める重要な箇所だったのですけど、今は全く意味がないので作る時に気にならなかったということなのか。
他は上手くいっているだけにもったいない感じですが。
すでにもう一個作れるぐらいの量を失敗してます。

ついでに書くと、穴の開いたアルミ板を付けるパーツだけ反りが激しいのですけど。
これは対策とかあるのですかね。
また頑張りたいと思います。
不合格。やり直し!ジャーン♪

ということで、ジャーン♪が独り歩きし始めていますが、NanoPi NEO2のケースのようなものが完成すると思いきや、私がやることなのでそうはいきません。
綺麗なペイントもやってるぜ!(Borderlands スクーターの台詞。)
ということで、なぜかBorderlandsが良く出てくるNanoPi NEO2のケースのようなものですけど。
この間やり直したやつの塗装をしたら、ベランダの自作ベンチ兼物入れの色と一緒だったりして。

(写真の左上に写っている水色がベンチの一部です。)
ホントはもっと白くて、良く見ると青が混ざってるぐらいにしたかったのですけど。
白と青の比率としてはほとんど白って感じでしたが。こういうのは慣れてないとダメみたいですね。
<!-- 実は緑もちょっと入っていたりするのですが、そんな感じは全然ない。-->
これだったら、わざわざ色を混ぜないで、ベンチを作った時のペンキで塗れば早かったですけど。
今回は3Dプリンターはまあまあ上手くいって、塗装は失敗気味ですかね。
黒か白とか無難な感じにすれば良かったですけど。
あるいはボトムズっぽい世界なのでミリタリーっぽい緑とか。
そういえば、歯車とモーターをRaspberry Pi などで動かしてアレを操作するという壮大なアイディアがあるのですが、ホントにやるかは解りません。