試供品 QLOOKアクセス解析

2012年2月4日(土曜日)に、福島第一聖書バプテスト教会牧師の佐藤彰先生(wikipedia)の講演会が開かれました。原発事故を起こした東京電力福島第一原子力発電所から僅か5kの距離にある教会で牧師をされていた先生です。

3月11日。地震発生時、佐藤先生は千葉県に居たそうです。地震発生後教会や教会員の方々に連絡を取ろうと試みるものの連絡が取れず不安な思いを持つ所から講演が始まりました。佐藤先生自ら仰って居ましたが、各種報道で報じられている状況と実際の被災地の状況は随分違っていて、現実的には報道とは全く違う日々が繰り広げられていた、と考えて頂いて良い。と仰っていました。
思うに、報道各社も全ての地域について満遍なく報道する事は不可能であり、当時の状況を鑑みるに報道されていた地域は比較的被害が小さく、また東京をはじめとする県外からアクセス可能な地域に限って報道されて、救援, 援助が開始されていた。と言う事なのでしょう。そのため、それ以外の地域に住む方々は、報道されていた状況とはほど遠い状況に置かれていたのでしょう。

地震発生後、原子力発電所で事故が発生、住民は強制退去になった事は報道を通して僕等も知っている事です。同時に多くの男性は職を失い、女性は使い慣れた台所を失い、高校生は退学を余儀なくされたそうです。一瞬の内に財産も、暖かい団らんも失いました。
そう言う状況に置かれると、普段は温厚な人であっても、心がすさみ、口にするはずも無い言動を発したり、取るはずもない行動を行ったりする様になったそうです。キリスト教的に言えば人はそもそも罪人であるから、その罪人らしさが露呈してしまった。と言ったら良いのでしょうか。財産や団らんだけでは無く、優しさや思いやりなど心のゆとりも失い、明日への希望も持てなくなってしまうそうです。
ほとんど報道される事が無い様に思いますが、鬱病や自殺者もたくさん出てしまったうです。人が生きる上で、「明日への希望」がどれだけ大切な物なのか、考えさせられるエピソードに感じました。

東北大震災が特に悲惨さを帯びている事は、地震だけでは無く、放射能問題も加味されている事でしょう。毎日の様に報道されている、被災地のがれきを県外処分する話しがなかなか進まない事も放射能問題があるためなのは明らかです。放射能問題が無かったら復興はもっと迅速に行えているのだろうとも思います。そう言う意味でも、国や東京電力は責任を痛感すべきなのでしょう。自然災害により起こった事とは言え、表面的な問題だけではなく、心の内側を破壊してしまう様な問題をはらんでいる事を、もっと理解すべきのなのだろうと感じています。

少なくても、関東に住む人達は関東への電力供給のために必要になった施設である事ももう少し自覚すべきなのかも知れません。自己中心的に放射能を怖がっているだけでは結果的に自分で自分の首を締め付ける事に繋がりかねない様に思えます。
便利な生活を覚えてしまった堕落した僕等ですから、十分な電力供給を得られない生活を送る事には無理がある事でしょう。これは国や電力会社だけの問題では無く、庶民の問題でもあります。理想論ばかり振りかざし現実性を帯びない様な話しをするのは簡単な事ですし、無い物ねだりをするのは子供じみています。

福島第一バプテスト教会は多くの会堂を持つ大きな教会です。100年使おうとして一昨年落成したノアの箱船を模して作った礼拝堂も、もう使う事はできないでしょう。長い教会の歴史もこれで終わりかと落胆したそうですが、多くの方々の支援を受け、5つ目の新しい会堂を今年落成させるとの事です。
人は、自ら苦しい体験をしないと他の人の痛みに鈍感になってしまう。そう言う所があります。一度苦しい思いをしても時間とともに鈍感になってしまい、他人を思いやる事ができなくなってしまうのが人間的な性質と言えるのだと思います。

幸せや喜びは相対的な性質の物です。昨日感じて居た幸せも、今日は当たり前になってしまっているかも知れません。そして、もっと幸せになりたいと、果てしなく求めてしまう物です。
人にとっての本当の幸せ。と言う物がどう言う物なのか。正直良く分かりません。幸せと言うのは絶対的な指標ではなく、相対的な指標です。しかも、直前の自分と比較した時の指標であり、他人から見て「あなたは幸せだ。あなたは不幸だ。」などと言う事の出来ない事の様に思えます。
一瞬に全てを失ってしまった人にとって見れば、着古された洋服を頂戴しても感謝の一言でしょう。着替える物がなく、洗濯と言う概念も無い生活を送っている人にとっては、中古品であっても恵みです。でも、今の僕等はそれを恵みだと感じる事はできないでしょう。幸せとは絶対的な指標ではなく、相対的な指標であると言う分かりやすい事例だと思います。
彼らは確かに不幸である事は確かな物です。でも、彼らの中にある「幸せ」と思える心の思いは僕等よりずっと豊かで敏感な物である事も事実でしょう。それを知っている事って、人間にとって幸せな事なのでしょうか?それとも不幸な事なのでしようか?とても難しい疑問です。

3月11日は奇しくも佐藤先生の誕生日です。神様は、まだ佐藤先生や福島第一バプテスト教会の教会員の方々を見捨てては居ないと言う事なのでしょう。むしろ、強く励まして明日への希望が明確に与えられている様に思えます。
一瞬にして彼らは全てを失った訳ですから不幸な事は事実です。でも、今は明確で強い明日への希望が与えられている。これってもの凄い事の様に思えます。
3月11日を通して、神様は佐藤先生に新しい試練と恵み, 道しるべを与えられました。日本各地だけではなく、世界各国の教会や様々なマスメディアへこれらの事を語る事もその恵みの様に思えます。

震災から新しい会堂を作るまでの現実を、社会の流れを押さえつつ時系列にまとめられた、流浪の教会と言う本が出版されています。時系列に事実を刻銘に示されているので、キリスト教に興味が無い方であっても読みやすい作りになっています。「避難生活報告」と言うコラム風の読み物では、佐藤先生の目線で書かれた被災者の現実が書かれて居ています。多少、キリスト教的ではありますが、こう言う被災者も居たのだな。と言う目線で見る事でできるのでお薦めできます。
3月11日以前に執筆し、3月11日以降に出版予定だった、順風よし、逆境もまたよしと言うエッセイ集は、佐藤先生の意思に反して出版された本だそうです。当然、タイトルも3月11日以前に決まっていた物ではありますが、震災を予感する様なタイトルはもしかすると預言だったのかも知れません。見開き1ページ1タイトルのエッセイ集で、耳が痛い内容だったり、励ましだったり。宗教者が書いただけあって非常に濃厚な印象を与えてくれます。震災を意識して読むと、胸を抉られる様な内容もあり名著です。

1時間強の講演だったでしょうか。あっと言う間に終わってしまった。そんな印象の強い講演でした。普段の礼拝とは全く違う物ですが、色々と考えさせられた貴重な時間となりました。
最後に、震災後先生が大好きになったと言う、「遠き国や」と言う賛美歌を賛美しました。この講演が行われた教会では、普段新改訳聖書新聖歌を使用しています。「遠き国や」と言う賛美歌は、新聖歌には収録されていない曲なので、僕は初めて聞きました。

「遠き国や」(賛美歌397番)
J.V.マーチン

遠き国や海の果て いずこに住む民も見よ
慰めもて変わらざる 主の十字架は輝けり
慰めもて汝(な)がために 慰めもて我がために
揺れ動く地に立ちて なお十字架は輝けり

水はあふれ火は燃えて 死は手広げ待つ間にも
慰めもて変わらざる 主の十字架は輝けり
慰めもて汝(な)がために 慰めもて我がために
揺れ動く地に立ちて なお十字架は輝けり

仰ぎみればなど恐れん 憂いあらず罪も消ゆ
慰めもて変わらざる 主の十字架は輝けり
慰めもて汝(な)がために 慰めもて我がために
揺れ動く地に立ちて なお十字架は輝けり

※汝が : あなたの

教会で配布した、「遠き国や」の楽譜をDominoで打ち込みMP3に変換した物を掲載します。MP3プレーヤーは、Easy Musicplayer For Flash(EMFF)を使わせて頂きました。EMFFのコードは、EMFF code generatorで生成した物をブログ向けに少々変更した物を使用しています。具体的な設置方法などについては機会を作り別途説明したいと思います。

流浪の教会の65頁~でも紹介されていますが、この賛美歌は関東大震災発生時に、宣教師のJ.V.マーチンが書いた曲が後に賛美歌になった物です。多くの教会で賛美され、多くの方がブログ記事として解説を書かれています。
今回の震災では、この賛美歌に唄われている以上の様々な思いも去来する様にも思えますが、震災と言う逆境にあっても十字架の輝きに思いを寄せ、助けとして行く思いには繋がるところがあり、賛美されるのでしょう。
初めて賛美した賛美歌でしたが、歌詞も曲調も心に染みいってくる思いを持ちました。

ウェブページを作る時。基本、HTMLタグを打つのが好きな人で、ホームページビルダーの様なリッチテキストタイプのホームページ作成ソフトは利用しない人(使い方が良く分からない。とも言うsweat01)だったりします。仕事上、AdobeDreamweaverも使っていますが、何回起動しただろう…と言う寳の持ち腐れ状態だったりします。
自分のページを更新する時には、Movable Typeの様なCMSツールを使ってしまうので、細かい事を余り考える必要もありませんし、そもそもHTMLもCSSもコツコツと打つタイプの人なので、基本的に困る事も無いですし。

そんな僕でも、Movable Type上ではついついリッチテキストエディタであるCKEditorを使ってしまいます。あまりゴテゴテとした装飾をしいな人なので、基本的には段落処理周り中心にCKEditorの機能に依存しているのですが、この環境に慣れてくると『リッチテキストエディタも便利だな。』などとついつい思ってしまいますsweat01
専門知識を持っていない多くの人が、HTMLやCSSを駆使するのは無理がありますし、ちまたでホームページビルダーの様なリッチテキストタイプのホームページ作成ソフトが持てはやされるのも分かって来るな。などとも思えて来ます。

CKEditorは、ウェブブラウザ上でホームページビルダーの様なリッチテキストを取り扱う事ができる、非常に優れたソフトウェアです。しかも、非常に拡張性に富んでいて、HTMLやCSS, JavaScriptが少し分かる人であれば、独自の拡張も無理が無い作りになっています。

CKEditorに、『スタイル』と言うプルダウンが用意されています。この『スタイル』と言う物は、『予め用意されているスタイルシートの内容を指定の段落に摘要する。』様な感じの内容です。
感じ。と濁したのは、インライン定義だけでなく、タイトルタイプの定義も用意できるため、摘要される内容が段落には限らないからです。

『スタイル』の定義自体は、config.jsと言うファイルに書かれています。CKEditor for Movable Typeの場合、

(Movable Typeがインストールされているディレクトリ)\mt-static\plugins\CKEditor\style\config.js

にあります。
config.jsの定義の方法は、

http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Styles

などに公式な記述があります。Style Rulesと言う段落を読むと、

  • name
  • element
  • styles
    • css-style
    • desired value
  • attributes
    • attribute-name
    • desired value

の型式で書けば良いのだな。と言う事は分かって来ます。

Web上で、config.jsの書き方を調べて見ましたが、ディフォルト定義の説明をしている物が多く、一般的なCSS記述に依るような、ある程度複雑な物については良く分かりませんでした。
仕方が無いので、チョット思考錯誤して見ました。あくまで、思考錯誤なので僕のやり方が正しい。と言う訳では無いかも知れません。思考錯誤の結果、一般的なCSS記述による定義(例えば、囲み罫線の様な物)を、スタイルに記述する事ができた。と言うだけの物です。

※ここで紹介する、囲み罫線は、All Aboutボックスや枠線の表示・装飾 (HTML,CSS)と言う記事を参考にさせて頂きました。

それぞれの定義について何を書けば良いのか、調べた範囲で説明します。僕の認識間違い, 記述のミスなどなど、ミスが存在する可能性が濃厚である事を前提に参照して下さい。

  • name(必須)
    定義したいスタイルの名称です。スペースを含んでも問題ありません。多バイト文字が使えるかは試していません。
  • element(必須)
    割り当てるHTMLタグです。このタグの種類によって、Block, Object, Inlineの種類が決まります。
    • Block
      address, div, h1, h2, h3, h4, h5, h6, p, pre の各タグを指定すると、Block要素と判断されます。
    • Object
      a, embed, hr, img, li, object, ol, table, td, tr, ul の各タグを指定すると、Object要素と判断されます。
    • Inline
      BlockとObject以外のタグを指定すると、Inline要素と判断されます。(例えば、strong, em, u, sub, sup, spanなどなど)
  • styles(stylesまたはattributesを選択して必須)
    実際に割り当てるスタイルシートの内容を記述します。
    スタイルシートの指定には注意が必要で、css-style, desired valueともクォーテーション(シングルクォーテーションでもダブルクォーテーションでも良い見たい。)で囲み、コロンで区切る型式で指定します。複数指定する場合には、カンマで区切ります。

    'style' : "border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #00618c; border: 3px #00a1e9 solid; background-color: #def3fc; padding: 3px 10px 3px 10px;"

    の様に、styleに対して一連のCSSを定義する事もできます。
  • attributes(stylesまたはattributesを選択して必須)
    elementに対する属性を指定します。(する様です。)
    使い方は、styleと同様です。(同様の様です。)

この決まりに則り、定義していきます。具体的な定義の方法は、既存の指定方法を見れば分かると思います。基本的に、JavaScriptの文法の則って定義すれば問題ありません。
name, elementは必須項目。styles, attributesはどちらかを選択して必須だと思われます。styles, attributesの使い分けは、elementの種類によって決まる物だと思われます。
スペルミスがあったり、カンマが抜けているなどの文法ミスがある場合には、スタイルをクリックしても何も表示されない様です。

簡単に定義例を書きます。

  { 
    'name'    : 'gray round div',
    'element' : 'div',
    'style'   : 
    { 
      'style' : "border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #4b4b4b; border: 3px #7d7d7d solid; background-color: #eeeeee; padding: 3px 10px 3px 10px;"
    }
  },
  { 
    'name'    : 'blue round div',
    'element' : 'div',
    'style'   : 
    { 
      'style' : "border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #004674; border: 3px #0075c2 solid; background-color: #deedf7; padding: 3px 10px 3px 10px;"
    }
  },

こんな感じの定義をconfig.jsのどこかに追加すれば、指定したスタイルを追加する事ができます。
上記の様に、複数のスタイルをカンマで連ねて記述する事で、複数のスタイルを定義する事ができます。オリジナルのconfig.jsでは{~}の内容を1行で記述している物が大半を占めていますが、あくまでJavaScriptの文法に従って記述すれば良いので、この事例の様に適当に改行, インデントを入れて記述した方が分かりやすくなると思います。

なお、これは試して居ませんが、

  { 
    'name'    : 'gray round div',
    'element' : 'div',
    'style'   : 
    { 
      'border-radius'         : '20px',
      '-moz-border-radius'    : '20px',
      '-webkit-border-radius' : '20px',
      'color'                 : '#4b4b4b',
      'border'                : '3px #7d7d7d solid',
      'background-color'      : '#eeeeee',
      'padding'               : '3px 10px 3px 10px',
    }
  },
  { 
    'name'    : 'blue round div',
    'element' : 'div',
    'style'   : 
    { 
      'border-radius'         : '20px',
      '-moz-border-radius'    : '20px',
      '-webkit-border-radius' : '20px',
      'color'                 : '#004674',
      'border'                : '3px #0075c2 solid',
      'background-color'      : '#deedf7',
      'padding'               : '3px 10px 3px 10px',
    }
  },

説明を読む限り、上記の様に定義するCSSの内容をstyleの中へ個別に指定する事が可能な気がします。この記述方法での動作確認は取っていません。あくまで、可能な気がする。と言う程度の物です。

最後に。これが一番?大切な事です。CKEditorのバージョンアップで僕自身がハマッタ事ですが、(→CKEditor for Movable Typeのバージョンアップで...)CKEditorの定義を少しでも修整したら、ウェブブラウザのキャッシュを削除する必要があります。キャッシュを削除しない状態でアクセスしても、修整した内容を確認する事ができません。
チョットした事ですが、実はこれが一番大切な作業(儀式とも言える。)なんじゃ無いかな?と思えます。

僕は、Perlで書いた(かなりアバウトな)色変換モジュール(RGB系やHSV系, YMCK系の相互変換や、RGBそれぞれへの加減算, 色の合成(加算, 減算, オーバーレイなどの重ね合わせ)などなど)を持って居るので、幾つかの囲み罫線パターンについて、各色バージョンを作成する仕組みを用意しました。CKEditorをバージョンアップした際修整済みのconfig.jsを誤って消してしまっても、比較的簡単に復元できる仕組みを用意しました。
実際に、config.jsを修整する場合には、修正版をいつでも復元できる様にバックアップをとったり、ルーチン化するなどの準備も必要になると思います。

参考にさせて頂いた記事

現在、CORESERVER.JPのCORE-Aを2つ使用しています。このサイトが入って居るサーバーは非常に快調なのですが、もう1つのサーバーは非常に重く、様々なサイト管理もテストや開発にも影響与えています。

さくらインターネットロリポップを使って居た時期もあったのですが、XREAを利用していた時間が非常に長かった事もあるのと、要件に合わなかったため継続使用を断念した経緯があります。
個人的には、XREA/CORESERVER.JPの管理画面に慣れているので、困る事もほとんどなく、サポートの対応が悪いと言う事も無く、コストパフォーマンス的にも有利なサービスかなと感じています。

重い方のCORE-Aの契約が来年の3月末で切れるので、このサイトが乗っているCORE-Aへ移行しようかな・・・とも思ったのですが、2サーバーをまとめるとCORE-Aの容量(30G)の80%を超えてしまい、運用的には辛いな・・・と言う印象があり、CORE-A1つにまとめるのは現実的では無い状況にあります。
残る方法は、

  1. 重い方のサーバーを別のCORE-Aへ置き換える。
    1. 重い方のCORE-Aとは別に、もう1つCORE-Aを借りる。
    2. 重い方のCORE-Aを、新しいCORE-Aへ移行する。
    3. 重い方のCORE-Aを解約する。
  2. CORE-Bを借りて、全て移行してしまう。
    1. CORE-Bを借りて、重い方のCORE-Aを移行する。
    2. 重い方のCORE-Aを解約。
    3. 軽い方のCORE-Aを、CORE-Bへ移行。
    4. 軽い方のCORE-Aを解約。

のどちらかかな・・・と考えています。
CORE-Bは年額9900円ですから、CORE-A2つ分と金額的には同等。ディスク容量も転送量も2倍なのでこれも問題無し。許容負荷率はCORE-Aの4倍なので同じサーバーを利用している方で、非常に転送量の多いページを大量に置かれている場合には辛い物もありますが、CPU, メモリ量, 1サーバー当たりの最大アカウント数はCORE-Bの方がズット有利。
とりあえず、CORE-Bで運用して見て、それでも不満が出る様ならCORE-CやVPSかな・・・と考えています。
 

  CORE-A CORE-B
プラン
初期費用 1,000円 2,000円
月額 500円 990円
年額 5,000円 9,900円
容量・転送量
ディスク容量 30G 60G
転送量目安(月) 150GB 300GB
許容負荷率 250% 1000%
ハードウェア仕様
CPU XEON XEON4コア
メモリ容量 4GB 8GB
最大アカウント数 128以下 64以下


そんな事で。このサイト自体の移行は春以降になると思いますが、近くサーバーの移行を行う事になりそうです。

今日、お昼頃ニュース速報で報じられた。たぶん、一般的な日本人が金正日総書記の死去を知る事が出来た、一番早いタイミングがテレビのニュース速報だったのだろう。そう考えると、日本のテレビと言うメディアは非常に優れていると言って良い。

日本は、陸地で接した『他国』と言う物を持っていないため、『海の向こうの国の事』と言う言葉がとても良く似合う。この言葉には、2つの意味合いがあって、

  • 本当に海の向こうにある国と言う意味合い。
  • 自分達は知らない(余り関与していない)異国での出来事。

と言う意味合いがある様に感じている。

全ての日本人がそうである。と言う事を言いたいのでは無いが、比較的多くの方々はその両方の感覚を持っているのでは無いかと思う。僕にはそう言う感覚がある。

日本にとって、朝鮮(大韓民国)も北朝鮮も中国も、上手に付き合っていかなければならない隣接するアジアの国々ではあるのだが、様々なニュースを通してでも、日本人とは余りにも違う感性を持った人々の集合である事は間違いない。感覚的に「似ている」と思えるところももちろんあるが、「日本人とは違う」と言う感覚を持ってしまうのも本当のところだと思う。
当然、これはお互い様であって、多くの日本人が感じたり,考えたりする事が標準では無い事はわざわざ書くまでの事でも無いだろう。しかし、時にそう言う感覚を忘れてしまう事があるのも事実だと思う。

特に、北朝鮮は拉致問題や核開発問題など、多くの日本人にとって余り良く無いイメージを持ってしまう国だろう。そのリーダーの死は、不安を煽るのに十分な出来事だと思う。
希望的な思いや、心が豊かな思いに成りにくい様な期待感を抱いてこのニュースを1つの契機と捉えた感覚を持っている方も居るだろう。「日本人とは違う」感覚をもった人達であって、しかもその希望は気持ちを明るくする物ではなく、不安感が大半を占める様な思いだろうと推察している。
同じ日本人同士であったとしても、他の人の都合や気持ちが自分の思いに向いてくれる。と言う期待は虚しく終わることが多いし、いろいろな意味で傷を残す事も経験として知っている。その相手が日本人の感覚とは違う他国の人であるし、直接的な対話をしている訳ではなく、伝言ゲームであって、その伝言ゲームには、他の様々な都合やら思惑やらが幾重にも重ねられる物で、『当事者』の声がダイレクトに伝わる事はなく、なお歯がゆい様な思いを持ってしまう事も事実。
それに対して、具体的な解決へ向けての手を差し伸べる事が出来ずに、また歯がゆい思いを持ってしまう人達が居るのも事実。
こう言った話しを展開するだけでも、厚い雲の向こうとのやりとり。解決方法も手段も手探り状態であり、『政治的』手法などと言うなんとも怪しげな方法に頼る以外道が無い。

公式発表では、三男の金正恩氏が後継者である。と言う事であるし、実際その様な人事になるのだろう。しかし、金正恩氏を支える後ろ盾や学友が少ないと言う事実や、実質的には党と言うよりも軍が国の行く末を決めているフシのある国だけに、権力闘争やそれに近い有事が生じ、金正日氏ほど安定した権力維持を行う事はできないのでは無いだろうか?と言う見解もある様で。

海の向こうの他国の話し。ではあるのだが、多分多くの日本人が一種異様な緊張感を感じている事だろう。そして、一連の報道が収まる頃にはその緊張感も解れ、何事も無かった様に生活し始めるのも日本人らしさと言えるのだろう。

苦手分やの1つ。Office suiteの話しです。

僕が普段使っているExcelシートの中に、時間をHH:MM型式で掲載して置いて、それを分単位の数字に直してから他のセルの内容を交えて計算を行う。と言う処理があります。

表示上、

セル番号
どのセルの内容なのかを示す番号
セルの内容
指定セルに入って居る内容
セルの表示
指定セルの見た目のイメージ
を示す物とします。

 

例えば、

 

セル番号 セルの内容 セルの表示
A1 1:05 1:05

となっている場合、

セル番号 セルの内容 セルの表示
A1 1:05 1:05
A2 =HOUR(A1)*60+MINUTE(A1) 65

の様にして分単位の時間を求めると言う方法は良く利用されます。
しかし、24:00を超えた値を入れようとすると、

セル番号 セルの内容 セルの表示
A1 24:00 0:00
A2 =HOUR(A1)*60+MINUTE(A1) 0

0時を廻ってしまうので、意図した様になりません。仕方が無いので、A1の書式を文字列にして強制的に24:00と言う文字列が表示できる様にします。ついでに、右寄せに設定してそれらしく見せます。
セルA1の内容は文字列なので、:(コロン)も単なる文字でしかありません。そこで、:の位置を調べ、そこから前半と後半に分け時と分を取得し、分単位の時間を求める様にして見ました。

セル番号 セルの内容 セルの表示
A1 24:00 24:00
A2 =MID(A1,1,SEARCH(":",A1)-1)*60+MID(A1,SEARCH(":",A1)+1,LEN(A1)-SEARCH(":",A1)) 1440

実際の処理では、時刻が書かれて居るシートと、実際に計算(分単位の時間の計算)をしているシートが別だったり、「時刻が指定されているか?」もやっているので、少しだけ複雑なのですが。

Excelを普段から利用して居る人には極々普通な事なのだと思いますが、大の苦手としている人としてはcoldsweats01こう言った事もメモって置いた方が良かったりしカテゴリを追加ます。

ちょっと書きたい事があったのだけど、適当なブログが無かったので追加しました。雑記帳の様な感じのブログになるかも。

一般的に、Webkitを利用しているブラウザ(ChromeとSafari)では、テキストエリア(<textarea>~</textarea>)の内容を全選択する事が出来ない。と言います。
僕自身、普段はChromeを利用しているので、全選択をサポートしていないサイトは非常に残念な思いを持ってしまいます。

一般的な、選択の方法は、

<textarea onfocus="document.form_name.textarea_name.select()";>
内容
</textarea>

<textarea onfocus="this.select()";>
内容
</textarea>
です。確かに、この方法だと、ChromeやSafariではテキストエリアの中でマウスをクリックしても、全選択される事はありません。

情報と音楽』と言うサイトの、『Safari / Chrome でテキストエリアをフォーカス時にテキストを全選択する』と言う記事では、

  • Firefox / IE / Opera
    →マウスのボタンが押され、離れた時点で、キャレット移動→onfocusイベント実行
  • Safari / Chrome
    →マウスのボタンが押された時点でonfocusイベント、離れたらキャレット移動

と言う推察を立て、

<textarea onfocus="setTimeout(function(){document.form_name.textarea_name.select()},0);">
内容
</textarea>

と言う方法を紹介しています。
非常に興味深い推察と方法論で感服してしまいました。なるほど、この方法を利用すると、ChromeやSafariでも全選択が可能になります。

初めにも書いた通り、僕は普段Chromeを利用しています。Chromeを利用して居るので、Chromeでも全選択ができる方法を採用しているのですが、意外にも同様な方法を利用しているサイトは多く無いのだな。。。と感じました。
僕が採用している方法は、恐ろしく単純な発想です。

ポイントは、onfocusイベントを利用するのではなく、onclickイベントを利用する事。『マウスをクリックしたら、全選択する。』って言う発想なので、onclickイベントを利用する事は非常に素直な選択の様に僕には映っています。オブジェクト内(textarea)にフォーカスを置いて、オブジェクトを選択すれば全選択として動作するだろうな。。。これだけの発想です。
実際、この方法で

  • IE 8
  • Firefox 3.5
  • Opera 11.01
  • Chrome 15.0.874.121
  • Safari 5.1.2

の各ウェブブラウザ(動作確認は、Windows版のみ)でテキストエリアの全選択を確認する事ができています。

少し前に、CKEditor for Movable Typeのバージョンアップを行いました。CKEditor for Movable Type 1.073です。バージョンアップ作業自体は、

  1. 最新版のCKEditor for Movable Typeをgithubからダウンロード。
  2. アーカイブを解凍。
  3. アーカイブのmt-static\plugin\CKEditorフォルダとplugins\CKEditorフォルダの内容をサーバー上にput(アップロード)。

これだけで終わりです。

最新版をインストールし、いざMovable Typeの管理画面へアクセス。新しい記事を書こうと思ったら、リッチテキストエディタ(CKEditor for Movable Type)が正しく表示されない!と言う状況に陥りましたsweat01
インストールに失敗したのかな?とか、バージョンアップ前に旧版のCKEditor for Movable Typeの関連ファイルを全て削除しなければダメなのかな…と悩んで居ました。

フト、「ウェブブラウザのキャッシュクリアしたらどうなる?」と思い、キャッシュを全て削除したところ、CKEditor for Movable Typeは難なく動作してしまいました。インストールに失敗した訳でも、インストールの方法が特殊な訳でもなく、ウェブブラウザのキャッシュが残っている居ると旨く動作しない。と言う類の問題でした。
同様のケースは、CGIを初めとして複数のアプリで見られる症状ですよね。キャッシュのクリアを行わなくても動作してしまうアプリが多いためなのか、ブラウザのキャッシュを削除すると言う初歩的な事を忘れてしまっていた。と言う事に気付きました。

どんな作業でもそうですが、思い込みと慣れは作業ミスの大きな要因になります。自動の思い込みや知識に過信せず、基本に忠実にある事が求められる事は多々ある事です。
ウェブアプリをバージョンアップした時には、ブラウザのキャッシュを削除する。当たり前の事を、当たり前に行動できる様にしたい物です。

RSS 0.91同様に、RSS 0.92も作る事ができる見たいです。RSS 0.92はなにを持って『正しい』と言うのか、実は今ひとつ分からなかったのですがcoldsweats01 RSS 0.92をサポートしているサイトの出力結果を参考にし、テンプレートを起こして見ました。
基本的には、RSS 0.91と同じなので詳しくはRSS 0.91のテンプレートを参照して下さい。

ブログ単位のRSS 0.92を作るテンプレート
テンプレート名:RSS 0.92
出力ファイル名:rss092.xml

 

ウェブサイト単位のRSS 0.92を作るテンプレート
テンプレート名:RSS 0.92
出力ファイル名:rss092.xml

ある記事を読んでいた時、そのページにRSS 0.91なる物が付いている事に気付きました。

WikiPediaによると、

RSS 0.91

Rich Site Summaryと改名されたRSS 0.91は、RSS 0.9に要素を拡張する目的で作られ、1999年7月にこのバージョンがリリースされた。RDFを用いず、独自のXMLで記述される。

UserLand SoftwareのScriptingNewsから著作権、日付情報などいくつかの要素を取り入れ拡張された。それまでのRSS 0.9より多くの情報を配信できるようになったため、Rich Site Summaryと呼ばれ、その後派生したRSS 0.92, RSS 2.0のベースとなっている。

RSS 0.91の登場以降、RSSが持つ「コンテンツ配信」機能に対しての需要がさらに高まった。そのためよりリッチなコンテンツ配信を目指そうとする制作者が、独自の要素をRSSに追加してしまうなど、フォーマットの拡張における混乱がおこることとなった。

と、解説されています。これを読む限り、RSS 2.0があればRSS 9.1は必要無いのだろうな。とも思うのですが、ちょっと興味を持ったので調べて見る事にしました。

Daring Fireballと言うサイトに、Movable TypeでRSS 0.91を作成する事例が掲載されていました。これを読んでみると、日付のフォーマットが、

Mon, 21 Oct 2002 14:04:23 EDT

と言う型式ではなく、

Mon, 21 Oct 2002 14:04:23 -0500

と言う型式で出力する必要があり、それさえクリアできれば難しい事は無いのだな。と言う事が分かって来ました。幸い、上記ページで

rfc822BlogTimeZone_1.0.zip

と言うプラグインが公開されており、それを使用すればEDTの部分を-0500に書き換える事ができ、RFC822(RFC822日本語訳, RFC 822の日付形式)に記載されていない地域であっても簡単にRFC822に則った日付出力ができると言う事も分かりました。上記ページにRSS 0.91を出力するテンプレート例が掲載されていたので、それを日本語環境で動作する様に修整した(正確には、日本語環境でも動作する様に、極力環境依存性を排除した物。)のが以下の事例です。
また、Movable Type 5.xのWebSiteに対応させたバージョンも作って見ました。

 

ブログ単位のRSS 0.91を作るテンプレート
テンプレート名:RSS 0.91
出力ファイル名:rss091.xml

 

ウェブサイト単位のRSS 0.91を作るテンプレート
テンプレート名:RSS 0.91
出力ファイル名:rss091.xml

ブログ用は、各ブログ単位でRSS 0.91を作りたい時に用います。ブログ単位にインデックステンプレートとしてテンプレートを作成し、再構築を行います。ファイル名rss091.xmlはいい加減です冷や汗

ウェブサイト用は、そのウェブサイトに含まれるブログの情報を収集したRSS 0.91を作りたい時に用います。こちらは、ウェブサイトのインデックステンプレートとしてテンプレートを作成し、再構築を行います。ファイル名rss091.xmlはいい加減です冷や汗
また、「ウェブサイトのプラグイン設定」画面から「MultiBlog 2.1」の「プラグインの設定」を開き、「再構築トリガー」を追加して下さい。『ブログ記事とウェブページの保存時にインデックスを再構築』を選択して頂ければブログ記事が追加, 更新されるたびに、ウェブサイト側のインデックステンプレートも全て再構築される様になります。
ウェブサイト用のRSS 1.0, RSS 2.0を導入した事がある方は既に設定ができていると思うので修整を意識する必要はありません。