概ね良好。
調子は良かったが,顔にやや疲れが見えた。寝不足の影響が残っている上,蒸し暑さにかなり体力を奪われた感がある。
隠し破りを KNEST の一部として体系化することにし,仕様まとめと交度修正などを一通り終えた。緊急性は低いため未出振るい。
KNEST では,%Y%m%d%H%M%S
形式の求頼変数を隠し破りとして扱い(例:?20230101000001
),デライトでもこれで統一することにした。この時印形式を「詰め込み時印」(ts_jam
)と呼んでおく。
隠し破り導入以後,スクリプトや装体書などの主要静的譜類には ?upd=K170101.1
のように,希哲紀元での日付と連番の形式を基本的に使ってきたが,自我アイコン隠し破り対応では ?icon&upd=[Unix 時間]
になったり,添付譜類では ?[Unix 時間]
になったりと,統一感がなくなってきていた。
実用上はなんでも良かったが,譜類添付機能実装以降は用者の目に触れやすくなったため,簡潔さと分かりやすさを両立させる必要性を感じていた。Unix 時間では非技術者が理解しにくいし,技術者でも意図を理解するのに時間がかかる。それが不安に繋がることは好ましくない。特に簡潔というわけでもない。
確実性を重視するならハッシュを使うのが定石だが,抽象性が低いということでもあり,擬制的に扱いにくく,融通が利かない場面が出てくる。冗長さは一部省略で何とかなるにしても,やはり分かりにくい。
総合的に,詰め込み時印のみが一番無難だろうと結論付けた。更新時印でも整合性を保つやり方はいくらでもある。用者が意図を推測しやすく,開発者も手動で扱ったり異常に気付いたりしやすい。
強いて欠点を挙げるなら,更新日時を知られたくない人もいるかもしれない,ということくらいだが,デライトでは大きな問題ではないだろう。そもそも更新履歴を見られるサービスや投稿と同時に上信される SNS なら秘密情報ではない。
ウェブ捌きの設定などで小細工しやすいように,upd=
なり mod=
なり ts=
なりの値として表現することも再考したが,値として扱うことを想定していない文字列という特殊性を鑑みると,それはそれで違和感がある。14桁数字列の求頼変数は隠し破り,と明確に決めておけば十分だろう。
これを機に,これまでいちいち書き換えてきた主要静的譜類用の隠し破りの更新も,mk
の bld-etc
で自動化した。テンプレートの一箇所書き換えればいいようになっていたものの,積み重なるとそれなりの手間だった。
自動化するまでもない隠し破りの記述もいくつか残っているが,これは ?upd=K170101.1
なら ?20230101000001
というように置換しておいた。
ここでいったん出振るい,手定めを終え,デラング関連スクリプト読み込み改良は一段落とする。
若干混乱していたデラング関連スクリプト読み込み周りの交度整理が大きく進み,非常に見通しが良くなった。期待していなかったが,体感速度向上が見られたのは意外な収穫だった。過程で環境整備や不具合修正など雑多な収穫もあった。
これまで,後縁では使用しているデラング記法に基いて <script>
などを送出する効率的な仕組みが出来ていたが,前縁では Aejs の未整理が原因で不必要なスクリプト読み込みが多々発生していた。最近の対応サービス増加で,この現状への危機感が募っていた。これまではともかく,これ以上増やすには交度整理と効率化が必要だと感じていた。
本当努では,交度整理を進めながら,必要最小限のスクリプトを確実に読み込むようにすることを目指し,その目的は十分に果たした。
「今後のため」という意識が強く,すぐに恩恵があるわけではないと考えていたが,実際に出振るいしてみると明らかに体感速度が向上している。これはちょっと驚いた。高速化として期待出来るのは,せいぜい,スクリプトまで評価する検索演心向けの SEO 効果くらいだろうと思っていた。
棚から牡丹餅ではあるが,外部スクリプトの負荷を軽視していたことへの反省もあり,複雑な気分だ。確かに,最近は自サービスの応答速度ばかり気にしていた。
交度整理では,@math
,@dia
,@cd
,@mbd
,@mbd.Tw
の整理を中心に進めた。実装時期がばらばらで統一感もなく乱雑だったが,概ねよく整理出来た。@mbd.Tw
に若干の要整理交度が残っているくらいだ。
CodePen 対応を含むデラング調整(6歩,7歩,8歩),課題だった KaTeX マクロ問題を含む不具合修正(9歩,12歩)。
やはり,知名欄・描写欄にマウスオーバーで捕活するようになったことで描出効率が大きく向上している。元々あった機能ではあるが,第二次用合い改良以後のデライトとの相性が非常に良い。
写し貼り時などの無駄なクリックが大きく減り,一度捕活解除した後に残った選択状態も判別しやすくなった。これは描写欄から引き入れ欄への写し貼りを繰り返す時に重要な点だ。
手元の舞覧(Linux 版 Firefox など)では,捕活が移ると選択状態が残っていても配灯が消える。クリックで捕活すると選択状態自体が消えてしまうので,前回の選択範囲が分からなくなる。その上,見えなくても選択状態は残っているので,新しく選択するつもりで前回の選択範囲の上からドラッグしてしまうと意図しない文字列ドラッグが発生する。マウスオーバーで捕活しなかった時期はこれがなかなかのストレスだった。
寝食を忘れたような作業を続けてきたので無理もないが,日中は疲労感が強かったので半休にした。
第二次用合い改良と輪郭小窓実装の成功による解放感と満足感で,身体が先に休みに入っている感がある。用合い改良は一区切りついて新生全知検索整備に入れるようになったものの,明日は月末の雑務もあり,準備程度のことしか出来ないだろう。早めに今月のまとめを始めた。
輪郭小窓とここまでの第二次用合い改良は,開発者心理への印迫も想像をはるかに越えて大きかった。
出振るい後,「新生デライト」の定義も揺さぶられている。少なくとも用者体験の面ではすでに新生デライトと言うべき域にある。新生デライトの要件としていた当努はまだまだ残っているが,初見者が一番先に触れる部分でもある輪郭小窓を越える印迫はないだろう。
上旬の時点では,上旬中に輪郭小窓実装を終えて中旬中に機能実装・文書整備を大方終えたいと思っていた。だから輪郭小窓実装がなかなか終わらないことに多少の焦りがあった。しかし,実際に触れるようになってみるとそんな感情も吹き飛んでしまった。一ヶ月の収穫としては大き過ぎるくらいだ。
デライト開発では本当によくあることだが,これも計画に対する直感の勝利と言える。この収穫を活かして組計を練り直すことにした。
じっくり調整して満足出来る仕上がりになったため,輪郭小窓実装はここで一段落とすることにした。まだこまごまとした課題が残っているため第二次用合い改良は継続する。
また,次の当努は包括的な全知検索整備に決めた。検索結果の改良はもちろん,大幅な高速化も望める。また大工事になるが,一応月内完了を目標とする。次の全知検索整備も「第〜次〜」と呼ぶことを考えたが,ちょくちょく手を入れているため区切りが難しい。とりあえず「新生全知検索整備」と呼んでおくことにした。
輪郭候補窓や輪郭小窓の無番輪符対応については少し迷ったが,どちらも全知検索を利用するため作業効率を考えて新生全知検索整備後に回すことにした。
輪郭小窓については,機能・見触れともに十分な完成度に達したと言える。昨日手こずったタッチ事象も上手く整理出来るようになった。
装体に関しては,初回出振るい時には小さめにした前後景部と閉じるボタンを大きめに修正した(輪郭小窓の様子・完成形)。視覚的な無駄を削ったつもりだったが,他要素に被るものなので小さいと視認・操作に難がある。見た目も思ったより良い感じに出来た。
アンカーテキストを輪符に展開するだけだった従来の用合いに比べると劇的な進歩だ。デライトの用合いの転換点になるだろう。
ここで録入り状態照合処理実装に入ることにした。
違了処理整備,輪郭選り手抜控機能整備などを経てデライトの信頼性は飛躍的に向上したが,録入り状態の不整合による下書き消失が無視出来ない問題として残っている。
先日の見直しで強制録落ちの確率はかなり低下したはずだが,事故ではなく,こまめに録落ちしたり,自我を頻繁に切り替える場合にも問題になる。後縁で録落ちしていると番無しで新規描出してしまうし,自我が切り替わっていると再描出に失敗して下書きだけが消える。
書いた文章の消失も大きなストレスだが,常に消失リスクを心配していなければならないのも用者体験にとって足枷だ。折角ここまで来たのだから,万全にしておきたい。
録入りページへの誘導などの作り込みは後回しでいいので,最低限必要な処理だけ実装しておく。