<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SharpLab.</title>
	<atom:link href="http://blog.sharplab.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sharplab.net</link>
	<description>Shiroicaが学び、経験したことを綴る個人サイト。</description>
	<lastBuildDate>Thu, 12 Jan 2012 00:57:03 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>あけましておめでとうございます</title>
		<link>http://blog.sharplab.net/blog/2012/01/02/%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99/</link>
		<comments>http://blog.sharplab.net/blog/2012/01/02/%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 09:48:26 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[C#Programing]]></category>
		<category><![CDATA[Diary]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/uncategorized/3469/</guid>
		<description><![CDATA[あけましておめでとうございます。今年もよろしくお願いします。 新年の抱負を語る前に、去年のことを振り返ってみると、去年の初めも、「今年こそはBlogでしっかりアウトプットを出していく！」と考えていたのですが、結局またアウトプットを出せなかった一年となってしまいました。でも！今年こそは！今年こそは！書きます！・・・と宣言するだけでは去年から進歩がないので、Blogを書くネタにできるようなソフトウェアを今書いています。今春から働き始める会社が、IPネットワーク関係の会社なので、その辺の流行のトピックと絡めたソフトウェアをC#で書くことで、ネットワーク技術の流行とモダンなC#のコーディングスタイルのキャッチアップを図りつつ、Blogのネタにしていきたいと考えています。働き始めると慣れるまで時間がとりにくくなるかと思うので、とりあえず4月までを目途に、リリースしたいなと考えています。頑張ります。]]></description>
			<content:encoded><![CDATA[<p>あけましておめでとうございます。今年もよろしくお願いします。</p>
<p>新年の抱負を語る前に、去年のことを振り返ってみると、去年の初めも、「今年こそはBlogでしっかりアウトプットを出していく！」と考えていたのですが、結局またアウトプットを出せなかった一年となってしまいました。でも！今年こそは！今年こそは！書きます！・・・と宣言するだけでは去年から進歩がないので、Blogを書くネタにできるようなソフトウェアを今書いています。今春から働き始める会社が、IPネットワーク関係の会社なので、その辺の流行のトピックと絡めたソフトウェアをC#で書くことで、ネットワーク技術の流行とモダンなC#のコーディングスタイルのキャッチアップを図りつつ、Blogのネタにしていきたいと考えています。働き始めると慣れるまで時間がとりにくくなるかと思うので、とりあえず4月までを目途に、リリースしたいなと考えています。頑張ります。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2012/01/02/%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwinを捨てたWindowsのCUI環境</title>
		<link>http://blog.sharplab.net/blog/2011/11/24/cygwin%e3%82%92%e6%8d%a8%e3%81%a6%e3%81%9fwindows%e3%81%aecui%e7%92%b0%e5%a2%83/</link>
		<comments>http://blog.sharplab.net/blog/2011/11/24/cygwin%e3%82%92%e6%8d%a8%e3%81%a6%e3%81%9fwindows%e3%81%aecui%e7%92%b0%e5%a2%83/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 14:00:39 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[CUI]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[lazy-ssh-agent]]></category>
		<category><![CDATA[MinGW]]></category>
		<category><![CDATA[MinTTY]]></category>
		<category><![CDATA[MSYS]]></category>
		<category><![CDATA[MsysGit]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Putty]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VBoxHeadlessTray]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/3466/</guid>
		<description><![CDATA[いますぐコマンドプロンプトを捨てて、Cygwinを使うべき１０+の理由 &#8211; ブックマクロ開発に 「コマンドプロンプトからCygwinへ」の記事への補足 &#8211; ブックマクロ開発に CygwinはWindows環境にそのままLinuxのCUIツールを導入できる。もう「コマンドプロンプト」に拘る必要は薄くなりました。僕は今年１年の一番の収穫はCygwinを使ったこと。Cygwinを使うことでターミナルを使いこなせるようになった。そしてMacに移行してもターミナルさえあるから困らないと思えるようになりました。 cygwinが進化していることを知らなかったので、このエントリは勉強になったのですが、まぁでもラップトップ用のDDR3メモリ4GB*2ですら三千円程で買えるこのご時世、もうcygwinで無理にWindows上にUNIXライクなインターフェイスを作る必要はないんじゃないかな、と思います。CUI環境がほしければ、VirtualBoxにLinux入れてSSH、あとはMinGW/MSYSでカバーすればよい、というのが自分の意見。や、元記事もMinGWいいよね、と言ってますし、ケンカ売りたいわけじゃないです。念の為。あくまで個人の生活スタイルとか、趣味で決まる問題ですが、まぁ自分はこうしてるよ、というメモとして。 自分が手元にUNIXライクなインターフェイスを持った環境を求める理由は、生活環境（Explorerなんて要らない！全部CUIで操作する！みたいな）というよりは、Linux上で動かすアプリケーションの開発用、という面が強いのですが、そうした場合、開発環境は本番環境となるべく似た環境で揃えた方が、後でいざテストの段階になった時に環境起因の問題にぶつかりにくくてやりやすいです。一番良いのは本番環境と同じディストリ、同じパッケージをインストールした環境を用意することで、そういった点では、cygwinは、どんなに進化してもcygwinであって、Linuxではないので、使いにくいな、と。元記事の人はその役割をグローバルIPのついた外のホストに求めているようですが、何時でも接続性が得られるとも限りませんし、手元にあった方がSSHの反応良くて良いです。つまり、Cygwinの代わりにMinGW/MSYSを使い、外のホストの代わりに、VMを使っているイメージですね。 LinuxをホストOSとしてしまうのもいいな、とは思うのですが、その点については、自分はC#とVisual Studioが大好きという理由で、今のところ踏み切ってません。 そんなわけでWindowsから離れられない自分のCUIがらみの環境はこんな感じ： VirtualBox VboxHeadlessTray Ubuntu Desktop MinGW/MSYS open-ssh mintty MsysGit Putty PowerShell VirtualBox 言わずと知れた、ホストハイパーバイザ。VMware Playerと比べて、こちらのほうが自分はGUI的に好きで選びました。VMのNICは、eth0がNAT、eth1がHost Only Adapter、eth2,3は必要に応じて内部ネットワークに充てたり、という構成にしています。 eth0はVMからインターネットに抜ける用で、VMはDHCPでIP他を受け取るようにするとよいでしょう。但し悲しいかな、DNS Proxy的な機能は提供されていないようで、DHCPでは、ホストOSが使っているDNSのアドレスが直接振ってきます。そのため、ホストOSのネットワーク環境が変わると、名前解決が出来なくなります。その場合は、ゲストOS側で、例えばUbuntuなら sudo dhclient eth0 とかやってやる必要があります。ちょっとイケてないですね。。Windowsのインターネット接続共有を使えば、解決できるかも？ eth1はホストOSからSSHする用で、こちらは固定IPにしています。このIPをWindowsのhostsファイルにIPとホスト名の対応を書いて多くと色々楽です。元記事ではVMware PlayerでTCPのコネクションがよく切れると言っていますが、VirtualBoxでは特に感じたことはないです。Mintty/MSYSからVirtualBox上のVMにSSHした状態でラップトップをスリープさせても、特に切れることなく復帰できます。 リモートデスクトップも、仮想マシンのディスプレイの設定のところから設定可能で、これを設定しておくと、後述のVboxHeadlessTrayでタスクトレイに格納した状態でも適宜画面を呼び出せて便利です。 VboxHeadlessTray VirtualBoxをタスクトレイに格納可能にするユーティリティです。VirtualBox、タスクバーに常時出ているとちょっと邪魔ですしね。スタートアップで起動するようにしておけば、Windows再起動時にVMをいちいち立ち上げるよっこらせ感がなくなります。タスクトレイアイコンのコンテキストメニューから、VMにRDP張れたり、VMのサスペンドが出来たりするのも便利です。 Ubuntu 色々楽です。Cygwinだと、何かうまくいかないときに、Cygwinだから悪いのか、自分のミスかの切り分けが発生しますが、そういうのが無いのが何より良いですね。 MinGW/MSYS msys-openssh インストールはmingw-get installでmsys-opensshパッケージをインストール。Linuxで使っていた~/.ssh/configがそのまま持ち込めて便利です。msys-opensshパッケージではsshコマンドのほかに、scpとssh-agentコマンドも提供されており、scpでのファイル転送や、秘密鍵のメモリ上へのキャッシュが出来て便利です。ssh-agentといえば、lazy-ssh-agentという秘密鍵のパスフレーズの入力を必要になるまで遅延させてくれるスクリプトが非常に便利でLinux環境では重宝しているのですが、MinGW/MSYS環境でも使いたいよね、ということで、ちょっと手直しして使ってます。いやほんと、Linux使いもMinGW/MSYS使いもCygwin使いもみんな使うべき。便利だから。 #!/bin/sh # lazy-ssh-agent: #&#160;&#160; run single ssh-agent (per host) on first [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><a title="http://d.hatena.ne.jp/takuya_1st/20111121/1321865738" href="http://d.hatena.ne.jp/takuya_1st/20111121/1321865738">いますぐコマンドプロンプトを捨てて、Cygwinを使うべき１０+の理由 &#8211; ブックマクロ開発に</a></p>
<p><a title="http://d.hatena.ne.jp/takuya_1st/20111123/1322068116" href="http://d.hatena.ne.jp/takuya_1st/20111123/1322068116">「コマンドプロンプトからCygwinへ」の記事への補足 &#8211; ブックマクロ開発に</a></p>
<p>CygwinはWindows環境にそのまま<a href="http://d.hatena.ne.jp/keyword/Linux">Linux</a>の<a href="http://d.hatena.ne.jp/keyword/CUI">CUI</a>ツールを導入できる。もう「コマンドプロンプト」に拘る必要は薄くなりました。僕は今年１年の一番の収穫はCygwinを使ったこと。Cygwinを使うことでターミナルを使いこなせるようになった。そしてMacに移行してもターミナルさえあるから困らないと思えるようになりました。</p>
</blockquote>
<p>cygwinが進化していることを知らなかったので、このエントリは勉強になったのですが、まぁでもラップトップ用のDDR3メモリ4GB*2ですら三千円程で買えるこのご時世、もうcygwinで無理にWindows上にUNIXライクなインターフェイスを作る必要はないんじゃないかな、と思います。CUI環境がほしければ、VirtualBoxにLinux入れてSSH、あとはMinGW/MSYSでカバーすればよい、というのが自分の意見。や、元記事もMinGWいいよね、と言ってますし、ケンカ売りたいわけじゃないです。念の為。あくまで個人の生活スタイルとか、趣味で決まる問題ですが、まぁ自分はこうしてるよ、というメモとして。</p>
<p>自分が手元にUNIXライクなインターフェイスを持った環境を求める理由は、生活環境（Explorerなんて要らない！全部CUIで操作する！みたいな）というよりは、Linux上で動かすアプリケーションの開発用、という面が強いのですが、そうした場合、開発環境は本番環境となるべく似た環境で揃えた方が、後でいざテストの段階になった時に環境起因の問題にぶつかりにくくてやりやすいです。一番良いのは本番環境と同じディストリ、同じパッケージをインストールした環境を用意することで、そういった点では、cygwinは、どんなに進化してもcygwinであって、Linuxではないので、使いにくいな、と。元記事の人はその役割をグローバルIPのついた外のホストに求めているようですが、何時でも接続性が得られるとも限りませんし、手元にあった方がSSHの反応良くて良いです。つまり、Cygwinの代わりにMinGW/MSYSを使い、外のホストの代わりに、VMを使っているイメージですね。</p>
<p>LinuxをホストOSとしてしまうのもいいな、とは思うのですが、その点については、自分はC#とVisual Studioが大好きという理由で、今のところ踏み切ってません。</p>
<p>そんなわけでWindowsから離れられない自分のCUIがらみの環境はこんな感じ：</p>
<ul>
<li>VirtualBox </li>
<li>VboxHeadlessTray </li>
<li>Ubuntu Desktop </li>
<li>MinGW/MSYS
<ul>
<li>open-ssh </li>
<li>mintty </li>
</ul>
</li>
<li>MsysGit </li>
<li>Putty </li>
<li>PowerShell </li>
</ul>
<h3>VirtualBox</h3>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/11/image.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/11/image_thumb.png" width="404" height="279" /></a></p>
<p>言わずと知れた、ホストハイパーバイザ。VMware Playerと比べて、こちらのほうが自分はGUI的に好きで選びました。VMのNICは、eth0がNAT、eth1がHost Only Adapter、eth2,3は必要に応じて内部ネットワークに充てたり、という構成にしています。</p>
<p>eth0はVMからインターネットに抜ける用で、VMはDHCPでIP他を受け取るようにするとよいでしょう。但し悲しいかな、DNS Proxy的な機能は提供されていないようで、DHCPでは、ホストOSが使っているDNSのアドレスが直接振ってきます。そのため、ホストOSのネットワーク環境が変わると、名前解決が出来なくなります。その場合は、ゲストOS側で、例えばUbuntuなら</p>
<blockquote><p>sudo dhclient eth0</p>
</blockquote>
<p>とかやってやる必要があります。ちょっとイケてないですね。。Windowsのインターネット接続共有を使えば、解決できるかも？</p>
<p>eth1はホストOSからSSHする用で、こちらは固定IPにしています。このIPをWindowsのhostsファイルにIPとホスト名の対応を書いて多くと色々楽です。元記事ではVMware PlayerでTCPのコネクションがよく切れると言っていますが、VirtualBoxでは特に感じたことはないです。Mintty/MSYSからVirtualBox上のVMにSSHした状態でラップトップをスリープさせても、特に切れることなく復帰できます。</p>
<p>リモートデスクトップも、仮想マシンのディスプレイの設定のところから設定可能で、これを設定しておくと、後述のVboxHeadlessTrayでタスクトレイに格納した状態でも適宜画面を呼び出せて便利です。</p>
<h3>VboxHeadlessTray</h3>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/11/image1.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/11/image_thumb1.png" width="223" height="244" /></a></p>
<p>VirtualBoxをタスクトレイに格納可能にするユーティリティです。VirtualBox、タスクバーに常時出ているとちょっと邪魔ですしね。スタートアップで起動するようにしておけば、Windows再起動時にVMをいちいち立ち上げるよっこらせ感がなくなります。タスクトレイアイコンのコンテキストメニューから、VMにRDP張れたり、VMのサスペンドが出来たりするのも便利です。</p>
<h3>Ubuntu</h3>
<p>色々楽です。Cygwinだと、何かうまくいかないときに、Cygwinだから悪いのか、自分のミスかの切り分けが発生しますが、そういうのが無いのが何より良いですね。</p>
<h3>MinGW/MSYS</h3>
<ul>
<li>
<h4>msys-openssh</h4>
</li>
</ul>
<p>インストールはmingw-get installでmsys-opensshパッケージをインストール。Linuxで使っていた~/.ssh/configがそのまま持ち込めて便利です。msys-opensshパッケージではsshコマンドのほかに、scpとssh-agentコマンドも提供されており、scpでのファイル転送や、秘密鍵のメモリ上へのキャッシュが出来て便利です。ssh-agentといえば、<a href="http://nanabit.net/softwares/shell-script/lazy-ssh-agent.html">lazy-ssh-agentという秘密鍵のパスフレーズの入力を必要になるまで遅延させてくれるスクリプト</a>が非常に便利でLinux環境では重宝しているのですが、MinGW/MSYS環境でも使いたいよね、ということで、ちょっと手直しして使ってます。いやほんと、Linux使いもMinGW/MSYS使いもCygwin使いもみんな使うべき。便利だから。</p>
<blockquote><p>#!/bin/sh      <br /># lazy-ssh-agent:       <br />#&#160;&#160; run single ssh-agent (per host) on first ssh/scp/sftp attempt       <br />#       <br /># usage:       <br />#&#160; first, place this script into a $PATH dir.       <br />#       <br />#&#160; (in .{bash,zsh}rc)       <br />#&#160;&#160; eval `lazy-ssh-agent setup ssh scp sftp`       <br />#       <br />#&#160; (in .{bash_,z}logout)       <br />#&#160;&#160; eval `lazy-ssh-agent clean`       <br />#       <br />#&#160; (in .bash_profile ; when you are using zsh not as the login shell)       <br />#&#160;&#160; ZSH=`which zsh`       <br />#&#160;&#160; if [ -x &quot;$ZSH&quot; ]; then       <br />#&#160;&#160;&#160;&#160;&#160;&#160; exec &quot;$ZSH&quot; -l       <br />#&#160;&#160; fi       <br />#       <br /># Author : 7bit &lt;<a href="http://nanabit.net/">http://nanabit.net/</a>&gt;       <br /># History:       <br />#&#160;&#160; 20090405 first release       <br />#&#160;&#160; 20111117 modified to run in MSYS by shiroica &lt;<a href="http://blog.sharplab.net/">http://blog.sharplab.net/</a>&gt;</p>
<p>umask 0066</p>
<p>SSH_AGENT_DIR=~/.sshagent      <br />SSH_AGENT_FILE=$SSH_AGENT_DIR/.$(hostname)</p>
<p>if [ &quot;$1&quot; = &quot;clean&quot; ]; then      <br />&#160; ps -s -u &quot;$USER&quot; | awk &#8216;NR!=1{print $1, $4;}&#8217; | grep -E &#8216;^[0-9]+ /usr/bin/ssh-agent$&#8217; | \       <br />&#160;&#160;&#160; awk &#8216;{print $1}&#8217; | while read LINE; do       <br />&#160;&#160;&#160; kill &quot;$LINE&quot;       <br />&#160; done       <br />&#160; test -f &quot;$SSH_AGENT_FILE&quot; &amp;&amp; rm &quot;$SSH_AGENT_FILE&quot;       <br />&#160; echo &#8216;unset SSH_AGENT_PID; unset SSH_AUTH_SOCK;&#8217;       <br />&#160; exit       <br />fi</p>
<p>if [ &quot;$1&quot; = &quot;setup&quot; ]; then      <br />&#160; shift 1       <br />&#160; for SSHCMD in &quot;$@&quot;; do       <br />&#160;&#160;&#160; echo &quot;alias $SSHCMD=&#8221;;&quot;       <br />&#160;&#160;&#160; echo &quot;unalias $SSHCMD;&quot;       <br />&#160;&#160;&#160; echo &quot;ORIGINAL_SSH_$SSHCMD=$(which $SSHCMD);&quot;       <br />&#160;&#160;&#160; echo &quot;alias $SSHCMD=&#8217;eval \$(lazy-ssh-agent) || ssh-add; &#8216;&quot;&#8217;$ORIGINAL_SSH_&#8217;&quot;$SSHCMD ;&quot;       <br />&#160; done       <br />&#160; exit       <br />fi</p>
<p>if [ ! -d &quot;$SSH_AGENT_DIR&quot; ]; then mkdir -p &quot;$SSH_AGENT_DIR&quot;; fi</p>
<p>function reuse_ssh_agent() {      <br />&#160; FOUND=0       <br />&#160; # try to use existing ssh-agent       <br />&#160; if [ -f &quot;$SSH_AGENT_FILE&quot; ]; then       <br />&#160;&#160;&#160; F=$(cat &quot;$1&quot;)       <br />&#160;&#160;&#160; eval &quot;$F&quot;</p>
<p>&#160;&#160;&#160; # kill extra ssh-agent      <br />&#160;&#160;&#160; ps -s -u &quot;$USER&quot; | awk &#8216;NR!=1{print $1, $4;}&#8217; | grep -E &#8216;^[0-9]+ /usr/bin/ssh-agent$&#8217; | \       <br />&#160;&#160;&#160;&#160;&#160; awk &#8216;{print $1}&#8217; | while read LINE; do       <br />&#160;&#160;&#160;&#160;&#160; test &quot;$LINE&quot; -ne &quot;$SSH_AGENT_PID&quot; &amp;&amp; kill &quot;$LINE&quot;       <br />&#160;&#160;&#160;&#160;&#160; #echo &quot;echo &#8216;killed $LINE&#8217;;&quot;       <br />&#160;&#160;&#160; done</p>
<p>&#160;&#160;&#160; # find SSH_AGENT_PID process      <br />&#160;&#160;&#160; FOUND=$(ps -s -u &quot;$USER&quot; | awk &#8216;NR!=1{print $1, $4;}&#8217; | grep -E &#8216;^[0-9]+ /usr/bin/ssh-agent$&#8217; | \       <br />&#160;&#160;&#160;&#160;&#160; awk &#8216;{print $1}&#8217;| grep &quot;$SSH_AGENT_PID&quot; | wc -l) # should be 1 (header line, result line)       <br />&#160; fi</p>
<p>&#160; test &quot;$FOUND&quot; -eq 1      <br />}</p>
<p>reuse_ssh_agent &quot;$SSH_AGENT_FILE&quot;      <br />RET=$?       <br />if [ &quot;$RET&quot; -eq 0 ]; then       <br />&#160; #echo &quot;echo found: $SSH_AGENT_PID;&quot;       <br />&#160; cat &quot;$SSH_AGENT_FILE&quot;       <br />&#160; echo &quot;true&quot;       <br />else       <br />&#160; #echo &quot;echo re-exec;&quot;       <br />&#160; ssh-agent | head -n 2 &gt; &quot;$SSH_AGENT_FILE&quot;       <br />&#160; reuse_ssh_agent &quot;$SSH_AGENT_FILE&quot;       <br />&#160; #echo &quot;echo &#8216;and done $? ($SSH_AGENT_PID)&#8217;;&quot;       <br />&#160; cat &quot;$SSH_AGENT_FILE&quot;       <br />&#160; echo &quot;false&quot; # connect like: eval `lazy-ssh-agent` || ssh-add       <br />fi</p>
</blockquote>
<p>psコマンドの出力まわりの扱いを変えてます。</p>
<ul>
<li>
<h4>msys-rsync </h4>
</li>
</ul>
<p>差分ファイル転送、便利ですよね。ちゃんとrsyncも提供されてます。</p>
<ul>
<li>
<h4>msys-mintty </h4>
</li>
</ul>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/11/image11.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/11/image1_thumb.png" width="404" height="246" /></a></p>
<p>MinTTY！これのAero Glass表示が使いたいがためにMinGW/MSYS環境を整えたといっても過言ではありません。いや、後で気づいたのですが、Puttyでも最近はAero Glass表示ができるようになったらしいですが。。</p>
<h3>MsysGit </h3>
<p>これはmingw-getコマンドで落ちてきません。MsysGitという別プロジェクトのようで、別途インストールする必要があります。どうしてこうなった。。こちらのGitBashというコンソールは使いにくいので、MSYSのMinTTYから使えるよう、MSYS環境側でパスを通しておいています。</p>
<h3>Putty</h3>
<p>「なんだよ結局Putty使うのかよ！」と怒られそうですが。うん、ルータやスイッチの設定とかでシリアルポートとる時に必要だから。。誰かMSYS環境だけでシリアルをとる方法をご存知の方、教えてください。そこでCygwinですよ！とか言われそうですが。。上でも述べましたが、<a href="http://ice.hotmint.com/putty/">最近のPuttyはAero Glass表示に対応しています</a>。</p>
<h3>PowerShell</h3>
<p>やっぱWindows使うならCUIの本命はPowerShellでしょう。Ctrl+Lとかが効かないのが辛いところですが、C#で書いたアセンブリとの親和性もよく、便利な筈です・・・・。すいません、あまり使ってません。。</p>
<p>&#160;</p>
<p>以上、Cygwin捨ててもWindowsで幸せになれるよね、という一例として。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/11/24/cygwin%e3%82%92%e6%8d%a8%e3%81%a6%e3%81%9fwindows%e3%81%aecui%e7%92%b0%e5%a2%83/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>学生の場合、App Hubへの登録プロセスが簡素化されたようです</title>
		<link>http://blog.sharplab.net/blog/2011/07/24/%e5%ad%a6%e7%94%9f%e3%81%ae%e5%a0%b4%e5%90%88%e3%80%81app-hub%e3%81%b8%e3%81%ae%e7%99%bb%e9%8c%b2%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%8c%e7%b0%a1%e7%b4%a0%e5%8c%96%e3%81%95%e3%82%8c%e3%81%9f/</link>
		<comments>http://blog.sharplab.net/blog/2011/07/24/%e5%ad%a6%e7%94%9f%e3%81%ae%e5%a0%b4%e5%90%88%e3%80%81app-hub%e3%81%b8%e3%81%ae%e7%99%bb%e9%8c%b2%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%8c%e7%b0%a1%e7%b4%a0%e5%8c%96%e3%81%95%e3%82%8c%e3%81%9f/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 01:03:06 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[App Hub]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/cprograming/windows-mobile/3459/</guid>
		<description><![CDATA[忙しくてとりあえず登録したものの放置していたApp Hubからメールが来ていました。Winodws Phone Marketplaceのアップデートに伴い、学生の身分証明プロセスが簡素化されたみたいです。折角だし端末unlockしてMango Beta化してみようかな。 Important Enhancement to App Hub Registration Process for Students July 22, 2011 Now that the next release of the Windows Phone Marketplace App Hub has launched, we are reaching out to make you aware of a change to the registration process and how it may impact your account. In the [...]]]></description>
			<content:encoded><![CDATA[<p>忙しくてとりあえず登録したものの放置していたApp Hubからメールが来ていました。Winodws Phone Marketplaceのアップデートに伴い、学生の身分証明プロセスが簡素化されたみたいです。折角だし端末unlockしてMango Beta化してみようかな。</p>
<blockquote><p>Important Enhancement to App Hub Registration Process for Students</p>
<p>July 22, 2011</p>
<p>Now that the next release of the Windows Phone Marketplace App Hub has launched, we are reaching out to make you aware of a change to the registration process and how it may impact your account.</p>
<p>In the new release of App Hub, publisher identification for Student accounts happens in real-time during account registration. You no longer have to submit an application to trigger a separate publisher identity verification process.</p>
<p>Since you have not yet submitted an application, the next time you sign in to App Hub, you will notice your account will be reverted back to Step 1 of the registration process. All of the information you have previously provided will be pre-populated and you will be asked to follow the onscreen instructions to complete your account activation.</p>
<p>Once you&#8217;ve completed registration your account will be immediately activated and you can unlock your phone for in-device testing. This will greatly simplify the process of getting your account activated and, ultimately, your apps published to the Windows Phone Marketplace.</p>
<p>If you have any questions or concerns, please contact     <br />mailto:apphub@microsoft.com       <br />apphub@microsoft.com&#160;&#160; <br />and we will be happy to assist you.</p>
<p>Best regards,</p>
<p>The Windows Phone Marketplace Team</p>
<p>Microsoft respects your privacy. Please read our online     <br /><a href="http://privacy.microsoft.com/en-us/default.mspx">http://privacy.microsoft.com/en-us/default.mspx</a>       <br />Privacy Statement .</p>
<p>Microsoft Corporation</p>
<p>One Microsoft Way</p>
<p>Redmond, WA 98052 USA</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/07/24/%e5%ad%a6%e7%94%9f%e3%81%ae%e5%a0%b4%e5%90%88%e3%80%81app-hub%e3%81%b8%e3%81%ae%e7%99%bb%e9%8c%b2%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%8c%e7%b0%a1%e7%b4%a0%e5%8c%96%e3%81%95%e3%82%8c%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACHIVEMENT UNLOCKED &#8220;GET AN OFFER&#8221;</title>
		<link>http://blog.sharplab.net/blog/2011/05/12/achivement-unlocked-get-an-offer/</link>
		<comments>http://blog.sharplab.net/blog/2011/05/12/achivement-unlocked-get-an-offer/#comments</comments>
		<pubDate>Thu, 12 May 2011 11:23:22 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[HTC 7 Trophy]]></category>
		<category><![CDATA[Job hunting]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/life/3458/</guid>
		<description><![CDATA[就職先が決まりました。情報通信系の会社です。SEかNEかどちらかとして働くことになりそうです。どっちがいいんでしょう。どっちでも良いですね。どっちも頑張りたいですね。どっちになるかは一年後のお楽しみ。 というわけで、以前、願掛けしていたWindows Phone 7端末をポチりました。HTC 7 Trophyです。というわけでエントリのタイトルはXbox Live風でお送りしました。ゲーム脳。。]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/05/image.png" rel="lightbox"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://blog.sharplab.net/wp-content/uploads/2011/05/image_thumb.png" width="360" height="258" /></a></p>
<p>就職先が決まりました。情報通信系の会社です。SEかNEかどちらかとして働くことになりそうです。どっちがいいんでしょう。どっちでも良いですね。どっちも頑張りたいですね。どっちになるかは一年後のお楽しみ。</p>
<p>というわけで、<a href="http://twitter.com/#!/shiroica/status/58439365126393856">以前、願掛けしていた</a>Windows Phone 7端末をポチりました。HTC 7 Trophyです。というわけでエントリのタイトルはXbox Live風でお送りしました。ゲーム脳。。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/05/12/achivement-unlocked-get-an-offer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VyattaでL2TP/IPsec VPNのアクセスコンセントレータを立てる際の注意点</title>
		<link>http://blog.sharplab.net/blog/2011/04/20/vyatta%e3%81%a7l2tpipsec-vpn%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%b3%e3%83%b3%e3%82%bb%e3%83%b3%e3%83%88%e3%83%ac%e3%83%bc%e3%82%bf%e3%82%92%e7%ab%8b%e3%81%a6%e3%82%8b%e9%9a%9b%e3%81%ae/</link>
		<comments>http://blog.sharplab.net/blog/2011/04/20/vyatta%e3%81%a7l2tpipsec-vpn%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%b3%e3%83%b3%e3%82%bb%e3%83%b3%e3%83%88%e3%83%ac%e3%83%bc%e3%82%bf%e3%82%92%e7%ab%8b%e3%81%a6%e3%82%8b%e9%9a%9b%e3%81%ae/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 14:00:04 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[L2TP/IPsec]]></category>
		<category><![CDATA[vyatta]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/linux/3455/</guid>
		<description><![CDATA[最近VyattaでL2TP/IPsec VPNのアクセスコンセントレータをたてようとしていて嵌ったのでメモ。VyattaはPCルータを作るために様々なパッケージを集めたDebianベースのLinuxディストリビューションです。Tabによる補完の効くネットワーク機器ライクなCUI(vbash)とWebGUIを備えていて、Ubuntu Serverのような一般的なディストリベースでPCルータを構成するより手軽です。今回はこれをつかって、あるネットワークの管理用セグメントに入るためのVPNアクセスコンセントレータをたてようとしていました。WebGUIをガイドメッセージに従ってポチポチしていたらなんとなく動くものが出来て、こりゃ便利、と思っていたのですが、リモートアクセスするPCがNAT下にいると、うまく動かないという問題に直面。L2TP/IPsec VPNはIPsecで暗号化した通信を行うのですが、IPsecのパケットは、TCPやUDPではなく、IPsecとしてのパケットをIPの上に直接流すため、NATとは相性が悪いというのはよく知られた話。その対策として、IPsecのパケットをUDPで包む技術があり、NAT-Traversalというオプションを有効にしたから良い筈・・・と考えていたのですが、もう一つ指定するオプションがありました。 vpn-&#62;ipsec-&#62;nat-networksというオプション。これの指定を正しく設定してやらないと正しくNAT下で動きません。このオプションは、リモートのPCが居るかもしれないNATセグメントのレンジを指定するのであって、VPNを使って入りたいセグメントのレンジを書くところではありません。これを勘違いしていたために、丸1日潰しました。。つまり、 &#160;&#160;&#160;&#160; nat-networks { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowed-network 10.0.0.0/8 { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; exclude &#60;VPN先セグメントがPrivate Addressで被った場合、そのセグメント&#62;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowed-network 172.16.0.0/12 { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowed-network 192.168.0.0/16 { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } &#160;&#160;&#160;&#160; } こんな感じでないとダメなんですね。。&#34;cannot respond to ipsec sa request because no connection is known for…&#34;というエラーメッセージが/var/log/messagesに出て困っている方は、試してみてください。]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/04/image1.png" rel="lightbox"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://blog.sharplab.net/wp-content/uploads/2011/04/image_thumb1.png" width="240" height="67" /></a>最近VyattaでL2TP/IPsec VPNのアクセスコンセントレータをたてようとしていて嵌ったのでメモ。VyattaはPCルータを作るために様々なパッケージを集めたDebianベースのLinuxディストリビューションです。Tabによる補完の効くネットワーク機器ライクなCUI(vbash)とWebGUIを備えていて、Ubuntu Serverのような一般的なディストリベースでPCルータを構成するより手軽です。今回はこれをつかって、あるネットワークの管理用セグメントに入るためのVPNアクセスコンセントレータをたてようとしていました。WebGUIをガイドメッセージに従ってポチポチしていたらなんとなく動くものが出来て、こりゃ便利、と思っていたのですが、リモートアクセスするPCがNAT下にいると、うまく動かないという問題に直面。L2TP/IPsec VPNはIPsecで暗号化した通信を行うのですが、IPsecのパケットは、TCPやUDPではなく、IPsecとしてのパケットをIPの上に直接流すため、NATとは相性が悪いというのはよく知られた話。その対策として、IPsecのパケットをUDPで包む技術があり、NAT-Traversalというオプションを有効にしたから良い筈・・・と考えていたのですが、もう一つ指定するオプションがありました。    <br />vpn-&gt;ipsec-&gt;nat-networksというオプション。これの指定を正しく設定してやらないと正しくNAT下で動きません。このオプションは、リモートのPCが居るかもしれないNATセグメントのレンジを指定するのであって、<u>VPNを使って入りたいセグメントのレンジを書くところではありません。</u>これを勘違いしていたために、丸1日潰しました。。つまり、</p>
<blockquote><p>&#160;&#160;&#160;&#160; nat-networks {      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowed-network 10.0.0.0/8 {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; exclude &lt;VPN先セグメントがPrivate Addressで被った場合、そのセグメント&gt;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowed-network 172.16.0.0/12 {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowed-network 192.168.0.0/16 {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160; } </p>
</blockquote>
<p>こんな感じでないとダメなんですね。。&quot;cannot respond to ipsec sa request because no connection is known for…&quot;というエラーメッセージが/var/log/messagesに出て困っている方は、試してみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/04/20/vyatta%e3%81%a7l2tpipsec-vpn%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%b3%e3%83%b3%e3%82%bb%e3%83%b3%e3%83%88%e3%83%ac%e3%83%bc%e3%82%bf%e3%82%92%e7%ab%8b%e3%81%a6%e3%82%8b%e9%9a%9b%e3%81%ae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>roundcubeでWeb Mailer立ててみた。</title>
		<link>http://blog.sharplab.net/blog/2011/04/03/roundcube%e3%81%a7web-mailer%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2011/04/03/roundcube%e3%81%a7web-mailer%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 07:50:31 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[MUA]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[roundcube]]></category>
		<category><![CDATA[Web mailer]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/uncategorized/3450/</guid>
		<description><![CDATA[この間、「メールサーバーの一つや二つ、自分で運用しないと！」的なことを言われたのをきっかけにメールサーバーをさくらVPS上に構築して移行しようとしている今日この頃です。まぁ、Google嫌いを公言しておきながらGMailに依存しているというのも、いい加減アレですしね。 で、世の中の定石に従ってPostfix+dovecotでメールサーバー（MTAとMRA）を立てているのですが、問題はメールクライアント（MUA）。手元のWindowsPC上で動かすメールクライアントは色々選択肢があるので良いのですが、問題はWebメールクライアント。やっぱりブラウザだけしかない環境でもメールは読みたいので。。。Webメールクライアントの代表的な実装としてはSquirrelMailがありますが、いい加減UIがボロくて使いたくないので、roundCubeというWebメールクライアントに手を出してみました。これ、結構イケてます。 ご覧の通り、Ajaxを活用したモダンなUIで、IMAPでメールを読めます。設定も設定ファイルを半自動生成するためのインストーラがあり、お手軽です。ややこしい要件や、大量のメールを扱う場合のことは分かりかねますが、自分のように、普段使っているMUAのバックアップ目的で使う分には十分すぎるアプリケーションです。なお、PHPで実装されており、MySQLやSQLiteなどのDBも必要とします。ご参考まで。]]></description>
			<content:encoded><![CDATA[<p>この間、「メールサーバーの一つや二つ、自分で運用しないと！」的なことを言われたのをきっかけにメールサーバーをさくらVPS上に構築して移行しようとしている今日この頃です。まぁ、Google嫌いを公言しておきながらGMailに依存しているというのも、いい加減アレですしね。</p>
<p>で、世の中の定石に従ってPostfix+dovecotでメールサーバー（MTAとMRA）を立てているのですが、問題はメールクライアント（MUA）。手元のWindowsPC上で動かすメールクライアントは色々選択肢があるので良いのですが、問題はWebメールクライアント。やっぱりブラウザだけしかない環境でもメールは読みたいので。。。Webメールクライアントの代表的な実装としてはSquirrelMailがありますが、いい加減UIがボロくて使いたくないので、roundCubeというWebメールクライアントに手を出してみました。これ、結構イケてます。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/04/image.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/04/image_thumb.png" width="605" height="383" /></a></p>
<p>ご覧の通り、Ajaxを活用したモダンなUIで、IMAPでメールを読めます。設定も設定ファイルを半自動生成するためのインストーラがあり、お手軽です。ややこしい要件や、大量のメールを扱う場合のことは分かりかねますが、自分のように、普段使っているMUAのバックアップ目的で使う分には十分すぎるアプリケーションです。なお、PHPで実装されており、MySQLやSQLiteなどのDBも必要とします。ご参考まで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/04/03/roundcube%e3%81%a7web-mailer%e7%ab%8b%e3%81%a6%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hyper-V上のUbuntu ServerにOpenVPNをインストール</title>
		<link>http://blog.sharplab.net/blog/2011/03/21/hyper-v%e4%b8%8a%e3%81%aeubuntu-server%e3%81%abopenvpn%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/</link>
		<comments>http://blog.sharplab.net/blog/2011/03/21/hyper-v%e4%b8%8a%e3%81%aeubuntu-server%e3%81%abopenvpn%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 05:13:05 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[SCVMM]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/?p=3446</guid>
		<description><![CDATA[この間、Windows Serverをもっと勉強したいという考えから、家のサーバー環境のハイパバイザをVMware ESXiからWS2008R2 with Hyper-V2.0+SCVMM2008R2にリプレースして検証環境を作りました。それに合わせて、OpenVPN（ブリッジモード）をHyper-V上で作り直しました。ほんとはESXiからV2Vすればよかったのですが、OpenVPNを動かしていたVMから設定を抜き忘れたまま消してしまったので一から作りました。。 折角なので、Hyper-V上でOpenVPNを動かす場合の情報はネット上に転がってなさそうなので、Hyper-Vと関係ない部分も含めて、OpenVPNを動かす際の注意点をエントリにまとめてみます。 Hyper-Vの設定で気を付ける点 OpenVPNの入ったVMをHyper-V上で動かす場合、そのVMの仮想NICの設定を変更してやる必要があります。 VMの仮想NICの中で、OpenVPNのクライアントからのフレームを通過させたいNICについては「MACアドレスのスプーフィングを有効にする」というチェックボックスをONにする必要があります。これがONになっていない場合、Hyper-Vの仮想スイッチは、仮想NICの接続されたポートにおいて、仮想NICについたMACアドレス以外を送信元にするフレームを廃棄します。そうした場合、OpenVPNのクライアントが送出したフレーム（TAP-Win32 AdapterのMACアドレスを持つ）が通らなくなってしまいます。ESXiでいうところの、仮想スイッチのPromiscuous Mode（無差別モード）の設定と同じですね。これさえ気をつければHyper-Vの設定は多分大丈夫かと思います。 Hyper-V以外でOpenVPNの設定で気を付ける点 基本的に設定はネット上に色々載っているものに従って行えば動くかとおもいます。自分の環境でのconfig例は立った！OpenVPNが立った！ &#8211; SharpLab.というエントリに載せています。ただ、そうは言っても、色々間違えやすいのも事実。注意点を一点だけ。server.confの中で、dev tapあるいはdev tunと設定しろ、といった具合にサンプルがなっている部分があります。ここで、よくコメントを読まないといけないのですが、OpenVPNを立ち上げる前に事前に作ったtapインターフェイスを使う場合は、その名前&#34;tap0&#34;などを明示的に指定してやる必要があります。dev tap0のようにです。こうしないと、新しくtap1インターフェイスなどが作られ、起動スクリプトの中でブリッジさせたtapインターフェイスのほうにはトラフィックが流れずVPNがセッションは張れているのに通信できない、ということになってしまいます。]]></description>
			<content:encoded><![CDATA[<p>この間、Windows Serverをもっと勉強したいという考えから、家のサーバー環境のハイパバイザをVMware ESXiからWS2008R2 with Hyper-V2.0+SCVMM2008R2にリプレースして検証環境を作りました。それに合わせて、OpenVPN（ブリッジモード）をHyper-V上で作り直しました。ほんとはESXiからV2Vすればよかったのですが、OpenVPNを動かしていたVMから設定を抜き忘れたまま消してしまったので一から作りました。。</p>
<p>折角なので、Hyper-V上でOpenVPNを動かす場合の情報はネット上に転がってなさそうなので、Hyper-Vと関係ない部分も含めて、OpenVPNを動かす際の注意点をエントリにまとめてみます。</p>
<h3>Hyper-Vの設定で気を付ける点</h3>
<p>OpenVPNの入ったVMをHyper-V上で動かす場合、そのVMの仮想NICの設定を変更してやる必要があります。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/03/image.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Hyper-V Managerの場合" border="0" alt="Hyper-V Managerの場合" src="http://blog.sharplab.net/wp-content/uploads/2011/03/image_thumb.png" width="304" height="266" /></a><a href="http://blog.sharplab.net/wp-content/uploads/2011/03/image1.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SCVMM2008R2の場合" border="0" alt="SCVMM2008R2の場合" src="http://blog.sharplab.net/wp-content/uploads/2011/03/image_thumb1.png" width="304" height="298" /></a></p>
<p>VMの仮想NICの中で、OpenVPNのクライアントからのフレームを通過させたいNICについては「MACアドレスのスプーフィングを有効にする」というチェックボックスをONにする必要があります。これがONになっていない場合、Hyper-Vの仮想スイッチは、仮想NICの接続されたポートにおいて、仮想NICについたMACアドレス以外を送信元にするフレームを廃棄します。そうした場合、OpenVPNのクライアントが送出したフレーム（TAP-Win32 AdapterのMACアドレスを持つ）が通らなくなってしまいます。ESXiでいうところの、仮想スイッチのPromiscuous Mode（無差別モード）の設定と同じですね。これさえ気をつければHyper-Vの設定は多分大丈夫かと思います。</p>
<h3>Hyper-V以外でOpenVPNの設定で気を付ける点</h3>
<p>基本的に設定はネット上に色々載っているものに従って行えば動くかとおもいます。自分の環境でのconfig例は<a href="http://blog.sharplab.net/computer/linux/3405/">立った！OpenVPNが立った！ &#8211; SharpLab.</a>というエントリに載せています。ただ、そうは言っても、色々間違えやすいのも事実。注意点を一点だけ。server.confの中で、dev tapあるいはdev tunと設定しろ、といった具合にサンプルがなっている部分があります。ここで、よくコメントを読まないといけないのですが、OpenVPNを立ち上げる前に事前に作ったtapインターフェイスを使う場合は、その名前&quot;tap0&quot;などを明示的に指定してやる必要があります。dev tap0のようにです。こうしないと、新しくtap1インターフェイスなどが作られ、起動スクリプトの中でブリッジさせたtapインターフェイスのほうにはトラフィックが流れずVPNがセッションは張れているのに通信できない、ということになってしまいます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/03/21/hyper-v%e4%b8%8a%e3%81%aeubuntu-server%e3%81%abopenvpn%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP Proliant DLシリーズにHP ESXi Offline Bundle for VMware ESXi 4.1を当ててみた。</title>
		<link>http://blog.sharplab.net/blog/2011/01/10/hp-proliant-dl%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%ba%e3%81%abhp-esxi-offline-bundle-for-vmware-esxi-4-1%e3%82%92%e5%bd%93%e3%81%a6%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2011/01/10/hp-proliant-dl%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%ba%e3%81%abhp-esxi-offline-bundle-for-vmware-esxi-4-1%e3%82%92%e5%bd%93%e3%81%a6%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 10:23:55 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[HP ESXi Bundle for VMware ESXi]]></category>
		<category><![CDATA[vCenter Update Manager]]></category>
		<category><![CDATA[VMware ESXi]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/uncategorized/3440/</guid>
		<description><![CDATA[HP ESXi Offline Bundle for VMware ESXiを当てることで、ESXi側からハードウェアの詳細なモニタリングが出来るようになります。例えば、温度センサであり、ストレージの状態（構成しているディスクやバッテリの状態）をモニタリングできるようになります。HP ESXi Offline Bundle for VMware ESXiの当て方については、vCenter Update Managerいいね。というエントリの「ESXiホストへのサーバーベンダ提供独自パッチの適用」という項目を参照ください。 これが追加した状態でvCenterにvSphere Clientで接続した時のHeadware Statusの表示。ストレージの状態とかがちゃんと出ています。6本のディスクでRAID5を組んでおり、Disk6がスペア、バッテリーバックアップ用のバッテリも生きていることがわかります。いやーこういう風に整然と出ると心が躍りますね。]]></description>
			<content:encoded><![CDATA[<p>HP ESXi Offline Bundle for VMware ESXiを当てることで、ESXi側からハードウェアの詳細なモニタリングが出来るようになります。例えば、温度センサであり、ストレージの状態（構成しているディスクやバッテリの状態）をモニタリングできるようになります。HP ESXi Offline Bundle for VMware ESXiの当て方については、<a href="http://blog.sharplab.net/computer/software/3433/">vCenter Update Managerいいね。</a>というエントリの「ESXiホストへのサーバーベンダ提供独自パッチの適用」という項目を参照ください。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image7.png" rel="lightbox"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb7.png" width="604" height="450" /></a></p>
<p>これが追加した状態でvCenterにvSphere Clientで接続した時のHeadware Statusの表示。ストレージの状態とかがちゃんと出ています。6本のディスクでRAID5を組んでおり、Disk6がスペア、バッテリーバックアップ用のバッテリも生きていることがわかります。いやーこういう風に整然と出ると心が躍りますね。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/01/10/hp-proliant-dl%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%ba%e3%81%abhp-esxi-offline-bundle-for-vmware-esxi-4-1%e3%82%92%e5%bd%93%e3%81%a6%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vCenter Update Managerいいね。</title>
		<link>http://blog.sharplab.net/blog/2011/01/10/vcenter-update-manager%e3%81%84%e3%81%84%e3%81%ad%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2011/01/10/vcenter-update-manager%e3%81%84%e3%81%84%e3%81%ad%e3%80%82/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 10:16:04 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[vCenter Update Manager]]></category>
		<category><![CDATA[VMware ESXi]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/software/3433/</guid>
		<description><![CDATA[vSphere AdvancedとvCenterのライセンスを入手できたので、某所で預からせていただいているESXi環境をアップグレードして、ちまちまと暇を見つけては環境構築をしている今日この頃ですが、今日はvCenter Update Managerの話。vCenter Update Managerは、VMware ESXiやvCenter Server、それにゲストOSのパッチレベルの管理をできるソフトウェア。vCenter Serverのインストーラに紛れていて、全くその存在を認識していなかったのですが、これまでvSphere Host Update Utilityで行っていたESXiのアップデートやパッチ当てを出来るものと聞き、使い始めてみました。 インストール vCenter Update Managerですが、サーバーコンポーネントとvSphere Clientに対するプラグインという構成で出来ています。 サーバーコンポーネントのインストーラは、vCenter ServerのインストールCDのISOイメージのAutoRunで立ち上がるDialogからvCenter Update Managerという項目を選択することで起動できます。vCenter Serverと同じサーバーにでも突っ込んでおくと良いのではないでしょうか。 vSphere Clientのプラグインは、vSphere Clientのプラグインマネージャからインストーラのダウンロードと起動を行えます。 こんな感じ。 インストールが済むと、vSphere ClientはこのようにホストのページにUpdate Managerというタブが追加されたり、 「ソリューション及びアプリケーション」の下に「Update Manager」という項目が追加されたりします。 ESXiホストへのパッチの選択 ホスト毎のUpdate Managerのタブの、「添付」というリンクから、適用したいパッチレベルを選択できます。 ESXiホストへのパッチの適用 修正というボタンを押せば、パッチを適用できます。お手軽！なお、ホスト毎のUpdate Managerタブではなく、フォルダ毎、クラスタ毎、DataCenter毎のタブから行えば、多数のホストに対してまとめてパッチ適用をできるようです。小規模環境なのでそのようなことはしたことはありませんが。。 ESXiホストへのサーバーベンダ提供独自パッチの適用 VMwareが提供しているパッチ以外に、サーバーベンダが提供していてVMwareのレポジトリに載っていないパッチ（正確にはHost Extention）というものが存在し、それを当てることでESXi側から、ハードウェアのステータスがモニタリング出来るようになったりするものがあります。例えば、HPのHost Extentionがあり、これをインストールすることで、HP CIM Providerとして働いてくれます。HPのInstall Instructionsを見ると、vSphere CLIのスクリプトを使えとありますが、vCenter Update Managerを使える環境では、vCenter Update Managerを使った方が便利です。これの追加は、「ソリューション及びアプリケーション」→「Update Manager」→「パッチ レポジトリ」→「パッチのインポート」からパッケージの追加を行い、そのパッケージを含んだベースラインを新たに構成し（その際ベースラインのタイプをHost Extentionとすること！）、そのベースラインを対象のホストに対して添付し適用するという流れで実現できます。]]></description>
			<content:encoded><![CDATA[<p>vSphere AdvancedとvCenterのライセンスを入手できたので、某所で預からせていただいているESXi環境をアップグレードして、ちまちまと暇を見つけては環境構築をしている今日この頃ですが、今日はvCenter Update Managerの話。vCenter Update Managerは、VMware ESXiやvCenter Server、それにゲストOSのパッチレベルの管理をできるソフトウェア。vCenter Serverのインストーラに紛れていて、全くその存在を認識していなかったのですが、これまでvSphere Host Update Utilityで行っていたESXiのアップデートやパッチ当てを出来るものと聞き、使い始めてみました。</p>
<h3>インストール</h3>
<p>vCenter Update Managerですが、サーバーコンポーネントとvSphere Clientに対するプラグインという構成で出来ています。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image151.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image15_thumb1.png" width="419" height="326" /></a>     <br />サーバーコンポーネントのインストーラは、vCenter ServerのインストールCDのISOイメージのAutoRunで立ち上がるDialogからvCenter Update Managerという項目を選択することで起動できます。vCenter Serverと同じサーバーにでも突っ込んでおくと良いのではないでしょうか。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb.png" width="644" height="282" /></a>     <br />vSphere Clientのプラグインは、vSphere Clientのプラグインマネージャからインストーラのダウンロードと起動を行えます。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image1.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb1.png" width="244" height="187" /></a>     <br />こんな感じ。</p>
<p>インストールが済むと、vSphere ClientはこのようにホストのページにUpdate Managerというタブが追加されたり、   <br /><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image2.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb2.png" width="244" height="149" /></a></p>
<p>「ソリューション及びアプリケーション」の下に「Update Manager」という項目が追加されたりします。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image3.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb3.png" width="244" height="149" /></a></p>
<h3>ESXiホストへのパッチの選択</h3>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image4.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb4.png" width="230" height="244" /></a></p>
<p>ホスト毎のUpdate Managerのタブの、「添付」というリンクから、適用したいパッチレベルを選択できます。</p>
<h3>ESXiホストへのパッチの適用</h3>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image5.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb5.png" width="244" height="163" /></a></p>
<p>修正というボタンを押せば、パッチを適用できます。お手軽！なお、ホスト毎のUpdate Managerタブではなく、フォルダ毎、クラスタ毎、DataCenter毎のタブから行えば、多数のホストに対してまとめてパッチ適用をできるようです。小規模環境なのでそのようなことはしたことはありませんが。。</p>
<h3>ESXiホストへのサーバーベンダ提供独自パッチの適用</h3>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2011/01/image6.png" rel="lightbox"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2011/01/image_thumb6.png" width="244" height="136" /></a></p>
<p>VMwareが提供しているパッチ以外に、サーバーベンダが提供していてVMwareのレポジトリに載っていないパッチ（正確にはHost Extention）というものが存在し、それを当てることでESXi側から、ハードウェアのステータスがモニタリング出来るようになったりするものがあります。例えば、<a title="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=15351&amp;prodSeriesId=3949980&amp;prodNameId=3949981&amp;swEnvOID=4091&amp;swLang=13&amp;mode=2&amp;taskId=135&amp;swItem=MTX-b98795300e7947d88f19ab56d6" href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=15351&amp;prodSeriesId=3949980&amp;prodNameId=3949981&amp;swEnvOID=4091&amp;swLang=13&amp;mode=2&amp;taskId=135&amp;swItem=MTX-b98795300e7947d88f19ab56d6">HPのHost</a> Extentionがあり、これをインストールすることで、HP CIM Providerとして働いてくれます。HPのInstall Instructionsを見ると、vSphere CLIのスクリプトを使えとありますが、vCenter Update Managerを使える環境では、vCenter Update Managerを使った方が便利です。これの追加は、「ソリューション及びアプリケーション」→「Update Manager」→「パッチ レポジトリ」→「パッチのインポート」からパッケージの追加を行い、そのパッケージを含んだベースラインを新たに構成し（その際ベースラインのタイプをHost Extentionとすること！）、そのベースラインを対象のホストに対して添付し適用するという流れで実現できます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/01/10/vcenter-update-manager%e3%81%84%e3%81%84%e3%81%ad%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2011年、あけましておめでとうございます。</title>
		<link>http://blog.sharplab.net/blog/2011/01/01/2011%e5%b9%b4%e3%80%81%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2011/01/01/2011%e5%b9%b4%e3%80%81%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99%e3%80%82/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 06:21:32 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[Happy New Year]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/life/study/3416/</guid>
		<description><![CDATA[2011年になりましたね。あけましておめでとうございます。 新年の抱負を語る前に、まずは去年の反省から。去年はすっかりBlogを書かない一年となってしまいました。一年でたったの7本だけ。反省しております。何をしていたかというと、基本的にプログラミングはせず、ネットワークとか、インフラ周りの勉強を進めた一年でした。バイトでL2インテリジェントスイッチやアクセスポイント、VMware vSphere Advancedの導入作業を担当したりだとか、そんなことをしておりました。ちょっとは知識がついたのか一応IPAの応用情報とネットワークスペシャリスト試験に合格したりできました。まぁそのせいで、Windows Phone 7の発売開始とかの波に乗れなかったのは心残りではあります。 そして今年。今年はまずは就活ですね。学部で卒業してしまっていいのか、という悩みは残っていますが、去年少し就活をしていた中で、インターンとか行かせていただき、今の自分でも社会のどこかには自分を受け入れてくれる場所があるのではないか、という気もしてきて、とりあえずはしっかり就活してみようと考えています。そして就活と並行して、卒論も進めていかなければなりません。自分にはどうにも出来ないところでかなり迷走している感はありますが、中途半端なものにはしたくない（しっかりやる or 完全に手を抜く）と考えています。頑張ります。]]></description>
			<content:encoded><![CDATA[<p>2011年になりましたね。あけましておめでとうございます。</p>
<p>新年の抱負を語る前に、まずは去年の反省から。去年はすっかりBlogを書かない一年となってしまいました。一年でたったの7本だけ。反省しております。何をしていたかというと、基本的にプログラミングはせず、ネットワークとか、インフラ周りの勉強を進めた一年でした。バイトでL2インテリジェントスイッチやアクセスポイント、VMware vSphere Advancedの導入作業を担当したりだとか、そんなことをしておりました。ちょっとは知識がついたのか一応IPAの応用情報とネットワークスペシャリスト試験に合格したりできました。まぁそのせいで、Windows Phone 7の発売開始とかの波に乗れなかったのは心残りではあります。</p>
<p>そして今年。今年はまずは就活ですね。学部で卒業してしまっていいのか、という悩みは残っていますが、去年少し就活をしていた中で、インターンとか行かせていただき、今の自分でも社会のどこかには自分を受け入れてくれる場所があるのではないか、という気もしてきて、とりあえずはしっかり就活してみようと考えています。そして就活と並行して、卒論も進めていかなければなりません。自分にはどうにも出来ないところでかなり迷走している感はありますが、中途半端なものにはしたくない（しっかりやる or 完全に手を抜く）と考えています。頑張ります。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2011/01/01/2011%e5%b9%b4%e3%80%81%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Server 10.04上でsambaでドメインコントローラたててみた。</title>
		<link>http://blog.sharplab.net/blog/2010/10/21/ubuntu-server-10-04%e4%b8%8a%e3%81%a7samba%e3%81%a7%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%a9%e3%81%9f%e3%81%a6%e3%81%a6%e3%81%84%e3%81%bf%e3%81%9f/</link>
		<comments>http://blog.sharplab.net/blog/2010/10/21/ubuntu-server-10-04%e4%b8%8a%e3%81%a7samba%e3%81%a7%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%a9%e3%81%9f%e3%81%a6%e3%81%a6%e3%81%84%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 06:34:36 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/uncategorized/3412/</guid>
		<description><![CDATA[UNIXマシンとWindows Server（というかVMware vCenter）のユーザーアカウント管理を統合する必要性から、Ubuntu Server上にSamba+OpenLDAPを立て、でUNIXのユーザー管理とNT(samba)ドメインの管理をしてみることにしました。この前OpenLDAPでUbuntuのサーバー群のユーザーの統合管理が出来たので、今度はsambaでNTドメインを立てみました。 で、参考にしたページは、以下のページ。 https://help.ubuntu.com/10.04/serverguide/C/samba-dc.html いつもの通り、Ubuntu公式のドキュメントです。便利便利。 大体この通りに進めていけばよかったと思うのですが、一点そのままでは動かないところがあって、それは項目3で add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u マシンアカウントの自動作成を指定した後、そのアカウントを追加しようとしているmachines（あるいは任意の好きな）グループを自分で作っておく必要があります。コマンド一つ一つの意味を深く考えずにボケーっと設定していたらはまりかけました。 そしてあともう一点。Windows 7をSambaでたてたドメインコントローラに追加する場合、Windows 7側で、http://www.natzworks.com/digital/entries/2010/000256.html に従って、レジストリに項目を二つほど追加する必要があります。お忘れなく！]]></description>
			<content:encoded><![CDATA[<p>UNIXマシンとWindows Server（というかVMware vCenter）のユーザーアカウント管理を統合する必要性から、Ubuntu Server上にSamba+OpenLDAPを立て、でUNIXのユーザー管理とNT(samba)ドメインの管理をしてみることにしました。この前OpenLDAPでUbuntuのサーバー群のユーザーの統合管理が出来たので、今度はsambaでNTドメインを立てみました。</p>
<p>で、参考にしたページは、以下のページ。    <br /><a title="https://help.ubuntu.com/10.04/serverguide/C/samba-dc.html" href="https://help.ubuntu.com/10.04/serverguide/C/samba-dc.html">https://help.ubuntu.com/10.04/serverguide/C/samba-dc.html</a></p>
<p>いつもの通り、Ubuntu公式のドキュメントです。便利便利。</p>
<p>大体この通りに進めていけばよかったと思うのですが、一点そのままでは動かないところがあって、それは項目3で</p>
<blockquote><p>add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u</p>
</blockquote>
<p>マシンアカウントの自動作成を指定した後、そのアカウントを追加しようとしているmachines（あるいは任意の好きな）グループを自分で作っておく必要があります。コマンド一つ一つの意味を深く考えずにボケーっと設定していたらはまりかけました。</p>
<p>そしてあともう一点。Windows 7をSambaでたてたドメインコントローラに追加する場合、Windows 7側で、<a title="http://www.natzworks.com/digital/entries/2010/000256.html" href="http://www.natzworks.com/digital/entries/2010/000256.html">http://www.natzworks.com/digital/entries/2010/000256.html</a></p>
<p>に従って、レジストリに項目を二つほど追加する必要があります。お忘れなく！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/10/21/ubuntu-server-10-04%e4%b8%8a%e3%81%a7samba%e3%81%a7%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%a9%e3%81%9f%e3%81%a6%e3%81%a6%e3%81%84%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>サーバー移転しました。</title>
		<link>http://blog.sharplab.net/blog/2010/10/11/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e8%bb%a2%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2010/10/11/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e8%bb%a2%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 04:10:33 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[sakura vps]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/uncategorized/3407/</guid>
		<description><![CDATA[このBlogで利用しているサーバーを、これまでのXREAからさくらのVPSに変更しました。さくらのVPSは、KVMによって完全仮想化されたVMを借りられるサービスで、先日ubuntu serverのサポートも始まったことから借りてみました。XREAはどうも調子が悪いことが多かったので。。 やっぱり、気兼ねなしに使える固定IPがあるというのはいいものです。サーバー料金は、月額980円と、これまで利用していたのに比べると高いですが、まぁrootとれて自由に遊べること考えたら安いですね。Wordpress動かすだけでなく、自宅のESXi&#38;Hyper-Vと連携させて、色々遊んでみたいと思います。]]></description>
			<content:encoded><![CDATA[<p>このBlogで利用しているサーバーを、これまでのXREAからさくらのVPSに変更しました。さくらのVPSは、KVMによって完全仮想化されたVMを借りられるサービスで、先日ubuntu serverのサポートも始まったことから借りてみました。XREAはどうも調子が悪いことが多かったので。。</p>
<p>やっぱり、気兼ねなしに使える固定IPがあるというのはいいものです。サーバー料金は、月額980円と、これまで利用していたのに比べると高いですが、まぁrootとれて自由に遊べること考えたら安いですね。Wordpress動かすだけでなく、自宅のESXi&amp;Hyper-Vと連携させて、色々遊んでみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/10/11/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e8%bb%a2%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>立った！OpenVPNが立った！</title>
		<link>http://blog.sharplab.net/blog/2010/06/03/%e7%ab%8b%e3%81%a3%e3%81%9f%ef%bc%81openvpn%e3%81%8c%e7%ab%8b%e3%81%a3%e3%81%9f%ef%bc%81/</link>
		<comments>http://blog.sharplab.net/blog/2010/06/03/%e7%ab%8b%e3%81%a3%e3%81%9f%ef%bc%81openvpn%e3%81%8c%e7%ab%8b%e3%81%a3%e3%81%9f%ef%bc%81/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 06:28:15 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bridge]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/linux/3405/</guid>
		<description><![CDATA[OpenVPNを、Ubuntu 10.04で立ててみました。この前のクリスマスだったか、OpenVPNのサービスを動かしていたVMをオペミスでESXiのDatastoreごと吹っ飛ばして以来、ずっと止まってしまっていたので、そのリベンジです。Ubuntu 10.04には最新のOpenVPN 2.1のパッケージが入っており、aptitudeで依存関係のあるパッケージもまとめて入れることができます。また、10.04はLTS（Long Time Support）版でもあり、OpenVPNを安定して運用するには便利なディストリとなっていました。 さて、そもそもOpenVPNとは何かというと、その名の通り、オープンソースで開発が進められているVPNデーモンです。L2、L3のどちらでのVPNも提供しています。今回は、L2でのVPNである、bridge接続でのVPNについてを扱います。 まずはネットワーク図をば。 今回はこんなネットワークを組みました。自宅のホストにはすべてプライベートアドレスがついていて、ルータのWAN側のポートにのみグローバルIPアドレスがついています。ちなみにアクセス回線はADSL、どこにでもあるような普通のホームネットワークですね。唯一異なっているのは、プライベートアドレスに10.10.0.0/16のサブネットを利用している点。出先のネットワークとなるべく被らないように、という理由です。「10.10.0.0/16は僕のアドレスなので使わないでください！」(笑)というやつです。 OpenVPNのクライアントとなるのはラップトップ。大学やバイト先などから家に接続することを想定しています。この時、ラップトップには有線LANや無線LANのネットワークインターフェイスとは別に、TAPインターフェイスという仮想的なインターフェイスがつき、このインターフェイスの先で直接自宅ネットワークのサブネットに仮想的に接続することになります。図の、点線部分がそれにあたります。10.10/16宛てのパケットはTAPインターフェイスから出ていき、それ以外のパケットは有線LANなり無線LANなりから出ていくというマルチホーム状態を構成しました。 参考までに自分の環境のconf晒し。 ################################################# # Sample OpenVPN 2.0 config file for # # multi-client server. # # # # This file is for the server side # # of a many-clients &#60;-&#62; one-server # # OpenVPN configuration. # # # # OpenVPN also supports # # single-machine [...]]]></description>
			<content:encoded><![CDATA[<p>OpenVPNを、Ubuntu 10.04で立ててみました。この前のクリスマスだったか、OpenVPNのサービスを動かしていたVMをオペミスでESXiのDatastoreごと吹っ飛ばして以来、ずっと止まってしまっていたので、そのリベンジです。Ubuntu 10.04には最新のOpenVPN 2.1のパッケージが入っており、aptitudeで依存関係のあるパッケージもまとめて入れることができます。また、10.04はLTS（Long Time Support）版でもあり、OpenVPNを安定して運用するには便利なディストリとなっていました。</p>
<p>さて、そもそもOpenVPNとは何かというと、その名の通り、オープンソースで開発が進められているVPNデーモンです。L2、L3のどちらでのVPNも提供しています。今回は、L2でのVPNである、bridge接続でのVPNについてを扱います。</p>
<p>まずはネットワーク図をば。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/06/OpenVPN.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OpenVPN" border="0" alt="OpenVPN" src="http://blog.sharplab.net/wp-content/uploads/2010/06/OpenVPN_thumb.png" width="600" height="441" /></a> </p>
<p>今回はこんなネットワークを組みました。自宅のホストにはすべてプライベートアドレスがついていて、ルータのWAN側のポートにのみグローバルIPアドレスがついています。ちなみにアクセス回線はADSL、どこにでもあるような普通のホームネットワークですね。唯一異なっているのは、プライベートアドレスに10.10.0.0/16のサブネットを利用している点。出先のネットワークとなるべく被らないように、という理由です。「10.10.0.0/16は僕のアドレスなので使わないでください！」(笑)というやつです。 OpenVPNのクライアントとなるのはラップトップ。大学やバイト先などから家に接続することを想定しています。この時、ラップトップには有線LANや無線LANのネットワークインターフェイスとは別に、TAPインターフェイスという仮想的なインターフェイスがつき、このインターフェイスの先で直接自宅ネットワークのサブネットに仮想的に接続することになります。図の、点線部分がそれにあたります。10.10/16宛てのパケットはTAPインターフェイスから出ていき、それ以外のパケットは有線LANなり無線LANなりから出ていくというマルチホーム状態を構成しました。</p>
<p>参考までに自分の環境のconf晒し。</p>
</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:fba60543-af8e-4992-8772-d4673bd276c2" class="wlWriterEditableSmartContent">
<pre name="code" class="ruby">#################################################
# Sample OpenVPN 2.0 config file for            #
# multi-client server.                          #
#                                               #
# This file is for the server side              #
# of a many-clients &lt;-&gt; one-server              #
# OpenVPN configuration.                        #
#                                               #
# OpenVPN also supports                         #
# single-machine &lt;-&gt; single-machine             #
# configurations (See the Examples page         #
# on the web site for more info).               #
#                                               #
# This config should work on Windows            #
# or Linux/BSD systems.  Remember on            #
# Windows to quote pathnames and use            #
# double backslashes, e.g.:                     #
# "C:\\Program Files\\OpenVPN\\config\\foo.key" #
#                                               #
# Comments are preceded with '#' or ';'         #
#################################################

# Which local IP address should OpenVPN
# listen on? (optional)
local 10.10.11.4

# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port
# number for each one.  You will need to
# open up this port on your firewall.
port 1194

# TCP or UDP server?
;proto tcp
proto udp

# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# Use "dev tap0" if you are ethernet bridging
# and have precreated a tap0 virtual interface
# and bridged it with your ethernet interface.
# If you want to control access policies
# over the VPN, you must create firewall
# rules for the the TUN/TAP interface.
# On non-Windows systems, you can give
# an explicit unit number, such as tun0.
# On Windows, use "dev-node" for this.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap0
;dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel if you
# have more than one.  On XP SP2 or higher,
# you may need to selectively disable the
# Windows firewall for the TAP adapter.
# Non-Windows systems usually don't need this.
;dev-node tap0

# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key).  Each client
# and the server must have their own cert and
# key file.  The server and all clients will
# use the same ca file.
#
# See the "easy-rsa" directory for a series
# of scripts for generating RSA certificates
# and private keys.  Remember to use
# a unique Common Name for the server
# and each of the client certificates.
#
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).
ca /etc/openvpn/ca.crt
cert /etc/openvpn/ambient.crt
key /etc/openvpn/ambient.key  # This file should be kept secret

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.
dh dh2048.pem

# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
; server 10.8.0.0 255.255.255.0

# Maintain a record of client &lt;-&gt; virtual IP address
# associations in this file.  If OpenVPN goes down or
# is restarted, reconnecting clients can be assigned
# the same virtual IP address from the pool that was
# previously assigned.
ifconfig-pool-persist ipp.txt

# Configure server mode for ethernet bridging.
# You must first use your OS's bridging capability
# to bridge the TAP interface with the ethernet
# NIC interface.  Then you must manually set the
# IP/netmask on the bridge interface, here we
# assume 10.8.0.4/255.255.255.0.  Finally we
# must set aside an IP range in this subnet
# (start=10.8.0.50 end=10.8.0.100) to allocate
# to connecting clients.  Leave this line commented
# out unless you are ethernet bridging.
server-bridge 10.10.11.3 255.255.0.0 10.10.90.1 10.10.90.254

# Configure server mode for ethernet bridging
# using a DHCP-proxy, where clients talk
# to the OpenVPN server-side DHCP server
# to receive their IP address allocation
# and DNS server addresses.  You must first use
# your OS's bridging capability to bridge the TAP
# interface with the ethernet NIC interface.
# Note: this mode only works on clients (such as
# Windows), where the client-side TAP adapter is
# bound to a DHCP client.
;server-bridge

# Push routes to the client to allow it
# to reach other private subnets behind
# the server.  Remember that these
# private subnets will also need
# to know to route the OpenVPN client
# address pool (10.8.0.0/255.255.255.0)
# back to the OpenVPN server.
push "route 10.10.0.0 255.255.0.0"
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"

# To assign specific IP addresses to specific
# clients or if a connecting client has a private
# subnet behind it that should also have VPN access,
# use the subdirectory "ccd" for client-specific
# configuration files (see man page for more info).

# EXAMPLE: Suppose the client
# having the certificate common name "Thelonious"
# also has a small subnet behind his connecting
# machine, such as 192.168.40.128/255.255.255.248.
# First, uncomment out these lines:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Then create a file ccd/Thelonious with this line:
#   iroute 192.168.40.128 255.255.255.248
# This will allow Thelonious' private subnet to
# access the VPN.  This example will only work
# if you are routing, not bridging, i.e. you are
# using "dev tun" and "server" directives.

# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Then add this line to ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

# Suppose that you want to enable different
# firewall access policies for different groups
# of clients.  There are two methods:
# (1) Run multiple OpenVPN daemons, one for each
#     group, and firewall the TUN/TAP interface
#     for each group/daemon appropriately.
# (2) (Advanced) Create a script to dynamically
#     modify the firewall in response to access
#     from different clients.  See man
#     page for more info on learn-address script.
;learn-address ./script

# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
;client-to-client

# Uncomment this directive if multiple clients
# might connect with the same certificate/key
# files or common names.  This is recommended
# only for testing purposes.  For production use,
# each client should have its own certificate/key
# pair.
#
# IF YOU HAVE NOT GENERATED INDIVIDUAL
# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,
# EACH HAVING ITS OWN UNIQUE "COMMON NAME",
# UNCOMMENT THIS LINE OUT.
;duplicate-cn

# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when
# the other side has gone down.
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during
# a 120 second time period.
keepalive 10 120

# For extra security beyond that provided
# by SSL/TLS, create an "HMAC firewall"
# to help block DoS attacks and UDP port flooding.
#
# Generate with:
#   openvpn --genkey --secret ta.key
#
# The server and each client must have
# a copy of this key.
# The second parameter should be '0'
# on the server and '1' on the clients.
;tls-auth ta.key 0 # This file is secret

# Select a cryptographic cipher.
# This config item must be copied to
# the client config file as well.
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES

# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo

# The maximum number of concurrently connected
# clients we want to allow.
;max-clients 100

# It's a good idea to reduce the OpenVPN
# daemon's privileges after initialization.
#
# You can uncomment this out on
# non-Windows systems.
user nobody
group nogroup

# The persist options will try to avoid
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.
persist-key
persist-tun

# Output a short status file showing
# current connections, truncated
# and rewritten every minute.
status openvpn-status.log

# By default, log messages will go to the syslog (or
# on Windows, if running as a service, they will go to
# the "\Program Files\OpenVPN\log" directory).
# Use log or log-append to override this default.
# "log" will truncate the log file on OpenVPN startup,
# while "log-append" will append to it.  Use one
# or the other (but not both).
;log         openvpn.log
;log-append  openvpn.log

# Set the appropriate level of log
# file verbosity.
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.
;mute 20

#Autoconfigure scripts
up "./openvpn-startup"
down "./openvpn-shutdown"
</pre>
</div>
<p>&#160;</p>
</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:580d7a5a-e486-4e3f-a80c-7a722eddcec7" class="wlWriterEditableSmartContent">
<pre name="code" class="ruby">##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap
;dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node Tap

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
;proto tcp
proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote im3.sharplab.net 1194
;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing.  Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nogroup

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets.  Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca ca.crt
cert tpx201s.crt
key tpx201s.key

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server".  This is an
# important precaution to protect against
# a potential attack discussed here:
#  http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server".  The build-key-server
# script in the easy-rsa folder will do this.
ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/06/03/%e7%ab%8b%e3%81%a3%e3%81%9f%ef%bc%81openvpn%e3%81%8c%e7%ab%8b%e3%81%a3%e3%81%9f%ef%bc%81/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hellow GTK+2.0</title>
		<link>http://blog.sharplab.net/blog/2010/05/31/hellow-gtk2-0/</link>
		<comments>http://blog.sharplab.net/blog/2010/05/31/hellow-gtk2-0/#comments</comments>
		<pubDate>Sun, 30 May 2010 16:11:16 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[GTK+2]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/linux/3401/</guid>
		<description><![CDATA[やむにやまれぬ事情でGTKを勉強中です。。とりあえずHello world。右のスクリーンショットはWindowsっぽいですが、テーマをいじっているだけで正真正銘のUbuntu上での表示です。 Hello world表示するだけでちょこちょこコーディングしなければいけないのがめどい。。デザイナがあるらしいので、使い方を早くマスターしないと。。 &#160; &#160; &#160; #include &#60;stdio.h&#62; #include &#60;gtk/gtk.h&#62; static gboolean my_delete_event_handler(GtkWidget *widget, GdkEvent *event, gpointer data) { g_print("delete!\n"); return FALSE; } static void my_destroy_handler( GtkWidget *widget, gpointer data) { g_print("destry!\n"); gtk_main_quit(); } int main(int argc, char *argv[]){ GtkWidget *window; GtkWidget *bbox; GtkWidget *button; gtk_init(&#38;argc, &#38;argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); bbox = gtk_hbutton_box_new(); button [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/05/Screenshothellogtk.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Screenshot-hello-gtk" border="0" alt="Screenshot-hello-gtk" align="right" src="http://blog.sharplab.net/wp-content/uploads/2010/05/Screenshothellogtk_thumb.png" width="337" height="266" /></a></p>
<p>やむにやまれぬ事情でGTKを勉強中です。。とりあえずHello world。右のスクリーンショットはWindowsっぽいですが、テーマをいじっているだけで正真正銘のUbuntu上での表示です。 Hello world表示するだけでちょこちょこコーディングしなければいけないのがめどい。。デザイナがあるらしいので、使い方を早くマスターしないと。。   </p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:98172e55-5f82-4a05-bd33-c63de09f5178" class="wlWriterEditableSmartContent">
<pre name="code" class="c">#include &lt;stdio.h&gt;
#include &lt;gtk/gtk.h&gt;

static gboolean my_delete_event_handler(GtkWidget *widget,
                                        GdkEvent *event,
                                        gpointer data)
{
  g_print("delete!\n");

  return FALSE;
}

static void my_destroy_handler( GtkWidget *widget,
                                gpointer data)
{
  g_print("destry!\n");

  gtk_main_quit();
}

int main(int argc, char *argv[]){

  GtkWidget *window;
  GtkWidget *bbox;
  GtkWidget *button;

  gtk_init(&amp;argc, &amp;argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  bbox = gtk_hbutton_box_new();
  button = gtk_button_new();

  gtk_button_set_label(GTK_BUTTON(button), "Hello GTK!");

  g_signal_connect( G_OBJECT(window), "delete-event",
                    G_CALLBACK(my_delete_event_handler),
                    NULL);

  g_signal_connect( G_OBJECT(window), "destroy",
                    G_CALLBACK(my_destroy_handler),
                    NULL);

  gtk_container_add(GTK_CONTAINER(bbox), button);
  gtk_container_add(GTK_CONTAINER(window), bbox);

  gtk_widget_show_all(window);

  gtk_main();

  return 0;

}
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/05/31/hellow-gtk2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 4のTrusted modeでRESTサービス</title>
		<link>http://blog.sharplab.net/blog/2010/05/05/silverlight-4%e3%81%aetrusted-mode%e3%81%a7rest%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/</link>
		<comments>http://blog.sharplab.net/blog/2010/05/05/silverlight-4%e3%81%aetrusted-mode%e3%81%a7rest%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/#comments</comments>
		<pubDate>Tue, 04 May 2010 15:48:51 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/cprograming/silverlight/3396/</guid>
		<description><![CDATA[厳しいかも。 Silverlight 4で追加されたTrusted mode、とりあえず試してみているのだけど、結構制限が厳しくてつらい感じ。。Cookieは使えないし、GETメソッド使っているときに、headerを追加することもできない。これは、SilverlightがHTTP通信のスタックに、OSのTCP/IPスタックを直接たたいているのではなく、ブラウザのPlugin APIを叩いているためだとか。 Silverlight only supports setting headers using the POST method not the GET method. This is due to a limitation in how the TCP/IP stack is implemented in Silverlight. It uses the browser extension APIs instead of going directly against the host OS&#8217;s APIs. http://stackoverflow.com/questions/622897/how-can-i-set-headers-with-silverlight-get-httpwebrequest この問題を回避する方法としては、@jz5さん曰く、Socketを自分で叩いてHTTP通信すればいい、ということらしい。なんだかなぁ。。Silverlight 4でTrusted Modeをどれぐらい使う需要があるかは知らないけど（自分ならWPF＋ClickOnceでいいや）、Windows PhoneアプリをSilverlightで書こうか、という場合に結構辛い気が。。WindowsPhoneは微妙に普通のSilverlightとビルディングブロックが違ってるから、案外動くのかもしれないけど（希望的観測）。 (追記) 試しにWindows [...]]]></description>
			<content:encoded><![CDATA[<p>厳しいかも。</p>
<p>Silverlight 4で追加されたTrusted mode、とりあえず試してみているのだけど、結構制限が厳しくてつらい感じ。。Cookieは使えないし、GETメソッド使っているときに、headerを追加することもできない。これは、SilverlightがHTTP通信のスタックに、OSのTCP/IPスタックを直接たたいているのではなく、ブラウザのPlugin APIを叩いているためだとか。</p>
<blockquote><p>Silverlight only supports setting headers using the POST method not the GET method. This is due to a limitation in how the TCP/IP stack is implemented in Silverlight. It uses the browser extension APIs instead of going directly against the host OS&#8217;s APIs.      <br /><a title="http://stackoverflow.com/questions/622897/how-can-i-set-headers-with-silverlight-get-httpwebrequest" href="http://stackoverflow.com/questions/622897/how-can-i-set-headers-with-silverlight-get-httpwebrequest">http://stackoverflow.com/questions/622897/how-can-i-set-headers-with-silverlight-get-httpwebrequest</a></p>
</blockquote>
<p>この問題を回避する方法としては、@jz5さん曰く、Socketを自分で叩いてHTTP通信すればいい、ということらしい。なんだかなぁ。。Silverlight 4でTrusted Modeをどれぐらい使う需要があるかは知らないけど（自分ならWPF＋ClickOnceでいいや）、<strike>Windows PhoneアプリをSilverlightで書こうか、という場合に結構辛い気が。。WindowsPhoneは微妙に普通のSilverlightとビルディングブロックが違ってるから、案外動くのかもしれないけど（希望的観測）。</strike></p>
<p>(追記) 試しにWindows Phoneでやってみたらheader追加できたｗ 嬉しいんだけど、HttpWebRequestみたいな非常に一般的なクラスでこのように挙動が違うというのは、困るので、正直複雑。何とかならんのか。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/05/05/silverlight-4%e3%81%aetrusted-mode%e3%81%a7rest%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPadよりThinkPad。～ThinkPad Edge、X100e、そしてX201s～</title>
		<link>http://blog.sharplab.net/blog/2010/04/17/ipad%e3%82%88%e3%82%8athinkpad%e3%80%82%ef%bd%9ethinkpad-edge%e3%80%81x100e%e3%80%81%e3%81%9d%e3%81%97%e3%81%a6x201s%ef%bd%9e/</link>
		<comments>http://blog.sharplab.net/blog/2010/04/17/ipad%e3%82%88%e3%82%8athinkpad%e3%80%82%ef%bd%9ethinkpad-edge%e3%80%81x100e%e3%80%81%e3%81%9d%e3%81%97%e3%81%a6x201s%ef%bd%9e/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 14:37:39 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[ThinkPad]]></category>
		<category><![CDATA[ThinkPad Edge]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[X100e]]></category>
		<category><![CDATA[X201s]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/hardware/3379/</guid>
		<description><![CDATA[大分前の話になってしまいましたが、ThinkPad X100eとThinkpad Edge、ありがたいことに発売直後にバイト先でモニター用の貸出機を触る機会に恵まれました。 その時に撮った写真を載せておきます。携帯のカメラなので画質が悪くてすみません。 X100e、11インチのモデルです。ボディの材質が変わったらしいですが、こうして写真をみるとThinkPadはThinkPadですね。 開けた状態。キーボードがThinkPadが従来採用していたタイプではなくアイソレーションキーボードなのが目につきます。ですが、実際触ってみたところ、このサイズにしてはかなり打ちやすいかなと感じました。 そして、赤いThinkPad！赤ですよ赤。ThinkPadといえば黒だと思っていましたが、こうしてみてみると、赤も悪くない、むしろこの思い切りの良さが魅力的です。 中は流石に赤くないです。 並べてみた。 閉じてみた。みなさんはどの色が好きですか？ こちらはThinkPad Edge。こっちは写真をこれしか撮っていないのですが、赤バージョンもあります。 ねんがんの X201s をてにいれたぞ！ そして、X201s。こちらは自腹購入。いやー、幸せ夢気分。快適快適。今まで使っていたVAIO Type SZ53Bがそろそろ四年目で限界なので購入してしまいました。。 去年の夏頃からずっと買い換えたいなぁと思いながら「Windows 7が出るまで待つ！」とか「Core i系に切り替わるまで待つ！」と必死に我慢していたのですが、先月Core i7のX201sが出たので18%OFFキャンペーン時に勢いに任せて買ってしまいました。。本体が大体１５万円程、その他には拡張保証をつけたりなどでした。まぁ、待っている間にだいぶ貯金は出来ていたので、なんとか。 閉じたときの外観。でこぼこのない、のっぺりした天板。マットな質感が凄く良いですね。 パームレストにはi7とWindows 7のロゴが光ります。 ACアダプタ。小さい！これは嬉しい。ただ、大学の研究室にはThinkPadのACアダプタが結構転がっているし、バッテリのもちは良いしで、ThinkPadの場合、そもそもACアダプタを持ち歩かなくても結構何とかなったり(笑) 使用感とか 最高です。キーボードは打ちやすいし、Trackpointは便利だし、バッテリは持つし、軽いし、解像度は高いし、何より速い。。どのぐらい速いって、シームレスモードのVirtualBox上でUbuntuがスムーズに動くぐらい(笑) Windowsをやめる気はさらさらないのですが、何かとUNIX環境が手元にあると便利なことも多いので、VirtualBox+Ubuntuが手元で動くというのは有り難いものです。 テキストモードで動かしておければ良いよねーと思っていたのですが、まさかGNOMEがストレスなく動くとは。もう、何がなんだかわかりません。。 WPFで全面的に作り直されたVisualStudio 2010もちゃんと動きます。先代のラップトップでBeta版を動かしたときは非常にもっさりしていて、買い替えを決意した一つの要因なのでした。これで生きていけます(笑)]]></description>
			<content:encoded><![CDATA[<p>大分前の話になってしまいましたが、ThinkPad X100eとThinkpad Edge、ありがたいことに発売直後にバイト先でモニター用の貸出機を触る機会に恵まれました。</p>
<p>その時に撮った写真を載せておきます。携帯のカメラなので画質が悪くてすみません。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0002.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0002" border="0" alt="HI3E0002" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0002_thumb.jpg" width="604" height="454" /></a></p>
<p>X100e、11インチのモデルです。ボディの材質が変わったらしいですが、こうして写真をみるとThinkPadはThinkPadですね。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0001.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0001" border="0" alt="HI3E0001" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0001_thumb.jpg" width="604" height="454" /></a></p>
<p>開けた状態。キーボードがThinkPadが従来採用していたタイプではなくアイソレーションキーボードなのが目につきます。ですが、実際触ってみたところ、このサイズにしてはかなり打ちやすいかなと感じました。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0003.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0003" border="0" alt="HI3E0003" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0003_thumb.jpg" width="604" height="454" /></a></p>
<p>そして、赤いThinkPad！赤ですよ赤。ThinkPadといえば黒だと思っていましたが、こうしてみてみると、赤も悪くない、むしろこの思い切りの良さが魅力的です。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0004.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0004" border="0" alt="HI3E0004" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0004_thumb.jpg" width="604" height="454" /></a>     <br />中は流石に赤くないです。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0005.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0005" border="0" alt="HI3E0005" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0005_thumb.jpg" width="604" height="454" /></a>     <br />並べてみた。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0006.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0006" border="0" alt="HI3E0006" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0006_thumb.jpg" width="604" height="454" /></a>     <br />閉じてみた。みなさんはどの色が好きですか？</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0007.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HI3E0007" border="0" alt="HI3E0007" src="http://blog.sharplab.net/wp-content/uploads/2010/04/HI3E0007_thumb.jpg" width="604" height="454" /></a></p>
<p>こちらはThinkPad Edge。こっちは写真をこれしか撮っていないのですが、赤バージョンもあります。</p>
<h3>ねんがんの X201s をてにいれたぞ！</h3>
<p>そして、X201s。こちらは自腹購入。いやー、幸せ夢気分。快適快適。今まで使っていたVAIO Type SZ53Bがそろそろ四年目で限界なので購入してしまいました。。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/P10304461.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030446" border="0" alt="P1030446" src="http://blog.sharplab.net/wp-content/uploads/2010/04/P1030446_thumb1.jpg" width="604" height="454" /></a>     <br />去年の夏頃からずっと買い換えたいなぁと思いながら「Windows 7が出るまで待つ！」とか「Core i系に切り替わるまで待つ！」と必死に我慢していたのですが、先月Core i7のX201sが出たので18%OFFキャンペーン時に勢いに任せて買ってしまいました。。本体が大体１５万円程、その他には拡張保証をつけたりなどでした。まぁ、待っている間にだいぶ貯金は出来ていたので、なんとか。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/P10304431.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030443" border="0" alt="P1030443" src="http://blog.sharplab.net/wp-content/uploads/2010/04/P1030443_thumb1.jpg" width="604" height="454" /></a>     <br />閉じたときの外観。でこぼこのない、のっぺりした天板。マットな質感が凄く良いですね。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/P10304521.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030452" border="0" alt="P1030452" src="http://blog.sharplab.net/wp-content/uploads/2010/04/P1030452_thumb1.jpg" width="604" height="454" /></a></p>
<p>パームレストにはi7とWindows 7のロゴが光ります。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/P10304411.jpg" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1030441" border="0" alt="P1030441" src="http://blog.sharplab.net/wp-content/uploads/2010/04/P1030441_thumb1.jpg" width="604" height="454" /></a>     <br />ACアダプタ。小さい！これは嬉しい。ただ、大学の研究室にはThinkPadのACアダプタが結構転がっているし、バッテリのもちは良いしで、ThinkPadの場合、そもそもACアダプタを持ち歩かなくても結構何とかなったり(笑) </p>
</p>
<h3>使用感とか</h3>
<p>最高です。キーボードは打ちやすいし、Trackpointは便利だし、バッテリは持つし、軽いし、解像度は高いし、何より速い。。どのぐらい速いって、シームレスモードのVirtualBox上でUbuntuがスムーズに動くぐらい(笑) Windowsをやめる気はさらさらないのですが、何かとUNIX環境が手元にあると便利なことも多いので、VirtualBox+Ubuntuが手元で動くというのは有り難いものです。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/image3.png" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2010/04/image_thumb3.png" width="604" height="379" /></a>     <br />テキストモードで動かしておければ良いよねーと思っていたのですが、まさかGNOMEがストレスなく動くとは。もう、何がなんだかわかりません。。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/04/image2.png" rel="lightbox"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2010/04/image_thumb2.png" width="604" height="379" /></a>     <br />WPFで全面的に作り直されたVisualStudio 2010もちゃんと動きます。先代のラップトップでBeta版を動かしたときは非常にもっさりしていて、買い替えを決意した一つの要因なのでした。これで生きていけます(笑)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/04/17/ipad%e3%82%88%e3%82%8athinkpad%e3%80%82%ef%bd%9ethinkpad-edge%e3%80%81x100e%e3%80%81%e3%81%9d%e3%81%97%e3%81%a6x201s%ef%bd%9e/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ラップトップをSSDに換装してみた。</title>
		<link>http://blog.sharplab.net/blog/2010/01/29/%e3%83%a9%e3%83%83%e3%83%97%e3%83%88%e3%83%83%e3%83%97%e3%82%92ssd%e3%81%ab%e6%8f%9b%e8%a3%85%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2010/01/29/%e3%83%a9%e3%83%83%e3%83%97%e3%83%88%e3%83%83%e3%83%97%e3%82%92ssd%e3%81%ab%e6%8f%9b%e8%a3%85%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 17:48:41 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[VAIO]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/hardware/3336/</guid>
		<description><![CDATA[買ってしまいましたSSD。ホントはSSDを買うつもりはなく、ラップトップごと買い換えたいと思っていたのですが、目をつけていたThinkPadのXシリーズがこの前のCESでモデルチェンジしてくれなかったので、最低でも春までは今のラップトップで生活することになりそうなので現行のVAIO（SZ53B）をSSD化して延命することにしました。ThinkPad買った際にはそちらに載せ替える腹積もりです。 で、今回買ったのはOCZSSD2-1SUM120Gという製品です。SSDなら鉄板といわれるIntelや東芝（IO-DATA）も考えたのですが、Intelは自分が欲しいと思った120GB帯の製品が存在しないこと、東芝はちょっと値段が高めなため、kakaku.comでみたところ安く出ていたOCZのSSDとしました。 で、アプリのインストールやデータのリストア作業など常用環境を整えた後でとったベンチ結果。公称値はやはり出ませんが、5400rpmの2.5inch HDDで暮らしてきた身には驚異的な数字です。特にランダムアクセス時の性能の良さは実に心強いです。 どんな時にSSD化の恩恵にあずかれるのか 殆どあらゆる場面で。まずOSのインストールからして速い速い。Windows 7の新規インストールが大体20分ほどで完了。アプリケーションのインストールも含めても同様で、今までならOSを再セットアップして環境を再構築するのにほぼ丸一日かかっていたのが、五時間ほどで完了させることができました。勿論SSD化の恩寵の与えられる範囲はセットアップ時だけに限らず、日常利用でも同様です。まずスリープ。今のラップトップは4(3)GBメモリを積んでいますが、4秒でスリープします。シャットダウンも12秒ほどで完了します。これは、VisualStudioやらFirefoxやらTweetDeckを立ち上げた状態からでです。これまではスリープに軽く20秒以上かかっていたので、本当に目を疑いましたｗ そしてアプリも速いです。VS2008がちょっと高機能なテキストエディタかのようにサッと立ち上がるのには笑うしかありませんｗ アプリの中でも一番使い勝手が向上したのがキャッシュを大量に作っているであろうRSSリーダー。自分はFeedDemonというGoogleReaderのクライアントを使っているのですが、HDD時代はページング時などにイチイチもっさりしていたこのアプリも信じがたいほど速くなりました。 待たされるのはストレスです。ちょっとした時間でもそれが積み重なると大きなストレスになります。そのためにどのハードウェアメーカーも速いCPU、大量のメモリ量を追求し、ソフトウェアベンダは実装を効率化し、それでもどうしようもない待ち時間に関しては待ち時間をそれと意識させないような工夫をあらゆるところに盛り込みます。最近自分はそういった実装の上手いAppleの出しているMacやiPod Touchを使うことが多く、その工夫には本当によく感心させられ、学ぶところが多いのですが、一方で、SSDのように絶対的に、圧倒的に時間を削減する技術のもたらすインパクトも凄まじいなと感じる次第です。]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/01/image1.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blog.sharplab.net/wp-content/uploads/2010/01/image_thumb1.png" width="244" height="184" /></a>買ってしまいましたSSD。ホントはSSDを買うつもりはなく、ラップトップごと買い換えたいと思っていたのですが、目をつけていたThinkPadのXシリーズがこの前のCESでモデルチェンジしてくれなかったので、最低でも春までは今のラップトップで生活することになりそうなので現行のVAIO（SZ53B）をSSD化して延命することにしました。ThinkPad買った際にはそちらに載せ替える腹積もりです。</p>
<p>で、今回買ったのは<a href="http://kakaku.com/item/K0000036303/">OCZSSD2-1SUM120G</a>という製品です。SSDなら鉄板といわれるIntelや東芝（IO-DATA）も考えたのですが、Intelは自分が欲しいと思った120GB帯の製品が存在しないこと、東芝はちょっと値段が高めなため、kakaku.comでみたところ安く出ていたOCZのSSDとしました。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2010/01/image2.png" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blog.sharplab.net/wp-content/uploads/2010/01/image_thumb2.png" width="244" height="211" /></a>で、アプリのインストールやデータのリストア作業など常用環境を整えた後でとったベンチ結果。公称値はやはり出ませんが、5400rpmの2.5inch HDDで暮らしてきた身には驚異的な数字です。特にランダムアクセス時の性能の良さは実に心強いです。</p>
<h3>どんな時にSSD化の恩恵にあずかれるのか</h3>
</p>
<p><strong>殆どあらゆる場面で。</strong>まずOSのインストールからして速い速い。Windows 7の新規インストールが大体20分ほどで完了。アプリケーションのインストールも含めても同様で、今までならOSを再セットアップして環境を再構築するのにほぼ丸一日かかっていたのが、五時間ほどで完了させることができました。勿論SSD化の恩寵の与えられる範囲はセットアップ時だけに限らず、日常利用でも同様です。まずスリープ。今のラップトップは4(3)GBメモリを積んでいますが、4秒でスリープします。シャットダウンも12秒ほどで完了します。これは、VisualStudioやらFirefoxやらTweetDeckを立ち上げた状態からでです。これまではスリープに軽く20秒以上かかっていたので、本当に目を疑いましたｗ そしてアプリも速いです。VS2008がちょっと高機能なテキストエディタかのようにサッと立ち上がるのには笑うしかありませんｗ アプリの中でも一番使い勝手が向上したのがキャッシュを大量に作っているであろうRSSリーダー。自分はFeedDemonというGoogleReaderのクライアントを使っているのですが、HDD時代はページング時などにイチイチもっさりしていたこのアプリも信じがたいほど速くなりました。</p>
<p>待たされるのはストレスです。ちょっとした時間でもそれが積み重なると大きなストレスになります。そのためにどのハードウェアメーカーも速いCPU、大量のメモリ量を追求し、ソフトウェアベンダは実装を効率化し、それでもどうしようもない待ち時間に関しては待ち時間をそれと意識させないような工夫をあらゆるところに盛り込みます。最近自分はそういった実装の上手いAppleの出しているMacやiPod Touchを使うことが多く、その工夫には本当によく感心させられ、学ぶところが多いのですが、一方で、SSDのように絶対的に、圧倒的に時間を削減する技術のもたらすインパクトも凄まじいなと感じる次第です。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2010/01/29/%e3%83%a9%e3%83%83%e3%83%97%e3%83%88%e3%83%83%e3%83%97%e3%82%92ssd%e3%81%ab%e6%8f%9b%e8%a3%85%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第二回プログラミング生放送勉強会行ってきました。</title>
		<link>http://blog.sharplab.net/blog/2009/12/27/%e7%ac%ac%e4%ba%8c%e5%9b%9e%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e7%94%9f%e6%94%be%e9%80%81%e5%8b%89%e5%bc%b7%e4%bc%9a%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97/</link>
		<comments>http://blog.sharplab.net/blog/2009/12/27/%e7%ac%ac%e4%ba%8c%e5%9b%9e%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e7%94%9f%e6%94%be%e9%80%81%e5%8b%89%e5%bc%b7%e4%bc%9a%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 04:23:11 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[C#Programing]]></category>
		<category><![CDATA[Gainer]]></category>
		<category><![CDATA[Pivot]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/cprograming/3295/</guid>
		<description><![CDATA[昨日開催された、 プログラミング生放送勉強会 第2回 ＠新宿に行ってきました。ニコニコ生放送のプログラミング関係のオフ会ということなのですが、自分はそれまでニコニコ生放送というものを見たことがなかったので、若干どんなノリの会なのか分からずに行ったのですが、まぁ、わんくま勉強会と似たようなノリで、楽しんで帰ることができました。やはり、動画でセッションの模様を中継でき、それに対する反応がネットの向こう側で観ている側から帰ってくるというインタラクションは大変面白いですね。ただ、帰ってくる反応も、ニコニコ動画のカルチャーに影響されているところがあり、もっとフォーマルなイベントで公式に使うのは難しいだろうなということも身をもって感じました。 さて肝心の内容。色々面白い話が多かったですが、.NET好きという自分の性格も手伝って、Live Labs Pivotの紹介話とXBox LIVE インディーズゲーム製作苦労話、Gainer紹介といくつかのLTが特に面白かったです。 Live Labs Pivotは、事前に名前しか知らずに行ったのですが、あれはある形式に則ったデータを食わせたら、それをSeaDragonテクノロジ他を使って綺麗に整理して見せるデモアプリケーションというイメージで良いんでしょうか。インビテーションを取得するのが手間そうなので実際に使ったわけでないのですが、デモを見る限りWPFで実装されているのかな？いつかLive wave xでWindows LiveやBingのオプション機能として、このようなインターフェイスがSiverlightを使って実装されて欲しいものです。 XBox LIVE インディーズゲームの話は、XBox LIVE インディーズゲームを実際に製作されている方が、製作にあたっての技術的でない苦労点を語ったセッションでした。やっぱり、家庭用ゲームコンソールで動くゲームを作って販売できるというのは大変魅力的な話のようですが、それに見合った苦労もされていうようで、iPhoneアプリ同様アメリカへの税金払い方の話だとか、表現の規制に関する話だとか、インターフェイスに使う言語の話だとか。表現の規制の話は、まぁ家庭用ゲーム機なら控えめにならざるを得ないというのはよくわかる話だったのですが、ゲームのインターフェイスに使われる言語に、日本向けのゲームにアルファベットが使われているだけで外国人からピアレビューで差し戻しを受けて直さざるを得なかったというのは、どう考えても運営方針が間違っているような。。まだ始まったばかりの仕組みなので運営側も試行錯誤している段階なのでしょうが、聞いている限りだと、製作者と運営側のコミュニケーションロスによる問題のような気も。やっぱり海外で作られているスキームを使う場合には、こちらも交渉できるだけの英語力が求められるのだなぁと勝手に納得してました。 Gainer。イケメンのための雑誌の方じゃないよ、電子工作の方だよ、というギャグほか、スピーカーの方のしゃべりの上手さに大いに笑わせてもらったセッションでした。Gainer、面白そうですね。なんちゃって理系ですらないSFCでぼんやり過ごしていると、電子工作方面への知識が全く欠けているのですが、Gainerは自分みたいな高級言語ばっかり触っている人間が電子工作始めるのに最適なおもちゃだということがよく分かりました。PCの中に立てたローカルなサーバーを叩いてやるだけでいいというのは非常に手軽ですね。。近いうちに買いたいと思います。 そいういえば場所はMicrosoftの新宿オフィスのセッションルームの一室だったのですが、新宿のサザンテラス口側は結構イルミネーションが綺麗なんですね。向かいの高島屋や紀伊国屋側も綺麗ですし。]]></description>
			<content:encoded><![CDATA[<p>昨日開催された、 <a href="http://co9320.spaces.live.com/blog/cns!F8FA3BD6ABDDDB63!224.entry">プログラミング生放送勉強会 第2回 ＠新宿</a>に行ってきました。ニコニコ生放送のプログラミング関係のオフ会ということなのですが、自分はそれまでニコニコ生放送というものを見たことがなかったので、若干どんなノリの会なのか分からずに行ったのですが、まぁ、わんくま勉強会と似たようなノリで、楽しんで帰ることができました。やはり、動画でセッションの模様を中継でき、それに対する反応がネットの向こう側で観ている側から帰ってくるというインタラクションは大変面白いですね。ただ、帰ってくる反応も、ニコニコ動画のカルチャーに影響されているところがあり、もっとフォーマルなイベントで公式に使うのは難しいだろうなということも身をもって感じました。</p>
<p>さて肝心の内容。色々面白い話が多かったですが、.NET好きという自分の性格も手伝って、Live Labs Pivotの紹介話とXBox LIVE インディーズゲーム製作苦労話、Gainer紹介といくつかのLTが特に面白かったです。</p>
<p>Live Labs Pivotは、事前に名前しか知らずに行ったのですが、あれはある形式に則ったデータを食わせたら、それをSeaDragonテクノロジ他を使って綺麗に整理して見せるデモアプリケーションというイメージで良いんでしょうか。インビテーションを取得するのが手間そうなので実際に使ったわけでないのですが、デモを見る限りWPFで実装されているのかな？いつかLive wave xでWindows LiveやBingのオプション機能として、このようなインターフェイスがSiverlightを使って実装されて欲しいものです。</p>
<p>XBox LIVE インディーズゲームの話は、XBox LIVE インディーズゲームを実際に製作されている方が、製作にあたっての技術的でない苦労点を語ったセッションでした。やっぱり、家庭用ゲームコンソールで動くゲームを作って販売できるというのは大変魅力的な話のようですが、それに見合った苦労もされていうようで、iPhoneアプリ同様アメリカへの税金払い方の話だとか、表現の規制に関する話だとか、インターフェイスに使う言語の話だとか。表現の規制の話は、まぁ家庭用ゲーム機なら控えめにならざるを得ないというのはよくわかる話だったのですが、ゲームのインターフェイスに使われる言語に、日本向けのゲームにアルファベットが使われているだけで外国人からピアレビューで差し戻しを受けて直さざるを得なかったというのは、どう考えても運営方針が間違っているような。。まだ始まったばかりの仕組みなので運営側も試行錯誤している段階なのでしょうが、聞いている限りだと、製作者と運営側のコミュニケーションロスによる問題のような気も。やっぱり海外で作られているスキームを使う場合には、こちらも交渉できるだけの英語力が求められるのだなぁと勝手に納得してました。</p>
<p>Gainer。イケメンのための雑誌の方じゃないよ、電子工作の方だよ、というギャグほか、スピーカーの方のしゃべりの上手さに大いに笑わせてもらったセッションでした。Gainer、面白そうですね。なんちゃって理系ですらないSFCでぼんやり過ごしていると、電子工作方面への知識が全く欠けているのですが、Gainerは自分みたいな高級言語ばっかり触っている人間が電子工作始めるのに最適なおもちゃだということがよく分かりました。PCの中に立てたローカルなサーバーを叩いてやるだけでいいというのは非常に手軽ですね。。近いうちに買いたいと思います。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020471.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="P1020471" border="0" alt="P1020471" align="right" src="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020471_thumb.jpg" width="324" height="244" /></a>そいういえば場所はMicrosoftの新宿オフィスのセッションルームの一室だったのですが、新宿のサザンテラス口側は結構イルミネーションが綺麗なんですね。向かいの高島屋や紀伊国屋側も綺麗ですし。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/12/27/%e7%ac%ac%e4%ba%8c%e5%9b%9e%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e7%94%9f%e6%94%be%e9%80%81%e5%8b%89%e5%bc%b7%e4%bc%9a%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Express 5800/S70が来た！</title>
		<link>http://blog.sharplab.net/blog/2009/12/22/express-5800s70%e3%81%8c%e6%9d%a5%e3%81%9f%ef%bc%81/</link>
		<comments>http://blog.sharplab.net/blog/2009/12/22/express-5800s70%e3%81%8c%e6%9d%a5%e3%81%9f%ef%bc%81/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 13:06:47 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Express 5800/S70]]></category>
		<category><![CDATA[FreeNAS]]></category>
		<category><![CDATA[InstallManiax]]></category>
		<category><![CDATA[openfiler]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/uncategorized/3290/</guid>
		<description><![CDATA[先日申し込んでいたインストールマニアックス3 Hyper-V祭り、ありがたいことに当選しまして参加できることになり、昨日の朝、NEC Express 5800/S70が家に届きました。インストールマニアックスとは、 WindowsサーバーにOSSをいくつインストールできるかを競うコンテストです。参加者は、無償で提供されたサーバーハードウェアとOSを使い、Windows+IISを使用してできるだけ多くのソフトウェアインストールを行い、その評価点を競います。 というイベントです。Windows Web Server 2008 R2とOSSの親和性の高さをプロモーションしたいということなんでしょうね。ハードウェアはそのまま頂けるという話なので、こちらとしてもこのようなイベントは嬉しい限りです。こちらが届いたマシン： 今回のインストールマニアックスは、Hyper-Vで仮想化した環境上でWindows Web Serverを動かせ、という条件付きなので、それに合わせて配布されるハードウェアも大盤振る舞いで、CPUはIntel Core2 Duo CPU E7400 @ 2.80GHz、メモリは2GBという構成。 というわけで早速開腹作業。 このマシンのために前日買っておいた1TBのHDDの増設をしました。このイベントで使う分には元々積まれていた分で多分十分なのですが、ちょっとWindows Web Serverをインストールする前にやりたいことがありまして。。それはESXi ServerのDatastoreとしているExpress 5800/110aのメンテ。110aは1TBのHDDを増設したうえでFreeNASを入れ、iSCSIターゲットサーバーとしてESXi ServerのDatastoreとして動かしているものなのですが、どうも大量にファイルアクセスしたときに落ちたり、Windowsファイル共有の転送速度が思うように上がらなかったりするので、openfilerにOSを入れ替えようと考えており、一時的にVMのイメージを退避する為に今回届いたS70を使うことにしました。というわけでopenfilerをインストール。 うん、いい感じ。]]></description>
			<content:encoded><![CDATA[<p>先日申し込んでいた<a title="http://www.thinkit.co.jp/maniax/3/index.html" href="http://www.thinkit.co.jp/maniax/3/index.html">インストールマニアックス3 Hyper-V祭り</a>、ありがたいことに当選しまして参加できることになり、昨日の朝、NEC Express 5800/S70が家に届きました。インストールマニアックスとは、</p>
<blockquote><p>WindowsサーバーにOSSをいくつインストールできるかを競うコンテストです。参加者は、無償で提供されたサーバーハードウェアとOSを使い、Windows+IISを使用してできるだけ多くのソフトウェアインストールを行い、その評価点を競います。</p>
</blockquote>
<p>というイベントです。Windows Web Server 2008 R2とOSSの親和性の高さをプロモーションしたいということなんでしょうね。ハードウェアはそのまま頂けるという話なので、こちらとしてもこのようなイベントは嬉しい限りです。こちらが届いたマシン：</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020451.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020451" border="0" alt="P1020451" src="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020451_thumb.jpg" width="484" height="364" /></a></p>
<p>今回のインストールマニアックスは、Hyper-Vで仮想化した環境上でWindows Web Serverを動かせ、という条件付きなので、それに合わせて配布されるハードウェアも大盤振る舞いで、CPUはIntel Core2 Duo CPU E7400 @ 2.80GHz、メモリは2GBという構成。</p>
<p>というわけで早速開腹作業。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020454.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020454" border="0" alt="P1020454" src="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020454_thumb.jpg" width="484" height="364" /></a></p>
<p>このマシンのために前日買っておいた1TBのHDDの増設をしました。このイベントで使う分には元々積まれていた分で多分十分なのですが、ちょっとWindows Web Serverをインストールする前にやりたいことがありまして。。それはESXi ServerのDatastoreとしている<a href="http://nttxstore.jp/_II_P812921544">Express 5800/110a</a>のメンテ。110aは1TBのHDDを増設したうえでFreeNASを入れ、iSCSIターゲットサーバーとしてESXi ServerのDatastoreとして動かしているものなのですが、どうも大量にファイルアクセスしたときに落ちたり、Windowsファイル共有の転送速度が思うように上がらなかったりするので、openfilerにOSを入れ替えようと考えており、一時的にVMのイメージを退避する為に今回届いたS70を使うことにしました。というわけでopenfilerをインストール。</p>
<p><a href="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020462.jpg" rel="lightbox"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020462" border="0" alt="P1020462" src="http://blog.sharplab.net/wp-content/uploads/2009/12/P1020462_thumb.jpg" width="304" height="229" /></a><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/12/image.png" width="304" height="184" /></p>
<p>うん、いい感じ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/12/22/express-5800s70%e3%81%8c%e6%9d%a5%e3%81%9f%ef%bc%81/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>めっきり投稿が減りましたが、、、</title>
		<link>http://blog.sharplab.net/blog/2009/11/22/%e3%82%81%e3%81%a3%e3%81%8d%e3%82%8a%e6%8a%95%e7%a8%bf%e3%81%8c%e6%b8%9b%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%81%8c%e3%80%81%e3%80%81%e3%80%81/</link>
		<comments>http://blog.sharplab.net/blog/2009/11/22/%e3%82%81%e3%81%a3%e3%81%8d%e3%82%8a%e6%8a%95%e7%a8%bf%e3%81%8c%e6%b8%9b%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%81%8c%e3%80%81%e3%80%81%e3%80%81/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 14:11:00 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/blog/3280/</guid>
		<description><![CDATA[生きてます。 なんだかんだ言って、やっぱり投稿が減った原因はTwitterですね。。Twitterの方が、圧倒的に書くのが手軽だし、何か書いた時に貰えるレスポンスが多いし、でBlogをサボってしまっています。良くないですね。別にTwitterで良いじゃん、Blog書かないでも、という考え方もあるのでしょうが、やっぱり良くないと自分は感じていて、というのは、やはり、Twitterというサービスは、Blog以上にリアルタイムのストリーム的な特性が強く、Tweetの内容が、その時自分をフォローしてくれている人にしか届かず、後からその情報を求めてGoogleなどで検索した人に上手く届けることができないのが問題だと思っています。これは、Twitterのサイト構造が、古いTweetを積極的に見せようとしていないということ以上に、140文字という文字数制限が、Tweetのコンテキストを削ぎ落としてしまっており、検索に引っかかりにくくなっているというのがあります。ぼちぼちまた書いて行きたいなぁと思っています。]]></description>
			<content:encoded><![CDATA[<p>生きてます。</p>
<p>なんだかんだ言って、やっぱり投稿が減った原因はTwitterですね。。Twitterの方が、圧倒的に書くのが手軽だし、何か書いた時に貰えるレスポンスが多いし、でBlogをサボってしまっています。良くないですね。別にTwitterで良いじゃん、Blog書かないでも、という考え方もあるのでしょうが、やっぱり良くないと自分は感じていて、というのは、やはり、Twitterというサービスは、Blog以上にリアルタイムのストリーム的な特性が強く、Tweetの内容が、その時自分をフォローしてくれている人にしか届かず、後からその情報を求めてGoogleなどで検索した人に上手く届けることができないのが問題だと思っています。これは、Twitterのサイト構造が、古いTweetを積極的に見せようとしていないということ以上に、140文字という文字数制限が、Tweetのコンテキストを削ぎ落としてしまっており、検索に引っかかりにくくなっているというのがあります。ぼちぼちまた書いて行きたいなぁと思っています。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/11/22/%e3%82%81%e3%81%a3%e3%81%8d%e3%82%8a%e6%8a%95%e7%a8%bf%e3%81%8c%e6%b8%9b%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%81%8c%e3%80%81%e3%80%81%e3%80%81/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自宅ネットワークのトポロジ図</title>
		<link>http://blog.sharplab.net/blog/2009/10/31/%e8%87%aa%e5%ae%85%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e3%81%ae%e3%83%88%e3%83%9d%e3%83%ad%e3%82%b8%e5%9b%b3/</link>
		<comments>http://blog.sharplab.net/blog/2009/10/31/%e8%87%aa%e5%ae%85%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e3%81%ae%e3%83%88%e3%83%9d%e3%83%ad%e3%82%b8%e5%9b%b3/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 03:22:34 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[GS2108A]]></category>
		<category><![CDATA[gt110a]]></category>
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/hardware/3277/</guid>
		<description><![CDATA[大学の授業で自宅のネットワークのトポロジ図を書けという課題が出たので、Visioの試用版を使い、見よう見まねで書いてみました。ちゃんとした書き方は教わっておらず、「思うように書け」ということだったので、おかしなところも多いでしょうが。。 &#160;&#160; こうしてみると、結構充実してますね。。 ここ一年ぐらい、自室の機器の増設にバイト代のかなりを注いでいて、気がついたこんな状態でした。 最近の変更としては、FreeNASを入れたNEC Express5800/GT110aを追加し、iSCSI Targetとして動かし始めたことでしょうか。また、それにあわせてGbE対応スイッチを無線イーサネットコンバータの下に設置し、自室内での通信をギガビット化しました。NEC Express5800/GT110aは、NEC製の激安PCサーバー。ほんと安いですねぇ、一万円台とは。NICがGbEに対応しているファイルサーバーが必要だっただけなので、これで十分です。これを買うに当たっては、ML115にも心惹かれたのですが、その時たまたまNTT-Xで品切れだったことから、今回は見送り（泣）。とまれ、これに1TBのHDD*2をRAID1を組むために増設し、FreeNAS 7.0RC1を入れれば立派なiSCSI Targetの出来上がりです。ZFSもサポートされているので、よくZFSはわかっていないのですが、使ってみています。 FreeNASでiSCSIターゲットを作って何に使っているかというと、先日構築したVMware ESXiのDataStoreとしています。VMware ESXiはハイパーバイザ方式で動作が軽いので、ついついVMを追加してしまうのですが、そうやってVMをたくさん作っていると、あっという間にHDDが食いつぶされていきます。もともと500GBのHDDを内蔵させて自作したマシンなのですが、ケースがShuttleのCube型ベアボーンなので、HDDを増設する余裕がありません。そこで、熱源を少しでも外に出す意味でも、またRAIDを組むためにも作ってみました。 ちなみにGbE対応スイッチは、NETGEARのGS2108A。折角iSCSI Targetを構築したのに、100BASE-TXでリンクアップしているのでは、USB接続のドライブにも劣る！ということで購入。金属筐体の方が良いとは聞きますが、8portで\4000切ってますし、三年保証さえついているので、アタリだったかなと考えています。]]></description>
			<content:encoded><![CDATA[<p>大学の授業で自宅のネットワークのトポロジ図を書けという課題が出たので、Visioの試用版を使い、見よう見まねで書いてみました。ちゃんとした書き方は教わっておらず、「思うように書け」ということだったので、おかしなところも多いでしょうが。。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/10/a3c096caf42c.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="家ネットワークトポロジ図" border="0" alt="家ネットワークトポロジ図" src="http://blog.sharplab.net/wp-content/uploads/2009/10/thumb.png" width="614" height="436" /></a>&#160;&#160; <br />こうしてみると、結構充実してますね。。 ここ一年ぐらい、自室の機器の増設にバイト代のかなりを注いでいて、気がついたこんな状態でした。</p>
<p>最近の変更としては、FreeNASを入れた<a href="http://nttxstore.jp/_II_P812921544">NEC Express5800/GT110a</a>を追加し、iSCSI Targetとして動かし始めたことでしょうか。また、それにあわせてGbE対応スイッチを無線イーサネットコンバータの下に設置し、自室内での通信をギガビット化しました。<a href="http://nttxstore.jp/_II_P812921544">NEC Express5800/GT110a</a>は、NEC製の激安PCサーバー。ほんと安いですねぇ、一万円台とは。NICがGbEに対応しているファイルサーバーが必要だっただけなので、これで十分です。これを買うに当たっては、ML115にも心惹かれたのですが、その時たまたまNTT-Xで品切れだったことから、今回は見送り（泣）。とまれ、これに1TBのHDD*2をRAID1を組むために増設し、FreeNAS 7.0RC1を入れれば立派なiSCSI Targetの出来上がりです。ZFSもサポートされているので、よくZFSはわかっていないのですが、使ってみています。</p>
<p>FreeNASでiSCSIターゲットを作って何に使っているかというと、先日構築したVMware ESXiのDataStoreとしています。VMware ESXiはハイパーバイザ方式で動作が軽いので、ついついVMを追加してしまうのですが、そうやってVMをたくさん作っていると、あっという間にHDDが食いつぶされていきます。もともと500GBのHDDを内蔵させて自作したマシンなのですが、ケースがShuttleのCube型ベアボーンなので、HDDを増設する余裕がありません。そこで、熱源を少しでも外に出す意味でも、またRAIDを組むためにも作ってみました。</p>
<p>ちなみにGbE対応スイッチは、NETGEARの<a href="http://nttxstore.jp/_IIUL_NG12201818_goorct_goorct">GS2108A</a>。折角iSCSI Targetを構築したのに、100BASE-TXでリンクアップしているのでは、USB接続のドライブにも劣る！ということで購入。金属筐体の方が良いとは聞きますが、8portで\4000切ってますし、三年保証さえついているので、アタリだったかなと考えています。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/10/31/%e8%87%aa%e5%ae%85%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e3%81%ae%e3%83%88%e3%83%9d%e3%83%ad%e3%82%b8%e5%9b%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 WHOPPER食べてきました。。</title>
		<link>http://blog.sharplab.net/blog/2009/10/24/windows-7-whopper%e9%a3%9f%e3%81%b9%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f%e3%80%82%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2009/10/24/windows-7-whopper%e9%a3%9f%e3%81%b9%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f%e3%80%82%e3%80%82/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 04:57:01 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[BURGER KING]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows 7 WHOPPER]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/life/diary/3274/</guid>
		<description><![CDATA[Windows 7発売記念プロモーションの一環としてBURGER KINGから期間限定で発売されたWindows 7 WHOPPER食べてきました。 これ、隣に置いてあるのiPod Touchなんだぜ…。どんだけ大きいんだ。 完食した自分偉い。よく頑張った。。]]></description>
			<content:encoded><![CDATA[</p>
<p>Windows 7発売記念プロモーションの一環として<a href="http://www.burgerkingjapan.co.jp/news/win7.php">BURGER KINGから期間限定で発売されたWindows 7 WHOPPER</a>食べてきました。</p>
<p>これ、隣に置いてあるのiPod Touchなんだぜ…。どんだけ大きいんだ。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/10/img_001.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMAGE_332.JPG" border="0" alt="IMAGE_332.JPG" src="http://blog.sharplab.net/wp-content/uploads/2009/10/img_001_thumb.jpg" width="614" height="462" /></a> </p>
<p>完食した自分偉い。よく頑張った。。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/10/24/windows-7-whopper%e9%a3%9f%e3%81%b9%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f%e3%80%82%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>E30HT</title>
		<link>http://blog.sharplab.net/blog/2009/10/10/e30ht/</link>
		<comments>http://blog.sharplab.net/blog/2009/10/10/e30ht/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 16:36:35 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[E30HT]]></category>
		<category><![CDATA[Touch Diamond]]></category>
		<category><![CDATA[Touch Pro]]></category>
		<category><![CDATA[WindowsMobile]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/hardware/3270/</guid>
		<description><![CDATA[研究室にAU初のスマートフォン、E30HTが届きました。いわゆるTouch Pro。なんかのプロジェクトで使う端末らしいです。折角なので姉妹機である自分のTouch Diamondと並べてみました。 Touch Proのキーボードがある側だけでTouch Diamondと同じ厚みがある。。まぁ、Touch Diamondが薄くて良い端末だと信じることにします（ぇ]]></description>
			<content:encoded><![CDATA[<p>研究室にAU初のスマートフォン、E30HTが届きました。いわゆるTouch Pro。なんかのプロジェクトで使う端末らしいです。折角なので姉妹機である自分のTouch Diamondと並べてみました。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/10/091005_150201.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="091005_1502~01" border="0" alt="091005_1502~01" src="http://blog.sharplab.net/wp-content/uploads/2009/10/091005_150201_thumb.jpg" width="404" height="244" /></a> <a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/10/091005_150801.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="091005_1508~01" border="0" alt="091005_1508~01" src="http://blog.sharplab.net/wp-content/uploads/2009/10/091005_150801_thumb.jpg" width="404" height="244" /></a></p>
<p>Touch Proのキーボードがある側だけでTouch Diamondと同じ厚みがある。。まぁ、Touch Diamondが薄くて良い端末だと信じることにします（ぇ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/10/10/e30ht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPod Touch買いました。</title>
		<link>http://blog.sharplab.net/blog/2009/10/10/ipod-touch%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2009/10/10/ipod-touch%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 16:22:11 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Byline]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[WindowsMobile]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/hardware/3265/</guid>
		<description><![CDATA[良い良いと巷で人気のiPhone/iPod Touch。いったいどれほどのものかということで、つい新iPod Touch 32GB買ってしまいました。いやホント良いですねコレ。Windows Mobileのもっさり感に慣らされた身としては、どうしてこれほどヌルヌルUIが反応するのか不思議でなりません。これがGPUのサポートの威力なのでしょうか。。 本当に生活スタイルを変化させるシロモノで、移動中はほぼiPod Touchを弄っています。様々なアプリの中でも、一番気に入っているのはBylineというRSSリーダー。Google Readerと同期が可能なRSSリーダーで、エントリのパーマリンクが紐付けられたページのキャッシングにも対応しているタイプのものです。朝、家を出るまでにWifiにぶら下がって新着のエントリをダウンロードしておき、通学中にバシバシRSSの消化を行い、大学に着いたら、同じくGoogle Readerと同期させているFeed DemonというRSSリーダーで残りや、詳しく読み込む必要のあるエントリを消化するというサイクルを確立することが出来ました。 一応E-Mobile版Touch Diamondの方にはWifi Routerという、Windows Mobile端末を無線LANのAP化するアプリを入れ、移動中もネットが使えるようにしているので、カメラがない以外はiPhoneっぽいことが出来るようにしているので中々快適です。 ただ、不満もないわけではなく、例えば、マルチタスクをサポートしていないのは残念な点です。上でBylineのキャッシングについて述べましたが、Bylineがキャッシュを作成している間にも、並行して他のアプリにキャッシュを作らせるというようなことが出来ないのが不便です。Bylineの同期作業が終わるのを待って、GNReaderなり、他のアプリを起動しなければならないわけですから。この点では、Androidの方が自分の好みに合ったつくりになっていると聞いているので、期待したいものです。]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/10/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blog.sharplab.net/wp-content/uploads/2009/10/image_thumb.png" width="218" height="278" /></a> 良い良いと巷で人気のiPhone/iPod Touch。いったいどれほどのものかということで、つい新iPod Touch 32GB買ってしまいました。いやホント良いですねコレ。Windows Mobileのもっさり感に慣らされた身としては、どうしてこれほどヌルヌルUIが反応するのか不思議でなりません。これがGPUのサポートの威力なのでしょうか。。</p>
<p>本当に生活スタイルを変化させるシロモノで、移動中はほぼiPod Touchを弄っています。様々なアプリの中でも、一番気に入っているのはBylineというRSSリーダー。Google Readerと同期が可能なRSSリーダーで、エントリのパーマリンクが紐付けられたページのキャッシングにも対応しているタイプのものです。朝、家を出るまでにWifiにぶら下がって新着のエントリをダウンロードしておき、通学中にバシバシRSSの消化を行い、大学に着いたら、同じくGoogle Readerと同期させているFeed DemonというRSSリーダーで残りや、詳しく読み込む必要のあるエントリを消化するというサイクルを確立することが出来ました。</p>
<p>一応E-Mobile版Touch Diamondの方にはWifi Routerという、Windows Mobile端末を無線LANのAP化するアプリを入れ、移動中もネットが使えるようにしているので、カメラがない以外はiPhoneっぽいことが出来るようにしているので中々快適です。</p>
<p>ただ、不満もないわけではなく、例えば、マルチタスクをサポートしていないのは残念な点です。上でBylineのキャッシングについて述べましたが、Bylineがキャッシュを作成している間にも、並行して他のアプリにキャッシュを作らせるというようなことが出来ないのが不便です。Bylineの同期作業が終わるのを待って、GNReaderなり、他のアプリを起動しなければならないわけですから。この点では、Androidの方が自分の好みに合ったつくりになっていると聞いているので、期待したいものです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/10/10/ipod-touch%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XREAのサーバーに設置したWordPressを自動バックアップする環境を整える</title>
		<link>http://blog.sharplab.net/blog/2009/09/26/xrea%e3%81%ae%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%ab%e8%a8%ad%e7%bd%ae%e3%81%97%e3%81%9fwordpress%e3%82%92%e8%87%aa%e5%8b%95%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%81%99/</link>
		<comments>http://blog.sharplab.net/blog/2009/09/26/xrea%e3%81%ae%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%ab%e8%a8%ad%e7%bd%ae%e3%81%97%e3%81%9fwordpress%e3%82%92%e8%87%aa%e5%8b%95%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%81%99/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 13:35:35 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CoreServer]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[pdumpfs]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[XREA]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/wordpress/3259/</guid>
		<description><![CDATA[みんな大好きWordPress。だからこそ、データが飛んでしまうのはなんとしても避けたいもの。そのためには、常日頃からデータのバックアップを取っておくのが重要なのですが、いちいち手動でバックアップするのは手間なので、なるべく自動化しておきたいものです。バックアップしたいのは次の二つ：アップロードしたファイルとMySQLのダンプ。そこで、UNIX環境の勉強がてら、今このブログが設置されているXREAのサーバーから、ローカルに立てたサーバへ自動的にバックアップする体制を整えてみることにしました。今回のエントリではその方法をまとめてみました。 処理の流れ 今回XREAのサーバーに設置したWordPressのデータをバックアップするにあたっては、まず、XREAのサーバー側で、MySQLのデータをダンプし、圧縮をかけてファイルとして保存する、という処理を行います。その上で、ローカル側に設置したサーバーで、ryncという差分コピー可能なコマンドをつかい、SSHを通じてサーバーからMySQLのダンプしたデータや、アップロードした画像、WordPressの本体やプラグイン、テーマをひっくるめて同期します（Pull）。そして同期したディレクトリを元に、pdumpfsを使い世代別バックアップを作成します。この処理をcronで毎日実行してやるという流れです。 このように今回はcronやrsyncを使うために、ローカル側に、毎日その時間に起きているUNIXなマシンが必要になります。そのため今回のエントリは、ファイルサーバーにするなどで自宅サーバーを運用している人以外にはハードルが高いかも知れません。ただ、起きっぱなしのサーバーが家に一台あれば、前述のようにファイルサーバーに出来るなど何かと便利ですので、これを機に、自宅サーバー構築に手を出してみるのもおススメです:D 遊んでいるマシンがあるなら、それにLinuxを入れてしまうとか、遊んでいなくても常時起こしておけるWindowsマシンがあれば、VirtualBoxを入れてその中でLinuxを動かすとか、色々方法はあります。 バックアップ手順 まずは下ごしらえ。ローカルのサーバーからリモートのサーバー（XREA）に対して操作を行うわけですが、そのためにはSSHで接続できるようにしなければなりません。XREAへのSSHでの接続については、こちらのhiromasaさんの記事を参照。但し、今回は、バックアップの自動化が目的なので、そのプロセスで手動でのパスワードの入力を求められるのは困るので、パスフレーズを空にした鍵による公開鍵認証を使います。ssh-keygenを使ってローカルのサーバーで鍵ペアを作り、公開鍵をリモートのサーバー（XREA）に配置しましょう。鍵ペアの作り方についてはssh にてパスワードを使用しないでログインする方法を参照。 次にMySQLのダンプと圧縮。と言っても、難しいことは何もありません。これについてもhiromasaさんが既にサーバー側のcronで定期的にMySQLをダンプする方法についての記事を書かれています。これを使わせてもらいましょう。今回は、pdumpfsで世代別バックアップを取っているので、日付別に保存しないように改変したものを以下に示します。 #!/bin/sh # 設定(ここを自分に合わせる) DATABASE= DBUSERNAME= PASSWORD= XREAUSERNAME= BACKUPDIR= KEEPDAY=14 # 初期化(XREA/CORESERVER用) PREFIX=mysql SERVER=localhost NOWDATE=`date +%Y%m%d` DESTDIR=/virtual/$XREAUSERNAME/$BACKUPDIR # DUMPFILE=$PREFIX.$NOWDATE.dump DUMPFILE=$PREFIX.dump # TARFILE=$PREFIX.$NOWDATE.tar.gz TARFILE=$PREFIX.tar.gz OLDDATE=`date "-d$KEEPDAY days ago" +%Y%m%d` # MySQLダンプ/圧縮 cd $DESTDIR /usr/local/mysql/bin/mysqldump $DATABASE --host=$SERVER -u $DBUSERNAME --password=$PASSWORD &#62; $DUMPFILE tar zcvf $TARFILE $DUMPFILE # 処理判定 if [...]]]></description>
			<content:encoded><![CDATA[<p>みんな大好きWordPress。だからこそ、データが飛んでしまうのはなんとしても避けたいもの。そのためには、常日頃からデータのバックアップを取っておくのが重要なのですが、いちいち手動でバックアップするのは手間なので、なるべく自動化しておきたいものです。バックアップしたいのは次の二つ：アップロードしたファイルとMySQLのダンプ。そこで、UNIX環境の勉強がてら、今このブログが設置されているXREAのサーバーから、ローカルに立てたサーバへ自動的にバックアップする体制を整えてみることにしました。今回のエントリではその方法をまとめてみました。</p>
<h3>処理の流れ</h3>
<p>今回XREAのサーバーに設置したWordPressのデータをバックアップするにあたっては、まず、XREAのサーバー側で、MySQLのデータをダンプし、圧縮をかけてファイルとして保存する、という処理を行います。その上で、ローカル側に設置したサーバーで、ryncという差分コピー可能なコマンドをつかい、SSHを通じてサーバーからMySQLのダンプしたデータや、アップロードした画像、WordPressの本体やプラグイン、テーマをひっくるめて同期します（Pull）。そして同期したディレクトリを元に、pdumpfsを使い世代別バックアップを作成します。この処理をcronで毎日実行してやるという流れです。</p>
<p>このように今回はcronやrsyncを使うために、ローカル側に、毎日その時間に起きているUNIXなマシンが必要になります。そのため今回のエントリは、ファイルサーバーにするなどで自宅サーバーを運用している人以外にはハードルが高いかも知れません。ただ、起きっぱなしのサーバーが家に一台あれば、前述のようにファイルサーバーに出来るなど何かと便利ですので、これを機に、自宅サーバー構築に手を出してみるのもおススメです:D 遊んでいるマシンがあるなら、それにLinuxを入れてしまうとか、遊んでいなくても常時起こしておけるWindowsマシンがあれば、VirtualBoxを入れてその中でLinuxを動かすとか、色々方法はあります。</p>
<h3>バックアップ手順</h3>
<p>まずは下ごしらえ。ローカルのサーバーからリモートのサーバー（XREA）に対して操作を行うわけですが、そのためにはSSHで接続できるようにしなければなりません。XREAへのSSHでの接続については、<a href="http://another.maple4ever.net/archives/32/">こちらのhiromasaさんの記事</a>を参照。但し、今回は、バックアップの自動化が目的なので、そのプロセスで手動でのパスワードの入力を求められるのは困るので、パスフレーズを空にした鍵による公開鍵認証を使います。ssh-keygenを使ってローカルのサーバーで鍵ペアを作り、公開鍵をリモートのサーバー（XREA）に配置しましょう。鍵ペアの作り方については<a href="http://www.turbolinux.co.jp/support/document/knowledge/152.html">ssh にてパスワードを使用しないでログインする方法</a>を参照。</p>
<p>次にMySQLのダンプと圧縮。と言っても、難しいことは何もありません。これについてもhiromasaさんが既に<a href="http://another.maple4ever.net/archives/445/">サーバー側のcronで定期的にMySQLをダンプする方法についての記事</a>を書かれています。これを使わせてもらいましょう。今回は、pdumpfsで世代別バックアップを取っているので、日付別に保存しないように改変したものを以下に示します。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:e944ef81-0ac6-4f4d-825d-cf3296f44fac" class="wlWriterEditableSmartContent">
<pre name="code" class="py">#!/bin/sh

# 設定(ここを自分に合わせる)
DATABASE=
DBUSERNAME=
PASSWORD=
XREAUSERNAME=
BACKUPDIR=
KEEPDAY=14

# 初期化(XREA/CORESERVER用)
PREFIX=mysql
SERVER=localhost
NOWDATE=`date +%Y%m%d`
DESTDIR=/virtual/$XREAUSERNAME/$BACKUPDIR
# DUMPFILE=$PREFIX.$NOWDATE.dump
DUMPFILE=$PREFIX.dump
# TARFILE=$PREFIX.$NOWDATE.tar.gz
TARFILE=$PREFIX.tar.gz
OLDDATE=`date "-d$KEEPDAY days ago" +%Y%m%d`

# MySQLダンプ/圧縮
cd $DESTDIR
/usr/local/mysql/bin/mysqldump $DATABASE --host=$SERVER -u $DBUSERNAME --password=$PASSWORD &gt; $DUMPFILE
tar zcvf $TARFILE $DUMPFILE

# 処理判定
if [ $? != 0 -o ! -e $TARFILE ]; then
    echo "backup faild -- ($DUMPFILE)"
    exit 1
fi

# 圧縮前ファイル削除
rm -f $DUMPFILE

# n日ローテートを削除
#rmfile=$DESTDIR/$PREFIX.$OLDDATE.tar.gz
#if [ -e $rmfile ]; then
#    rm -f $rmfile
#fi</pre>
</div>
<p>cronの設定をしない以外は、記事の通りにXREAのサーバーに配置し、設定を書き換えてやれば大丈夫です。では、試しにSSHを通じてコマンドを発行し動かしてみましょう。ローカルのサーバーで以下のコマンドを実行してみましょう。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:0ec4eb0b-f11a-489f-8ea5-caced06ff28f" class="wlWriterEditableSmartContent">
<pre name="code" class="ruby">ssh -i &lt;秘密鍵へのパス&gt; &lt;XREAのユーザー名&gt;@&lt;サーバ名&gt; &lt;hiromasaさん製スクリプトへのパス&gt;

#ウチの環境だと以下のようになります。
ssh -i ./nopass sharplab@s333.xrea.com /virtual/sharplab/backup-mysql/mysqlbackup.sh</pre>
</div>
<p>動きましたか？動かない？SSHの接続が拒否された？それはもしかすると、XREAのサーバーにホスト情報を登録し忘れているせいかもしれません。hiromasaさんの先ほどの記事を参考に登録を行ってみましょう。</p>
<p>さて、とりあえず手動で登録すればよいことは分かりましたが、登録の有効期限は30日間だけに限られています。また、出先でSSHで繋ぐために別のIPアドレスを登録した場合、上書きされてしまい、再度登録しないと繋がらなくなってしまいます。そのため、ホスト情報の登録も自動化する必要があります。そこでこんなスクリプトをPythonで書いてみました。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:389ef65b-4ea6-402e-806f-c66c9f46df84" class="wlWriterEditableSmartContent">
<pre name="code" class="py">#!/usr/bin/env python
# vim:fileencoding=utf_8
import sys
import urllib
import re

#ここを書き換えてください
server = ''
username = ''
password = ''
ipaddressResponder = ''#'http://scripts.sharplab.net/ipaddress.php'//←ウチの場合

adminURL = 'http://%s/jp/admin.cgi' % server

try:
	ipRes = urllib.urlopen(ipaddressResponder)
	ipaddress = ipRes.read()
except:
	print u'Failed'
	sys.exit()

pattern = re.compile('\d+\.\d+\.\d+\.\d+')
if pattern.match(ipaddress) == None:
	print u'Failed'
	sys.exit();

values = {'id':username, 'pass':password,'remote_host':ipaddress,'ssh2':'SSH登録'}
data = urllib.urlencode(values)
print u'Registing ipaddress(%s)...'  % ipaddress
response = urllib.urlopen(adminURL,data)
try:
	response.read().decode('shift_jis').index(u'データベースに追加しました。反映には５〜１０分程度掛かります。')
	print u'Complete!'
except ValueError:
	print u'Failed.'
</pre>
</div>
<p>まず、前もって接続してきたホストのIPを返すPHPのページをサーバーに設置し（ipaddressResponder）、そこにアクセスすることでホストのIPアドレスを調べています。PHPのページのソースはこう。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:37dc2061-26d5-425f-8089-1229e92a5e02" class="wlWriterEditableSmartContent">
<pre name="code" class="php">&lt;?php
echo getenv("REMOTE_ADDR");
?&gt;
</pre>
</div>
<p>その上で、調べたホストのIPとユーザー名、パスワードをホストの登録ページにPOSTするだけの簡単なお仕事です。Cookieとか憶えないといけないかなと思ってPython Mechanize使おうとしたのですが、必要なかったです(笑) </p>
<p>さて、ここまでで、SSHを通してサーバー側でMySQLをダンプする処理と、SSHのためにホストを自動登録するスクリプトの準備が出来ました。では次はいよいよ本題、rsyncによるファイルのバックアップです。rsyncによるリモートバックアップは、リモートとSSHで繋げ、リモートにもrsyncが入っていれば使えると記憶していますが、XREAはどちらも満たしています。他のレンタルサーバーでも、SSHで繋げるところなら使えるところはあるかと思います。</p>
<p>ではrsyncのコマンドを。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d5ba4190-4bdb-4748-8613-d3ee421ad28d" class="wlWriterEditableSmartContent">
<pre name="code" class="c">&lt;rsyncへのパス&gt; -avz --delete -e 'ssh -i &lt;秘密鍵へのパス&gt;' &lt;XREAのユーザー名&gt;@&lt;サーバー名&gt;.xrea.com:&lt;バックアップしたいディレクトリへのパス&gt; &lt;同期先へのパス&gt;

#ウチの環境だと以下のようになります
./rsync/rsync -avz --delete -e 'ssh -i ./nopass' sharplab@s333.xrea.com:/virtual/sharplab/ ./sharplab/workspace
</pre>
</div>
<p>これでXREAのサーバーとローカルのサーバーの中身を同期させられます。rsyncは更新のあった差分のみをやり取りするので二度目以降は効率が上がるのが嬉しいですね！</p>
<p>そしてpdumpfs。同期したフォルダをソースに、世代別バックアップを作ってやります。pdumpfsはハードリンクを活用しているので、毎日世代別バックアップを取っても、更新がかかったファイル分位しか必要とする領域が増えないので使うのに気が楽ですね。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:5bbccc4f-913d-4115-b4ba-37582cdf0264" class="wlWriterEditableSmartContent">
<pre name="code" class="sql">pdumpfs &lt;ソースディレクトリ&gt; &lt;バックアップ先ディレクトリ&gt;

//ウチの環境だと以下のようになります
pdumpfs ./sharplab/workspace/ ./sharplab/backup/
</pre>
</div>
<p>ではこれらをまとめた上でcronに登録してみましょう。<br />
  <br />まずバックアップ処理手順をまとめたスクリプトを作成します。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:e0bde101-da72-402b-a64f-3e80bcfc4992" class="wlWriterEditableSmartContent">
<pre name="code" class="c">#サーバーに配置したMySQLのダンプ＆圧縮スクリプトを起動
ssh -i &lt;秘密鍵へのパス&gt; &lt;XREAのユーザー名&gt;@&lt;XREAのサーバー名&gt;.xrea.com &lt;hiromasaさん作のスクリプトへのパス&gt;
#サーバー全体をworkspaceディレクトリと同期
&lt;rsyncへのパス&gt;/rsync -avz --delete -e 'ssh -i &lt;秘密鍵へのパス&gt;' &lt;XREAのユーザー名&gt;@&lt;XREAのサーバー名&gt;.xrea.com:&lt;バックアップ対象としたいディレクトリへのパス&gt; &lt;一時保存先のディレクトリへのパス&gt;
#pdumpfsで世代別バックアップ
pdumpfs &lt;一時保存先のディレクトリ&gt; &lt;バックアップ先&gt;
</pre>
</div>
<p>そしてこれを毎日呼び出すようにcronを設定します。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:e82c32d7-e091-4124-8d11-a7f787a3348e" class="wlWriterEditableSmartContent">
<pre name="code" class="py">HOME=&lt;registHost.pyやbackup.shを配置したディレクトリ&gt;
#毎日午前四時 SSHを使うにあたり、ホスト情報をXREAに登録
0 4 * * * &lt;registHost.pyやbackup.shを配置したディレクトリ&gt;/registHost.py

#毎日午前四時十分 XREAのバックアップの本処理
10 4 * * * &lt;registHost.pyやbackup.shを配置したディレクトリ&gt;/backup.sh
</pre>
</div>
<p>さて、最後に忘れちゃいけない作業があります。</p>
<p>それはバックアップのリストア作業のテスト。バックアップをとったは良いけど、実はうまく取れていなくて、いざ必要になった時に使い物になりませんでしたでは悲しすぎます。忘れずにリストア出来るか確認しておきましょう。お疲れ様でした！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/09/26/xrea%e3%81%ae%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%ab%e8%a8%ad%e7%bd%ae%e3%81%97%e3%81%9fwordpress%e3%82%92%e8%87%aa%e5%8b%95%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UnhandledExceptionイベントは、サブスレッドの例外も捕捉可能</title>
		<link>http://blog.sharplab.net/blog/2009/09/23/unhandledexception%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%81%af%e3%80%81%e3%82%b5%e3%83%96%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e4%be%8b%e5%a4%96%e3%82%82%e6%8d%95%e6%8d%89%e5%8f%af%e8%83%bd/</link>
		<comments>http://blog.sharplab.net/blog/2009/09/23/unhandledexception%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%81%af%e3%80%81%e3%82%b5%e3%83%96%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e4%be%8b%e5%a4%96%e3%82%82%e6%8d%95%e6%8d%89%e5%8f%af%e8%83%bd/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 06:35:02 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[C#Programing]]></category>
		<category><![CDATA[Async Operation]]></category>
		<category><![CDATA[BeginInvoke]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[UnhandledException]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/cprograming/3253/</guid>
		<description><![CDATA[以前あげたC# .NETアプリケーション開発 徹底攻略 Listing2.26への疑問 &#8211; SharpLab.というエントリに対して、なちゃさんから、 なちゃ 09-09-23 09:15:19 JST 本来、デリゲートでBeginInvokeした場合は、必ずEndInvokeする必要がありますね。 リソースリークなども発生する危険があります。 ※デリゲート以外でもBegin～系は基本的には同じですが EndInvokeさえすれば、きちんと発生した例外がスローされてきます。 けして例外が握りつぶされているのではなく、正しく使っていないために握りつぶされているように見えているだけですね。 ちょっと書籍の記述がまずいと思います。 という指摘がありました。なるほど！指摘の通り、Begin EndパターンなのでEndInvokeを必ず呼び出す必要がありました。恥ずかしながらすっかり失念していました。。というわけでEndInvokeを使うように修正。 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Threading; namespace SharpLab.ThreadExceptionTest { static class Program { static Form form; /// &#60;summary&#62; /// アプリケーションのメイン エントリ ポイントです。 /// &#60;/summary&#62; [STAThread] static void Main() { Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); [...]]]></description>
			<content:encoded><![CDATA[<p>以前あげた<a href="http://blog.sharplab.net/computer/cprograming/3149/#comments">C# .NETアプリケーション開発 徹底攻略 Listing2.26への疑問 &#8211; SharpLab.</a>というエントリに対して、なちゃさんから、</p>
<blockquote><p>なちゃ 09-09-23 09:15:19 JST </p>
<p>本来、デリゲートでBeginInvokeした場合は、必ずEndInvokeする必要がありますね。      <br />リソースリークなども発生する危険があります。       <br />※デリゲート以外でもBegin～系は基本的には同じですが </p>
<p>EndInvokeさえすれば、きちんと発生した例外がスローされてきます。      <br />けして例外が握りつぶされているのではなく、正しく使っていないために握りつぶされているように見えているだけですね。       <br />ちょっと書籍の記述がまずいと思います。</p>
</blockquote>
<p>という指摘がありました。なるほど！指摘の通り、Begin EndパターンなのでEndInvokeを必ず呼び出す必要がありました。恥ずかしながらすっかり失念していました。。というわけでEndInvokeを使うように修正。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c1a69e42-940e-4c04-9db2-55c28372650c" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Threading;

namespace SharpLab.ThreadExceptionTest {
	static class Program {

		static Form form;

		/// &lt;summary&gt;
		/// アプリケーションのメイン エントリ ポイントです。
		/// &lt;/summary&gt;
		[STAThread]
		static void Main() {

			Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
			Thread.GetDomain().UnhandledException += new UnhandledExceptionEventHandler(Program_UnhandledException);

			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			form = new Form();
			Application.Run(new Form1());
		}

		static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) {
			MessageBox.Show(e.Exception.Message);
		}

		static void Program_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
			Exception ex = (Exception)e.ExceptionObject;
			MessageBox.Show(ex.Message);
			Application.Exit();
			Environment.Exit(0);
		}

	}
}</pre>
</div>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:f2bb3009-b823-403f-b67d-997f4b5d6ba4" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace SharpLab.ThreadExceptionTest {
	public partial class Form1 : Form {
		public Form1() {
			InitializeComponent();
		}

		private delegate void SampleDelegate();

		private void button1_Click(object sender, EventArgs e) {

			SampleDelegate a = new SampleDelegate(ThreadMethod);
			a.BeginInvoke((asyncResult) =&gt; {
				a.EndInvoke(asyncResult);
			}, null);
		}

		private void ThreadMethod() {
			//意図的に起こした例外
			Thread.Sleep(5000);
			throw new Exception("非同期スレッドで起こった例外です。");
		}

	}
}</pre>
</div>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image9.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb9.png" width="304" height="235" /></a></p>
<p>こんな感じでしょうか。ちゃんとサブスレッドで例外が発生した時にUnhandledExceptionが呼び出されるようになりました！これで正しく確実な終了処理ができそうです。サブスレッドの処理内容をすべてtry~catchで括って必要に応じて例外をリスローする必要があると憶えていたのですが、そうではなかったのですね。いつもtry~catch書きながらなんかおかしい気がしていたのですが、これですっきりしました。なちゃさん、ありがとうございました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/09/23/unhandledexception%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%81%af%e3%80%81%e3%82%b5%e3%83%96%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e4%be%8b%e5%a4%96%e3%82%82%e6%8d%95%e6%8d%89%e5%8f%af%e8%83%bd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Webkit.NETのDOMをJavaScriptを使って操作する方法</title>
		<link>http://blog.sharplab.net/blog/2009/09/18/webkit-net%e3%81%aedom%e3%82%92javascript%e3%81%8b%e3%82%89%e6%93%8d%e4%bd%9c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.sharplab.net/blog/2009/09/18/webkit-net%e3%81%aedom%e3%82%92javascript%e3%81%8b%e3%82%89%e6%93%8d%e4%bd%9c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 06:50:21 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[C#Programing]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Webkit]]></category>
		<category><![CDATA[Webkit.NET]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/cprograming/3249/</guid>
		<description><![CDATA[前のエントリで紹介したWebkit.NETはまだC#などのコードからDOMにアクセスする方法は実装中であるため、正式には提供されていません。提供されているのは基本的なナビゲーションなどに限られています。そのため、出来ることは相当制限されています。がしかし、表示されているページの中でJavaScriptのコードを実行させる方法がForumに上がっていましたので紹介します。これがあれば多少の助けにはなりそうです。 ソースコードはこんな感じ。 private void button1_Click(object sender, EventArgs e) { FieldInfo fi = typeof(WebKitBrowser).GetField("webView", BindingFlags.NonPublic&#124; BindingFlags.Instance); WebView webView = (WebView)fi.GetValue(this.webBrowser1); webView.stringByEvaluatingJavaScriptFromString(@"document.body.innerHTML = 'Hello Webkit DOM!';"); } リフレクションを使っています。WebKitBrowserにはwebViewというprivateなメンバがあり、それはWebViewインターフェイスを実装しています。このwebViewをリフレクションで取得し、そのメンバにstringByEvaluatingJavaScriptFromStringというJavaScriptコードを引数として渡してやると実行してくれるメソッドがあるので、これを利用するという方法です。このメソッドの戻り値の型はstringなのですが、実行結果を取得することはどうもできないようです。 WebViewの他のメンバの実装がどれぐらい進んでいるかはまだ試していないのでわからないのですが、WebViewについては、Webkitですし、Cocoaのリファレンスを参照するとよさそうな感じがします。]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sharplab.net/computer/cprograming/3247/">前のエントリ</a>で紹介した<a href="http://webkitdotnet.sourceforge.net/">Webkit.NET</a>はまだC#などのコードからDOMにアクセスする方法は実装中であるため、正式には提供されていません。提供されているのは基本的なナビゲーションなどに限られています。そのため、出来ることは相当制限されています。がしかし、<a href="http://sourceforge.net/projects/webkitdotnet/forums/forum/939856/topic/3348839">表示されているページの中でJavaScriptのコードを実行させる方法</a>がForumに上がっていましたので紹介します。これがあれば多少の助けにはなりそうです。</p>
<p>ソースコードはこんな感じ。</p>
</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:2d249c4a-6133-4423-94ea-81a41deebc0b" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">private void button1_Click(object sender, EventArgs e) {
    FieldInfo fi = typeof(WebKitBrowser).GetField("webView", BindingFlags.NonPublic| BindingFlags.Instance);
    WebView webView = (WebView)fi.GetValue(this.webBrowser1);
    webView.stringByEvaluatingJavaScriptFromString(@"document.body.innerHTML = 'Hello Webkit DOM!';");
}</pre>
</div>
<p>リフレクションを使っています。WebKitBrowserにはwebViewというprivateなメンバがあり、それはWebViewインターフェイスを実装しています。このwebViewをリフレクションで取得し、そのメンバにstringByEvaluatingJavaScriptFromStringというJavaScriptコードを引数として渡してやると実行してくれるメソッドがあるので、これを利用するという方法です。このメソッドの戻り値の型はstringなのですが、実行結果を取得することはどうもできないようです。 WebViewの他のメンバの実装がどれぐらい進んでいるかはまだ試していないのでわからないのですが、WebViewについては、Webkitですし、Cocoaのリファレンスを参照するとよさそうな感じがします。 </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/09/18/webkit-net%e3%81%aedom%e3%82%92javascript%e3%81%8b%e3%82%89%e6%93%8d%e4%bd%9c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webkit.NETを触ってみた</title>
		<link>http://blog.sharplab.net/blog/2009/09/18/webkit-net%e3%82%92%e8%a7%a6%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://blog.sharplab.net/blog/2009/09/18/webkit-net%e3%82%92%e8%a7%a6%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 16:52:13 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[C#Programing]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Webkit]]></category>
		<category><![CDATA[Webkit.NET]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/computer/cprograming/3247/</guid>
		<description><![CDATA[「C#凄い使いやすくて良い言語なんだけど、WebBrowserコントロールは残念だよなー、Trident最近頑張ってるんだけどWebkitとかに比べるとまだまだだよなー」とか常日頃から感じていたのですが、ふと「WebkitをC#から扱うためのラッパーとか探せばあるんじゃね？」という思いつきで「Webkit .net」とググってみると、ありましたありました、「Webkit.NET」というまんまなタイトルのプロジェクトが。オープンソース恐るべし。コンパイル済みのバイナリと共に、サンプルアプリがあったので実行してみました。 ･･･なにこれ凄い。日本語も全く普通に通りますし、普通に使えそうです。というわけで自分でもテスト用にWinFormsプロジェクトを作って動かすテストをしてみたので、メモを残しておきます。 まず、WebKit.NETライブラリをWebKit .NET &#124; Get WebKit .NET at SourceForge.netからDLしてきます。その中のbinフォルダ内のファイルがライブラリを構成しています。WebKitBrowser.dllがC#から参照するラッパーです。 まず、WebKitBrowserをツールボックスに追加してやります。ツールボックスのコンテキストメニューの「アイテムの選択」という項目をクリックします。 この際、ダイアログが表示されるまで、めちゃ重たいかもしれませんが、ぐっとこらえましょう。 そして参照ボタンをクリックして、WebKitBrowser.dllを選択してやれば、ツールボックスにWebKitBrowserが追加されます。 あとは普通にコントロールをポトベタしておわり…でもありません。。 まず、プロジェクトのプロパティから、プラットフォームターゲットをx86に設定します。Webkitは、現在、x86版のみ提供されているそうです。 続いて、デバッグのタブにある、「Visual Studio ホスティング プロセスを有効にする」という項目のチェックを外します。Visual Studioホスティングプロセスは、Visual Studioでのデバッグを効率化させるためのもののようですが、今回のようにアンマネージドコードを連携する場合は上手く働かず、エラーの原因になることがあるようです（Visual Studioホスティングプロセスの解説：VSホスト・プロセス（*.vshost.exe）とは何か？［VS 2005のみ、C#、VB］ － ＠IT）。これが原因のエラーにぶつかって、@JZ5さんに助けを求めたところ、このオプションを教えていただけました。ありがとうございました。 こうしてビルドした上で、最後に仕上げに、ビルドして出来た実行ファイルやWebKitBrowser.dllと同じディレクトリに、Webkit本体であるWebkit.dllや、その依存するdll群を放り込みます。ビルド後のイベントでコピーするコマンドを発行してやると良いようです。 というわけで出来ました。よいよい。素晴らしい。DOM周りのメンバの実装が未だらしく、出来ることは結構限定されていますが、Monoでも動かせるようにしたいよねー、とREADMEに書かれていたりと、これからの進展に期待したいプロジェクトです。]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb1.png" width="244" height="142" /></a> 「C#凄い使いやすくて良い言語なんだけど、WebBrowserコントロールは残念だよなー、Trident最近頑張ってるんだけどWebkitとかに比べるとまだまだだよなー」とか常日頃から感じていたのですが、ふと「WebkitをC#から扱うためのラッパーとか探せばあるんじゃね？」という思いつきで「Webkit .net」とググってみると、ありましたありました、「Webkit.NET」というまんまなタイトルのプロジェクトが。オープンソース恐るべし。コンパイル済みのバイナリと共に、サンプルアプリがあったので実行してみました。 </p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image2.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb2.png" width="404" height="267" /></a></p>
<p>･･･なにこれ凄い。日本語も全く普通に通りますし、普通に使えそうです。というわけで自分でもテスト用にWinFormsプロジェクトを作って動かすテストをしてみたので、メモを残しておきます。</p>
<p>まず、WebKit.NETライブラリを<a href="http://sourceforge.net/projects/webkitdotnet/">WebKit .NET | Get WebKit .NET at SourceForge.net</a>からDLしてきます。その中のbinフォルダ内のファイルがライブラリを構成しています。WebKitBrowser.dllがC#から参照するラッパーです。</p>
<p>まず、WebKitBrowserをツールボックスに追加してやります。ツールボックスのコンテキストメニューの「アイテムの選択」という項目をクリックします。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb3.png" width="244" height="185" /></a> </p>
<p>この際、ダイアログが表示されるまで、めちゃ重たいかもしれませんが、ぐっとこらえましょう。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb4.png" width="244" height="176" /></a></p>
<p>そして参照ボタンをクリックして、WebKitBrowser.dllを選択してやれば、ツールボックスにWebKitBrowserが追加されます。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb5.png" width="242" height="159" /></a> </p>
<p>あとは普通にコントロールをポトベタしておわり…でもありません。。</p>
<p>まず、プロジェクトのプロパティから、プラットフォームターゲットをx86に設定します。Webkitは、現在、x86版のみ提供されているそうです。    <br /><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb6.png" width="404" height="242" /></a></p>
<p>続いて、デバッグのタブにある、「Visual Studio ホスティング プロセスを有効にする」という項目のチェックを外します。Visual Studioホスティングプロセスは、Visual Studioでのデバッグを効率化させるためのもののようですが、今回のようにアンマネージドコードを連携する場合は上手く働かず、エラーの原因になることがあるようです（Visual Studioホスティングプロセスの解説：<a href="http://www.atmarkit.co.jp/fdotnet/dotnettips/410vshost/vshost.html">VSホスト・プロセス（*.vshost.exe）とは何か？［VS 2005のみ、C#、VB］ － ＠IT</a>）。これが原因のエラーにぶつかって、<a href="http://blogs.wankuma.com/katamari/">@JZ5さん</a>に助けを求めたところ、このオプションを教えていただけました。ありがとうございました。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb7.png" width="304" height="125" /></a></p>
<p>こうしてビルドした上で、最後に仕上げに、ビルドして出来た実行ファイルやWebKitBrowser.dllと同じディレクトリに、Webkit本体であるWebkit.dllや、その依存するdll群を放り込みます。ビルド後のイベントでコピーするコマンドを発行してやると良いようです。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/image8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blog.sharplab.net/wp-content/uploads/2009/09/image_thumb8.png" width="284" height="172" /></a></p>
<p>というわけで出来ました。よいよい。素晴らしい。DOM周りのメンバの実装が未だらしく、出来ることは結構限定されていますが、Monoでも動かせるようにしたいよねー、とREADMEに書かれていたりと、これからの進展に期待したいプロジェクトです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/09/18/webkit-net%e3%82%92%e8%a7%a6%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>タイ行ってきました。</title>
		<link>http://blog.sharplab.net/blog/2009/09/15/%e3%82%bf%e3%82%a4%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2009/09/15/%e3%82%bf%e3%82%a4%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 17:08:18 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Travel]]></category>
		<category><![CDATA[Thailand]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/life/travel/3230/</guid>
		<description><![CDATA[タイ行ってきました。寺院めぐりとかしてみると、日本の仏教建築との違いが結構面白かったのですが、街中ではタイにおける日本の文化的な影響力が強すぎて、「海外に来た―！」という高揚感があんまりなかったのも事実。まぁ楽しかったです。]]></description>
			<content:encoded><![CDATA[<p>タイ行ってきました。寺院めぐりとかしてみると、日本の仏教建築との違いが結構面白かったのですが、街中ではタイにおける日本の文化的な影響力が強すぎて、「海外に来た―！」という高揚感があんまりなかったのも事実。まぁ楽しかったです。</p>
<p><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020226.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020226" border="0" alt="P1020226" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020226_thumb.jpg" width="364" height="274" /></a><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020091.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020091" border="0" alt="P1020091" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020091_thumb.jpg" width="207" height="274" /></a>     <br /><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020097.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020097" border="0" alt="P1020097" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020097_thumb.jpg" width="364" height="274" /></a><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020075.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020075" border="0" alt="P1020075" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020075_thumb.jpg" width="207" height="274" /></a>     <br /><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020062.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020062" border="0" alt="P1020062" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020062_thumb.jpg" width="207" height="274" /></a><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020166.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020166" border="0" alt="P1020166" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020166_thumb.jpg" width="364" height="274" /></a>     <br /><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020217.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020217" border="0" alt="P1020217" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020217_thumb.jpg" width="206" height="274" /></a><a rel="lightbox" href="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020214.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1020214" border="0" alt="P1020214" src="http://blog.sharplab.net/wp-content/uploads/2009/09/P1020214_thumb.jpg" width="364" height="274" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/09/15/%e3%82%bf%e3%82%a4%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>物欲沸々。。</title>
		<link>http://blog.sharplab.net/blog/2009/09/14/%e7%89%a9%e6%ac%b2%e6%b2%b8%e3%80%85%e3%80%82%e3%80%82/</link>
		<comments>http://blog.sharplab.net/blog/2009/09/14/%e7%89%a9%e6%ac%b2%e6%b2%b8%e3%80%85%e3%80%82%e3%80%82/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:46:52 +0000</pubDate>
		<dc:creator>shiroica</dc:creator>
				<category><![CDATA[Shopping]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[ThinkPad]]></category>
		<category><![CDATA[Touch Diamond]]></category>
		<category><![CDATA[VAIO]]></category>
		<category><![CDATA[X200]]></category>

		<guid isPermaLink="false">http://blog.sharplab.net/life/shopping/3211/</guid>
		<description><![CDATA[涼しくなってきましたね。秋です。物欲の秋です！ 夏にしていた頼まれ仕事が落ち着いて、普段しているバイトとあわせて財布に結構余裕が出てきたので、物欲がどんどん膨らんできている今日この頃です。 ラップトップ 今買いたいなぁと思っているのはまずラップトップ。何しろ10/22にWindows 7が一般向けにリリースされますし、Visual Studio 2010はWPF化されてやたら重くなりそうなので、そろそろラップトップを買い替えたいなぁと思っています。買い換える上で基準としたいのは、処理速度、堅牢性、携帯性、適度な画面サイズです。 今気になっているのはThinkPadのX200とVAIO Type Z。ThinkPadは大学の研究室に結構あり、触れてみる限りでは確かに噂通り頑丈で良さそうな印象を持っています。逆にVAIOは、現在使っているVAIO Type SZから判断するに、結構軟弱です。機嫌よく動いていてくれている時は良い機種なのですが、故障が多く、かなり修理に出費を強いられたのは苦い思い出です。まぁSonyは延長保証（\15,000程）さえ入れば3年間無償修理をしてくれるので、今度はそれに入っておけば問題にならないかなぁと。。 ちなみに筐体で言えば、MacのUnibodyは正直無いなぁと思っています。結構周りでぶつけた拍子にMBPの角が凹んでしまった人を見かけますし、Airは筐体が歪んで机に置いたときにがたつく様になったという話も聞きます。その上延長保証サービスであるAppleCare Protection Planは￥31,500もしますし（そんなに故障率が高いのか？）。。表面的なカタログスペックや見てくれは立派なんですが、ちょっとMacBookは、ねぇ。。 話をThinkPadに戻すと、やはり携帯性を考えると、モバイル最重視のXシリーズっていいなぁと。画面サイズで言えばX301が13.3インチで1.5kg程と一番望ましく感じられるのですが、CPUが低電圧版なのが気にくわないところです。低電圧版はバッテリの持ちは良くなりますが、値段が跳ね上がり、処理性能は落ちます。自分はたとえバッテリの持ちが悪くなっても通常電圧版CPUであってほしいと考えるタイプなので、やはり画面の小ささは我慢してX200なのかなぁと。 頑健さでいえばLet&#8217;s Noteがありますが、こちらは全てのモデルのCPUが低電圧版、超低電圧版に限られているので、これも自分的にはないなぁと。 一方VAIO。Type Z、以前は30万越えは普通というとてつもなく高いシリーズというイメージがありましたが、最近はSSD他の値段の下落に応じてか、20万半ば頑張って捻出すれば十分すぎる性能のモデルが手に入るようになってきたようで、心惹かれるものがあります。画面サイズは13.1インチあり、重量は1.6kg、CPUは通常電圧版と、カタログスペックは非常に素敵です。 ただ、じゃあType ZかX200を買うかというと、まだ迷っていて、というのはコードネームCalpellaとかいうモバイル向けCPUが出てくるそうですし、それにあわせたモデルチェンジをまってみるのもいいかなぁと考えています。なかなか、腹が括れません。。 ハンディデバイス それより、いま一番買おうかと悩んでいるのがiPod Touch。自分はApple教信者じゃないので、iPhoneは買わずにきました（アプリ開発にMacが要るのが気にくわなかった）。ですが、これだけiPhone/iPod Touchのアプリが揃ってくると流石に興味が出てくるもので、アプリは書けないものの、おもちゃとして買ってみようかなぁと考えています。本当はiPhone 3GSがGPSやカメラなど各種機能が一番統合されていて便利なのでしょうが、今手持ちのTouch DiamondにE-Mobile公認の機能としてあるラップトップとのテザリング機能を手放す気にはなれないので、iPhoneを買うのではなく、iPod Touchを買い、Touch DiamondとiPod TouchをWifiかBTで結んで使ってみるという絵図を描いています。 Appleが出すと噂のタブレットも気になって入るのですが、登場時期が早くとも年明け以降と予測されていて、結構まだ時間が空いていること、出たとしても結構値が張りそう、タブレットだと片手で歩きながら弄れるサイズではない、ということを理由にiPod Touchの方が自分には合っているのだと自分に言い聞かせています(笑)。（しかし、タブレットが出たとして、通信モジュールはどうなるんでしょうね？Touch以上にインターネットへの接続が重要なデバイスになりそうですが、Expressカード型などの通信カードに頼るのか、WiMAX/Wifiモジュールを内蔵するのか、3Gを内蔵するのか、結構興味があります。USBドングルやExpressカード型の通信カードをぶっさすスタイルは見てくれがスマートじゃないのでJobsが嫌いそうなものですが。。） まぁ、というわけで、これから数カ月は節制生活に入ります。。買ってやるぞー！]]></description>
			<content:encoded><![CDATA[<p>涼しくなってきましたね。秋です。物欲の秋です！</p>
<p>夏にしていた頼まれ仕事が落ち着いて、普段しているバイトとあわせて財布に結構余裕が出てきたので、物欲がどんどん膨らんできている今日この頃です。</p>
<h3>ラップトップ</h3>
<p>今買いたいなぁと思っているのはまずラップトップ。何しろ10/22にWindows 7が一般向けにリリースされますし、Visual Studio 2010はWPF化されてやたら重くなりそうなので、そろそろラップトップを買い替えたいなぁと思っています。買い換える上で基準としたいのは、処理速度、堅牢性、携帯性、適度な画面サイズです。</p>
<p>今気になっているのはThinkPadのX200とVAIO Type Z。ThinkPadは大学の研究室に結構あり、触れてみる限りでは確かに噂通り頑丈で良さそうな印象を持っています。逆にVAIOは、現在使っているVAIO Type SZから判断するに、結構軟弱です。機嫌よく動いていてくれている時は良い機種なのですが、故障が多く、かなり修理に出費を強いられたのは苦い思い出です。まぁSonyは延長保証（\15,000程）さえ入れば3年間無償修理をしてくれるので、今度はそれに入っておけば問題にならないかなぁと。。</p>
<p>ちなみに筐体で言えば、MacのUnibodyは正直無いなぁと思っています。結構周りでぶつけた拍子にMBPの角が凹んでしまった人を見かけますし、Airは筐体が歪んで机に置いたときにがたつく様になったという話も聞きます。その上延長保証サービスであるAppleCare Protection Planは￥31,500もしますし（そんなに故障率が高いのか？）。。表面的なカタログスペックや見てくれは立派なんですが、ちょっとMacBookは、ねぇ。。</p>
<p>話をThinkPadに戻すと、やはり携帯性を考えると、モバイル最重視のXシリーズっていいなぁと。画面サイズで言えばX301が13.3インチで1.5kg程と一番望ましく感じられるのですが、CPUが低電圧版なのが気にくわないところです。低電圧版はバッテリの持ちは良くなりますが、値段が跳ね上がり、処理性能は落ちます。自分はたとえバッテリの持ちが悪くなっても通常電圧版CPUであってほしいと考えるタイプなので、やはり画面の小ささは我慢してX200なのかなぁと。</p>
<p>頑健さでいえばLet&#8217;s Noteがありますが、こちらは全てのモデルのCPUが低電圧版、超低電圧版に限られているので、これも自分的にはないなぁと。</p>
<p>一方VAIO。Type Z、以前は30万越えは普通というとてつもなく高いシリーズというイメージがありましたが、最近はSSD他の値段の下落に応じてか、20万半ば頑張って捻出すれば十分すぎる性能のモデルが手に入るようになってきたようで、心惹かれるものがあります。画面サイズは13.1インチあり、重量は1.6kg、CPUは通常電圧版と、カタログスペックは非常に素敵です。 </p>
<p>ただ、じゃあType ZかX200を買うかというと、まだ迷っていて、というのは<a href="http://www.gizmodo.jp/2009/09/5_16.html">コードネームCalpellaとかいうモバイル向けCPUが出てくる</a>そうですし、それにあわせたモデルチェンジをまってみるのもいいかなぁと考えています。なかなか、腹が括れません。。 </p>
<h3>ハンディデバイス</h3>
<p>それより、いま一番買おうかと悩んでいるのがiPod Touch。自分はApple教信者じゃないので、iPhoneは買わずにきました（アプリ開発にMacが要るのが気にくわなかった）。ですが、これだけiPhone/iPod Touchのアプリが揃ってくると流石に興味が出てくるもので、アプリは書けないものの、おもちゃとして買ってみようかなぁと考えています。本当はiPhone 3GSがGPSやカメラなど各種機能が一番統合されていて便利なのでしょうが、今手持ちのTouch DiamondにE-Mobile公認の機能としてあるラップトップとのテザリング機能を手放す気にはなれないので、iPhoneを買うのではなく、iPod Touchを買い、Touch DiamondとiPod TouchをWifiかBTで結んで使ってみるという絵図を描いています。</p>
<p>Appleが出すと噂のタブレットも気になって入るのですが、登場時期が早くとも年明け以降と予測されていて、結構まだ時間が空いていること、出たとしても結構値が張りそう、タブレットだと片手で歩きながら弄れるサイズではない、ということを理由にiPod Touchの方が自分には合っているのだと自分に言い聞かせています(笑)。（しかし、タブレットが出たとして、通信モジュールはどうなるんでしょうね？Touch以上にインターネットへの接続が重要なデバイスになりそうですが、Expressカード型などの通信カードに頼るのか、WiMAX/Wifiモジュールを内蔵するのか、3Gを内蔵するのか、結構興味があります。USBドングルやExpressカード型の通信カードをぶっさすスタイルは見てくれがスマートじゃないのでJobsが嫌いそうなものですが。。）</p>
<p>まぁ、というわけで、これから数カ月は節制生活に入ります。。買ってやるぞー！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sharplab.net/blog/2009/09/14/%e7%89%a9%e6%ac%b2%e6%b2%b8%e3%80%85%e3%80%82%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

