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で書かないといけないですし、なんか不安になってきているのです。
ということでTauriを使って何かを作れたら良いなあ、というやつの続きですが。
ちょっとずつ進んでいたRustの入門書は基本的なところは読み終えて、本格的なアプリを作ってみよう!ってところまできているのです。
ということは、もうすでにJavaScriptだけでは出来ないようなこともRustで書けるようになっているはずなのですけど。
おかしいなあ。
それはともかく、Rustのコードを見て何が書いてあるかも解るようになってきたので、Tauriでやってるやつを少し進めることにしたのです。
今回はダイアログからファイルを選択して開くというやつですが。
Rustの部分はネットで見つけたコードをほぼ丸写しだったりして。
でも、思ったより簡単にファイルにアクセス出来るようにはなりましたけど。
ただ、ドラッグアンドドロップで読み込む時にはリストだけど、今回のやり方だとオブジェクトっぽいので返ってくるとかで。
こういうところも上手くやらないといけなくなってきているのです。
ついでにJavaScriptでこれまで書いてきたコードもかなりカオスな感じになってきたので、これまで出来るようになったことを整理して作り直す方が良さそうだったりしますけど。
という感じで、前進はしたけどタウリン1000mgまではかなり遠いようです。
セーフ!
というのは何か?という感じですが、股間が隠れているからセーフということではありません。
急に脳の模型に興味が湧いてアマゾンで検索してたら、結果の中に色んなポーズがとれるデッサン向けなフィギュアがつがいで安かったので買ってしまったのです。
そうしたらモクジン君が私という立派なデッサン人形がいるのに、どうして?ということになっていたのですけど、実物が届いたら思っていたのとちょっと違うクオリティだったりして。
モクジン君的にはセーフということだったみたいです。
<!-- といっても、これまでモクジン君をデッサン人形として使ったことはないですが。-->
やっぱりもう少し高いのじゃないとリアルな感じにならないのかも知れません。
というよりも、関節が硬くて動かすと壊れそうな雰囲気もあったりするのですが、もったいないことにならないように慎重に扱いたいと思っております。
でも、写真みたいに遠目に見る感じではまあまあ人っぽいですし、モクジン君よりはちゃんとポーズもとれるので絵を描く時の参考にはなるでしょう。
Rustの見習いレベルになるまではTauriで作りたいものは出来ない、ということで先にHTMLとJavaScriptで出来る部分の下書き的なものをやるということになっているのですが。
この前やっていたやつはだいたい解ったということで、次のを始めたら思った以上にややこしくて全然進まなくなりました。
頭では何となく解るのですが、図形をJavaScriptのコードであれこれするようなものは、コードを書いている途中に何がどうなってるのか解らなくなってしまいます。
書き方が悪いのか、あるいは変数の名前の付け方が良くないとか、そんな気もしますし、私の頭脳の限界という事かも知れませんけど。
もっとシンプルにしたら簡単に出来ると思うのですが、出来るはずの事はやらないとモヤモヤするので何とかするのです。
<!-- というか、最初は上手くいってたのに、コードがより洗練された感じになるように手を加えたら変になるとか。まったく何なのか。-->
クリックするとどんどん小さくなっていく!
これが何時だか解らないCanvas時計だとしたら変な事ではないかも知れないのですが、真面目に作っているものでこういう間抜けな現象が起きると面白かったりして。
ということで、Tauriで作ろうとしているアレに関連して、HTML内にサイズの変えられる何かを表示させようとしているのですが、簡単と見せかけて色んな条件が重なるとワケが解らなくなります。
そしてTauriだけど、ここまでやっている事はJavaScriptばっかりですし、今はテスト段階ということでTauriを使わずに普通のHTMLとJavaScriptでやっていたりして。
ここで色々と覚えたら次から何時だか解らないCanvas時計は豪華になるかも知れませんが、それはどうでも良いのです。
一方でTauriをやるという事で勉強を始めたRustの方ですが、入門書はそろそろ難しい部分に入ってきていて、読んでると眠い。
頑張りたいと思います。
ということで、何をしているのか?というとHTMLで画像が要素の中でどうやって表示されるのかのテストなのです。
何のためかというと、Tauriで作ろうとしているアレのために決まっていますが。
こういうのってCSSで簡単に出来るかと思ったら、Webページで表示するのに便利な機能と、単一のウィンドウで表示して便利な機能というのがビミョーに違うということなのか、CSSだけでは上手くいかない感じがするのです。
結局、画像を表示する入れ物のサイズと画像のサイズをJavaScriptで計算したりしてやらないといけなくなりそうですけど。
でも右揃えで表示とかは簡単に出来ると思ったらこれもなぜか出来なかったりして。
そんな感じなので、例によってネットで検索なのですが。
CSSが思ったとおりにならない時の「○○ 効かない」という検索キーワードが必殺技が効かなくて困っているヒーローという感じで面白かったりして。
しかも、○○を入力したところで「効かない」が自動的に候補に出てきたりするのも良くあったりしますけど。
CSSもどんどん複雑になっていきますし、困っている人は沢山いるようです。
どうでも良い事ばかり書いてしまいましたが、テスト用に作った色んなサイズの画像は、画像の中に中心とか左上とか右下とかそういう情報を書いて、枠の中でどうやって表示されているのか解りやすいので、ちょっと良いアイディアだと思った、という事でもあります。
[ 迫力満点の人面雪像が高田世界館に登場! 「未来惑星ザルドス」にちなみ製作 - 上越タウンジャーナル ]
Googleは私に「婦人警官ザルドス芳恵」を書かせたがっているようだ。
ということで、AndroidでGoogleがお勧めの記事などを紹介するやつでお勧めされたのが上の記事なのですけど。
去年のクリスマスネタのために一回検索しただけで、しかも検索に使ったのはGoogleではなかったのです。
それでも「ザルドス」ってだけでお勧めするとか、これは何かあるに違いない。
それとは関係なく、作るかどうか解ってないのに、頭の中には「婦人警官ザルドス芳恵」の第2シーズンの設定が思い浮かんできたりしているのです。
困ったものですね。
<!-- それよりも「未来惑星ザルドス」をちゃんと見たいですが。-->
ということで1mg前進のTauriでアプリを作る!やつです。
ローカルなファイルをウィンドウに表示させることが出来るようになった、というか出来る事が解ったということなのです。
というか、小学何年生とかは特に意味がないですが、面白いから保存してあった日本語入力の「かわせみ3」の設定画面です。(何年生までに教わる漢字という制限が出来るようです。どうでもイイですが。)
JavaScriptは基本的にネットであれこれするためのもなので、ローカルなファイルにアクセスとかは苦手だったりするのですが、そういう部分をRustの方でやってくれたりするので、こうして画像とかも表示できるということなのですが。
ついでに書くと、元のファイル名にはスペースが含まれていたのですが、Tauriの機能で変換するとその辺もちゃんと対処してくれてたりして、結構便利だったりするのです。
Rustでコードを書かなくてもJavaScriptだけでなんとか出来るはずだったのが、これまではAPIを呼び出すのも上手くできなくて、かなりアレだったのです。
でも一回成功したので、次からはもう少しスムーズにタウリンを追加していけるのではないかと思っておるのです。
<!-- というか、タウリンって何なのか?ということでもありますけど。-->
ちなみに、スクショではボタン風のものがいくつか写っていますが、クリックしても書いてあるとおりのことが起きるワケではないとかもあったり。
そして、そのうちの一つはクリックする度にこの小学何年生制限の設定画面と表示されていく小学生地獄な機能になっているのです。