MENU

RestHouse

音楽サイト「Little Mustapha's Black-hole」の音楽ブログということになっているはずです。

Recent Articles

Category

Monthly Archive

創作日誌 Vol.3

Rustなんて怖くない

ワケない!

ということで、昨日完成したことにしたTauriで作るゲルエムビーで一つ目の項目を作成してみました。

そのあとで試しにHTMLを書き出してみたのですが、カーソルがグルグルして終わらないし、やっと終わっても書き出せてないとか。
テスト用の環境では上手く出来ていたのですが、おそらく書き出し用のテンプレートが読み込めてないということになったのです。

こういう感じでアプリ内にファイルを追加するにはそれ用の書き方があるというのが解ったのですけど。
テンプレートからHTMLファイルを作成するRustのクレートでのファイルの指定方法もビミョーに複雑だったりして。

ここは自分でなんとかして両方が上手くいくようにしないといけない、という難題でした。
例によってコードを書いてもエラーだらけになったのですが、エラーがでてもコンパイラをちゃんと読んで修正していったらなんとかなったようで、書き出せるようになったのです。

いつもならRustで問題が発生すると、修正するのが面倒になったりするのですが、流石にほぼ完成しているものを台無しにしたくないので、今回は頑張れた感じです。

というか、Rustのコンパイラって、なんでそんな詳しく問題を指摘出来るのか?とか思ってしまいますけど。
色々とややこしいルールがある分、そういうことが可能なのだと思いますが。
私としては、誰かが私のコードを読んで問題点を見つけてくれているような気がしてしまうのです。
(ホントにそうだった時のために、教えてくれてありがとう、と書いておいた方が良いでしょうか。)

ということですが、まだ一つの項目しか書かれていないGlossaryなので、もっと頑張りたいと思います。

うっかり始動

ということで、Tauriで作る完全私用Little Mustapha's Black-holeのグロッサリーを編集するエディタのGeLMBをビルドしてちゃんとしたアプリとして使えるようにしたのです。

250910_02.png
なのですが、自分で注意するようにと書いてた「test」ボタンを消し忘れているのに気付きました。
消すのは簡単ですし、しばらくはちゃんと動かないこと前提で直しながら使うことになるので大丈夫なのですけど。

それよりも、ちゃんとしたアプリになったら急にやる気がなくなって、まだ一つも項目が登録されてなかったりするのですけど。
作ることが目的になってた感じもあるので、こういう現象は良く起こるということなのか。

ついでにアイコンとかも。
250910_01.png
Mecoressからの続きでアプリ名の最初の文字を平仮名で書いてたりするのですが。
良く見るとグロッサリーの「GeLMBというアプリの項目」という設定にもなっているのです。
(このサイズだと拡大してもちゃんと読めないと思いますが。)

あとはやる気がでてGlossaryの項目が増えることになれば良いのですけどね。

ここには時間をかけない

Tauriで作る完全私専用Little Mustapha's Black-holeのGlossaryエディタは、どこまで出来ているのか解らないけど、そろそろ出来そうなので例によってアイコンとかも作ってみたのです。

スクリプトと違ってデスクトップアプリだとこの作業があるのが面白いところではありますが、特にアイディアがない状態から作ると難しい作業でもあったり。

他の色んなアプリのアイコンを見ても、機能をデザインにしたものとか、キャラクターを使ったものとか、メーカーのロゴを使っているのもあります。
<!-- というか今になって気になってしまったのですが、VLCのアイコンはなんで三角コーンなんだ?とかも。-->

そんな中でMacのMusicアプリとか「♫」が書いてあるだけですし。
ここまで簡単だとLMBっぽくないということで、作ったやつはもう少し凝っているのですけど。
納得はいってないけど、時間をかけてもアプリの中身は一緒ということで、恐らく今日作り始めて今日出来たものが採用されるのです。

かなりLMB

ということで最新ゲルエムビー情報ですけど。
多分、かなり完成に近くなっているのです。
250908_07.png
でも、デザインはLittle Mustapha's Black-holeのCSSをコピペした部分が多いので、気分はLittle Mustapha's Black-holeなのです。

というかLittle Mustapha's Black-holeのグロッサリーを編集するためのものなので問題ないのですけど。

そんな感じですが、完全自分用アプリなので特に報告する意味もないですけど、完成しそうでウレシイので書くのです。

<!-- どうでも良いですが、完成が近づいてくると「test」ボタンを使わなくなってくるので、うっかり消し忘れないようにしないといけません。-->

くっつけるやつ

昨日の話ですが、久々に3Dプリンタで簡単な何かが作られました。
250901_11.jpg

何をするのか?というとこういう感じで悪魔デバイス第二章(って書いてたっけ?)の一部となるのです。
250901_12.jpg

今回からデータを書き出すのにPrusaSlicerというのを使うことにしたので、上手くいかなかった場合は面倒だとか思ったりしてなかなか作業を始められなかったのですが。
プリントしてみたら特に問題はないし、前よりも上手くいっている気もします。

ただ、中の密度が前よりもギュウギュウになっているようで、ちょっと重量があるように感じたり。
そして、小さいのにプリント時間も長めですし。
微調整は必要みたいですけど。

ついでに書くと、夏で湿度が高めなのでフィラメントが不調だったりするかとも思いましたが、こっちも快調でした。
そして、買ってから何年も経ってやっとフィラメントがなくなりそうになって来ました。
3Dプリンタももう少し頑張りたいですが、長時間のプリント中にずっと近くにいないといけないとかもありますし、後回しになりがちだったりもするのです。

やっと

一歩前進!
250817_01.jpg

ということで、私がやる時だけ上手くいかないんじゃないか?と思っていた最近のRaspberry Piの電子工作なのですが。
色を自由に変えられちゃうLEDのやつ。

専用のPythonモジュールもあるし、とりあえず点灯させるだけなら簡単なはずなのになぜか上手くいかなかったのが、やっと出来たとうことなのです。

何がいけなかったのか?というと、ハンダ付けが下手だっただけでしたけど。
こういうのはログにエラーが出たりするようなことはないので、上手くいかないと原因が解らなくて大変なのです。

これでやっと春に始まった悪魔デバイス第二章が少しだけ前進しました。

というか、先に完成した本体(筐体?)部分は家具として完全に部屋になじんでしまっていますが。
何が出来ているのかは完成まで明かされないのです。

クールゲルエムビー

ということで、いきなりスクショ解禁?!
250814_13.png
ではないのですが、Tauriで作りたいLMB専用の何か。

新しくTauriのプラグインでデータベースとやり取りすることになったので、色々と試したい時用にHTMLにテストボタンを配置してみたのですけど。

Tauriの初期設定の格好良いCSSだとテストボタンが横長になる、ということで意味もなくスクショしてしまいました。
というか「Test!」って書いてないとボタンだと気付かないぐらい長いですけど。

ちなみに、昨日のうっかりミスに続いて、今日も似たような感じで。
昨日書いたコードでは、データベースのファイル名が「gelmb.db」だったのに、今日書いたところには「glossary.db」と書いてしまって、テーブルがありませんというエラーになって大混乱。

一時間ぐらいで間違いに気付いたのは早かったのかどうなのか?という感じですが。

そして、先に名前が決まっているとなぜかやる気が出る、という謎の現象もあったりします。

ゲルエムビー始動

失敗版だけど一応ちゃんと形にはしたいTauriで作る家計簿アプリのMeconómika!ではあるのですが、それ以上に作ろうと思ったらすぐにやらないのが失敗版になる原因かも知れないとうことで、次が始まってたりするのです。

ただし、今回は完全に自分用なのですが。
題して、グロッサリー専用エディターの頭文字GとEのGeにLMBを付けて"GeLMB"なのです。

というかLittle Mustapha's Black-holeにグロッサリーとういコーナーがあるのも解りづらくて知られていないかも知れないですけど。

前はちゃんとやろうと思って、下書きから直接HTMLを書き出せるスクリプトとかも作っていたのです。
でも、スクリプトって使ってないと専用の書式を忘れて、余計に書くのが面倒になるとかいう変な現象も起こるので、エディタを作るということになったのです。

今回もデータベースが必要なので、その練習でもあるのですが。
Meconómika!の失敗の原因というか、やる気を無くす原因でもあったデータベースを扱う部分をTauri専用のプラグインを使うようにして、今回はスムーズにいくかと思いきや。
JavaScriptにプラグインを読み込む時の書き方がビミョーに違っているのに気付かなくて、一日かけてやっと解ったところで今日はオシマイでしたけど。

ここまで出来たら多分スムーズに行くはずなので、完成したら止まっていたグロッサリーに情報満載でドッサリのグロッサリーになるのです。

誰が決めるのか

失敗版ということが決まっているけど、一応ちゃんと家計簿はつけたいTauriで作っている家計簿アプリのMeconómika!ですが。

使っていて問題が発生しないか?とかも確認するために、大量に溜まったレシートを見ながら入力したりしているのです。

でも時間が経ちすぎて、レシートを見ても何を買ったのか思い出せないのが多かったりします。
いつも買ってるものならだいたい解りますが、難易度が高いのはホームセンターで買ったDIY関連の部品とか工具とか。

もともと正式名称が解らないとか、英語の名前で呼ぶことが多い物とかもあったりしますし。
さらにレシートに納まるように省略した名称になってたり。

この省略した商品名は食べ物でも解りづいらいことがありますけど。
それもスーパーによって略し方が違ったりしますし。
こういうのは特に決まりとかはなくて、店ごとに勝手に作ってるということなのですかね。

そんな感じなので、家計簿をつけるなら買ってすぐに記録した方が良いということみたいです。

あとは内税で表示してる店もあったりとか。

さらに書くと、消費税って端数の扱いは店で決めていいということになってたりして。
これが今回のMeconómika!が失敗版になった原因でもありますけど。
Meconómika!では消費税は四捨五入にしているけど、店によっては切り捨てにしてたりするので、実際に払った額と家計簿の合計が合わないのです。

ということで、意外と奥が深いレシートの世界ということにも気付いたりしているのです。
<!-- というか、2月に作ろうと思って、8月に失敗版になるとか、これは時間の無駄だったのかということでもありますけど。次に活かすのでイイのです。-->

初スクショ

ということで、出来たような気がしてるけど、色々変だというTauriで作りたい家計簿アプリ。
そろそろ失敗版ということが解ってきて、完成も間近なのです。(意味が解りませんが、失敗版なのでこれ以上は作り込まないということ。)
250804_14.png
このグラフはオマケ機能ですし、まだ大量のレシートの一部しか入力してないのでアレですが。
右下の分析結果みたいなのが、全部1個になってるとか、これは恐らく何かが間違ってるという気がします。

ここは足し算するだけなので、特に難しいこともなかったはずですが。
暑い中でやっていると、コードが意味もなく複雑になってる気がしますし、直すのも大変だったり。

それはどうでも良いのですが、スクショが解禁になったので、禁断のアプリ名も公開されるのです。

ウィンドウの上のところに書いてあるのですが、アプリ名は「Meconómika!」です。
最初はEconomikaだったのですが、前に作ったMecoressに合わせてMが追加されてメコノーミカ。
意味はというと「毎回つけないとあとで面倒になる」の「M」にエコノミーっぽいやつということです。

失敗版になったのは、商品ごとに登録するようにしたことが原因ですけど。
これまで家計簿なんかつけたことない人が、こういうのを作るというのが間違っているという気もします。
でも、問題点は解ったので、次はレシートごとに記録するタイプのMeconómicaが作られるのではないか、とウワサされているのです。

き、効かない...

ということで、深夜なのに家計簿アプリやってんのかよ、というTauriで作りたい家計簿アプリの続きなのですが。

ここが出来たらあとは最終調整ということになるはずなのに、なぜかHTMLのレイアウトが上手くいかないという基本的なところでつまずいてたりして。

そんな感じなので、そういう時には検索して調べるしかないので、CSSのプロパティ名で検索することになるのですが、プロパティ名を入力するとキーワードの候補に「○○ 効かない」というのが必ずといっていいぐらい出てきたりするのです。

それを見る度に、私はスーパーヒーローの必殺技が跳ね返されて動揺している場面を想像してしまうのですけど。

でも自分としてはCSSをちゃんと書いて、必ずそうなるはずのことがそうなってないので、心境としては必殺技が跳ね返されたのと一緒だとも思うのです。

ということはどうでも良いかも知れませんが、シンプルに思えるHTMLでもアプリっぽくするためには動きをつけたりしないといけなくて、けっこう複雑になるので、そうなってくるとより深いところに足を踏み入れないといけないということでもあるので、簡単には調べられなかったりするのです。

<!-- というかCSSはあとから色々と追加されすぎてワケが解らないので、思い切って作り直しても良いとか思ったりもしますが、どうなんですかね。-->

そんな感じで、深夜になってもアプリを作っていたような感じで書いていますが、実は映画を見てから書いているのでこの時間まで頑張っていたワケではないのです。

<!-- ついでに映画のことも書くと、それほど面白くなかったので感想は書かれないのですが、なんと若い頃の大滝秀治が出てたりして、予期せず二日連続大滝秀治達成!となったのです。-->

一日一工程状態

なんで出来てないのか?というTauriで作っている家計簿アプリですけど。

ずっと同じところをやってると飽きるとか、あるいはある場所を作るのに別のところを先に作らないといけないとか、そんなことで途中で放置されるところがあったりするのですが、時間が経つとどこが完成していて、どこが未完成なのか解らなくなってたりして。

それとは関係なく、今日は数行で終わるはずのファイルのコピー(機能としてはデータベースのバックアップを保存)をする部分を作ってたら、Tauriならではの問題でファイルをコピーするための権限がないというエラーとか。

この権限のところは最初の方にもつまずいたところでもあるのですが、設定する項目が細かすぎてどれを許可したらコピーが出来るのか?とかいうのを見つけるのが大変なのです。

このあとまた別のファイルの操作をするところも作る予定ですけど、そこでも多分権限が必要になるので、また一日がかりになってしまうのか?という感じです。(一日がかりといっても丸一日これをやってるわけではないですが。)

<!-- そろそろ別のことがしたくなってくる。-->

まだ名前も秘密

ということで違法な増改築で崩壊寸前みたいな状態のTauri作りたい家計簿アプリの続きですが。

ここで豆知識として書いておくと、最初の設定ではアプリ名が「Little Economies」となっていました。
もちろん、絶対にあとで変えることになるのは解っていたのですが、Tauriで開発を始める時にアプリ名を指定しないといけないような感じなので、けっこう悩みつつもイマイチな名前を付けることになったということです。

正式名称はほぼ決まっているのですが、本体の方が出来そうで出来ないのでまだ発表されないのです。

ということはどうでも良いのですが、そろそろ出来るかと思ったら重要なことを忘れていて。

家計簿をつける時に商品のカテゴリーとか買う目的とかも登録するようにしているのですが、せっかく登録しても今のところどこにも活かせる場所がないことに気付いたのです。

なので急遽、そういうものを分析するための機能を考えないといけなくなったりして。
しかもカテゴリーとかはユーザーが新規に作成出来るようになっているということで、その分コードも複雑になってしまうとか。

今のところユーザーは私だけですし、私が必要だと思うカテゴリーは最初から作られているので、余計なことをしている気もしますけど。
それなりの感じじゃないと面白くないので、ちゃんとしたアプリっぽくするのです。