{HTML}{HTML5}{進捗記録}{AsciiDoc}{主述記法}{決め手に欠ける}{優先的に}{普及状況}{寄せておく}{重視すべき}...=}(75)

{希哲16年1月15日6歩 K#F85E/A-E74C-98C8}

進捗時限記録中略

<dl>対応する語釈記法仮称についての検討終了

まずは,AsciiDoc複数行ラベル記法取り入れることにした。


以前から 氏が使っていたことで AsciiDoc 風記法導入考えるようになったが,末尾::名称空間知符として多用していたため,語句:: 定義単一行ラベル記法導入するとおかしくなる輪郭がいくらかあるという問題があった。

ただ,最近この手の文字列交度記法利用統一すべきという考えまとまっているため,移行作業問題はあるものの仕様として導入することに問題はなくなった。そこで,すぐに取り入れても問題なさそう複数行ラベル記法から取り入れ,どう拡張するかは追い追い考えていくことにした。

記法名仮に語釈記法」とした。HTML5<dl>〈definition list〉から〈description list〉意味合い変わっているが,語句に対する説明という大まか意味には適っている

AsciiDocラベル記法はもっと汎用的使えるものらしいが,デライト重視すべき HTML では意味付け重要なので,とりあえず <dl>用途寄せておく


他に,Markdown Extra などで採用されている行頭 :記法検討した。記法として悪くはないが,普及状況いまいちで,優先的に採用するには決め手に欠ける

=}
{デライト史}{一日一文}{希哲6年}{デライト}{技術的負債}{『阿部寛のホームページ』}{最悪の事態}{実装可能}{遅かった}{9年}...=}(95)

{デライトはなぜ速いのか K#F85E/A-E74C-1187}

いまデライトでは,「高速化」の作業最優先取り組んでいる。その理由デライトの現状については,昨日,「デライト高速化前の現状整理」にまとめた。そちらは個人的覚え書きだが,興味があれば覗いてみて欲しい。

今日は,デライトの「速さ」の歴史について簡単に振り返ってみたい。


「デライトはなぜ速いのか」というに,デライト用者ユーザーは少し違和感を覚えるかもしれない。個人知識管理(PKM)サービスとしてのデライトは,速いと言えるほど速くはない。せいぜい「」だ。ただ,並の速さで動いているのが奇跡的に「速い」と言えるほど,実装難度が高いのだ。普通に実装すれば,遅過ぎてまず実用にならないだろう。

サービスとしてのデライトは,「デルン」という全く独自CMS で動いている。Wikipedia に対してウィキがあるようなものだと思ってもらえばいい。このデルンの実用化成功したのは,希哲6(2012)年,もう9年ほど前のことだ。

実は,最初にデルンが動いた時,使っていた論組プログラミング言語PHP だった。そして,あまりにも遅かった。ある程度のが出来たあと,すぐに C++書き直した。

これが出来たのは,当然,準備していたからだ。元々,デルン開発にあたっては速度重視していた。それは体感出来る速さのためというより,「遅さで使いものにならない」事態を避けるためだった。ほとんど前例が無く,全てが未知数手探りという状況だったので,そもそもデルンのようなものが現実的に実装可能なのかどうかすら分からなかった。作ってみたがまともに動かない……これを最悪の事態想定していた。

そうなると,利用する技術は少しでも速い方が良かった。手探りの開発過程でいわゆる技術的負債蓄積していくことも想定していたため,それを補ってくれるだけの速さが必要だった。言語で言えば,今なら Rust あたりも選択肢に入ったかもしれないが,デルンを構想し始めた当時は C++ くらいしか無かった。

一方で,当時の私はウェブ開発経験に乏しく,デルンに何が必要なのか把握出来ていなかった。そこで,PHP を使って試作品プロトタイプを作ってみることにしたわけだ。

案の定,PHP で出来たデルンは実用的速度で動かず,すぐに準備していた C++ に切り替えた。この移行作業円滑に進み,やがて という独自言語に変貌していく。

今のデライトは,この Cμ に FastCGIマルチスレッドnginx 等々と徹底的に速度を重視した構成で動いている。PostgreSQL出場(DB)側も Cμ で外充て(ストアド)函数にしている。徹底して単純化された設計も手伝い,ほぼ極限まで高速化出来る可能性がある。

これまでのデライトにとって,「速さ」は遅さを補うためのものだった。そして今,この速さを武器にするために高速化作業を進めている。どうせやるなら,有名dev.to『阿部寛のホームページ』のように,速さを楽しんでもらえるくらいにしたいと思っている。是非楽しみにしていてほしい。

=}
{db-1 から db-2 への移行}{移行作業}{db-1}{db-2}{希哲12年2月19日}{希哲12年2月18日}{ある捌き手}=}(7)

{db-1 から db-2 への移行作業 K#F85E/A-4686-5B30}

希哲12年2月18日から,本格的に試行。

db-1 の PostgreSQL8.1.23,手元の pg_dump9.6.3 ,db-2 は 9.2.24 で復元しようとすると lock_timeoutidle_in_transaction_session_timeoutrow_security の SET を認識出来ず違了が発生するがそれ以外は特に問題なく終了する。コメントアウトで十分か。

とりあえず,–data-only と –schema-only で出与えと素決めを別々に保存するようにした。

=}
{移行作業}

{}