ぴろり上西
2010年06月17日
MT5.1への要望を出しましょう!
グローバルテンプレートと、そうでないテンプレートの違いをテンプレート作成画面ではっきりわかるようにしてもらえるとうれしいです。
お客さまが、ブログのテンプレート作業をしていたら、知らない間にグローバルテンプレートに移動してしまっていて大変なことになったりしているので・・・(私もたまにやってしまいます・・・)
まだまだ続くよ!
機能
テンプレートの編集画面で、読み込んでいるモジュールテンプレートが、グローバルテンプレートだった場合には、ちょっとした記号を表示して、そのテンプレートがグローバルテンプレートであることを明示します。

インストール
ダウンロードしたアーカイブを展開して、plugins ディレクトリにコピーしてください。設定項目などはありません。
ダウンロード
ダウンロード
その他
- このプラグインはブログウェアです。個人利用の場合は無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
- MT4、MT5で動作確認済みです。
ぴろり上西
2010年06月16日
MT5.1への要望を出しましょう! - MTQ
テンプレートやモジュールに埋め込まれている子テンプレートや子モジュールへのリンクが表示されるのは便利ですが、逆に「このテンプレート/モジュールが埋め込まれている親テンプレート/親モジュール」が表示されるとありがたいです。
というわけで作ってみました その3。
機能
テンプレートの編集画面には、そのテンプレートが参照している子のテンプレートモジュールの名前は表示されていますが、現在編集中のテンプレートをどのテンプレートが参照しているかを表示するためのプラグインです(ああ、ややこしい) 使ってもらえればわかると思いますー

インストール
ダウンロードしたアーカイブを展開して、plugins ディレクトリにコピーしてください。設定項目などはありません。
ダウンロード
ダウンロード
その他
- このプラグインはブログウェアです。個人利用の場合は無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
- MT4、MT5で動作確認済みです。
ぴろり上西
2010年06月15日
MT5.1への要望を出しましょう! - MTQ
カテゴリー作成時にフォルダ名を指定したいです。作成後に編集画面で変更するのは不便です。
というわけで作ってみました2。
機能
カテゴリ/フォルダを新規作成する時に、スラッシュ区切りでカテゴリ名、ベースネーム、説明文を一発で登録できるようにします。例えば、「Category1/apple/テスト」と入力してカテゴリを作成すると、カテゴリ名=Category1、ベースネーム=apple、説明文=テスト、と一発で設定されます。
インストール
ダウンロードしたアーカイブを展開して、plugins ディレクトリにコピーしてください。設定項目などはありません。
ダウンロード
ダウンロード
その他
- このプラグインはブログウェアです。個人利用の場合は無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
- MT4、MT5で動作確認済みです。
ぴろり上西
2010年06月14日
MT5.1への要望を出しましょう! - MTQ
カテゴリー編集画面でのカテゴリーの移動をしたいです。
カテゴリーが大量にある時に、一覧画面に戻らなければならないのが不便なので、前後のカテゴリーに移動するリンクが欲しいです。
なるほどねー。というわけで作ってみました。MT5.1で標準搭載されたらそれまでの命ですが。
機能
カテゴリ/フォルダの個別編集画面に、「前へ」「次へ」「親カテゴリ/フォルダへ」のナビゲーションリンクを追加します。これにより、多数のカテゴリやフォルダを編集しなければならない場合でも、毎回一覧画面に戻らなくてもよいので、編集が楽に行えるようになります。
インストール
ダウンロードしたアーカイブを展開して、plugins ディレクトリにコピーしてください。設定項目などはありません。
ダウンロード
ダウンロード
その他
- このプラグインはブログウェアです。個人利用の場合は無償でご利用頂けますが、感想、要望などをあなたのブログで記事として紹介頂けると幸いです。
- 個人利用または商用利用に関わらず無償でご利用いただけます。
- 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
- MT4、MT5で動作確認済みです。
ぴろり上西
2010年06月11日
「推測するな、計測せよ」とは名著「サーバ/インフラを支える技術」の中のプログラマの言葉です。MTIgnore タグが構築パフォーマンスに影響を与えるのかという話題ですが、この点を簡単なプログラムを書いて計測してみました。
計測に使用したプログラムの簡単な説明をします。指定された回数分、ループで回して<MTIgnore><MTIgnore><MTIgnore>〜</MTIgnore></MTIgnore></MTIgnore>と入れ子にした場合(1.)と、<MTIgnore></MTIgnore><MTIgnore></MTIgnore><MTIgnore></MTIgnore>〜と指定回数分だけ並べた場合(2.)を計測します。時間の計測には Time::HiRes モジュールを利用します。そして、上記のテンプレートについて、コンパイルとビルドに要する時間をそれぞれ計測しました。
| 回数 | コンパイル(1.) | コンパイル(2.) | ビルド(1.) | ビルド(2.) |
| 1 | 26ms | 25ms | <0ms | <0ms |
| 10 | 26ms | 26ms | <0ms | 1ms |
| 100 | 28ms | 33ms | <0ms | 6ms |
| 1,000 | 43ms | 86ms | <0ms | 51ms |
| 10,000 | 211ms | 628ms | <0ms | 510ms |
| 100,000 | 1,915ms | 6,056ms | <0ms | 5,082ms |
| 1,000,000 | 10,299ms | 60,331ms | 14ms | 50,615ms |
結論から言うと、タグ数が1,000未満のような通常の運用の範囲で書かれるテンプレートでは、MTIgnoreテンプレートタグがそのパフォーマンスに与える影響はほとんどありませんよ、ということです。むしろ、積極的に使って読みやすいテンプレートを書くことを心がけた方が良いでしょう。
上記の計測結果で重要なことは、ビルド処理と同等、またはそれ以上にコンパイルに要する時間が無視できない、という点です。ビルドに関する処理部分だけを見て、パフォーマンスを論ずる方がいらっしゃいますが、むしろ MovableType テンプレートのようなインタプリタ言語では、コンパイラ部分の性能が大きく影響してきます。この辺りは情報理論、インタプリタやコンパイラの勉強をされた方なら常識ですね。MovableTypeのテンプレートは典型的な再起下降構文解析器が使われていて、ちょっと面白いのは、MTIgnoreの処理が特別に書かれていることです。これはC言語のようなプリプロセッサを持たないためと考えられます。具体的には、MTIgnoreタグについては、そのコンテンツを全く無視するような動作になっており再帰下降しません。そのため、非常に巨大なネスト(1.のケース)でも、処理時間が爆発せずに済んでいるわけです。
興味のある方は、MT::Build::compileを読んでみると面白いと思います。