Simplyのデビューは2017年の年末。Yokohamaのサイトを「ほぼそのままに」移植するのが目標だった。実はこの時期にChienomiはWordPressデザインを変更している。Simply以前にはPureBuilder2を使用していた。個人的には「めんどくさい」プログラムだった。設置したいとは思えない。ドキュメントそのものは、PureBuilder2になってKramdownによるMarkdownサポートが追加されており、Markdownで書いていたのだが、サイト構築がめんどくさい。Simplyであった。Simplyの名の通り、複雑な方法で機能を提供していたPureBuilder2と違い、Pandocを使用して非常にシンプルなアプローチを実現している。このソフトウェアがとてもよかった。これこそ商用利用に適しているし、広くオープンソースとして展開できると思った。WordPressで構築されている)の置き換えが検討された。Yokohamaのサイトは既にMarkdownで書かれており、置き換えが容易だったのに対して、それ以外のサイトは多くの問題があった。Simplyに置き換えたし、元がWordPressサイトだったものもあるが、「正攻法で」...というか、汎用性のある方法で移行したものはなく、あまりノウハウとしての蓄積がなかった。Memorandaだった。実行はごく最近である。MemorandaはWordPressからの移行ではあるが、記事の選定でごく一部の記事しか残らなかったため、手作業で移植している。移行「したかった」のがChienomiだ。Chienomiは実用的なニーズが高く、アクセス数も非常に多い。ここ数ヶ月は月間PVは約15万ほどである。軽量化したいし、負荷にも耐えられるようにしたい。ヴィジターをトラッカーに晒す事態からも避けたい。これだけ負担のあるサイトで、広告をつけることも避けているのだから、それを台無しにするような要素をなくしたい。実行できないまま、2年が経とうとしていた。着手したのは金曜日の夜だった。この時点では何もしていない、まっさらの状態だ。新しいChienomiをお披露目したのは日曜日の夜中。2日の作業である(2回寝ているので、体感的には3日)。旧サイトのVPS側でサーバーリダイレクトを設定という作業である。してみると結構がんばっている。いつもよりかなり多めの家事をこなし、台風の対応もしつつであったことを考えると割と褒め称えられてもいいと思う。ちなみに、ドキュメントはコードを書きながらちゃんと書いている一番きつかったのはREXMLREXMLのXPathが目的のノードを全く見つけてくれなくてとても困った。child["//c"]endの結果がnilnilnilである。c要素が見つけられていない。これがなぜか全くわからず、悪戦苦闘した。いえば、#each_elementも通らない。実はこれ、REXML::ElementsとREXML::Elementがあるという罠であった。child.elements["//c"]endなら良い。結局、サーバーサイドで動かすようなものではないので、ActiveRecordを採用したのだけれども。速くするはずが...実は検索のコードは、「改善」としてもっと無駄がなく速そうなこんなコードも書いていた。endend実際のライブラリでは一旦リストを作ってから改めてファイルを読み直すという方法をとっている。downcaseしたことのある文書をもう一度downcaseしており、しかも後半は1行ずつdowncaseしているのでかなり効率が悪いように見えた。endendそこでできるだけ処理をまとめ、無駄なループが発生しないように書き直した...のだが、結果的には同条件計測で0.179秒から0.221秒へと悪化してしまった。なんで遅くなったのかさっぱり分からない。パフォーマンスチューニングは想像でやってもうまくいかないことを見せつけられた。ハイアクセシブル私の伝統である「Dilloとw3mでチェック」がChienomiにも適用された。(サイドカラムだけでなくヘッダーやシェアアイコンもなくなる)ページをフルに使うレイアウト設計グレースケールのカラーテーマ画像への折返しの配慮ソースコードの表示のされ方の調整セリフ体フォントの指定である。見やすいように微調整を加えている形である。「印刷しやすいテック系サイト」というのは、魅力のひとつになるかな、と思っている。