<?xml version="1.0" encoding="Shift_JIS"?>
<rss version="2.0">
   <channel>
      <title>Odyssey</title>
      <link>http://www.tenpai.com/</link>
      <description></description>
      <language>ja</language>
      <copyright>Copyright 2007</copyright>
      <lastBuildDate>Sat, 15 Sep 2007 12:44:19 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.31-ja</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Samples Dummy</title>
         <description></description>
         <link>http://www.tenpai.com/entry/samples_dummy.html</link>
         <guid>http://www.tenpai.com/entry/samples_dummy.html</guid>
         <category>Samples</category>
         <pubDate>Sat, 15 Sep 2007 12:44:19 +0900</pubDate>
      </item>
            <item>
         <title>Archives Dummy</title>
         <description></description>
         <link>http://www.tenpai.com/entry/archives_dummy.html</link>
         <guid>http://www.tenpai.com/entry/archives_dummy.html</guid>
         <category>Archives</category>
         <pubDate>Sat, 15 Sep 2007 12:41:41 +0900</pubDate>
      </item>
            <item>
         <title>SQL Server 2005/ExpressにおけるsaユーザとSQL Server認証の有効化</title>
         <description><![CDATA[<p>
    SQL Server 2005 Express - SQL 認証の有効化
</p>
<p>
    SQL Server 2005 Expressをデフォルトインストールすると、デフォルト動作がWindows 認証になってしまい、認証が面倒くさい。手動で以前のようにsaユーザとSQL Server認証に変更する方法をメモしておきます。<br />
    ※ SQL Server 2005 でも同じ。
</p>
<p>
    <font color="#0000FF"><strong>■SQL認証の有効化</strong></font>
</p>
<p>
    <font color="#993366"><strong>レジストリ値変更</strong></font><br />
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer\AuditLevel<br />
    の値を 2 に変更<br />
    ※ MSSQL.X の番号はインストール順になっている。<br />
    レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\SQLEXPRESS の値を確認すればどの番号化かわかる。
</p>
<p>
    <font color="#993366"><strong>SQL Server 2005 Express の再起動</strong></font><br />
    コマンドプロンプトで、<br />
    <font color="#FF0000">NET STOP MSSQL$SQLEXPRESS<br />
    NET START MSSQL$SQLEXPRESS</font>
</p>
<p>
    <font color="#0000FF"><strong>■saアカウントの有効化とパスワード設定</strong></font>
</p>
<p>
    SQL Server 2005から、デフォルトはsaのアカウントが無効化されているので saのパスワードを設定しても接続できない。<br />
    そのためsaアカウントの有効化 -&gt;saパスワード設定とう手順が必要。
</p>
<p>
    コマンドプロンプトで、<br />
    <font color="#FF0000">sqlcmd -E -S .\SQLEXPRESS<br /></font>として、続くダイアログで<br />
    <font color="#FF0000">ALTER LOGIN sa ENABLE<br />
    GO<br />
    ALTER LOGIN sa WITH PASSWORD = 'XXXXXXXXXXXX'<br />
    GO<br /></font><font color="#000000">とする。</font>
</p>
<p>
    <font color="#0000FF"><strong>■SQL Server 2005の認証モードの変更</strong></font>
</p>
<p>
    SQL Server データベース エンジンはインストール中に、<strong>[Windows 認証モード]</strong> になっているので、これを <strong>[SQL Srver 認証モードと Windows 認証モード]</strong> に変更する。
</p>
<p>
    SQL Server Management Studioに、適当なWindows認証でログインする。<br />
    オブジェクト エクスプローラで、サーバーを右クリック、<strong>[プロパティ]</strong> を選ぶ。<br />
    <strong>[セキュリティ]</strong> ページの <strong>[サーバー認証]</strong> で、新しいサーバーの認証モードを選択し、<strong>[OK]</strong> をクリック。<br />
    SQL Server を再起動する必要があることを示す SQL Server Management Studio のダイアログ ボックスで <strong>[OK]</strong> をクリック。
</p>
<p>
    これで、めでたく「アカウントsa」でのSQL Server認証が可能になった。
</p>]]></description>
         <link>http://www.tenpai.com/entry/sql_server_2005expresssql_serv.html</link>
         <guid>http://www.tenpai.com/entry/sql_server_2005expresssql_serv.html</guid>
         <category>SQL Server 2005</category>
         <pubDate>Mon, 20 Aug 2007 01:04:25 +0900</pubDate>
      </item>
            <item>
         <title>ASP.NETによるWebページのレンダリングと保存</title>
         <description><![CDATA[<p>
    ASP.NETでHTMLを描画する場合、生成されたページ全体を保存したい場合がある。<br />
    データベースで、単一のテンプレから多数のページを作り出しているけど、その個々の実体ページが欲しい！&nbsp;　といった用途が考えられる。<br />
    仕事で作ったサイトでこういう例があり、かなりハマった記憶がある。
</p>
<p>
    具体的には、こうやった。
</p>
<p>
    Partial Class SaveRenderPage<br />
    &nbsp;&nbsp;&nbsp; Inherits System.Web.UI.Page<br />
    <br />
    Dim renderedOutput&nbsp;As StringBuilder<br />
    Dim strWriter&nbsp;&nbsp;&nbsp;&nbsp;As StringWriter<br />
    Dim tWriter&nbsp;&nbsp;&nbsp;&nbsp;As HtmlTextWriter
</p>
<p>
    Dim outputStream&nbsp;&nbsp;As FileStream<br />
    Dim sWriter&nbsp;&nbsp;&nbsp;&nbsp;As StreamWriter<br />
    Dim filename&nbsp;&nbsp;&nbsp;&nbsp;As String
</p>
<p>
    Dim nextPage&nbsp;&nbsp;&nbsp;&nbsp;As String
</p>
<p>
    Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load
</p>
<p>
    if (Not IsPostback()) then<br />
    　Me.Page.DataBind()<br />
    　With Me.Page.Request<br />
    　　<font color="#3366FF">if (Not .QueryString("Render") is Nothing) andAlso (.QueryString("Render")="True") then</font><br />
    　　　Try<br />
    　　　　' HtmlTextWriterを用意<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　renderedOutput&nbsp;= New StringBuilder<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　strWriter&nbsp;&nbsp;&nbsp;= New StringWriter(renderedOutput)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　tWriter&nbsp;&nbsp;&nbsp;&nbsp;= New HtmlTextWriter(strWriter)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　' HtmlTextWriterに書込<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　Page.RenderControl(tWriter)<br />
    <br />
    　　　　' Streamを用意<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　filename&nbsp;&nbsp;&nbsp;&nbsp;= Server.MapPath(".") &amp; "\Rendered\" &amp; "XXX.html"<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　outputStream&nbsp;&nbsp;= New FileStream(filename, FileMode.Create)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　sWriter&nbsp;&nbsp;&nbsp;&nbsp;= New StreamWriter(outputStream)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　' Streamに書出<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　sWriter.Write(renderedOutput.ToString( ))<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　sWriter.Flush( )<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
    <font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　' 他ページへのリダイレクト<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　' そのままページ描画を続行すると、２重レンダリングで例外が発生するため</font><br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　nextPage = "index.html"<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　Response.Redirect(nextPage)<br />
    <br />
    　　　Finally<br />
    &nbsp;&nbsp;&nbsp;&nbsp;　　'clean up<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　If (Not IsNothing(outputStream))&nbsp;&nbsp;Then outputStream.Close( )<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　If (Not IsNothing(tWriter))&nbsp;&nbsp;&nbsp;&nbsp;Then tWriter.Close( )<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　If (Not IsNothing(strWriter))&nbsp;&nbsp;&nbsp;Then strWriter.Close( )<br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　End Try<br />
    &nbsp;&nbsp;&nbsp;　<font color="#3366FF">end if</font><br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End With<br />
    &nbsp;&nbsp;else<br />
    　　　Response.Write("ポストバックなのでそのまま表示しますた")<br />
    End if<br />
    End Sub<br />
    End Class
</p>
<p>
    <font color="#3366FF">青字<font color="#000000">のif文でわかるとおり、全く通常の表示ページと同じテンプレートで、パラメータを変えるだけでページの保存ができるようになっている。<br />
    また、ポイントは</font></font><font color="#FF0000">赤字</font><font color="#000000">の部分で、ページ表示をそのまま続行すると、二重レンダリングの例外が発生する。<br />
    このため、強制的に他ページにリダイレクトさせる手段が必要になる。</font><font color="#3366FF"><br /></font>
</p>]]></description>
         <link>http://www.tenpai.com/entry/aspnetweb.html</link>
         <guid>http://www.tenpai.com/entry/aspnetweb.html</guid>
         <category>ASP.NET</category>
         <pubDate>Tue, 07 Aug 2007 12:41:49 +0900</pubDate>
      </item>
            <item>
         <title>ASP.NETによるWebページの部分レンダリング</title>
         <description><![CDATA[<p>
    ASP.NETでHTMLを描画する場合、ページ全体ではなく、部分的にHTMLを描画したい場合がある。
</p>
<p>
    手っ取り早くはやるには、Response.Write()で叩けばいいのだけど、これだと、せっかくのASPXテンプレートなんかが使えない。
</p>
<p>
    そこで、ASP.NET Cookbookなんかを参考に、部分的にページをレンダリングするコードを書いてみた。
</p>
<p>
    &lt;%@ Page Language="VB" CodeFile="test.aspx.vb" Inherits="PartialRendering_test" %&gt;<br />
    &lt;html&gt;<br />
    &lt;head runat="server"&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;title&gt;パ＾シャルレンダのテスト&lt;/title&gt;<br />
    &lt;/head&gt;<br />
    &lt;body&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form id="form1" runat="server"&gt;<br />
    &nbsp;&nbsp;&nbsp; ここは出力されるとまずいんですぅ。<br />
    &nbsp;&nbsp;&nbsp; <font color="#3366FF">&lt;div id="cDiv" runat="server"&gt;<br />
    &nbsp;&nbsp;ここだけ出力されてればOKなんですぅ。&nbsp;&nbsp;&nbsp;<br />
    &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br /></font>&nbsp;&nbsp;&nbsp; &lt;/form&gt;<br />
    &lt;/body&gt;<br />
    &lt;/html&gt;
</p>
<p>
    裏コードはこんな感じ
</p>
<p>
    private sub PartialRender()<br />
    　dim oStb as new StringBuilder<br />
    　dim oWriter as New System.IO.StringWriter(oStb)<br />
    　dim oHtmlWriter as new HtmlTextWriter(oWriter)<br />
    　<font color="#3366FF">me.cDiv.RenderControl(oHtmlWriter)</font><br />
    　Response.Write(oStb.ToString())<br />
    &nbsp;&nbsp;Response.End()<br />
    end sub
</p>
<p>
    要するに、StringBuilder -&gt; StringWriter -&gt; HtmlTextWriterと三重にラップしておいて、ページ(あるいはコントロール)のRenderControlを呼び、ラップ元のStringBuilder.ToString()を吐けば、htmlが生成されるリクツである。<br />
    ファイルに保存してよし、作成のようにResponseに吐いてよし。けっこう使えます。<br />
</p>]]></description>
         <link>http://www.tenpai.com/entry/web.html</link>
         <guid>http://www.tenpai.com/entry/web.html</guid>
         <category>ASP.NET</category>
         <pubDate>Tue, 07 Aug 2007 12:06:11 +0900</pubDate>
      </item>
            <item>
         <title>1台のWindowsServer2003でIISとFCSを別IP・別ポートを指定</title>
         <description><![CDATA[<p>
    1台のサーバPCでWebサーバとFSCを同居させ、なおかつRTMP トンネリングを有効にする場合、サーバPCに2つのIPを持たせてIISとFCSに別々のIPを使用させるという方法がありますが、IIS6が相手だと設定が激しくメンドクサイ。<br />
    以下そのメンドクサイ設定方法です。<br />
</p>
<p>
    前提環境<br />
    ・WindowsServer2003 IIS6<br />
    ・FCS 1.5<br />
    ＩＰを次のように割り当てるものとする。<br />
    IIS:192.168.0.101<br />
    FCS:192.168.0.102
</p>
<p>
    1.ソケットプールを無効にする。<br />
    コマンドプロンプトで<font color="#008000">CD C:\Inetpub\Adminscripts<br /></font>コマンドプロンプトで　<font color="#008000">cscript adsutil.vbs set w3svc/disablesocketpooling true<br />
    disablesocketpooling : (BOOLEAN) True</font>が返れば成功。<br />
    IISAdmin サービスを停止してから起動します。<br />
    WWW サービスを再起動します。<br />
    <br />
    2.Microsoft Windows サポート ツールをインストールする&nbsp;<br />
    &nbsp;Windows Server 2003 CDの\Support\ToolsにあるSUPTOOLSをインストール。
</p>
<p>
    3.インストールされたhttpcfg.exeでIISで使用するIPをiplistenに追加する。&nbsp;<br />
    &nbsp;コマンドプロンプトで<font color="#008000">httpcfg set iplisten -i 192.168.100.101</font><br />
    &nbsp;<font color="#008000">HttpSetServiceConfiguration completed with 0</font>が返れば成功。<br />
    &nbsp;コマンドプロンプトでhttpcfg query iplistenを打って指定したIPが追加されているのを確認。
</p>
<p>
    4.httpサービスを再起動する。&nbsp;<br />
    コントロールパネルのサービスからでは不可なので、コマンドプロンプトからの操作が必要。<br />
    &nbsp;コマンドプロンプトで<font color="#008000">net stop http /y</font>で停止。<br />
    &nbsp;コマンドプロンプトで<font color="#008000">net start w3svc</font>で起動。
</p>
<p>
    5.IISで対象サイトのIPアドレスとポートを指定する。&nbsp;<br />
    IPアドレス：192.168.0.101<br />
    TCPポート：80
</p>
<p>
    6.FCSの設定&nbsp;<br />
    &nbsp;Adaptor.xml内の&lt;HostPort&gt;部分を"&lt;HostPort&gt;使用するID:使用するポート&lt;/HostPort&gt;"のように書き換える。<br />
    &nbsp;この場合は、<br />
    &nbsp;&lt;HostPort&gt;192.168.100.102:80&lt;/HostPort&gt;
</p>
<p>
    &nbsp;FCSサービスを再起動。
</p>
<p>
    Microsoftサポートオンライン<br />
    <a href="http://support.microsoft.com/kb/238131">・ソケット プールを無効にする方法</a><br />
    <a href="http://support.microsoft.com/kb/813368/">・メタベース プロパティ DisableSocketPooling を設定しても有効にならない</a>
</p>]]></description>
         <link>http://www.tenpai.com/entry/1windowsserver2003iisfcsip.html</link>
         <guid>http://www.tenpai.com/entry/1windowsserver2003iisfcsip.html</guid>
         <category>Flash Communication Server</category>
         <pubDate>Mon, 06 Aug 2007 12:02:48 +0900</pubDate>
      </item>
            <item>
         <title>FCSのhttpトンネリング設定</title>
         <description><![CDATA[<p>
    FCSのデフォルト状態ではTCP/IPのポート番号1935が使用されます。<br />
    でもFireWallが設置された環境では、よっぽどネットワーク管理者がFlash好きでない限り、1935なんていうアヤシイポートは閉じられている可能性が高いので、1935の他に80(HTTP)や443(HTTPS)等の開いていると思われるポートを追加で設定します。
</p>
<p>
    FCSのポート設定は"Adaptor.xml"に記述します。<br />
    "Adaptor.xml"の位置は<br />
    "/Program Files/Macromedia\Flash Communication Server MX/conf/_defaultRoot_/Adaptor.xml"
</p>
<p>
    下記のようにHostPortタグにポートの番号を追加します。<br />
    &lt;HostPort&gt;:1935&lt;/HostPort&gt;<br />
    ↓<br />
    &lt;HostPort&gt;:1935, 80, 443&lt;/HostPort&gt;<br />
    <br />
    Flash側では<br />
    "rtmpt://111.111.111.111/myApp/myInstance"に接続すると、<br />
    1935→80→443の順に接続を試みます。
</p>
<p>
    ポートを最初から指定したい場合は、<br />
    "rtmpt://111.111.111.111:80/myApp/myInstance"とすることで、<br />
    最初から80ポートに接続にいきます。
</p>]]></description>
         <link>http://www.tenpai.com/entry/fcshttp_1.html</link>
         <guid>http://www.tenpai.com/entry/fcshttp_1.html</guid>
         <category>Flash Communication Server</category>
         <pubDate>Sat, 04 Aug 2007 13:01:02 +0900</pubDate>
      </item>
            <item>
         <title>Flash8とFCSでFLVPlaybackコンポーネント使用時の注意</title>
         <description><![CDATA[<p>
    つい忘れてしまってハマルことが多いのでメモ。<br />
    Flash Professional 8に付属のFLVPlaybackコンポーネントを使用してFCSからFLVをストリーミング再生させるには"main.asc"ファイルをFCS側に設置しておかないとエラーが出ます。
</p>
<p>
    "main.asc"ファイルはFlash8のインストール先の<br />
    "Flash 8/Samples and Tutorials/Samples/Components/FLVPlayback/main.asc"<br />
    にあります。<br />
    <br />
    一応マニュアルにも載っているので、マニュアルちゃんと読め!<br />
    <a href="http://livedocs.adobe.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00003476.html">adobe livedocs : FCS からの FLV ファイルのストリーミング</a>
</p>
<p>
    一応アップデートしておいた方が良いかも。<br />
    <a title="" href="http://www.adobe.com/support/flash/downloads.html" target="_blank">Flash Professional 8 FLVPlayback 1.0.1 Component Update</a>
</p>]]></description>
         <link>http://www.tenpai.com/entry/flash8fcsflvplayback.html</link>
         <guid>http://www.tenpai.com/entry/flash8fcsflvplayback.html</guid>
         <category>Flash Communication Server</category>
         <pubDate>Sat, 04 Aug 2007 12:41:09 +0900</pubDate>
      </item>
            <item>
         <title>Obout ASP TreeView+</title>
         <description><![CDATA[Obout社の最新ツリービューコントロール。<BR />
当社でDHTMLをカスタマイズしています。<BR />
これ、使えます！　DBやXMLから作り出す無制限のツリー、部分ツリーの動的読み込み、CSSによるバツグンの表現力、ドラグ&ドロップまで可能。Webナビゲーションでは最高クラスかと思います（MSDNでなどで実際に使われている）。<br />
このサンプルではさらに、当社開発のPDFプレビュー画像生成モジュール、"PrevPDF"を使い、指定ツリーがさすPDFファイルのプレビューを表示しています。とかく使いにくいPDFも、ここまでやればグッと使いやすくなると思うのですが。<br />
<A Href="http://nodhon.ath.cx/PDF_Treeview/index.html" Target="_blank">≫サンプルを見る</a>]]></description>
         <link>http://www.tenpai.com/entry/obout_asp_treeview.html</link>
         <guid>http://www.tenpai.com/entry/obout_asp_treeview.html</guid>
         <category>Samples</category>
         <pubDate>Mon, 10 Apr 2006 18:05:13 +0900</pubDate>
      </item>
            <item>
         <title>Odyssey 鯖読み（さばよみ）</title>
         <description><![CDATA[当社開発の独自モジュール。<br />
市販の音声変換モジュールを使って、MP3変換で有名な「午後のコーダ」を組み合わせ、サーバサイドでテキストデータから超高速にMP3に変換。<br />
このサンプルではさらに、生成されたMP3を、Flash生成モジュール「Turbine」で動的生成したFlashに埋め込んでしまいました。これがサーバサイド生成Flashの威力！]]></description>
         <link>http://www.tenpai.com/entry/odyssey.html</link>
         <guid>http://www.tenpai.com/entry/odyssey.html</guid>
         <category>Samples</category>
         <pubDate>Mon, 10 Apr 2006 17:49:27 +0900</pubDate>
      </item>
            <item>
         <title>BluePacific TURBINE オデッセイ風</title>
         <description>「Turbine」による動的Flash生成！サーバサイドDBから動的に作り出すFlashは、特にケータイサイトで大きな魅力を発揮します。FlashLite1.1対応機はお持ち？なら、ぜひ見てみてよ！</description>
         <link>http://www.tenpai.com/entry/blue_pacific_turbine.html</link>
         <guid>http://www.tenpai.com/entry/blue_pacific_turbine.html</guid>
         <category>Samples</category>
         <pubDate>Mon, 10 Apr 2006 17:29:22 +0900</pubDate>
      </item>
      
   </channel>
</rss>
