ほぼ雑記的メモ
結局数週間で esbuild+jsbundlingに再移行です。
importmapは制限が多すぎます。設計思想としては悪くないのですが時代には早すぎる感じです。このあたりモジュールを読み込んでいくやり方がNode.js と ES Modules(ECMAScript Modules)でのモジュール読み込みの違いが混乱の元凶だと思うんですよね。Node はもともと CommonJS (CJS) という形式で始まりそして普及したけど規格としては独自規格(つまり仕様)。よって筋としては規格であるESMに行くべきなんですがこれに対応していないモジュールが多すぎる。
importmapは<script type="importmap"></script>の中にjson形式で必要とするjsの全ての場所を記す必要があります。ところがimportmap-railsではこのjsonが一つしか用意されていないので、一つのサイトで必要とする全てのjsの位置をユーザに知らしめる必要があります。これは管理者しか使わないjsなども公開する必要があり、あまりよろしくないと思われます
minifyしなくてもいいといえばいいんですが、やはり最低限の難読化はしておきたいところです。結局minifyしようとおもったらesbuildみたいなものの出番になるわけで、ならば最初からesbuild使ってたほうが楽ですよね。というわけで、現時点ではesbuild(的なやつ)+jsbundlingが最強だと思います。これもこれでよくわからないところがあるのだけれど。
IE という異物が消え去った今現れた新たな異物。これがまっさらになるのはいつの日か・・
それなりに大変でした。
2021年のブログ
webpackerはやめてwebpackを直接使う感じに完全移行せよみたいなブログも多々あるけど、経験的にrailsの道から外れるコードは将来地雷になるんだよなぁ・・というわけでwebpackerでとりあえず素直に実装。噂通りwebpackerの仕組みを理解するのに相当時間かかった。他にもテーマを設定できるようにしてたりしてたんだけど、そもそも自分(と身内)しか使ってないのでその辺りをごっそり削って固定にした。
結局頑張って移行したけどまた戻すことにしました。あの頃の自分に今の現状を教えてあげたいところ。あれだけ苦労して移行したWebpackerが不推奨になるとは思いもしなかったですね。
webpackerが非推奨になったのはwebの進化が大きいと思うんですが、JavaScriptでいろんなことができるようになったしES8あたりから流れが変わった感じがあります。サーバーサイドでなんでもゴリゴリやる時代じゃなくなったんだなぁと。他にもaxiosを削ったらHAMLをErbに書き換えたりしています。HAMLは登場時はとても便利だと思ったんですが、bootstrapのHTMLのコピペとかができなくて結局不便やんという感じです。ゴリゴリHTML書くerbのほうがマシですね。
axiosはfetchに置き換えました。
Mathjaxとかgemでのサポートが終わってしまったシステムは破棄して、直接jsを読み込むように作り直しました。欲しい機能はだいたいjsで供給されるしgemの対応が遅いから、直接持ってきた方が早い。
今後の方針としてはなるべくgemは使わない。これを肝に銘じて運用していこうと思います。
初の子供プロデュース。兎に角電車に乗りたいと言うことでほぼ鈍行。
東京→豊田→大月→甲府→松本→長野→高崎→上野
長野から高崎だけ新幹線に乗りました。篠ノ井線乗るのは数十年ぶりですかね・・姥捨からの眺めは絶景でした。
今回一周乗車券をえきねっとえ買いました。こんな変態的なきっぷでもえきねっとで買えると言うのは驚きです。
ただ、ちょっとコツは要ります。
えきねっとは経由駅を三つまでしか入れられないんです。今回は
東京→上野にして、経由を松本・長野と入れることで発券できました。
とにかく三つが限界なのでこの三つをどのように入れるのかが重要になります。今回は二つで行けたので楽です。
次に最終的な発券は東京都区内→東京都区内の一周乗車券になるのですが、始発駅と終着駅は異なる駅にする必要があります。
そして検索オプションで
「乗車券のみ購入」のチェックを追加します
コツとしてはこれだけなんですが、やっぱりうまくいかないことがあってその場合は「特急列車・指定席がある列車を利用」のチェックを外したり、経由値に倉賀野入れたりとか工夫してください。あと「はやぶさ」を優先にすると「やまびこ」とか検索から出てこなくなったりもします。優先ってそう言う意味じゃないだろうと思うんですが、えきねっとのシステムはなんか意味不明なことが多いですね。
とにかく乗車券さえ買えれば(各駅停車の旅なら)後はなんとでもなるので色々試してみてください。長野から高崎だけ新幹線乗らないとダメですけど、これは乗り換え口で特急券購入すれば済みますしね。自由席でも問題のない距離です。
で、今回の旅行記ですけど写真ないです・・子供が写ってるのしかなくていいのがなかった。
昨日の朝から、MacのTime Machineでバックアップができなくなってしまいました。エラーメッセージには、次のような内容が表示されます。
「クラウド上のiCloud Drive個のファイルの同期が完了していないため、Time Machineでバックアップできません。」
最初は「なんだこれ?」と思いながらも、いろいろと試してみました。
まず以下のことを確認しました。
正直、ここまでやっても原因がまったくわからず「もうお手上げだ…」という気持ちになりました。
Appleのサポートページなどには「同期には数日かかることがあります」と書かれていましたが、数日待てば本当に直るのかも疑問です。そもそも「iCloud Drive個のファイル」って何なんだ……?とモヤモヤが募ります。ちなみに、Macはずっと電源が入った状態で運用しています。
そんなこんなんで、いろいろ試行錯誤した結果、ようやく原因がわかりました。
実は、同じMacにある妻のアカウントで久しぶりにログインがあったことがきっかけでした。そして、その妻のアカウントのiCloudのセッションが切れていたのです。
どうやら、Time Machineは他のユーザーアカウントのiCloud同期状態も参照しているようで、そこが未同期のままだとバックアップ全体が止まってしまうようです。
妻のアカウントでApple IDからサインアウトしたところ、ようやく同期が開始され、Time Machineのバックアップも通るようになりました。
今回は、自分のアカウントではなく「別のアカウントのiCloud同期」が原因だったため、なかなか気づけず、原因特定までにずいぶん時間がかかってしまいました。
同じような症状で困っている方がいましたら、別ユーザーアカウントのiCloud設定も確認してみると、解決の糸口になるかもしれません。
Powered by Red Leaf ( Rev. f89043635 ), © Issei Numata, 2007-2025