<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
   <channel>
      <title>キッス (Xiss)</title>
      <description>Blogs and mini-blogs by some staffs of Xiss.&#xD;
&#xD;
キッスの一部スタッフたちによるブログです。&#xD;
&#xD;
See also: http://xiss.jp/</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=kqSTbKNa3RGKjGHLIGsPpw</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=kqSTbKNa3RGKjGHLIGsPpw&amp;_render=rss&amp;page=2" />
      <pubDate>Tue, 07 Feb 2012 04:37:32 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/xiss-staff-blog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="xiss-staff-blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
         <title>[業務連絡] ホトソCS1からCS3に移行した時に起こる地味な混乱について</title>
         <link>http://xiss.g.hatena.ne.jp/Asano/20081126/1227646625</link>
         <description>その一: カンバス内で Ctrl+クリッコ してもレイヤーではなくフォルダが選択される件。 は、これでした　http://oshiete.aucfan.com/qa3913229.html その二: 「選択範囲をマスク」とかでマスクった画像</description>
         <guid isPermaLink="false" />
         <pubDate>Tue, 25 Nov 2008 20:57:05 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>その一: カンバス内で Ctrl+クリッコ してもレイヤーではなくフォルダが選択される件。</p>
			<p>は、これでした　<a rel="nofollow" target="_blank" href="http://oshiete.aucfan.com/qa3913229.html">http://oshiete.aucfan.com/qa3913229.html</a></p>
			<p>その二: 「選択範囲をマスク」とかでマスクった画像とアルファチャンネルがリンクされなくってどっちも一緒にがびっと動かしたいのに別々に動くんだけど何これなんかレイヤーパレットんとこ見ても鎖マークついてないしつかないしちょっとどーすんのこれ。</p>
			<p>は、ちょーしこいてビットマップ画像をスマートオブジェクトとかゆーのにしてがははがははと拡大縮小したままマスクってたのが原因でしたあははうぬぬ。</p>
			<p>アルファチャンネルの方をパスで作ればスマートオブゼクトでもリンクされるっぽいんだけど、縦横トリミングの為にわざわざパスるのもアレだよなあ的な何かなのでがははがははした後はすみやかにラスタライズする事を心に決めました owo</p>
			<p>とゆう事で CS の何かの件については全て解決しました <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/jamg/">id:jamg</a> ! 以上!</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>[日報]ガリゴリイラレ</title>
         <link>http://xiss.g.hatena.ne.jp/Asano/20080408/1207746549</link>
         <description>長らく放置してたウェブサービス案をついクワッとなってガリゴリイラレってちけったお。社長がしきりに「綺麗だ」と言っていたのは多分新ゴのせいだとおもいます。モリサワ万歳! あと</description>
         <guid isPermaLink="false" />
         <pubDate>Wed, 09 Apr 2008 13:09:09 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>長らく放置してたウェブサービス案をついクワッとなってガリゴリイラレってちけったお。社長がしきりに「綺麗だ」と言っていたのは多分新ゴのせいだとおもいます。モリサワ万歳!</p>
			<p>あと私は UI とかデザインするのはあまり自分の得意分野ではなく、やっぱ 1px 単位でがっちがちに固めたデザインをする（絵にする）方が好きだなあと思いました。</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>ユーザ参加型キャスティング・バトル・エンターテイメント</title>
         <link>http://xiss.jp/twigeki-com-2</link>
         <description>Twitter から始まる劇団ツイゲキ (Wikipedia) の公式サイト『ツイゲキ.com』をリニューアルしました。（Ver. 1.0 も弊社で担当いたしました）
遊び心満載のユーザ参加型システム
劇団の公演キャスト [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=493</guid>
         <pubDate>Sat, 11 Jun 2011 14:00:14 +0000</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://twigeki.com/">Twitter から始まる劇団ツイゲキ</a> (<a rel="nofollow" target="_blank" href="http://ja.wikipedia.org/wiki/%E3%83%84%E3%82%A4%E3%82%B2%E3%82%AD" title="&#x0030c4;&#x0030a4;&#x0030b2;&#x0030ad; - Wikipedia">Wikipedia</a>) の公式サイト『ツイゲキ.com』をリニューアルしました。（<a rel="nofollow">Ver. 1.0 も弊社で担当いたしました</a>）</p>
<div id="attachment_513" class="wp-caption alignleft" style="width:310px;"><a rel="nofollow"><img alt="" title="twigeki-com-2011-06-09" width="300" height="170" class="size-medium wp-image-513"/></a><p class="wp-caption-text">ツイゲキ.com ver. 1.9 (ティザーページ)</p></div>
<div id="attachment_512" class="wp-caption alignleft" style="width:310px;"><a rel="nofollow"><img alt="" title="2-twigeki-com-2011-06-14" width="300" height="174" class="size-medium wp-image-512"/></a><p class="wp-caption-text">ツイゲキ.com ver. 2.0 (トップページ)</p></div>
<h2>遊び心満載のユーザ参加型システム</h2>
<p>劇団の公演キャストをユーザが投票で選び、応援して支え、勧誘して広める、Twitter アプリならではのソーシャルメディアです。ユーザはTwitterアカウントを利用してどちらかのチームにログインし、オーディションに参加したり、新たにユーザを誘ったり（アフィリエイト）、Twitter に投稿したりすることで所持ポイントを増やし、様々な特典を得られるばかりでなく、劇団や他の観客とコミュニケーションを深められます。</p>
<p>コアスタッフとして企画から参加し、α版デザイン、ポイントシステムデザイン、IA、実装、テスト、リリース、運用などを主に担当いたしました。</p>
<h2>ユーザビリティを向上させる適切なアニメーション</h2>
<p>ページを捲る際にスライドアニメーションを使うことで、読み込み時間が短く感じられるようにしました。<br />
また、いくつかの軽量のページは画面の遷移なくモーダルウィンドウで表示させ、ユーザのストレスを軽減しました。<br />
加えて、ポイントやサポーター数のカウントアップや、トップページに時間差で登場するキャストの枠など、各所で利用者の心をくすぐるアニメーションを採用しました。</p>
<h2>基本のアクセシビリティ</h2>
<p>ウェブ上の「ゲーム」には特定のプラットフォームに強く依存した物が多いですが、JavaScript や CSS の効かない・限られた環境でも問題なく基本的なオペレーションを完遂できるよう配慮してコーディングしてあります。</p>
<p>モダンブラウザ各種、及び iPhone、iPad、Android などのデバイスにも対応しています。</p>
<h2>オープンソースの WAF と PaaS の利用</h2>
<p>ウェブ・アプリケーション・フレームワークには <a rel="nofollow" target="_blank" href="http://padrinorb.com/">Padrino</a> を採用。軽量フレームワーク Sinatra と、かの有名な Ruby on Rails の利点を両取りしていて、今回のように複数の開発者を要する中規模ウェブサービスのアジャイル開発に適切と判断しました。</p>
<p>プラットフォームには <a rel="nofollow" target="_blank" href="http://www.heroku.com/">Heroku</a> を採用。Rack ベースのアプリケーションを Git を用いてコンソールからデプロイでき、PaaS の先駆者として安定したスペックを持っているため、適切と判断しました。</p>]]></content:encoded>
      </item>
      <item>
         <title>キングフィッシャーズ社 コーポレートサイト</title>
         <link>http://xiss.jp/kingfishers-jp</link>
         <description>株式会社キングフィッシャーズ（代表：山本晃史）様のコーポレートサイトをリニューアルいたしました。
FTP による HTML ファイルの直接更新をやめ、CMS（WordPress）を導入。クライアントの自らの手による頻繁で [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=519</guid>
         <pubDate>Tue, 07 Jun 2011 15:00:46 +0000</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://kingfishers.jp/">株式会社キングフィッシャーズ</a>（代表：山本晃史）様のコーポレートサイトをリニューアルいたしました。<br />
FTP による HTML ファイルの直接更新をやめ、CMS（WordPress）を導入。クライアントの自らの手による頻繁で簡単な更新を可能にしました。</p>
<h2>「ポップ」な印象と信頼性の同居</h2>
<div id="attachment_521" class="wp-caption alignleft" style="width:310px;"><a rel="nofollow"><img alt="" title="kingfishers-jp-2011-06-08" width="300" height="192" class="size-medium wp-image-521"/></a><p class="wp-caption-text">kingfishers.jp ホーム</p></div>
<p>「来訪者に親しみを持ってもらうためにポップな印象が好ましい」という意向と、会社公式サイトとして最低限保つべき信頼性の両方を兼ね備えるという難しい要求でした。<br />
コーポレートカラーの翡翠色を基調とし、差し色として深い緑を使うことで落ち着いた雰囲気を出し、一方でグローバルナビの各ページにそれぞれにアイコンをあしらえる事でポップな印象を演出しました。</p>
<h2>デザインテーマの異なるページ</h2>
<div id="attachment_528" class="wp-caption alignleft" style="width:310px;"><a rel="nofollow"><img alt="" title="kingfishers-jp-gacchiri-academy-2011-06-14" width="300" height="197" class="size-medium wp-image-528"/></a><p class="wp-caption-text">がっちりアカデミー 情報募集</p></div>
<p><a rel="nofollow" target="_blank" href="http://kingfishers.jp/works/gacchiri-academy">がっちりアカデミー情報募集ページ</a> では基本のテイストとは異ならせました。WordPress における「カテゴリ」を切り替えることで、通常とは別のテンプレートが適用されます。</p>
<h2>標準に準拠した独自 WordPress テンプレート</h2>
<p>ホームの「Topics」には WordPress における「先頭に固定表示された投稿（sticky post）」を表示させるテンプレートを用意しました。クライアント様が運用していく上で、CMS が本来持つ機能と親和性の高い独自テンプレートを作成することで、理解コスト・更新コストをなるべく軽減しました。</p>
<p>また、スライドアニメーションを加えることで、静かになりがちなコーポレートサイトに動きを出し、活発である様子を演出しました。</p>
<h2>Twitter 最新投稿</h2>
<p>「ホーム」の会社公式Twitterアカウントでは、公式のウィジェットを使いつつも、独自にスタイリングすることで素人臭さを無くしました。</p>
<h2>極めて短く流動的な開発スケジュール</h2>
<p>正式な発注をいただいてから完全なリリースまでの三週間を以下のような段階ごとに進めてまいりました：<br />
第一段階は CMS の設置。旧来のファイルベースから移植。（この時点で CMS を利用可能）<br />
第二段階はデザイン案の提出。数パターンを提案し、フィードバックを反映して再提案。<br />
第三段階はデザインの実装。テストページでクライアントさまも常に見られる状態。<br />
第四段階はデザインの最終調整・CMS 運用のトレーニング。文章と口頭の両面から。</p>
<p>リリース後も、無料で運用や改善のご相談に乗っております。</p>]]></content:encoded>
      </item>
      <item>
         <title>2010年寅年用の年賀状</title>
         <link>http://xiss.jp/2010-greeting-card</link>
         <guid isPermaLink="false">http://xiss.jp/?p=499</guid>
         <pubDate>Mon, 16 May 2011 17:56:14 +0000</pubDate>
         <content:encoded><![CDATA[<div class="wp-caption alignnone" style="width:404px;"><a rel="nofollow" target="_blank" href="http://www.monorish.com/works/2010-toradoshi"><img alt="2010&#x005e74;&#x005bc5;&#x005e74;&#x007528;&#x00306e;&#x005e74;&#x008cc0;&#x0072b6;" src="http://www.monorish.com/images/7.png" title="2010&#x005e74;&#x005bc5;&#x005e74;&#x007528;&#x00306e;&#x005e74;&#x008cc0;&#x0072b6;" width="394" height="583"/></a><p class="wp-caption-text">2010年寅年用の年賀状</p></div>]]></content:encoded>
      </item>
      <item>
         <title>通信業者キャンペーンサイト</title>
         <link>http://xiss.jp/mobile-campaign-2011-01</link>
         <description>某通信業者のキャンペーン用サイトをリリースする直前の詰め作業を支援しました。
MovableType + PHP で構築されたサイトの複数環境に対応した HTML/CSS/JavaScript コーディング、テスト、一部 [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=479</guid>
         <pubDate>Mon, 31 Jan 2011 15:00:25 +0000</pubDate>
         <content:encoded><![CDATA[<p>某通信業者のキャンペーン用サイトをリリースする直前の詰め作業を支援しました。<br />
MovableType + PHP で構築されたサイトの複数環境に対応した HTML/CSS/JavaScript コーディング、テスト、一部タスク管理、そして一部リリース作業を担当しました。</p>]]></content:encoded>
      </item>
      <item>
         <title>Twitter 利用キャンペーン・クーポンウェブサービス</title>
         <link>http://xiss.jp/twitter-coupon</link>
         <description>特徴
Twitter を利用したクーポンサービス。
「指定のアカウントをフォローしていたら10ポイント」「指定のキーワードを含んでつぶやけば20ポイント」「この期間中に指定のつぶやきをリツイートすれば30ポイント」といっ [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=482</guid>
         <pubDate>Thu, 14 Oct 2010 14:00:20 +0000</pubDate>
         <content:encoded><![CDATA[<h2>特徴</h2>
<p>Twitter を利用したクーポンサービス。<br />
「指定のアカウントをフォローしていたら10ポイント」「指定のキーワードを含んでつぶやけば20ポイント」「この期間中に指定のつぶやきをリツイートすれば30ポイント」といったクーポンを作成できます。</p>
<h2>実績</h2>
<p><a rel="nofollow" target="_blank" href="http://twigeki.com/stage-1">劇団「ツイゲキ」ver 1.0 公演のチケット割引キャンペーン</a>で利用されました。</p>]]></content:encoded>
      </item>
      <item>
         <title>社内情報共有サイト</title>
         <link>http://xiss.jp/intra-corporate-website-2010-08</link>
         <description>某社のイントラサービスの詳細設計・一次実装を担当。
PHP のオープンソースフレームワーク『Symfony』を使用。</description>
         <guid isPermaLink="false">http://xiss.jp/?p=475</guid>
         <pubDate>Sun, 15 Aug 2010 15:00:40 +0000</pubDate>
         <content:encoded><![CDATA[<p>某社のイントラサービスの詳細設計・一次実装を担当。<br />
PHP のオープンソースフレームワーク『Symfony』を使用。</p>]]></content:encoded>
      </item>
      <item>
         <title>Twitter 利用投票ウェブサービス</title>
         <link>http://xiss.jp/twitter-vote-and-survey</link>
         <description>Twitter アカウントを持っている人限定の投票・集計システム。
投票時のつぶやきには「匿名投票」を選択可能。選挙／オーディションのURLやハッシュタグがつぶやきに含まれ、フォロワー伝いに広がっていくことが狙いです。
 [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=439</guid>
         <pubDate>Sat, 31 Jul 2010 15:00:24 +0000</pubDate>
         <content:encoded><![CDATA[<p>Twitter アカウントを持っている人限定の投票・集計システム。<br />
投票時のつぶやきには「匿名投票」を選択可能。選挙／オーディションのURLやハッシュタグがつぶやきに含まれ、フォロワー伝いに広がっていくことが狙いです。</p>
<p>各投票者のアイコンが棒グラフとして表示される点なども高く評価されました。</p>]]></content:encoded>
      </item>
      <item>
         <title>ツイゲキ.com</title>
         <link>http://xiss.jp/twigeki-com</link>
         <description>視覚デザイン
白、黒、赤を基調にスタイリッシュな印象に。ゴテゴテと必要以上に情報を置かず、読み易さを重視。
Twitterとの連携
上部右にツイッター劇団「ツイゲキ」に関係のある最新のつぶやきをJavaScriptで取得 [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=445</guid>
         <pubDate>Fri, 30 Jul 2010 15:00:45 +0000</pubDate>
         <content:encoded><![CDATA[<h2>視覚デザイン</h2>
<p>白、黒、赤を基調にスタイリッシュな印象に。ゴテゴテと必要以上に情報を置かず、読み易さを重視。</p>
<h2>Twitterとの連携</h2>
<p>上部右に<a rel="nofollow" target="_blank" href="http://twigeki.com/">ツイッター劇団「ツイゲキ」</a>に関係のある最新のつぶやきをJavaScriptで取得して次々に流すウィジェットを置いたのが好評でした。</p>
<h2>メンテナンス性</h2>
<p>フレームワークには WordPress を採用し、コアには手を入れず、カスタムフィールド（画面上から編集できるデータ）だけで様々なカスタム表示を実現しました。</p>
<p>ブログの更新、画像の添付、ページの追加、ヘッダー画像の差し替え、ファイルのアップロード、などなど、様々な機能はそのまま使えます。</p>
<h2>携帯性・セキュリティ</h2>
<p>パソコンやスマートフォンだけでなく、日本のレガシーな携帯電話（ガラパゴスケータイ）の大部分にも対応しています。</p>
<p>セキュリティ的に難のあるブラウザ利用者には、警告とともに、ソフトウェアアップグレードを促すメッセージを表示しています。</p>
<h2>顧客満足度</h2>
<p><a rel="nofollow" target="_blank" href="http://twitter.com/kataoka_k/status/19079825532" title="Twitter / &#x007247;&#x005ca1;&#x00ff2b;&#x00306e;&#x003064;&#x003076;&#x003084;&#x00304d;">「<q cite="http://twitter.com/kataoka_k/status/19079825532">ツイゲキのWebサイトを今日明日中で構築できるツワモノを急募したい。</q>」という要求</a>に応え、受注から48時間で大体のデザインとα版の動くサイトをご用意しました。足の速さには多くの方からお褒めの言葉をいただきました。</p>
<p>オーディション用のTwitterユーザーによる投票システムも開発。細かい要求に応え、ケータイ利用者にも対応（xAuth）しました。</p>
<p>こうして出来上がった『<a rel="nofollow" target="_blank" href="http://twigeki.com/">ツイゲキ.com</a>』にこれから多くの人が訪れ、長くお役に立てることを願います。</p>]]></content:encoded>
      </item>
      <item>
         <title>ファッションブランドECサイト（改修）</title>
         <link>http://xiss.jp/fashion-brand-ec-2010-07</link>
         <description>EC-CUBE と WordPress で構築されたECサイトの改修を行いました。
クレジットカード決済には『ルミーズ』を使用。ダイレクトモードの利用により同ドメイン内で購入プロセスを完結させることでブランドイメージを極 [...]</description>
         <guid isPermaLink="false">http://xiss.jp/?p=469</guid>
         <pubDate>Wed, 14 Jul 2010 15:00:38 +0000</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.ec-cube.net/">EC-CUBE</a> と WordPress で構築されたECサイトの改修を行いました。<br />
クレジットカード決済には『<a rel="nofollow" target="_blank" href="http://www.ec-cube.net/product/remise.php">ルミーズ</a>』を使用。ダイレクトモードの利用により同ドメイン内で購入プロセスを完結させることでブランドイメージを極力保ちました。</p>]]></content:encoded>
      </item>
      <item>
         <title>キッス社 コーポレートサイト</title>
         <link>http://xiss.jp/xiss-jp</link>
         <description>アースカラーで暖かい印象に。過剰な装飾や情報を避け、ビジターに過不足無い情報を与えます。</description>
         <guid isPermaLink="false">http://xiss.jp/?p=325</guid>
         <pubDate>Mon, 07 Jun 2010 15:00:30 +0000</pubDate>
         <content:encoded><![CDATA[<p>アースカラーで暖かい印象に。過剰な装飾や情報を避け、ビジターに過不足無い情報を与えます。</p>]]></content:encoded>
      </item>
      <item>
         <title>HTML フォームの button 要素に対するブラウザの挙動差</title>
         <link>http://xiss.g.hatena.ne.jp/orzccc/20081117/html_button_submit</link>
         <description>HTML 4.01 の button[type="submit"] と input[type="submit"] をアクティベートした際の挙動がブラウザごとに異なるようです。 テストケース &amp;#60;form method="get"&amp;#62; &amp;#60;fieldset&amp;#62; &amp;#60;l</description>
         <guid isPermaLink="false" />
         <pubDate>Mon, 17 Nov 2008 00:00:00 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p><a rel="nofollow" target="_blank" href="http://www.w3.org/TR/html401/interact/forms.html#h-17.5" title="Forms in HTML documents &#62; 17.5 The BUTTON element">HTML 4.01 の button[type="submit"]</a> と input[type="submit"] をアクティベートした際の挙動がブラウザごとに異なるようです。</p>
			<h4> テストケース</h4>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>form method=&quot;get&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>fieldset<span class="synSpecial">&amp;#62;</span>
    <span class="synSpecial">&amp;#60;</span>legend<span class="synSpecial">&amp;#62;</span>フォーム<span class="synSpecial">&amp;#60;</span>/legend<span class="synSpecial">&amp;#62;</span>
    <span class="synSpecial">&amp;#60;</span>input name=&quot;foo&quot; type=&quot;text&quot; value=&quot;1&quot; /<span class="synSpecial">&amp;#62;</span>
    <span class="synSpecial">&amp;#60;</span>input name=&quot;bar&quot; type=&quot;submit&quot; value=&quot;ButtonA&quot; /<span class="synSpecial">&amp;#62;</span>
    <span class="synSpecial">&amp;#60;</span>button name=&quot;baz&quot; type=&quot;submit&quot; value=&quot;2&quot;<span class="synSpecial">&amp;#62;</span>ButtonB<span class="synSpecial">&amp;#60;</span>/button<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>/fieldset<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/form<span class="synSpecial">&amp;#62;</span>
</pre>

			<h4> テスト方法</h4>
			<ol>
				<li> ButtonA を押す</li>
				<li> ブラウザが送信したクエリを記録する</li>
				<li> ButtonB を押す</li>
				<li> ブラウザが送信したクエリを記録する</li>
				<li> 以上を複数のブラウザで行う</li>
			</ol>
			<h4> テスト結果</h4>

			<table>
				<tr><th> アクティベートしたボタン </th><th> Firefox 3・Opera 9.62 が送信するクエリ </th><th> Internet Explorer 6 が送信するクエリ </th><th> Internet Explorer 7 が送信するクエリ </th></tr>
				<tr><td> input[type="submit"] </td><td> foo=1&bar=ButtonA </td><td> foo=1&bar=ButtonA&baz=ButtonB </td><td> foo=1&bar=ButtonA </td></tr>
				<tr><td> button[type="submit"] </td><td> foo=1&baz=2 </td><td> foo=1&baz=ButtonB </td><td> foo=1&baz=ButtonB </td></tr>

			</table>
			<ul>
				<li> IE 6 と IE 7 は button 要素の value 属性値ではなく内容を送信する</li>
				<li> IE 6 は button 要素の内容をこのボタンがアクティベートされていない場合にも送信する</li>
			</ul>
			<h4> 期待される結果</h4>
			<blockquote title="http://www.w3.org/TR/html401/interact/forms.html#h-17.5" cite="http://www.w3.org/TR/html401/interact/forms.html#h-17.5">
			<p>name = cdata [CI]</p>
			<p>This attribute assigns the control name.</p>
			<p>value = cdata [CS]</p>
			<p>This attribute assigns the initial value to the button.</p>
			<cite><a rel="nofollow" target="_blank" href="http://www.w3.org/TR/html401/interact/forms.html#h-17.5">http://www.w3.org/TR/html401/interact/forms.html#h-17.5</a></cite></blockquote>
			<p>仕様書を見る限り、button[type="button"] がアクティベートされたときは input[type="button"] がアクティベートされた時と同じく value 属性値が送信されるべきなようです。</p>
			<h4> 考えられる対処</h4>
			<ul>
				<li> パラメタ送信用途には button 要素を使わない</li>
				<li> IE を今すぐ窓から投げ捨てる</li>
			</ul>

		</div>]]></content:encoded>
      </item>
      <item>
         <title>IE 7 へアップグレードできないのでマイクロソフト オンライン コンシェルジェで報告してみる</title>
         <link>http://xiss.g.hatena.ne.jp/orzccc/20081112/microsoft_online_concierge</link>
         <description>マイクロソフトのサイトで不備を発見したので、マイクロソフト カスタマーサービス&amp;サポート | マイクロソフト オンライン コンシェルジェ サービスのご案内というページに行ってチ</description>
         <guid isPermaLink="false" />
         <pubDate>Wed, 12 Nov 2008 00:00:00 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>マイクロソフトのサイトで不備を発見したので、<a rel="nofollow" target="_blank" href="http://www.microsoft.com/japan/customer/chat/guide.aspx">マイクロソフト カスタマーサービス&amp;サポート | マイクロソフト オンライン コンシェルジェ サービスのご案内</a>というページに行ってチャットでのユーザーサポートを受けてみました。</p>
			<p>まず、「最初の質問/コメント」という欄に書き込んで送信するところから始まりました。</p>
			<p>【<samp>XP SP3 対応の IE 7 インストーラーが見つかりづらく、さらに IE 6 からだとダウンロードできません。</samp>】</p>
			<p><dl>
				<dt>15:23:06 私</dt>
				<dd>最初の質問/コメント: [Info] XP SP3 対応の IE 7 インストーラーが見つかりづらく、さらに IE 6 からだとダウン <em>(←切れた)</em></dd>
				<dt>15:23:12 システム</dt>
				<dd><a rel="nofollow" target="_blank" href="https://www.microsoft.com/ja/jp/default.aspx">https://www.microsoft.com/ja/jp/default.aspx</a></dd>
				<dt>15:23:17 システム</dt>
				<dd>別のエージェントに転送しています。しばらくお待ちください...</dd>
				<dt>15:23:22 システム</dt>
				<dd>MS 田吾作 がセッションに参加しました！</dd>
				<dt>15:23:22 システム</dt>
				<dd>MS 田吾作 に接続しました</dd>
				<dt>15:23:32 MS 田吾作</dt>
				<dd>お待たせいたしました。
					マイクロソフト オンライン コンシェルジェをご利用いただき、 ありがとうございます。
					今回担当をさせていただきます　田吾作と申します。</dd>
				<dt>15:23:32 MS 田吾作</dt>
				<dd>恐れ入りますが、ご質問内容を伺う前に
					この接続が確立されているかどうかを確認させていただきたいと存じますので、
					まずは、「はい」などの簡単なメッセージを送信していただけますでしょうか。</dd>
				<dt>15:23:39 私</dt>
				<dd>はい</dd>
				<dt>15:23:58 MS 田吾作</dt>
				<dd>ありがとうございます。
					また対応中にセッションが切断されたり、
					入力した文字が送信できないなどの問題が発生した場合は、
					お手数をお掛けいたしますが、再度お問い合わせいただくか、
					下記ページより該当する窓口にお問い合わせいただきますようお願いいたします。
					【マイクロソフトお問い合わせ先一覧】
					<a rel="nofollow" target="_blank" href="http://www.microsoft.com/japan/customer/information/phone.aspx">http://www.microsoft.com/japan/customer/information/phone.aspx</a></dd>
				<dt>15:23:58 MS 田吾作</dt>
				<dd>それでは、この度はどのような情報をお探しでしょうか？
					具体的にお聞かせください。</dd>
				<dt>15:24:37 私</dt>
				<dd>XP SP3 対応の IE 7 インストーラーが見つかりづらく、さらに IE 6 からだとダウンロードできません。</dd>
				<dt>15:25:28 MS 田吾作</dt>
				<dd>恐れ入ります、そう致しますと、本日はInternet Explorer 7のダウンロードをご希望ということになりますでしょうか？</dd>
				<dt>15:26:05 私</dt>
				<dd>別のブラウザ（Opera 9.62）を使って代わりにダウンロードしたのでインストールには成功しています</dd>
				<dt>15:26:18 MS 田吾作</dt>
				<dd>はい</dd>
				<dt>15:26:47 私</dt>
				<dd>私が代わりにインストーラーをダウンロードして、このたびアップグレードしたかった人に送信して渡す必要がありました</dd>
				<dt>15:27:08 私</dt>
				<dd>サイトの不備だと思うので、修正していただけると助かります</dd>
				<dt>15:27:31 私</dt>
				<dd>具体的にいうと</dd>
				<dt>15:27:54 私</dt>
				<dd>・<a rel="nofollow" target="_blank" href="http://www.microsoft.com/japan/windows/downloads/ie/getitnow.mspx">http://www.microsoft.com/japan/windows/downloads/ie/getitnow.mspx</a> の OS 選択リストに SP3 がない</dd>
				<dt>15:28:38 MS 田吾作</dt>
				<dd>かしこまりました。ご指摘ありがとうございます。
					では本日は、弊社Webサイトの修正に関するご指摘ということでよろしいでしょうか？</dd>
				<dt>15:28:39 私</dt>
				<dd>・選択せず Go を押してみると<a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9AE91EBE-3385-447C-8A30-081805B2F90B&displaylang=ja">http://www.microsoft.com/downloads/details.aspx?FamilyId=9AE91EBE-3385-447C-8A30-081805B2F90B&amp;displaylang=ja</a> に飛ばされ、そこには 「このダウンロードは、Microsoft Windows XP Service Pack 2 とService Pack3で利用できます。 」とある</dd>
				<dt>15:29:16 私</dt>
				<dd>そうですね。チャットリストに色々ありましたがそれぞれの違いがよくわからなかったので総合っぽいここにしました</dd>
				<dt>15:29:43 MS 田吾作</dt>
				<dd>ご指摘ありがとうございます。
					当窓口で確認させていただきましたところ、ご指摘の通りになっておりますため、社内関連部署へフィードバックさせていただきます。</dd>
				<dt>15:30:00 私</dt>
				<dd>お願いします</dd>
				<dt>15:30:03 私</dt>
				<dd>で、</dd>
				<dt>15:30:39 私</dt>
				<dd>そのたどり着いたページの「ダウンロード」を選択してリダイレクトされるファイル <a rel="nofollow" target="_blank" href="http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=ja&SrcCategoryId=&SrcFamilyId=9ae91ebe-3385-447c-8a30-081805b2f90b&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fd%2f4%2f8%2fd488b16c-877d-474d-912f-bb88e358055d%2fIE7-WindowsXP-x86-jpn.exe">http://www.microsoft.com/downloads/info.aspx?na=90&amp;p=&amp;SrcDisplayLang=ja&amp;SrcCategoryId=&amp;SrcFamilyId=9ae91ebe-3385-447c-8a30-081805b2f90b&amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fd%2f4%2f8%2fd488b16c-877d-474d-912f-bb88e358055d%2fIE7-WindowsXP-x86-jpn.exe</a> が、IE 6からだと 404</dd>
				<dt>15:30:54 私</dt>
				<dd>Opera だと 200。落とせました。</dd>
				<dt>15:31:40 私</dt>
				<dd>他人の環境の IE 6 なので詳しいバージョン等はわかりません。また、私の環境では試していません。</dd>
				<dt>15:32:09 私</dt>
				<dd>指摘は以上です。</dd>
				<dt>15:33:34 MS 田吾作</dt>
				<dd>詳細のお書き込み有難うございます。
					本日戴きました情報につきましては、社内関連部署に申し伝えさせて戴きます。</dd>
				<dt>15:33:59 私</dt>
				<dd>はい。もうよろしいですかね。</dd>
				<dt>15:34:47 MS 田吾作</dt>
				<dd>はい、本日はご連絡いただきましてどうも有難うございました。
					今後とも弊社製品ならびサービスのご愛顧のほど よろしくお願い申し上げます。</dd>
				<dt>15:34:52 MS 田吾作</dt>
				<dd>この度はマイクロソフト オンライン コンシェルジェをご利用いただきありがとうございました。 本日は担当 田吾作がご案内いたしました。</dd>
				<dt>15:35:07 私</dt>
				<dd>ありがとうございます。</dd>
				<dt>15:35:22 MS 田吾作</dt>
				<dd>尚、チャットコメント欄上部の 「退出 」 ボタンを押すことによりこのチャットを終了することができます。
					この度は、ご利用有難うございました。それでは失礼いたします。</dd>
			</dl></p>
			<p>注: 「田吾作」は引用者による仮名です。</p>
			<p>以上。雑感としては、「よくできているなぁ」という感じ。欲を言えば、対応後に直接の連絡を入れてくれるなどのアフターケアが欲しいです。「どこどこのページでお知らせします」でも良いので。</p>
			<p>電話よりメールよりチャットの方が気軽にそして手早くフィードバックをもらえるので世のサポートチームはもっと活用すべきだと思います。</p>
			<p>ところで、2008年11月04日に指摘したこの不備、8日経った本日時点ではまだ修正されていないようです。よって、今は IE 6 利用者に 7 へのアップグレードを勧めてもほとんどの人が単独では完遂できない状況です。流石です。</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>デジタルネイティブ度調査</title>
         <link>http://xiss.g.hatena.ne.jp/orzccc/20081112/digitalnative</link>
         <description>NHK特集特集 デジタルネイティブの『デジタルネイティブ度調査』をやってみました。 インターネットで知り合いになって、会ったことがある人が5人以上いる。 はい 数百人くらいですね。</description>
         <guid isPermaLink="false" />
         <pubDate>Wed, 12 Nov 2008 00:00:00 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p><a rel="nofollow" target="_blank" href="http://www.nhk.or.jp/digitalnative/">NHK特集特集 デジタルネイティブ</a>の『デジタルネイティブ度調査』をやってみました。</p>
			<p><dl>
				<dt><q>インターネットで知り合いになって、会ったことがある人が5人以上いる。</q></dt>
				<dd>はい</dd>
				<dd><p>数百人くらいですね。社員全員がそうです。ルームメイトもほとんどがそう。</p></dd>			<br>

				<dt><q>朝起きると最初にするのは、メールをチェックすることだ</q></dt>
				<dd>はい</dd>
				<dd>
					<p>厳密には、</p>
					<ol>
						<li>IRC のキーワード反応チェック
							<ul>
								<li>Twitter (tig)</li>
								<li>ユーザーサポート</li>
								<li>社内 Wiki・コードリポジトリの更新通知</li>
							</ul>
						</li>
						<li>メールチェック</li>
						<li>フィードチェック</li>
					</ol>
				</dd>
				<dt><q>出かけたり、買い物をしたり、何か行動する場合は、まずネットで検索する。</q></dt>
				<dd>はい</dd>
				<dd><p>相場を調べたり、評判を調べたり、早く安く巧い経路を調べたり。</p></dd>
				<dt><q>デジカメなどで撮影した写真は、写真共有サイトにアップロードしている。</q></dt>
				<dd>はい</dd>
				<dd>
					<p>PHS からリアルタイムで <a rel="nofollow" target="_blank" href="http://jp.zooomr.com/orzccc/">Zooomr</a> にアップロードしています。同時に自動で<a rel="nofollow" target="_blank" href="http://twitter.com/orzccc">自分の Twitter タイムライン</a>にも流れるようになっています。</p>
					<p>ちょっと余談: 以前は Flickr を使っていましたが、無料での容量制限に達してしまったため最近になって乗り換えました。無料でどこまでできるかがウェブサービスでは重要だと思います。<a rel="nofollow" target="_blank" href="http://d.hatena.ne.jp/umedamochio/20061026/p1">The Economics of Abundance</a> の名のもとに、自分たちが提供できるものの質と量をより上げることで競合他社より高い価値を作りたいと考えています。逆に、運よく生まれた希少価値に寄りかかっている人や会社は技術者としても経営者としても尊敬できません。</p>
				</dd>
				<dt><q>ネットで買い物をするときに、クレジットカード番号を入力することにまったく抵抗がない。</q></dt>
				<dd>はい</dd>
				<dd><p>店にも依ります。Amazon や楽天のモラルや技術は信用して頻繁に利用しています。そうでない会社も多くあります。</p></dd>
				<dt><q>音楽は、ネットで購入したり、入手することが当たり前</q></dt>
				<dd>はい</dd>
				<dd>
					<p>ただし、例外もあります。最近、私が小学生時分より愛してやまない<a rel="nofollow" target="_blank" href="http://www.tamuranaomi.com/">田村直美</a>の新アルバム『<a rel="nofollow" target="_blank" href="http://www.tamuranaomi.com/rockfiled/">Rockfield willow</a>』が発売されることを知り、Amazon で即座に予約しました。しかし直後に近所でサインと握手付きのインストアライブが催されることを知り、店頭で買おうと思って予約を解除しました。</p>
					<p>デジタルコンテンツは合法/違法に関わらずインターネットで広く流通する（させることができる/してしまう）ので、こうしてデジタル化できない「ライブでしか味わえない熱」や「アーティストとの対面機会」などを提供して価値を作るビジネスモデルにしなきゃ駄目ですよね。いたちごっこに勝者はいないのですから。</p>
				</dd>
				<dt><q>定期的にチェックするブログが、５つ以上ある。</q></dt>
				<dd>はい</dd>
				<dd><p>フィード数で計るのもおかしいですが、現在で 200 くらいのようです。同業者の平均と比べたら少ない方だと思います。もっとアンテナ高くしないとなぁと常々思っていますが、それ以外のコミュニケーションに時間を取られてこの数でも捌ききれていないんですよね。どうにかしたい。</p></dd>
				<dt><q>ブログにコメントをつけたことがある。</q></dt>
				<dd>はい</dd>
				<dd><p><a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/orzccc/20080707/1215384847">それを元に交流が深まった例</a>がいくつもあります。中には<a rel="nofollow" target="_blank" href="http://d.hatena.ne.jp/cho45/">ブログを最も自分が自分を出せる場所であると感じている人</a>もいます。そうと知っているならばそれに乗るのが最良の手段――相手に見せられる最も分かりやすい真摯な姿勢でしょう。電話嫌いに電話を強要して仲直りできるわけがないってね。何の話か？ コミュニケーションチャンネル選びは大事だって話です。</p></dd>
				<dt><q>自分のブログをもっていて、定期的に更新したり、トラックバックを張ったりしてる。</q></dt>
				<dd>はい</dd>
				<dd><p><a rel="nofollow" target="_blank" href="http://twitter.com/orzccc">ミニブログ</a>を除き、学生時代と比べて量が減っています。もしかしたら質も。ここは「社長ブログ」と銘打ってはいますが、所謂「戦略的」にはまだ使っていません。今後どうなるかは未定ですが、ブログはその行為自体が楽しくなかったら意味がないと思っています。</p></dd>
				<dt><q>mixiやfacebookなどのSNSに複数参加している。</q></dt>
				<dd>はい</dd>
				<dd><p>SNS 的機能を擁したサービスを挙げるときりがないので割愛。はてなも SNS ですし。</p></dd>
				<dt><q>SNSでは自らコミュニティを主宰している。</q></dt>
				<dd>はい</dd>
				<dt><q>ウィキペディアの編集をしたことがある。</q></dt>
				<dd>はい</dd>
				<dd><p>156（ｒｙ</p></dd>
				<dt><q>インスタントメッセージで友人と日常的にチャットする。</q></dt>
				<dd>はい</dd>
				<dd><p>しない日はありません。社内のコミュニケーションも主に IRC です。もちろん、それ以外のメディアを使うべきところでは適宜使っていますが。</p></dd>
				<dt><q>携帯電話は会話するよりも、メールすることのほうが圧倒的に多い。</q></dt>
				<dd>はい</dd>
				<dd><p>メールの差出人を自分のケータイと装って PC から送ることが一番多いです。だからケータイでのタイピング能力はそこまで育っていません。</p></dd>
				<dt><q>面白い動画やサイトを、すぐに友人にメールなどで知らせることが楽しい。</q></dt>
				<dd>はい</dd>
				<dd><p>チャットに URL をぺたっと貼ってもとの作業に戻る、ってことを毎日何回かやっています。共有ブックマークにクリッピングすることも。</p></dd>
				<dt><q>友人、知り合いに電話番号を教えるときは、携帯電話の赤外線通信で行う。</q></dt>
				<dd>いいえ</dd>
				<dd><p>俺の WX320K (通称『京ぽん2改』) にそんなナンパな機能はいるいらねぇんだよ！！</p></dd>
				<dt><q>ネットでニュースをフォローしてるので紙の新聞は読まない</q></dt>
				<dd>はい</dd>
				<dd><p>資源の無駄ですし。ただ、たまの長距離移動で暇つぶしに英字新聞を買っては自分の読解能力が学生時分と比べ落ちていることに絶望して楽しむことはあります。</p></dd>
				<dt><q>テレビはいったん、ハードディスクレコーダーに録画してから見るのが基本だ。</q></dt>
				<dd>いいえ</dd>
				<dd><p>テレビはネットで観ます。ただ、食事中にニュースを見てルームメイトとあーでもないこーでもないと議論（雑談）することはあります。</p></dd>
				<dt><q>学校（小、中、高）では、パソコンの授業があった。</q></dt>
				<dd>はい</dd>
				<dd><p>中学校が県内有数の IT 先進校だったらしく、コンピューター室が見学のスーツに占拠されているところを何度か目にしました。</p></dd>
				<dt><q>今の彼女（彼氏）はネットで知り合った</q></dt>
				<dd>いいえ</dd>
				<dd><p>ただ、ネットで知り合ったこともありますし、それを別段悪いとも思いません。自分の中で相手を信用する基準がはっきりとあり、それを遵守しているので、万が一会って失敗してもネットのせいではなく自分の判断ミスのせいだと考えます。そういった覚悟、ネットリテラシ、人を見る目、経験、判断力が十分でないうちはネットを中心に交友を深めるのは危険かもしれませんね。</p></dd>
			</dl>
			<p><p><q>最終結果 あなたのデジタルネイティブ度は 85％ でした。</q></p>
			<p>楽しかったです。色々な意味で。</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>Yahoo Pipes と FeedBurner でスタッフブログのフィードを綺麗にまとめる</title>
         <link>http://xiss.g.hatena.ne.jp/orzccc/20080726/1217035745</link>
         <description>経緯・目的 はてなグループで社長ブログ（これ）を始める 社長以外のメンバーもブログをぼちぼち書くようになる d:id:antipop から「まとめてよ」と要望がある なるほどはてなグループの「</description>
         <guid isPermaLink="false" />
         <pubDate>Sat, 26 Jul 2008 01:29:05 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<h4> 経緯・目的</h4>
			<ol>
				<li> はてなグループで社長ブログ（これ）を始める</li>
				<li> 社長以外のメンバーもブログをぼちぼち書くようになる</li>
				<li> <a rel="nofollow" target="_blank" href="http://d.hatena.ne.jp/antipop/">d:id:antipop</a> から「まとめてよ」と要望がある</li>
				<li> なるほど<a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/">はてなグループ</a>の「<a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/diarylist">日記一覧</a>」が吐くのはブログのフィードだけで、ブログそれぞれのエントリのフィードではないようだ。不便。</li>
				<li> メンバーと相談して、キッススタッフブログをまとめたフィードを用意することにする</li>
				<li> <a rel="nofollow" target="_blank" href="http://feeds.feedburner.jp/xiss-staff-blog">作った</a></li>
				<li> 公開←いまここ</li>
			</ol>
			<h4> ブログのフィードをまとめて綺麗に管理・公開する</h4>
			<ol>
				<li> まとめるフィードを決める
				<ul>
					<li> <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/">キッススタッフブログ (Xiss Staff Blog)</a>
					<ul>
						<li> <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/orzccc/">アリゾナではもう働きたくない社長の blog - キッススタッフブログ (Xiss Staff Blog)</a></li>
						<li> <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/hkn/">キッススタッフブログ (Xiss Staff Blog)</a></li>
						<li> <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/Asano/">すまねで働く脱サラのブロギe3e - キッススタッフブログ (Xiss Staff Blog)</a></li>
						<li> <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/sakadon/">さかどん記録＠HG::Xiss出張所 - キッススタッフブログ (Xiss Staff Blog)</a></li>
						<li> 以下、随時追加</li>
					</ul>
					</li>
					<li> <a rel="nofollow" target="_blank" href="http://twitter.com/Xiss">Twitter</a>
					<ul>
						<li> ミニ「ブログ」という位置づけなので。</li>
					</ul>
					</li>
				</ul>
				</li>
				<li> <a rel="nofollow" target="_blank" href="http://pipes.yahoo.com/">Yahoo Pipes</a> でまとめフィードを作る
				<ul>
					<li> 複数のフィードやデータを一本のパイプとしてまとめられるサービス。(参考していない参考: <a rel="nofollow" target="_blank" href="http://chikura.fprog.com/index.php?UID=1208233725">ケーススタディで学ぶYahoo! Pipes入門</a>)</li>
					<li> Opera 9.51 でエディタ UI を開くと <q title="*" cite="http://pipes.yahoo.com/pipes/pipe.edit">Your browser is not supported by the Pipes' editor.  We recommend using Firefox, IE7 or Safari.  Press 'OK' to load the editor anyway, or 'Cancel' to go back (recommended)<cite><a rel="nofollow" target="_blank" href="http://pipes.yahoo.com/pipes/pipe.edit">*</a></cite></q> と言われましたが、私が必要な作業は何も問題なく終えられました。まぁいつものこと。</li>
				</ul>
				</li>
				<li> <a rel="nofollow" target="_blank" href="http://www.feedburner.jp/">FeedBurner</a> に手順 2 で Yahoo Pipes が出力したフィードを登録する
				<ul>
					<li> Yahoo Pipes の提供する URL は長いく汚い: <a rel="nofollow" target="_blank" href="http://pipes.yahoo.com/pipes/pipe.run?_id=kqSTbKNa3RGKjGHLIGsPpw&_render=rss">http://pipes.yahoo.com/pipes/pipe.run?_id=kqSTbKNa3RGKjGHLIGsPpw&amp;_render=rss</a></li>
					<li> FeedBurner の提供する URL は短く綺麗: <a rel="nofollow" target="_blank" href="http://feeds.feedburner.jp/xiss-staff-blog">http://feeds.feedburner.jp/xiss-staff-blog</a></li>
					<li> FeedBurner を噛ませるとアクセス解析とか宣伝とか勝手に色々してくれる</li>
				</ul>
				</li>
			</ol>
			<h4> 成果・まとめ</h4>
			<ul>
				<li> 完成形: <a rel="nofollow" target="_blank" href="http://feeds.feedburner.jp/xiss-staff-blog">Xiss Staff Blogs</a></li>
			</ul>
			<p>よろしければ各種フィードリーダーで購読していってくださいませ。</p>
			<p><a rel="nofollow" target="_blank" href="http://twitter.com/Xiss">Twitter</a> もヨロシク頼 (よろ) んだぜ。中の人などいない。</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>Adobe Flash をクロスブラウザで埋め込み表示させる Valid な XHTML 1.0/1.1</title>
         <link>http://xiss.g.hatena.ne.jp/orzccc/20080716/1216226479</link>
         <description>目的・経緯 embed 要素は XHTML 1.0/1.1 では定義されておらず、画像以外のオブジェクト埋め込みには object 要素だけで行います。しかし object 要素は以前からブラウザごとの実装に差異が多く、</description>
         <guid isPermaLink="false" />
         <pubDate>Wed, 16 Jul 2008 16:41:19 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<h4> 目的・経緯</h4>
			<p>embed 要素は XHTML 1.0/1.1 では定義されておらず、画像以外のオブジェクト埋め込みには object 要素だけで行います。しかし object 要素は以前からブラウザごとの実装に差異が多く、使いどころが難しくて結局 DTD を HTML 4.01 にして embed タグを書かざるを得ないということがままありました。</p>
			<p>ここでは、それを解決するために色々書き方を変えては異なる環境でテストし、メジャーな環境すべてで表示され、且つ Valid な (正当な) XHTML になる記述を模索してみました。</p>
			<h4> 表示されることを確認したブラウザ</h4>
			<ul>
				<li> Opera 9.51 (Build 10081)</li>
				<li> Firefox 3.0 (Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9) Gecko/2008052906 Firefox/3.0)</li>
				<li> Safari 3.1.2 (5525.20.1)</li>
				<li> Internet Explorer 7 (7.0.5730.11)</li>
				<li> Internet Explorer 6 (6.0.2900.2180.xpsp_sp2_gdr.070227-2254)</li>
			</ul>
			<p>他の環境での結果報告もいただけると嬉しいです。</p>
			<ul>
				<li> thanks to <a rel="nofollow" target="_blank" href="http://d.hatena.ne.jp/tomoya/">d:id:tomoya</a> for Safari 3.1.2</li>
			</ul>
			<h4> 成功例</h4>
			<h5> 最小構成</h5>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;
        type=&quot;application/x-shockwave-flash&quot;
        width=&quot;400&quot; height=&quot;300&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<h5> CSS 使用（推奨？）</h5>
			<p>width と height の指定はそれぞれ以下のように CSS で代用することもできます。（どちらであるべきかはまた別のお話）</p>
<pre class="syntax-highlight">
object<span class="synIdentifier">#some-movie</span>
<span class="synIdentifier">{</span>
  <span class="synType">width</span>: <span class="synConstant">400px</span>; <span class="synComment">/* 単位指定しないと Opera 9.51 で駄目 */</span>
  <span class="synType">height</span>: <span class="synConstant">300px</span>;
<span class="synIdentifier">}</span>
</pre>

<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;
        type=&quot;application/x-shockwave-flash&quot;
        id=&quot;some-movie&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<h5> 代替内容あり（推奨）</h5>
			<p>今回調査した環境以外への対策として、例えば以下のように代替内容も用意しておきましょう。</p>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;
        type=&quot;application/x-shockwave-flash&quot;
        width=&quot;400&quot; height=&quot;300&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>a href=&quot;http://example.com/something.swf&quot;<span class="synSpecial">&amp;#62;</span>Some Movie<span class="synSpecial">&amp;#60;</span>/a<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<h4> 失敗例</h4>
			<h5> 失敗例 (movie 変数指定なし)</h5>
			<p>name="movie" のパラメタ指定がないと IE 6 と IE 7 で読み込みが終了しませんでした。<a rel="nofollow" target="_blank" href="http://www.kanzaki.com/works/2002/pub/wsd03.html#s3-2">神崎さん曰く、ActiveX が原因の様</a>。</p>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;
        type=&quot;application/x-shockwave-flash&quot;
        width=&quot;400&quot; height=&quot;300&quot;<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<h5> 失敗例 (data 属性なし)</h5>
			<p>param で指定したことで冗長になったことで data 属性を試しに削ってみたところ、Firefox 3、IE 7、IE 6 で表示されませんでした。（それはそれで正しい動作という気もしますが）</p>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object
        type=&quot;application/x-shockwave-flash&quot;
        width=&quot;400&quot; height=&quot;300&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<h5> 失敗例 (width と height の指定なし)</h5>
			<p>HTML や CSS による width・height 幅の指定がないと Opera 9.51、Firefox 3、Safari 3.1.2、IE 7、IE 6 で表示がおかしくなりました。img 要素のようにはいかないのですね。</p>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;
        type=&quot;application/x-shockwave-flash&quot;
        <span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<h5> 失敗例 (classid 属性あり)</h5>
			<p>以下のように classid 属性を指定すると Firefox 3 で表示されませんでした。</p>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;
        classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;
        type=&quot;application/x-shockwave-flash&quot;
        width=&quot;400&quot; height=&quot;300&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>

			<p>これには嵌まりました。有効活用されるべき HTML 記述を削るのではなく、<a rel="nofollow" target="_blank" href="http://psst.jp/syn/archives/000157.html">問題となるブラウザデフォルトの CSS ルールを消して対処</a>すべきかもしれません。ただ今回は HTML コード主体の話なので、任意属性ということもあり、最小構成からは削りました。</p>
			<h5> 失敗例 (type 属性なし)</h5>
			<p>classid と type どちらの属性も無いと、IE 7、IE 6 で Windows Media Player らしき UI が埋め込まれ、ActiveX 許可の確認ポップアップが出て、しかし OK しても再生されないという状態に。</p>
<pre class="syntax-highlight">
<span class="synSpecial">&amp;#60;</span>object data=&quot;http://example.com/something.swf&quot;

        width=&quot;400&quot; height=&quot;300&quot;<span class="synSpecial">&amp;#62;</span>
  <span class="synSpecial">&amp;#60;</span>param name=&quot;movie&quot; value=&quot;http://example.com/something.swf&quot; /<span class="synSpecial">&amp;#62;</span>
<span class="synSpecial">&amp;#60;</span>/object<span class="synSpecial">&amp;#62;</span>
</pre>
			<br>

			<h4> 総評・雑感</h4>
			<p>デスクトップ環境のメジャーブラウザであれば割と自信を持って embed を消し去れる時代が来た模様。よきかな。</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>ゆの in XSLT 2.0</title>
         <link>http://xiss.g.hatena.ne.jp/orzccc/20080716/1216188208</link>
         <description>元ねた: ゆの in language 経緯: Re: ゆの in XSLT - アリゾナではもう働きたくない社長の blog - キッススタッフブログ (Xiss Staff Blog) コード &amp;#60;?xml version="1.0" encoding="utf-8"?&amp;#62; &amp;a</description>
         <guid isPermaLink="false" />
         <pubDate>Wed, 16 Jul 2008 06:03:28 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<ul>
				<li> 元ねた: ゆの in language</li>
				<li> 経緯: <a rel="nofollow" target="_blank" href="http://xiss.g.hatena.ne.jp/orzccc/20080710/1215699263">Re: ゆの in XSLT - アリゾナではもう働きたくない社長の blog - キッススタッフブログ (Xiss Staff Blog)</a></li>
			</ul>
			<h4> コード</h4>
<pre class="syntax-highlight">
<span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
<span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--バージョン宣言と「xs」および「ひだまり」の名前空間宣言--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
<span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">stylesheet</span> version=&quot;2.0&quot;
  xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;
  xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;
  xmlns:ひだまり=&quot;http://d.hatena.ne.jp/keyword/%A4%E6%A4%CE%20in%20language&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>

  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--独自要素 *1--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>ひだまり:スケッチ version=&quot;×365&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    X / _ / X <span class="synType">&amp;</span><span class="synStatement">#38</span><span class="synType">;</span>lt; 来週も見てくださいね!
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/ひだまり:スケッチ<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>

  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--グローバル変数（引数）--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">param</span> name=&quot;ひだまり:filepath&quot; select=&quot;'file:/C://hoge/x365.txt'&quot; as=&quot;xs:string&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>

  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--エントリポイント--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">template</span> match=&quot;/&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--最終出力--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:result-document href=&quot;{$ひだまり:filepath}&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
      <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">value-of</span> select=&quot;ひだまり:unYunoize(document('')/*/ひだまり:スケッチ[position() = 1])&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:result-document<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:<span class="synStatement">template</span><span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>

  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--独自関数--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:function name=&quot;ひだまり:unYunoize&quot; as=&quot;xs:string&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--引数--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">param</span> name=&quot;yuno&quot; as=&quot;element()&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--内容--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">variable</span> name=&quot;result&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
      <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:analyze-string select=&quot;$yuno/child::text()&quot; regex=&quot;(.*)<span class="synType">&amp;</span><span class="synStatement">#38</span><span class="synType">;</span>lt;(.*)&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
        <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:matching-substring<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
          <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--マッチした regex-group(1) の値 'X / _ / X ' を取得し、
              tokenize 関数により xs:string+ 型のノード集合 ('X', '/', '_', '/', 'X') にし、
              for-each ループにかける。--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
          <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--(この辺りのプロセスに特に意味はない。無理やり紹介したかっただけ。)--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
          <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">for-each</span> select=&quot;tokenize(regex-group(1), ' ')&quot;<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
            <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">value-of</span> select=&quot;
              if (position() = 3)
              then replace(name($yuno), ':', '')
              else ''&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
          <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:<span class="synStatement">for-each</span><span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
          <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">value-of</span> select=&quot;$yuno/@version&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
          <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:<span class="synStatement">value-of</span> select=&quot;regex-group(2)&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
        <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:matching-substring<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
      <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:analyze-string<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:<span class="synStatement">variable</span><span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>!--返り値--<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
    <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>xsl:sequence select=&quot;$result&quot;/<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
  <span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:function<span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>

<span class="synType">&amp;</span><span class="synStatement">#60</span><span class="synType">;</span>/xsl:<span class="synStatement">stylesheet</span><span class="synType">&amp;</span><span class="synStatement">#62</span><span class="synType">;</span>
</pre>

			<h4> 処理前</h4>
			<p>このスタイルシートをデフォルトスタイルシートを適用させないブラウザ (例えば Opera) で開くと「1」のテキストノードだけが実体参照も展開され表示されます:</p>
<pre>
X / _ / X &#60; 来週も見てくださいね!
</pre>

			<p><a rel="nofollow" target="_blank" href="http://subtech.g.hatena.ne.jp/mayuki/20080709/1215619980">要素名とする</a>のも <a rel="nofollow" target="_blank" href="http://www.akatsukinishisu.net/itazuragaki/xml/yuno_in_xslt_feat_xpath.html">XPath 式とする</a>のも先にやられたので苦肉の策として、ね。。いや、でもこれは実に「XML らしい」と思うんだ!</p>
			<h4> 処理後</h4>
			<p>処理系に Saxon を使うなら、以下のようなコマンドを実行します:</p>
<pre>
java -jar saxon -s:yuno-in-xslt20.xsl -xsl:yuno-in-xslt20.xsl
</pre>

			<p>結果 ('file:/C://hoge/x365.txt'):</p>
<pre>
ひだまりスケッチ×365 来週も見てくださいね!&#91;EOF]
</pre>

			<h4> ポイント</h4>
			<ul>
				<li> XML らしく（コード中にそのままリテラルを書けるのは多くの他言語にない）</li>
				<li> XSLT の自称中級者的な使い方
				<ul>
					<li> 要素や属性だけでなく変数や関数にも同じように名前空間を適用できます。例: <a rel="nofollow" target="_blank" href="http://coderepos.org/share/changeset/8401">      Changeset 8401 ?      CodeRepos::Share ? Trac    </a> これによりスタイルシートをモジュール化でき、単独でなく複合的で複雑なシステム (CMS とか) も作成可能。</li>
					<li> 外部からのパラメタ受け取り。デフォルト値も指定できる。</li>
					<li> 第一引数を空 string にして document 関数でこのスタイルシート自身を取得できる。</li>
				</ul>
				</li>
				<li> XSLT 2.0 らしく（1.0 じゃないからこそできることを紹介しておいた）
				<ul>
					<li> xsl:result-document 要素の追加により最終出力の多様化・明確化が可能に。
					<ul>
						<li> 夢の出力ファイル単独指定!</li>
						<li> 夢の複数出力フォーマット定義!</li>
					</ul>
					</li>
					<li> xsl:function 要素の追加により独自関数の定義が可能に。
					<ul>
						<li> ただただ素晴らしい。</li>
					</ul>
					</li>
					<li> as 属性による型付けで返り値の明確化が可能に。xs:QName* や element()? などとすれば個数を指定できる。
					<ul>
						<li> ガチガチに書けるようになってコードの安定性が上がった。</li>
					</ul>
					</li>
					<li> xsl:analyze-string 要素および regex 系の XPath 2.0 関数により文字列処理能力が飛躍的に向上。
					<ul>
						<li> fn:translate(笑)</li>
					</ul>
					</li>
					<li> XPath 式内での条件分岐 (if-then-else) 
					<ul>
						<li> キモイけど便利</li>
					</ul>
					</li>
					<li> xsl:sequence 要素によりシーケンスコンストラクタ返り値の明確化が可能に。
					<ul>
						<li> コードが読み易くなった。</li>
					</ul>
					</li>
					<li> XSLT 1.0 における「結果ツリーフラグメント (Result Tree Fragment)」すらも別の内容生成にかけられるようになった。
					<ul>
						<li> 激しく融通が利くようになった。</li>
					</ul>
					</li>
				</ul>
				</li>
			</ul>

		</div>]]></content:encoded>
      </item>
      <item>
         <title>[Rails] キャッシュ機能</title>
         <link>http://xiss.g.hatena.ne.jp/higeorange/20081009/1223570030</link>
         <description>http://www.thewebfellas.com/blog/2008/6/9/rails-2-1-now-with-better-integrated-caching を使ってあるモデルオブジェクトを保持して移動したページでそのモデルオブジェクトを使おうとしたんだけど、 stack level t</description>
         <guid isPermaLink="false" />
         <pubDate>Thu, 09 Oct 2008 16:33:50 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p><a rel="nofollow" target="_blank" href="http://www.thewebfellas.com/blog/2008/6/9/rails-2-1-now-with-better-integrated-caching">http://www.thewebfellas.com/blog/2008/6/9/rails-2-1-now-with-better-integrated-caching</a></p>			<br>

			<p>を使ってあるモデルオブジェクトを保持して移動したページでそのモデルオブジェクトを使おうとしたんだけど、</p>
			<p>stack level too deep というエラーがでてページが表示できない。</p>			<br>

			<p>まったくもって原因不明。</p>
			<p>キャッシュの保存、読み出しは問題なく行われているようなんだけど…。</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>[Rails] flash が消えてくれない問題</title>
         <link>http://xiss.g.hatena.ne.jp/higeorange/20081002/1222962708</link>
         <description>flash は Adobe のやつじゃなくて flash[:hoge] とかで内容を一画面移動表示してくれるやつ. リダイレクトしたときとかに便利だよね． flash が表示された状態で同じページに遷移したときに 消え</description>
         <guid isPermaLink="false" />
         <pubDate>Thu, 02 Oct 2008 15:51:48 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>flash は Adobe のやつじゃなくて flash[:hoge] とかで内容を一画面移動表示してくれるやつ. リダイレクトしたときとかに便利だよね．</p>			<br>

			<p>flash が表示された状態で同じページに遷移したときに 消えてくれるはずの flash が消えてくれない．</p>			<br>

			<p>仕方ないので</p>
<pre>
flash.discard
</pre>

			<p>として強制的に flash が保持している内容を削除した．</p>
			<h4>参考</h4>
			<p><a rel="nofollow" target="_blank" href="http://api.rubyonrails.org/classes/ActionController/Flash/FlashHash.html">404 Not Found</a></p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>[Rails] レコードのバリデートエラーメッセージの問題</title>
         <link>http://xiss.g.hatena.ne.jp/higeorange/20081002/1222956778</link>
         <description>モデルで validates_presence_of などのメソッドでバリデートを定義しておくとそのモデルを保存するときに検証してくれる． 例: def create ... ... if @hoge.save else #バリデートに通らなかった場合 rende</description>
         <guid isPermaLink="false" />
         <pubDate>Thu, 02 Oct 2008 14:12:58 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>モデルで validates_presence_of などのメソッドでバリデートを定義しておくとそのモデルを保存するときに検証してくれる．</p>
			<p>例:</p>
<pre class="syntax-highlight">
<span class="synPreProc">def </span><span class="synIdentifier">create</span>
  ...
  ...
  <span class="synStatement">if</span> <span class="synIdentifier">@hoge</span>.save
  <span class="synStatement">else</span>
    <span class="synComment">#バリデートに通らなかった場合</span>
    render <span class="synIdentifier">:action</span> =&amp;<span class="synComment">#62; 'new'</span>
  <span class="synStatement">end</span>
<span class="synPreProc">end</span>
</pre>

			<p>上の例のようなコントローラ定義だとバリデートに通らなかった場合， action: new のページが表示されて</p>
<pre>
&#60;%= error_messages_for %&#62;
</pre>

			<p>がビューにあればそこにエラーメッセージが表示される．</p>			<br>

			<p>動作としては問題ないんだけど， new のページ URL をルーティングで変更している場合 URL が気持ち悪いものになってしまう．</p>
			<p>そこで render メソッドではなく redirect_to メソッドで綺麗な URL で "new" のページを表示させることにする．</p>			<br>

			<p>がここで問題発生.</p>
			<p>redirect_to で飛ばした new ページでは エラーの内容を保持してくれていないので</p>
<pre>
&#60;%= error_messages_for %&#62;
</pre>

			<p>にエラーが表示されない．</p>			<br>

			<p>解決策として</p>
			<p>flash を使うことにした．</p>
<pre class="syntax-highlight">
<span class="synPreProc">def </span><span class="synIdentifier">create</span>
  ...
  ...
  <span class="synStatement">if</span> <span class="synIdentifier">@hoge</span>.save
  <span class="synStatement">else</span>
    flash[<span class="synIdentifier">:notice</span>] = render_to_string <span class="synIdentifier">:partial</span> =&amp;<span class="synComment">#62; &quot;layouts/validates_error_messages&quot;, :locals =&amp;#62; { :errors =&amp;#62; @hoge.errors.full_messages }</span>

    redirect_to <span class="synSpecial">&quot;</span><span class="synConstant">[new のアクションが呼ばれる URL]</span><span class="synSpecial">&quot;</span>
  <span class="synStatement">end</span>
<span class="synPreProc">end</span>
</pre>

			<p>エラーメッセージを綺麗に表示させるために render_to_string :partial を使う．</p>			<br>

<pre class="syntax-highlight">
<span class="synComment"># app/view/layouts/_validates_error_messages.html.erb</span>
&amp;<span class="synComment">#60;p&amp;#62;&amp;#60;%= errors.size %&amp;#62;個のエラーがあります&amp;#60;/p&amp;#62;</span>
&amp;<span class="synComment">#60;ul&amp;#62;</span>
&amp;<span class="synComment">#60;% errors.each do |error| -%&amp;#62;</span>
  &amp;<span class="synComment">#60;li&amp;#62;&amp;#60;%= error %&amp;#62;&amp;#60;/li&amp;#62;</span>
&amp;<span class="synComment">#60;% end -%&amp;#62;</span>
&amp;<span class="synComment">#60;/ul&amp;#62;</span>
</pre>

			<p>こんな感じ．</p>
			<p>これでエラーメッセージが表示できた．</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>[Rails] ActionMailer で Internal Server Error が出る謎 (未解決)</title>
         <link>http://xiss.g.hatena.ne.jp/higeorange/20081001/1222851139</link>
         <description>メールも送れなきゃだめだなてことで ActionMailer を使う． メールの送信方法は sendmail をつかえるよなので sendmail をインストール． 設定 config/environment.rb config.action_mailer.delivery_method = :sendmail</description>
         <guid isPermaLink="false" />
         <pubDate>Wed, 01 Oct 2008 08:52:19 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>メールも送れなきゃだめだなてことで ActionMailer を使う．</p>
			<p>メールの送信方法は sendmail をつかえるよなので sendmail をインストール．</p>
			<h4> 設定</h4>
			<p>config/environment.rb</p>
<pre>
  config.action_mailer.delivery_method = :sendmail
</pre>
			<br>

			<h4>モデル</h4>
<pre>
class Mailer &#60; ActionMailer::Base
  def notice(&#42;to)
    subject &#34;test&#34;
    from &#34;hoge@exapmle.com&#34;
    recipients to
    body &#34;test&#34;
  end
end
</pre>
			<br>

			<p>としておいてあるコントローラから</p>
<pre>
Mailer.deliver_notice(&#34;fuga@example.com&#34;)
</pre>

			<p>としてメールを送ろうとしたら "Internal Server Error" が返ってくる．メール自体は送られる．</p>			<br>

			<p>apache のエラーログを見ると</p>
<pre>
&#91;error] &#91;client 127.0.0.1] Premature end of script headers: dispatch.fcgi
</pre>

			<p>というエラーが出てる．</p>			<br>

			<p>調査中．</p>			<br>

			<h4>解決?</h4>
			<p>上のエラーが出た原因はタイムアウトだったっぽい．</p>
<pre>
&#91;warn] mod_fcgid: read data timeout in 40 seconds
</pre>

			<p>なのも出てた．</p>			<br>

			<p>このタイムアウトを引き起こしているのは何だったかと言うとどうも sendmail がメールを送信するのに時間がかかっていたようだ．</p>
			<p>/var/log/mail.log に</p>
<pre>
My unqualified host name (&#42;&#42;&#42;&#42;&#42;) unknown; sleeping for retry
</pre>

			<p>てなエラーがでてて遅延が起こってたようだ．</p>			<br>

			<p><a rel="nofollow" target="_blank" href="http://www2f.biglobe.ne.jp/~e-cottag/computer/server/security/sendmail3/index.html">no title</a></p>
			<p>を参考に /etc/hosts をごにょったら直った．</p>
		</div>]]></content:encoded>
      </item>
      <item>
         <title>[Rails] sanitize メソッド</title>
         <link>http://xiss.g.hatena.ne.jp/higeorange/20080930/1222792016</link>
         <description>sanitize メソッドは うまいこと script 要素やらなんやらを取り除いてくれて便利． が，XMLのProcessing Instructions (" " みたいなやつね．) をサニタイズしようとしたときに問題が発生</description>
         <guid isPermaLink="false" />
         <pubDate>Tue, 30 Sep 2008 16:26:56 +0000</pubDate>
         <content:encoded><![CDATA[<div class="section">
			<p>sanitize メソッドは うまいこと script 要素やらなんやらを取り除いてくれて便利．</p>
			<p>が，XMLのProcessing Instructions ("&#60;?hoge ?&#62;" みたいなやつね．) をサニタイズしようとしたときに問題が発生．</p>
<pre>
 &#38;amp;lt;?hoge ?&#62;
</pre>

			<p>のようにサニタイズされてしまう．</p>			<br>

			<p>どうも，HTML タグとしてよまれないっぽい． config.action_view.sanitized_allowed_tags に追加する以前の問題だなぁ．</p>
		</div>]]></content:encoded>
      </item>
   </channel>
</rss><!-- fe4.yql.bf1.yahoo.com compressed/chunked Tue Feb  7 04:37:32 UTC 2012 -->

