MENU

RestHouse

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

創作日誌 Vol.3

脳ミソパニック

タイトルにタウリンと書いてないですが、Tauriで大変なやつの続き。

TauriというよりもJavaScriptですが。

ある要素の幅を調べようとすると何故かゼロになっているとか。
説明によると非表示になっている要素はゼロになるらしいのですが、JavaScriptのコード的には表示されていることになっているのです。

と思い込んでいて昨日からずっとアレコレ試していたのですが。
調べたい要素のさらに上位の要素がまだ表示されていない状態だっということにやっと気付いたのです。

大量のコードの時にはどこで何をしたのか覚えてなかったりするのですけど。
もう少し解りやすく書く事も出来そうなので、何とかしたいですが。

でも、スッキリしたコードになるようにあれこれ計画して書き始めても、途中で上手く動かなかったりして結局ゴチャゴチャになるというのもあったりして。

それはともかく、非表示になっているのに気付かないで色々とコードをいじったおかげで、何がどうなっているのか解らなくなってきてたりもするのです。
これはけっこうヤバいという感じですが、全部書き直しにならないように頑張りたいと思います。

タウリン環境

もうタイトルがワケが解らないですが、Tauriでどうするのか?というやつの続きというか。

JavaScriptとRustでデスクトップアプリを作れちゃうということなのですが、Macの場合はJavaScriptの部分はほぼSafariと同じ仕様ってことになっているのです。

なのですが、私はここまでいつも使っている方のFirefoxでテストをしていたのです。

でもJavaScriptはどのブラウザでも動くように決められた規格みたいなのがあるので、問題ないはずということだったのですけど。

テストで作ったJavaScriptの関数とかをTauriの方に移植(というかコピペ)したら上手く動かなかったり。

前にもちょっと書いたモジュール化みたいなのもやっているので、原因はそっちなのかも知れませんが。
その辺はテストの時もSafariでやっていたら原因が解りやすくて良かったということなのです。

最近はかなりJavaScriptしてたので、上手く動かないところは修正出来たりしたのですけど。

JavaScriptって、初心者でもブラウザだけで実行出来たりするので敷き居は低いような感じがありますが、やればやるほど謎が増えていくような気もします。

というか、私の超便利アプリはいつになった完成するのでしょうかね。

タウリンへの長い道のり

Tauri でゴー!のアレの続きですが。

JavaScriptでテストしてみて大体出来そうということで、最終段階の最初になってきたのですけど。
そのままJavaScriptを一つのファイルで書くとコードが大量になるので、複数ファイルに分けてモジュールっぽくするようにしたのです。

これでコードの内容がスッキリするはずだったのですが、一つのファイルで書いている時と何かが違うというか。
要領が解らなくなっているようなことになっているのです。

というか、JavaScriptって同じ事をやるのにも色んな書き方が出来たりするので、その辺も原因な気もしますが。
この場面はこの書き方がイイに違いないとか思って書いていくと、途中で先に進めなくなったり。
<!-- 先に進めなくなるコードってなんだ?って感じでもありますが。書いているのは私なので仕方ありません。-->

最終的にはRustも書かないといけないのですが、その前の段階で混乱してきましたし、大変なのです。


<!-- でも、タイトルにはタウリンが復活しているのです。-->

迫ってきた

ということで、ナントカ応援団のデータベース、あるいはデータベースターズに、やっと今シーズンの試合データが登録されました。

まだその他の作業は急ピッチということになってるのですが、失敗すると面倒な作業はこれでオシマイなのでとりあえず大丈夫。


それとは関係なく、データベースをあれこれするのにJavaScriptを使い始めたのはいつからだったか?という感じなのですけど。

JavaScriptの中身をちょっと見てみたら、今ならそうは書かないという部分が色々とあったり。
多分修正したらスッキリした内容になるとは思うのですが、今からやると開幕してしまうので、ちょっとずつ改良していきたいと思っております。

というかJavaScriptは最近かなり頑張っていたので急成長という事になっていますが、これがしばらくするとまた元に戻ってしまうので困ってしまいます。

ジャバラスクリプト

やっぱり思ったとおりだ。

ということで、昨日のシフト+クリックの謎の挙動のやつですが。

間違ってないはずだと思っていた場所は間違ってなかったのですけど、最後に選択した場所の記録方法が変だったのです。
<!-- けっこう興味深い間違いという気もするのですが、詳しく書こうとするとかなり長くなりそうなので省略。-->
こういう時には、気になるところを片っ端からconsole.logに出力してみると原因が解ったりします。(バグというかうっかりミスに近いので、もっと高度なデバッグの方法では逆に解らないということもあったりして。)

これまではTerminalで起動するスクリプトとかがメインでしたし、クリックに反応して動くとかいうのは年に一回の「何時だか解らないCanvas時計」で時々使うぐらいでした。
なので、こういうグラフィカルなのは頭でイメージするのが難しかったりしますけど。

とにかく、今回の問題な部分も解決して、JavaScriptでやろうとしていたところは大体出来てきたような感じになって来たのです。

なので、これまでバラバラに実験してきたのをまとめて完成に近づけたいのですけど、以前に書いたコードを見直したら自分で書いたのに理解するのに時間がかかったりして面倒なことになっております。

<!-- タイトルに「タウリン」が付かなくなってしまってますが、気にしない。-->

タウリン不明

Tauriで何かは作れるのか?ということでやっているやつですが。

まだこの前のJavaScriptの続きをやってたりするのです。
並んだアイテムを選択する機能なのですが。

1から10までのアイテムが並んでいたとして、最初に3をクリックして選択したあとに、シフトを押しながら7をクリックすると3から7までが一気に選択されるというやつですけど。これがかなり謎です。

最初に選択されているアイテムが一つとは限らないので、どういう挙動が正しいのか解らなかったのですけど。
とりあえずMac の Finderではどういうことになるのか、リスト表示にして色々とクリックしてみたのです。
そうしたら場合によってどういう風に選択されるのかが決まっていないというか。
操作する側で予想できないような挙動になっていました。

Findeでそんな感じですし、このシフトを押しながら選択というのはけっこう複雑なのかも知れません。

結局正解が解らなかったので、最後に選択したところからシフトを押しながらクリックしたところまでが選択されるようにしてみたのです。
ただし、私が作ったものなので、上の例みたいに3から7を選択という感じだと上手くいくのですが、7から3みたいな順番でクリックすると、なぜか3から最後までが選択されてしまうとか。

さっきからずっと上手くいかない原因を探ろうとコードを見ているのですが、間違ってないはずだ、と思って見ているので原因は解らないですね。
多分、すごい基本的な何かを見落としているとか、そんなことになりそうですけど。

タウリン一歩進んでかなり下がる

もしかしてあっちの方が簡単なのか?という気がしてきましたが。

Tauriでアレコレするための準備段階でJavaScriptでアレコレしているのですけど。

アイテムをクリックして選択で、何もないところをクリックすると選択が解除されるとか。
選択したアイテムの順番を入れ替えるとか。
JavaScriptでも出来ない事はないですし、頭の中では上手くいっていたのですけど。

ただし、その選択とか選択解除だけが目的ではなくて他にもクリックでやる操作があったりすると色々とややこしくなってくるのです。

こういうのってXcodeで作るアプリだと簡単に出来たような気もするのですが。
でもその他の部分を作るのにはJavaScriptで書けたら嬉しいに違いないですし。今からXcodeを勉強するといつまでたっても完成しない気がします。

というか、Tauriでアプリを作る!とか思ってからもかなり時間が経ってますけど。
頑張りたいと思います。

<!-- 頭の中では完全に出来てるんですけど、頭の中と現実世界では何かが違うようです。-->

タウリン迷走中

Taruiでどうにかしたいやつの続きですが。

前回のドラッグアンドドロップでファイルを読み込む時とオープンダイアログで読み込む時でRust側から戻ってくる値の種類が違うというやつ。

良く考えたらRust側のコードは自作(という事になっている丸写し)なので、そこをいじれば同じ種類に出来ると思ってやってみたら、なんだか全行がエラーみたいな事になって悲しい状態。

元のやつよりも単純になるはずなのですけど、まだRustで自分の思ったようなことを書ける程にはなってないようです。

でも、この部分はJavaScriptの方で多少強引な感じでやったら上手くできたので、とりあえずちゃんとなってるということですけど。
オープンするフォルダの中にフォルダがあってもちゃんと再帰的に読み込めているのです。

ただし、これから読み込んだファイルをコピーしたり移動したり、という機能を作らないといけないというか、それがけっこうメインな機能なのですけど。
そういうのはRustで書かないといけないですし、なんか不安になってきているのです。

タウリン 1mm前進

ということでTauriを使って何かを作れたら良いなあ、というやつの続きですが。

ちょっとずつ進んでいたRustの入門書は基本的なところは読み終えて、本格的なアプリを作ってみよう!ってところまできているのです。

ということは、もうすでにJavaScriptだけでは出来ないようなこともRustで書けるようになっているはずなのですけど。
おかしいなあ。

それはともかく、Rustのコードを見て何が書いてあるかも解るようになってきたので、Tauriでやってるやつを少し進めることにしたのです。

今回はダイアログからファイルを選択して開くというやつですが。
Rustの部分はネットで見つけたコードをほぼ丸写しだったりして。
でも、思ったより簡単にファイルにアクセス出来るようにはなりましたけど。

ただ、ドラッグアンドドロップで読み込む時にはリストだけど、今回のやり方だとオブジェクトっぽいので返ってくるとかで。
こういうところも上手くやらないといけなくなってきているのです。

ついでにJavaScriptでこれまで書いてきたコードもかなりカオスな感じになってきたので、これまで出来るようになったことを整理して作り直す方が良さそうだったりしますけど。

という感じで、前進はしたけどタウリン1000mgまではかなり遠いようです。

ビミョーでした

セーフ!
230303_01.jpg
というのは何か?という感じですが、股間が隠れているからセーフということではありません。

急に脳の模型に興味が湧いてアマゾンで検索してたら、結果の中に色んなポーズがとれるデッサン向けなフィギュアがつがいで安かったので買ってしまったのです。

そうしたらモクジン君が私という立派なデッサン人形がいるのに、どうして?ということになっていたのですけど、実物が届いたら思っていたのとちょっと違うクオリティだったりして。
モクジン君的にはセーフということだったみたいです。

<!-- といっても、これまでモクジン君をデッサン人形として使ったことはないですが。-->

やっぱりもう少し高いのじゃないとリアルな感じにならないのかも知れません。
というよりも、関節が硬くて動かすと壊れそうな雰囲気もあったりするのですが、もったいないことにならないように慎重に扱いたいと思っております。

でも、写真みたいに遠目に見る感じではまあまあ人っぽいですし、モクジン君よりはちゃんとポーズもとれるので絵を描く時の参考にはなるでしょう。

タウリン停止中

Rustの見習いレベルになるまではTauriで作りたいものは出来ない、ということで先にHTMLとJavaScriptで出来る部分の下書き的なものをやるということになっているのですが。

この前やっていたやつはだいたい解ったということで、次のを始めたら思った以上にややこしくて全然進まなくなりました。

頭では何となく解るのですが、図形をJavaScriptのコードであれこれするようなものは、コードを書いている途中に何がどうなってるのか解らなくなってしまいます。

書き方が悪いのか、あるいは変数の名前の付け方が良くないとか、そんな気もしますし、私の頭脳の限界という事かも知れませんけど。

もっとシンプルにしたら簡単に出来ると思うのですが、出来るはずの事はやらないとモヤモヤするので何とかするのです。

<!-- というか、最初は上手くいってたのに、コードがより洗練された感じになるように手を加えたら変になるとか。まったく何なのか。-->

謎の動き

クリックするとどんどん小さくなっていく!

これが何時だか解らないCanvas時計だとしたら変な事ではないかも知れないのですが、真面目に作っているものでこういう間抜けな現象が起きると面白かったりして。

ということで、Tauriで作ろうとしているアレに関連して、HTML内にサイズの変えられる何かを表示させようとしているのですが、簡単と見せかけて色んな条件が重なるとワケが解らなくなります。

そしてTauriだけど、ここまでやっている事はJavaScriptばっかりですし、今はテスト段階ということでTauriを使わずに普通のHTMLとJavaScriptでやっていたりして。
ここで色々と覚えたら次から何時だか解らないCanvas時計は豪華になるかも知れませんが、それはどうでも良いのです。

一方でTauriをやるという事で勉強を始めたRustの方ですが、入門書はそろそろ難しい部分に入ってきていて、読んでると眠い。

頑張りたいと思います。

リディキュラス光線 効かない

230215_01.png
ということで、何をしているのか?というとHTMLで画像が要素の中でどうやって表示されるのかのテストなのです。

何のためかというと、Tauriで作ろうとしているアレのために決まっていますが。

こういうのってCSSで簡単に出来るかと思ったら、Webページで表示するのに便利な機能と、単一のウィンドウで表示して便利な機能というのがビミョーに違うということなのか、CSSだけでは上手くいかない感じがするのです。

結局、画像を表示する入れ物のサイズと画像のサイズをJavaScriptで計算したりしてやらないといけなくなりそうですけど。

でも右揃えで表示とかは簡単に出来ると思ったらこれもなぜか出来なかったりして。
そんな感じなので、例によってネットで検索なのですが。

CSSが思ったとおりにならない時の「○○ 効かない」という検索キーワードが必殺技が効かなくて困っているヒーローという感じで面白かったりして。
しかも、○○を入力したところで「効かない」が自動的に候補に出てきたりするのも良くあったりしますけど。

CSSもどんどん複雑になっていきますし、困っている人は沢山いるようです。


どうでも良い事ばかり書いてしまいましたが、テスト用に作った色んなサイズの画像は、画像の中に中心とか左上とか右下とかそういう情報を書いて、枠の中でどうやって表示されているのか解りやすいので、ちょっと良いアイディアだと思った、という事でもあります。