経過と状況 (23:33)
ざっとした経過と現在の状況を書いておく。
- メインのサーバーのプライマリディスクが死んで起動しなくなった
- 予備(DB&裏タスクメイン)サーバーにWebアプリ側も移動して暫定復活
- サーバーのディスク交換を依頼。セカンダリーディスクもダメなら丸ごと交換するよう付記
- メインのサーバーが復活したとの連絡。プライマリー、セカンダリー共にふつうにアクセスできた。
- メインのサーバーのセカンダリディスクにすべてのアプリケーションデータを移動して通常復活(のつもりだった)。そのまま旅行に出かける。車でさいたまから北九州まで夜を徹して1000km一気に移動。その後ぐったり。
- 数日後、ディスク交換完了の連絡(まだその依頼が生きていると思っていなかった)。しかし長期旅行先でネット環境がなく、連絡に気づかないままに半日以上放置。
- 連絡に気づき、あわてて素のFedora Core 3にセットアップされたサーバーにログインしようとするが、連絡されたアカウントではログインできない。結局rootのパスワードとログイン用アカウントのパスワードが逆に通知されているのが原因だった。
- ログインしてみたら、問題なさそうだったセカンダリーディスクまで交換されていて愕然とする。DBデータとかも全部別サーバーからコピーし直しかよ。セカンダリーディスクにコピーした段階で油断して、別サーバーへのバックアップを完全にしていなかったことに思い当たり、作業の手間にうんざりする。
- 素の状態にセットアップされたサーバーに、京ポンPC接続経由で最低限のWeb環境をインストール。京ポンが128k接続非対応端末であることにそのとき気づく。遅い。
- 1470.netのサーバーはいろいろなツールを組み合わせて動かしているんで、関連ツールのインストールが結構面倒。しかも今回のFC3は従来といろいろ変わっているらしく、RH系のTIPSを使っても素直にインストールされてくれないものが多い。
- さらにちょうどそのタイミングでChasenの配布サーバーが落ちていたらしく(あるいはAirEdge経由での経路が死んでいただけかもしれない)、Chasen関連のデータもダウンロードできない。別サーバーにあったアーカイブを使ってインストールしようとしてもmakeでこける(これはgccの互換性の問題らしかったけど、ネット環境が遅すぎて探せなかった)
- あまりにネットワークが遅くて作業がはかどらないんで、ある程度主要な機能が動き始めたところで、外出先での作業をあきらめる。
- 金曜日の夕方に再び車で北九州からさいたままで1000km移動。今回は途中で力尽きて滋賀のSA(ホテル)で一泊。名古屋と都内で渋滞にはまり、家に帰り着いたときにはぐったり。
- 日曜日の朝早めに目が覚めたんで、いろいろ残っていたセットアップを行う。さらにDBサーバーのプライマリーとレプリケーションの関係を変更したり。DBデータが3.5Gくらいあるんでネットワーク越しの移行作業はそれなりに時間がかかる。3時間ほどサーバーを止めて作業完了。
- その他気がついたところをなおしながら現在に至る。ひとまずだいたいの機能は動かしたはずだけど、まだおかしいところがあるかもしれない。
- あとどうも今回のFC3は、思ったように動かないところが多すぎる。前回FC3を素からセットアップしたときには、FC2までと大して変わっていなかったのに。今回のセットアップ(作業をした人?)に問題があったのか、それともFC3の標準状態が変化したのか、なんなんだろう? selinuxは外してあるんだけど。
- というわけで表向きの機能はだいたい復活しているけど、裏側はまだかなりぐちゃぐちゃ。かなり根本的なところから手をかける必要がありそうだ。
Re: 米国著作権法とsb : highbiscus -北国tv (18:07)
テンプレート技術とテンプレート仕様とテンプレートデータとコンテンツ(エントリー)データの区別をつけてから出直してきなさい。
- テンプレート技術はblogツール、Webアプリケーションに限らず、プログラミングで非常に一般的なテクニック。領収書の宛名を書く部分は「$NAME$様」としておいて、実際にコンテンツが決まった時に「highbiscus様」に差し替える、という技術。
- テンプレート仕様は、テンプレート変数(名)とコンテンツの対応付け。上で言うところの「$NAME$」は「宛名」である、というような決まり*1。
- テンプレートデータは、テンプレート仕様に基づいて作成されたデザインデータ。「宛名: $NAME$様」みたいなデータ。
- コンテンツデータは、テンプレートにはめ込まれるコンテンツの内容。「$customer = 'highbiscus';」とか。
sbがJUGEMと互換性をもっているのは、テンプレート仕様。ユーザーインターフェースなどの外見的な特徴を表現しているのは、テンプレートデータの方。テンプレートデータによってユーザーインターフェースが同じになったとしても、それはテンプレートデータの著作権の問題であって、それを読み込むツールの問題ではない。sbがtDiaryやMTのデータをインポートできるというのは、コンテンツデータのこと。sbとsb2で互換性がないというのも同じ。これは今回の件とは関係ない。
テンプレート技術、テンプレート仕様、テンプレートデータ、コンテンツデータの関係を簡単な式で表現すると、以下のようになる。
テンプレートデータ+コンテンツデータ=ブラウザに表示される画面
テンプレート技術とテンプレート仕様は、上記の式で言うところの「+」の部分になる。テンプレートデータとコンテンツデータを結合する処理を行うために利用される技術と仕様。
テンプレート展開の実装方法としては、
- 正規表現を使ってテンプレート変数を置換
- DOMツリーに展開して該当のオブジェクトのinnerTextに代入
- いったんネイティブプログラムコードに変換してからeval
など、いろいろな書き方がある。というのが表現の違いの話。
JUGEMはソースが公開されていないので、sbはJUGEMの著作権に触れることなく、互換性のある実装を行っている。もし偶然JUGEMとsbのテンプレート展開の処理が似たようなコードで記述されていたとしても、sbの実装はJUGEMのソースを元にした(由来した)ものではないので、著作権的には問題ない。というのが著作権における由来性の例外事項(同じ表現でも由来していなければ著作権には触れない)の意味。
ところで結局、テンプレート仕様(タグ)の互換性以外には問題がない、ということでいいのかな?
*1 ブロック指定とか条件によって表示・非表示を切り替えるロジックとかを書ける場合もあるけど
