イーサネット接続、DHCP、TCP通信テスト。
パソコンから文字列送りつけてます。

やー、仮免受かりました。
明日から路上です。
あうあう

教習所通いでお疲れモードです。

Shade久々に使ったのだけども、レーザー光線の表現ってどうしたら???という感じです。

とりま、ボリュームライトを使えばいいとアドバイスもらったので、後でやってみよう。

そうえいば
Windows7 64bitでVisualBasic6.0が動きましたー。

ちょっとGUIのデザインの動作が重いのと、インストール時にOLE関係でエラー起こしてたけど。

こんなに古いソフトよく動くもんだなーと関心する。

<?php
	$replies = simplexml_load_file("http://[TwitterユーザーID]:[Twitterパスワード]@twitter.com/statuses/replies.rss");

foreach($replies->channel->item as $item) {
	$title = (string)$item->title ;
	$link = (string)$item->link ;
	$date = date('Y/m/d H:i:s', strtotime((string)$item->pubDate));
	print ("[<a href='".$link."'>".$date."</a>] ".$title."<br />");
}

?>

こんなかんじ。
PHP5から導入されたSimpleXMLを使うとこんなに楽にできます。
時刻フォーマットの変換にも注目。
TwitterRSSフィードのBasic認証はアドレス前にhttp://ユーザーID:パスワード@twitter.com・・・・・」とすることで解決。

ちなみに、SimpleXMLでXMLをパースするときになど普通の英数字は扱えるんだけども、<dc:title>など”:”が入ってるものは取得出来ない。</p> <p>参照: <a href="http://blog.livedoor.jp/gnoot/archives/51371942.html">http://blog.livedoor.jp/gnoot/archives/51371942.html</a></p> <p>普通に”:”を”_”に一括置き換えしちゃって扱えるようにしちゃえばいいんだけども、”http:”なども”http_”になってしまうために自分は必要なものだけ置き換えすることにした。<br /> TwitterのRSSではこの処理は必要ないけどね。</p> <pre class="brush: php;"> <?php mb_internal_encoding("UTF-8"); $string = str_replace('slash:comments','slash_comments',file_get_contents("http://blog.htlab.net/feed")); $rssdata = simplexml_load_string($string); $length = 60; $title = $rssdata->channel->item[0]->title; $link = $rssdata->channel->item[0]->link; $comments = $rssdata->channel->item[0]->comments; $comments_all = $rssdata->channel->item[0]->slash_comments; $date = $rssdata->channel->item[0]->pubDate; $description = $rssdata->channel->item[0]->description; $date = date('Y/m/d H:i:s', strtotime($date)); if ($comments_all == 0) { $comments_all = ""; } else { $comments_all = "(" . $comments_all . ")"; } if (mb_strlen($description,"UTF-8") > $length) { $description = mb_substr($description, 0, $length,"UTF-8") . "....[<a href='$link' target='_blank'>記事は省略されました</a>]"; } $description = strtr($description, array("。" => "。<br />")); print <<<EOD <h2>管理人の日記</h2> <h3><a href="$link" target="_blank">$title</a> [$date]</h3> <p>$description<br /> <br /> [<a href="$comments" target="_blank">記事にコメントする</a>$comments_all] [<a href="http://blog.htlab.net/" target="_blank">すべての日記を見る</a>]<br /> </p> <br /> EOD; ?> </pre> <p>このブログの最新記事取得コード。</p> </div> </div> <div class="asset-footer"></div> </div> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://blog.htlab.net/archives/52" dc:identifier="http://blog.htlab.net/archives/52" dc:title="FreeNASで作る最強のファイルサーバー(ソフト編)" trackback:ping="http://blog.htlab.net/archives/52/trackback" /> </rdf:RDF> <div id="entry-52" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://blog.htlab.net/archives/52">FreeNASで作る最強のファイルサーバー(ソフト編)</a></h2> <div class="asset-meta"> <span class="byline vcard"> <address class="vcard author">PJ</address> (<abbr class="published" title="2010.02.1502:06">2010.02.15 02:06</abbr>) </span> <span class="separator">|</span> <a href="http://blog.htlab.net/archives/category/%e8%87%aa%e5%ae%85%e3%82%b5%e3%83%bc%e3%83%90" title="自宅サーバ の投稿をすべて表示" rel="category tag">自宅サーバ</a> | <a class="permalink" rel="bookmark" href="http://blog.htlab.net/archives/52">個別ページ</a> | <a href="http://blog.htlab.net/archives/52#comments">コメントはまだありません</a> </div> </div> <div class="asset-content entry-content"> <div class="asset-body"> <p>前回のハードウェア構成の上、FreeNAS 0.7を使用してZFSでファイルサーバーを構成してみます。<br /> ハードディスクにFreeNASのインストールが終わったら設定を始めます。<br /> (FreeNAS上で設定したことは一括でバックアップがとれるので、システムHDDは1台と割り切っています。障害が出れば再セットアップの上、バックアップから設定を復元するだけです。)</p> <p>■SSH接続方法<br /> サーバーラックに取り付けた場合を考えて、遠隔地から操作出来るようにします。</p> <p>・ユーザーの追加<br /> 「アクセス」→ 「ユーザーとグループ」からユーザーを追加します。<br /> このとき、Shellに「tcsh」、プライマリグループに「wheel」を選びます。</p> <p>・SSHの有効化<br /> 「サービス」→「SSH」からSSHの設定画面を開きます。<br /> 有効にチェックを入れて保存するだけで大丈夫です。</p> <p>・MacからのSSH接続<br /> ターミナルを起動し、「シェル」→「新規リモート接続」の順にクリックします。<br /> ウィンドウが出てくるので、サーバーを選び、先ほど作成したユーザー名を入力し、接続をクリック。<br /> コンソールが開き、パスワードを聞かれるので入力。これで接続が完了。<br /> 「su」と入力後、またパスワードを問われるので入力。これで管理者権限となり、ZFS関連のzpoolコマンドも使えるようになります。</p> <p>・WindowsからのSSH接続<br /> puttyなどを使えば簡単に出来るかと思います。</p> <p>まだ未確認。</p> <p>■ZFSの設定<br /> Web画面からすべて行えます。<br /> 少し調べれば設定方法にたどり着けると思うので、ここではかきません。<br /> ただし、後々ディスクを追加することはコンソールからコマンドで操作しないと無理みたいです。<br /> zpool status、zpool listで確認しながらzpool addやzpool attach,dettachなどをうまく使ってください。<br /> 自分はミラー構成でストレージプールに接続をかけています。</p> <p><a href="http://img.ly/eKa">http://img.ly/eKa</a></p> </div> </div> <div class="asset-footer"></div> </div> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://blog.htlab.net/archives/50" dc:identifier="http://blog.htlab.net/archives/50" dc:title="FreeNASで作る最強のファイルサーバー(ハード編)" trackback:ping="http://blog.htlab.net/archives/50/trackback" /> </rdf:RDF> <div id="entry-50" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://blog.htlab.net/archives/50">FreeNASで作る最強のファイルサーバー(ハード編)</a></h2> <div class="asset-meta"> <span class="byline vcard"> <address class="vcard author">PJ</address> (<abbr class="published" title="2010.02.1502:04">2010.02.15 02:04</abbr>) </span> <span class="separator">|</span> <a href="http://blog.htlab.net/archives/category/%e8%87%aa%e5%ae%85%e3%82%b5%e3%83%bc%e3%83%90" title="自宅サーバ の投稿をすべて表示" rel="category tag">自宅サーバ</a> | <a class="permalink" rel="bookmark" href="http://blog.htlab.net/archives/50">個別ページ</a> | <a href="http://blog.htlab.net/archives/50#comments">コメントはまだありません</a> </div> </div> <div class="asset-content entry-content"> <div class="asset-body"> <p>HDDを大量に接続できるハードウェア構成として以下のようなものが考えられます。</p> <p>・ポートマルチプライヤ(PMP)<br /> ・SATAインターフェースカードを大量に使う</p> <p>ポートマルチプライヤとは1本のSATAコネクタに5 台のHDDを取り付けられるよう、分岐する装置です。<br /> その分、転送速度は遅くなりますが取り回しが楽になります。<br /> 後者の方法はその名の通り、HDD1本に対して、SATAコネクタ1本を割り当てるというものです。<br /> 今回はこの方法を使ってみたいと思います。</p> <p>なぜポートマルチプライヤを使わないか?というと。<br /> 実は今までのファイルサーバー構築には使用していました。<br /> 実際に使ってみてわかることは、</p> <p>・値段が高い(PMP1台につき1万円弱)<br /> ・対応しているOSが少ない</p> <p>ということです。</p> <p>自分が試したところ、一番安定しているのはWindowsでの使用で、Linuxでは使えることには使えましたが、実際の運用に耐えうる安定性は得られていません。<br /> その上、Windowsでは2TBの壁があり、PMPが満足に使える環境はサーバー系OS。<br /> 最低限WindowsServer2003がないと使用することが出来ません。<br /> 以上のことからSATAインターフェースを大量に増やす方向で、大容量ストレージのハードウェア構成を決めたいと思います。<br /> この構成ならば、Linux,Unixで使用することも容易です。</p> <p>■マザーボード<br /> SATAインターフェースカードを大量に使うということから、PCIなどのバスが多く使えるマザーボードが必要になります。<br /> 今回はGIGABYTE社の「GA-P43- ES3G」(購入先:Arkネット通販 ¥9,980)を使用しました。<br /> PCIスロットが5本、PCIExが2本ついています。<br /> PCIスロットはすべてインターフェースカードに、PCIExpressソケットはNICとグラフィックボードに割り当てることにします。</p> <p>■CPU<br /> ZFSを導入するということからある程度のスペックが必要です。<br /> 64bitに対応していると面倒がないです。<br /> 今回は手元にあったCeleron(2.66GHz)を使うことにしました。</p> <p>■メモリ<br /> ZFSを使う上で最低512MB程度のメモリが必要です。<br /> 手持ちの2GBを2枚使用し、4GBのメモリを用意しました。</p> <p>■グラフィックボード<br /> PCIExpressタイプの適当なグラフィックボードを用意します。<br /> 安定稼働を考えると、ファンレスタイプは導入できません。<br /> 表示確認にしか使わないので、ファンがついていることを条件に一番安いものを選びました。<br /> 玄人志向の安いファン付きのモデルでいいでしょう。</p> <p>■NIC<br /> PCIExpressスロットに刺さる安定しているNICということでIntelの物を使用します。<br /> 「インテル PRO/1000 PT サーバ・アダプタ EXPI9400PT」<br /> (購入先:Amazon ¥10,850)</p> <p>■インターフェースカード<br /> PCIスロット5本を使い、SATAを増設します。<br /> RAID機能はソフトウェアで使用するので単なるインターフェースカードで結構です。<br /> 今回は玄人志向の「SATA2I4-LPPCI」を5枚用いることで、SATAコネクタを 20個増設することが出来ました。<br /> マザーボードと合わせて26個のSATAデバイスが使用出来ることになります。</p> <p>■HDDエンクロージャ<br /> サーバーラックに取り付ける都合上、使用したPCケースはラックマウントケースになります。<br /> PC本体になるラックマウントケースは、フリージアで販売されている「SKYTEC」の「SKI-4800」を使用。</p> <p>http://www.freesia-net.co.jp/server/case4u.htm</p> <p>HDDをマウントするエンクロージャとして「センチュリー」の「5代目 技あり!楽ラック!(CWRS5-BK)」を4個使用。<br /> 合計20台のHDDマウントに対応しました。</p> <p>http://www.century.co.jp/products/pc/hdd-kit/cwrs5-bk.html</p> <p>PC本体にエンクロージャが1つしか入らないため、残りの3つ(HDD 15台)は外付けする必要があります。<br /> 5インチベイが大量についているラックマウントケースとして、「IBM NetBAY 0034B0X」を使用しました。<br /> これはDDSテープドライブを複数設置するためのテープエンクロージャで、ヤフーオークションにて入手しました。<br /> 新しく制作される方は、5インチベイが9個ある、ラックマウントケースを探し出す必要があるでしょう。</p> <p>ちなみにSATAのケーブル類は、秋葉原の千石電商にて格安で入手することが出来ました。<br /> 例を挙げると、一般には1000円以上するSATA延長ケーブルが200円などです。</p> <p>以上、大容量NASを制作されるかたの参考になればと思います。</p> </div> </div> <div class="asset-footer"></div> </div> <div class="content-nav"> <a href="http://blog.htlab.net/page/2" >次ページへ »</a></div> </div> </div> <!-- サイドバー --> <div id="beta"> <div id="beta-inner"> <div id="text-3" class="widget_text widget"><h3 class="widget-header">プロフィール</h3> <div class="textwidget"><ul style="margin:0;padding:0;display:block;"> PJと申します。<br /> 実験好きの高校生です。<br /> 詳細は<a href="http://htlab.net/" title="本家サイト" target="_blank" style="text-decoration: none;">HTLAB.NET</a>へ。 </ul></div> </div><div id="linkcat-2" class="widget_links widget"><h3 class="widget-header">リンク集</h3> <ul class='xoxo blogroll'> <li><a href="http://htlab.net/" title="本家サイト" target="_blank">HTLAB.NET</a></li> <li><a href="http://labgp.com/" target="_blank">LABGP.COM</a></li> <li><a href="http://pc-jp.net/" target="_blank">PC-JP.NET</a></li> <li><a href="http://mixi.jp/show_profile.pl?id=12904639" title="気軽にマイミクどうぞ" target="_blank">みくしー</a></li> <li><a href="http://jp.youtube.com/user/pcjpnet" title="YouTube – pcjpnet" target="_blank">動画まとめ</a></li> <li><a href="http://picasaweb.google.com/pic.htlab" title="Picasa" target="_blank">画像まとめ</a></li> </ul> </div> <div id="tweetable" class="tweetable_write_widget widget"> <h3 class="widget-header">Twitter</h3><ol class="tweetable_latest_tweets"><li class="tweetable_item"><span class="twitter_status"><span class="status-text">ACK帰ってきたw RT @Susutawari: ACK RT @pcjpnet てすてす</span><span class="twitter_meta">March 11, 2010 4:09</span></span></li><li class="tweetable_item"><span class="twitter_status"><span class="status-text">てすてす</span><span class="twitter_meta">March 11, 2010 4:02</span></span></li></ol><span class="tweetable_follow">Follow <a href="http://twitter.com/pcjpnet">@pcjpnet</a> (618 followers)</span></div><div id="categories-3" class="widget_categories widget"><h3 class="widget-header">カテゴリー</h3> <ul> <li class="cat-item cat-item-11"><a href="http://blog.htlab.net/archives/category/mbed" title="mbed に含まれる投稿をすべて表示">mbed</a> </li> <li class="cat-item cat-item-8"><a href="http://blog.htlab.net/archives/category/php" title="PHP に含まれる投稿をすべて表示">PHP</a> </li> <li class="cat-item cat-item-6"><a href="http://blog.htlab.net/archives/category/python" title="Python に含まれる投稿をすべて表示">Python</a> </li> <li class="cat-item cat-item-3"><a href="http://blog.htlab.net/archives/category/realbasic" title="REALbasic に含まれる投稿をすべて表示">REALbasic</a> </li> <li class="cat-item cat-item-10"><a href="http://blog.htlab.net/archives/category/shade" title="Shade に含まれる投稿をすべて表示">Shade</a> </li> <li class="cat-item cat-item-4"><a href="http://blog.htlab.net/archives/category/visualbasic6-0" title="VisualBasic6.0 に含まれる投稿をすべて表示">VisualBasic6.0</a> </li> <li class="cat-item cat-item-5"><a href="http://blog.htlab.net/archives/category/%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e3%83%84%e3%83%bc%e3%83%ab" title="コマンドラインツール に含まれる投稿をすべて表示">コマンドラインツール</a> </li> <li class="cat-item cat-item-7"><a href="http://blog.htlab.net/archives/category/%e8%87%aa%e5%ae%85%e3%82%b5%e3%83%bc%e3%83%90" title="自宅サーバ に含まれる投稿をすべて表示">自宅サーバ</a> </li> <li class="cat-item cat-item-1"><a href="http://blog.htlab.net/archives/category/info" title="連絡事項 に含まれる投稿をすべて表示">連絡事項</a> </li> <li class="cat-item cat-item-9"><a href="http://blog.htlab.net/archives/category/%e9%9b%91%e8%a8%98" title="雑記 に含まれる投稿をすべて表示">雑記</a> </li> </ul> </div><div id="archives-3" class="widget_archive widget"><h3 class="widget-header">アーカイブ</h3> <ul> <li><a href='http://blog.htlab.net/archives/date/2010/02' title='2010年2月'>2010年2月</a></li> </ul> </div><div id="search-3" class="widget_search widget"><div id="search" class="widget_search widget"> <form method="get" id="searchform" action="http://blog.htlab.net/"> <div> <input type="text" value="" name="s" id="s" class="t" /> <br/> <input type="submit" accesskey="4" id="searchsubmit" value="検索" /> </div> </form> </div> </div><div id="meta-3" class="widget_meta widget"><h3 class="widget-header">メタ情報</h3> <ul> <li><a href="http://blog.htlab.net/wp-login.php">ログイン</a></li> <li><a href="http://blog.htlab.net/feed" title="このサイトを RSS2.0 で購読">投稿の <abbr title="Really Simple Syndication">RSS</abbr></a></li> <li><a href="http://blog.htlab.net/comments/feed" title="すべての投稿への最新コメントを RSS で購読">コメントの <abbr title="Really Simple Syndication">RSS</abbr></a></li> <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress.org</a></li> </ul> </div> </div> </div> </div><!--end content-inner--> </div><!--end content--> <div id="footer"> <div id="footer-inner"> <div id="footer-content"> <div class="widget-powered widget"> <div class="widget-content"> Total: 1976 hits<br /> Today: 28 hits<br /> Yesterday: 27 hits<br /> <br /> <a href="http://htlab.net/" target="_blank">HTLAB.NET</a> All rights reserved.<br /> <div class="designed">Designed by <a href="http://www.fsv.jp/" target="_blank" title="レンタルサーバーのファーストサーバ"> www.fsv.jp</a> <a href="http://www.templateking.jp/" target="_blank" title="無料テンプレート">www.templateking.jp</a></div> <script type='text/javascript' src='http://blog.htlab.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/shCore.js?ver=2.1.364b'></script> <script type='text/javascript' src='http://blog.htlab.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/shBrushPhp.js?ver=2.1.364b'></script> <script type='text/javascript'> (function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "http://blog.htlab.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/styles/shCore.css?ver=2.1.364b"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.getElementsByTagName("head")[0].appendChild(corecss); var themecssurl = "http://blog.htlab.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/styles/shThemeDefault.css?ver=2.1.364b"; if ( themecss.setAttribute ) { themecss.setAttribute( "rel", "stylesheet" ); themecss.setAttribute( "type", "text/css" ); themecss.setAttribute( "href", themecssurl ); } else { themecss.rel = "stylesheet"; themecss.href = themecssurl; } document.getElementsByTagName("head")[0].appendChild(themecss); })(); SyntaxHighlighter.config.clipboardSwf = 'http://blog.htlab.net/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf'; SyntaxHighlighter.config.strings.expandSource = 'show source'; SyntaxHighlighter.config.strings.viewSource = 'view source'; SyntaxHighlighter.config.strings.copyToClipboard = 'copy to clipboard'; SyntaxHighlighter.config.strings.copyToClipboardConfirmation = 'The code is in your clipboard now'; SyntaxHighlighter.config.strings.print = 'print'; SyntaxHighlighter.config.strings.help = '?'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n'; SyntaxHighlighter.config.strings.noBrush = 'Can\'t find brush for: '; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Brush wasn\'t configured for html-script option: '; SyntaxHighlighter.all(); </script> </div> </div> </div> </div> </div> </div> </div> </body> </html>