てがろぐカテゴリ変更ツール
てがろぐのカテゴリをまとめて変更できるツールを作りました!
中身を作ってくれたのはChatGPTで、わたしはそれをこのサイトの一部にするためにスタイリングといらん苦労をしただけですが…。
タグのみ運用で使ってるてがろぐをカテゴリ運用に切り替えたい、という自分の需要で作りました。カテゴリを事前に作るのが面倒という怠惰で全部タグしか使ってなかったので…。
がんばれば自作できるかなとも思ったんですが、とりあえずChatGPTに聞いてみたらあっという間に動くものが出てきて感動した。
JSなら何やってるかはわかるので注文も付けやすいし、ある程度の修正も自前でできるのでいい感じになんとかなりました。
Astroと動的コンテンツ
というわけでローカルのhtml+JSで動くものはすぐにできたんですが、せっかくだからこれサイトに置こう!と思ったのが甘かった…。
わかってはいたけど、Astroはクライアントサイドのスクリプトを気軽に書くようにはできていない。
Zero Javascript, By Defaultって思いっきり売り文句に書いてあるし!
そして<script is:inline>
はClientRouter(View Transition)との相性が悪い…。
astroファイルにもクライアントサイドのJS書けるし動くんですけど、1回しか読み込まれないからページ遷移で動かなくなったり、ならばとページ遷移で発火するようにしたらどのページでも発火しちゃったりして、いろいろ迷走した挙句、これはこういう使い方をするやつじゃないんだろうな…ということだけわかった。
結局、Reactとかのフレームワークコンポーネントと同じノリでWebコンポーネントにするしかなさそうだったのでそうしました。
右下にある上に戻るボタンとか、ゲームページの画像カルーセルとかも同じくWebコンポーネントで作ったので方法は知ってたんですが、コンポーネントっていう概念がなんか使いまわしのきくパーツくらいのイメージだったので、ページほぼ丸ごとコンポーネント化するっていう発想にならなくて無駄に迷走した気がする…。
結局Astroで直接ページを作るのはastroファイルだし、自前のフレームワークコンポーネントに閉じ込めるんだと思えばそういうものかーってかんじですが(この理解であってる??)
AstroのWebコンポーネントってあんまり参考になる情報が見当たらなくて(公式ドキュのサンプルコードしか見本なくない!?)、ChatGPTくんに頼んでも普通のWebコンポーネントしか書いてくれなさそうだったので、手動でちまちま修正しました。ついでにJSだったのをTSに直したりとか。
必死に散々修正した後で、不具合に気付いて修正頼んだらコード全部リファクタリングされて泣いちゃった…。
もう修正手順は分かってたので、さすがにそこはもうお願いしてなんとかしてもらいました。
改めて書きだすとほとんど無意味なことしかしてないな!
なにもわからない
それにしても本当になにもわからない…。
なにかしようとすればするほどなにもわからないという気持ちが深まる。俺たちは雰囲気でサイトを作っている…。
基礎がガタガタなので、なにか問題が起きた時にそれがJSの問題なのかTSの問題なのかAstroの問題なのかはたまたViteとかの問題なのかすら全然見分けがつかないんだよなあ…。
AIに聞いても、自分がどこまでわかってて質問をしているかはAIにはわからないし、こっちの質問の焦点自体がズレてたら当然答えもズレるわけで。近視眼的に目の前のエラーを解消しようとしても今度は他でエラーが生じたりするので、もっと全体的になにがなんなのかがわからないといけないよなあ…。当たり前のことだけど。
コードに強いAIとかをめいっぱい使いこなせればまた全然違うんだろうとは思いますが、そんなん現時点では雲の上の次元の話である。
日曜大工もロクにできないのにビルを建てようとしてはいけない…。いくらワンボタンでビルっぽいものが建ててもらえるとしても…。
自戒:AIに聞く前に公式ドキュメントを読め。最新の原語版を読め。
少なくとも更新頻度の高いAstroに関しては現状それがいちばん早い…。
やってればそのうちわかる(はず)
まあでも、なにもわからなくても雰囲気でサイトは作れるわけですよ!
実際勉強するぞ~と思って講座やらチュートリアルやらをやってもてんで身には付かなかったし、こうして実践でずっこけながらやってく以外に現実的な方法ってないのかもな~と最近はへらへらおもっています。
結局のところ勉強は手段であって目的にはならないので、その手段を必要とする目的があって初めて身になるもんなのかなと。
サイト作りたいからいろいろわかるしかない、このツール動かしたいからなんとかするしかない、このゲーム完成させたいからどうにかするしかない、みたいな。
イベント申し込んだから新刊を完成させるしかないみたいな思考回路だ。
なにもわからなくてもやっていればできるようになるしかない。ので、遠回りでずっこけてまわるのはしょうがないかあ…という気持ちです。
若いころはそういうのすごくイヤだったけど、もう若くなくなったので大丈夫になった…(かなしい顔)
どうあれ、やりたいことを好きにやれる能力があるほうがいいもの…。
仕事でこんなんやってたら大変でしょうけど、仕事じゃなくて趣味だからね。
べつにどんだけ非効率でもやってて楽しければそれでいいので…趣味でよかったなあ!(しみじみ)