<?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>HTLAB.NET管理人のメモ</title>
	<atom:link href="http://blog.htlab.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.htlab.net</link>
	<description>実験ネタからプログラミングまで幅広く</description>
	<lastBuildDate>Fri, 26 Feb 2010 13:57:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ethernetからこんにちは</title>
		<link>http://blog.htlab.net/archives/65</link>
		<comments>http://blog.htlab.net/archives/65#comments</comments>
		<pubDate>Fri, 26 Feb 2010 13:57:38 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[mbed]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=65</guid>
		<description><![CDATA[
イーサネット接続、DHCP、TCP通信テスト。
パソコンから文字列送りつけてます。
やー、仮免受かりました。
明日から路上です。
あうあう
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.htlab.net/wp-content/uploads/2010/02/ether.jpg"><img src="http://blog.htlab.net/wp-content/uploads/2010/02/ether-300x225.jpg" alt="" title="ether" width="300" height="225" class="alignnone size-medium wp-image-66" /></a></p>
<p>イーサネット接続、DHCP、TCP通信テスト。<br />
パソコンから文字列送りつけてます。</p>
<p>やー、仮免受かりました。<br />
明日から路上です。<br />
あうあう</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/65/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>最近は</title>
		<link>http://blog.htlab.net/archives/58</link>
		<comments>http://blog.htlab.net/archives/58#comments</comments>
		<pubDate>Tue, 23 Feb 2010 18:01:46 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[Shade]]></category>
		<category><![CDATA[VisualBasic6.0]]></category>
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=58</guid>
		<description><![CDATA[教習所通いでお疲れモードです。
Shade久々に使ったのだけども、レーザー光線の表現ってどうしたら？？？という感じです。

とりま、ボリュームライトを使えばいいとアドバイスもらったので、後でやってみよう。
そうえいば
W [...]]]></description>
			<content:encoded><![CDATA[<p>教習所通いでお疲れモードです。</p>
<p>Shade久々に使ったのだけども、レーザー光線の表現ってどうしたら？？？という感じです。<br />
<a href="http://blog.htlab.net/wp-content/uploads/2010/02/Shade-galvo1.jpg"><img src="http://blog.htlab.net/wp-content/uploads/2010/02/Shade-galvo1-300x168.jpg" alt="" title="Shade-galvo" width="300" height="168" class="alignnone size-medium wp-image-60" /></a></p>
<p>とりま、ボリュームライトを使えばいいとアドバイスもらったので、後でやってみよう。</p>
<p>そうえいば<br />
Windows7 64bitでVisualBasic6.0が動きましたー。</p>
<p>ちょっとGUIのデザインの動作が重いのと、インストール時にOLE関係でエラー起こしてたけど。</p>
<p><a href="http://blog.htlab.net/wp-content/uploads/2010/02/vb6.jpg"><img src="http://blog.htlab.net/wp-content/uploads/2010/02/vb6-300x225.jpg" alt="" title="vb6" width="300" height="225" class="alignnone size-medium wp-image-61" /></a></p>
<p>こんなに古いソフトよく動くもんだなーと関心する。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/58/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP5でTwitterRSSフィードにアクセス</title>
		<link>http://blog.htlab.net/archives/54</link>
		<comments>http://blog.htlab.net/archives/54#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:15:48 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=54</guid>
		<description><![CDATA[

&#60;?php
	$replies = simplexml_load_file(&#34;http://[TwitterユーザーID]:[Twitterパスワード]@twitter.com/statuses/re [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.htlab.net/wp-content/uploads/2010/02/1266208362167.png"><img src="http://blog.htlab.net/wp-content/uploads/2010/02/1266208362167-300x200.png" alt="" title="php-twitter" width="300" height="200" class="alignnone size-medium wp-image-55" /></a></p>
<pre class="brush: php;">
&lt;?php
	$replies = simplexml_load_file(&quot;http://[TwitterユーザーID]:[Twitterパスワード]@twitter.com/statuses/replies.rss&quot;);

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

?&gt;
</pre>
<p>こんなかんじ。<br />
PHP5から導入されたSimpleXMLを使うとこんなに楽にできます。<br />
時刻フォーマットの変換にも注目。<br />
TwitterRSSフィードのBasic認証はアドレス前にhttp://ユーザーID:パスワード@twitter.com・・・・・」とすることで解決。</p>
<p>ちなみに、SimpleXMLでXMLをパースするときに<title>など普通の英数字は扱えるんだけども、<dc:title>など&#8221;:&#8221;が入ってるものは取得出来ない。</p>
<p>参照：　<a href="http://blog.livedoor.jp/gnoot/archives/51371942.html">http://blog.livedoor.jp/gnoot/archives/51371942.html</a></p>
<p>普通に&#8221;:&#8221;を&#8221;_&#8221;に一括置き換えしちゃって扱えるようにしちゃえばいいんだけども、&#8221;http:&#8221;なども&#8221;http_&#8221;になってしまうために自分は必要なものだけ置き換えすることにした。<br />
TwitterのRSSではこの処理は必要ないけどね。</p>
<pre class="brush: php;">
&lt;?php
	mb_internal_encoding(&quot;UTF-8&quot;);
    $string = str_replace('slash:comments','slash_comments',file_get_contents(&quot;http://blog.htlab.net/feed&quot;));
 	$rssdata = simplexml_load_string($string);
    $length = 60;
    $title = $rssdata-&gt;channel-&gt;item[0]-&gt;title;
    $link = $rssdata-&gt;channel-&gt;item[0]-&gt;link;
    $comments = $rssdata-&gt;channel-&gt;item[0]-&gt;comments;
    $comments_all = $rssdata-&gt;channel-&gt;item[0]-&gt;slash_comments;
    $date = $rssdata-&gt;channel-&gt;item[0]-&gt;pubDate;
    $description = $rssdata-&gt;channel-&gt;item[0]-&gt;description;
	$date = date('Y/m/d H:i:s', strtotime($date));
	if ($comments_all == 0) {
		$comments_all = &quot;&quot;;
	} else {
		$comments_all = &quot;（&quot; . $comments_all . &quot;）&quot;;
	}
	if (mb_strlen($description,&quot;UTF-8&quot;) &gt; $length) {
		$description = mb_substr($description, 0, $length,&quot;UTF-8&quot;) . &quot;....[&lt;a href='$link' target='_blank'&gt;記事は省略されました&lt;/a&gt;]&quot;;
	}
	$description = strtr($description, array(&quot;。&quot; =&gt; &quot;。&lt;br /&gt;&quot;));
print &lt;&lt;&lt;EOD
&lt;h2&gt;管理人の日記&lt;/h2&gt;
&lt;h3&gt;&lt;a href=&quot;$link&quot; target=&quot;_blank&quot;&gt;$title&lt;/a&gt; [$date]&lt;/h3&gt;
&lt;p&gt;$description&lt;br /&gt;
&lt;br /&gt;
[&lt;a href=&quot;$comments&quot; target=&quot;_blank&quot;&gt;記事にコメントする&lt;/a&gt;$comments_all] [&lt;a href=&quot;http://blog.htlab.net/&quot; target=&quot;_blank&quot;&gt;すべての日記を見る&lt;/a&gt;]&lt;br /&gt;
&lt;/p&gt;
&lt;br /&gt;
EOD;
?&gt;
</pre>
<p>このブログの最新記事取得コード。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/54/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeNASで作る最強のファイルサーバー（ソフト編）</title>
		<link>http://blog.htlab.net/archives/52</link>
		<comments>http://blog.htlab.net/archives/52#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:06:01 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[自宅サーバ]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=52</guid>
		<description><![CDATA[前回のハードウェア構成の上、FreeNAS 0.7を使用してZFSでファイルサーバーを構成してみます。
ハードディスクにFreeNASのインストールが終わったら設定を始めます。
（FreeNAS上で設定したことは一括でバ [...]]]></description>
			<content:encoded><![CDATA[<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>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/52/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeNASで作る最強のファイルサーバー（ハード編）</title>
		<link>http://blog.htlab.net/archives/50</link>
		<comments>http://blog.htlab.net/archives/50#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:04:40 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[自宅サーバ]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=50</guid>
		<description><![CDATA[HDDを大量に接続できるハードウェア構成として以下のようなものが考えられます。
・ポートマルチプライヤ（PMP）
・SATAインターフェースカードを大量に使う
ポートマルチプライヤとは1本のSATAコネクタに5 台のHD [...]]]></description>
			<content:encoded><![CDATA[<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をマウントするエンクロージャとして「センチュリー」の「５代目 技あり！楽ラック！（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>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>子ディレクトリにテキストファイル書き込み</title>
		<link>http://blog.htlab.net/archives/48</link>
		<comments>http://blog.htlab.net/archives/48#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:01:35 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[REALbasic]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=48</guid>
		<description><![CDATA[アプリケーションを実行しているカレントディレクトリの子ディレクトリにアプリの設定などを保存したい場合の処理。

//tmpは書き込みたい内容
Dim cr as String
cr=EndOfLine.Windows / [...]]]></description>
			<content:encoded><![CDATA[<p>アプリケーションを実行しているカレントディレクトリの子ディレクトリにアプリの設定などを保存したい場合の処理。</p>
<pre class="brush: vb;">
//tmpは書き込みたい内容
Dim cr as String
cr=EndOfLine.Windows //crにWindowsの改行コード(CR+LF)を代入
Dim tmp as string //tmpは書き込み内容
tmp=&quot;test&quot;+cr+&quot;test&quot;
tmp=ReplaceLineEndings(tmp, EndOfLine.Unix) //tmpの改行コードをUnix(LF)に変換
//上記でWindowsを指定した意味がなくなるが、メモとしてあえて。
tmp=ConvertEncoding(tmp, Encodings.UTF8) //tmpの文字コードをUTF8に変換
Dim f As FolderItem
Dim t as TextOutputStream
f = GetFolderItem(&quot;settings&quot;) //settingsフォルダを指定
if not f.Exists then //もし存在しなければフォルダ作成
f.CreateAsFolder
end if
f = GetFolderItem(&quot;&quot;).Child(&quot;settings&quot;).Child(&quot;test.txt&quot;)
//現在のディレクトリからsettings子フォルダ→test.txtファイルを指定
t = f.CreateTextFile
t.Write tmp
//テキストファイルとしてtmpの内容を書き込み
t.Close
</pre>
<p>以上のコードが実行されると、アプリケーションがあるフォルダの下に<br />
/settings/text.txtという具合にフォルダとファイルができあがります。</p>
<p>追記。<br />
改行コードは直接<br />
Chr(13)+Chr(10) //CR+LF (Windows)<br />
Chr(13) //CR (Mac)<br />
Chr(10) //LF (Unix)</p>
<p>と、書いてもいいのね。<br />
ちなみに、Chr(9)とChr(8)はタブとバックスペース。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/48/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacPortsを使う</title>
		<link>http://blog.htlab.net/archives/45</link>
		<comments>http://blog.htlab.net/archives/45#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:59:19 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[コマンドラインツール]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=45</guid>
		<description><![CDATA[BSDのPortsのようなものをMacでも使えるようにしたものです。
X11とXcodeがイ ンストールされていることを前提とします。
1,MacPortsのイ ンストール
http://www.macports.org [...]]]></description>
			<content:encoded><![CDATA[<p>BSDのPortsのようなものをMacでも使えるようにしたものです。</p>
<p>X11とXcodeがイ ンストールされていることを前提とします。</p>
<p>1,MacPortsのイ ンストール</p>
<p><a href="http://www.macports.org/" target="_blank">http://www.macports.org/</a></p>
<p>2,環境変数の確認</p>
<p>ターミナ ルで「echo $PATH」</p>
<p>/opt/local/binが先頭にきていれば大丈夫です。</p>
<p>きていない場合はVimなどで.bashrcと.bash_profileを作成してください。</p>
<p>3,MacPortsのアップデート</p>
<p>ターミナ ルで以下コマンドを実行</p>
<p>sudo port -d selfupdate</p>
<p>sudo port -d sync</p>
<p>4,SLコマンドを入れてみる（笑）</p>
<p>sudo port search sl</p>
<p>→SLコマンドがあることを確認</p>
<p>sudo port install sl</p>
<p>「sl」と入力してSLが走ることを確認（笑。</p>
<p>5,pTeXを入れる</p>
<p>sudo port search ptex</p>
<p>→ptexがあることを確認</p>
<p>sudo port variants ptex</p>
<p>→イ ンストールオプションの確認</p>
<p>sudo port install ptex +utf8 +no_x11</p>
<p>適当にTeX打って、platex ***.texでdviファイル作成、dvipdfmx **でPDFに変換できることを確認。</p>
<p>あとはwgetとかffmpegとかImageMagickとかgimpとかw3m？ｗ</p>
<p>参考:</p>
<p><a href="http://macwiki.sourceforge.jp/wiki/index.php/MacPorts" target="_blank">http://macwiki.sourceforge.jp/wiki/index.php/MacPorts</a></p>
<p><a href="http://d.hatena.ne.jp/hakobe932/20061208/1165646618" target="_blank">http://d.hatena.ne.jp/hakobe932/20061208/1165646618</a></p>
<p><a href="http://d.hatena.ne.jp/akezora/20090822/1250960754" target="_blank">http://d.hatena.ne.jp/akezora/20090822/1250960754</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/45/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python3を計算用途に活用する</title>
		<link>http://blog.htlab.net/archives/42</link>
		<comments>http://blog.htlab.net/archives/42#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:57:03 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=42</guid>
		<description><![CDATA[■ 四則演算の方法
「+」　足し算
「-」　引き算
「*」　かけ算
「/」　割り算
「//」　割り算（小数点以下切り捨て）
「%」　割り算のあまり
「**」　累乗
ちなみに()でくくると優先して計算されます。
■ mat [...]]]></description>
			<content:encoded><![CDATA[<p><strong>■ 四則演算の方法</strong><br />
「+」　足し算<br />
「-」　引き算<br />
「*」　かけ算<br />
「/」　割り算<br />
「//」　割り算（小数点以下切り捨て）<br />
「%」　割り算のあまり<br />
「**」　累乗<br />
ちなみに()でくくると優先して計算されます。</p>
<p><strong>■ mathモジュールを使った高度な計算法</strong><br />
まず、mathモジュールを読み込むためにインポート。<br />
import math<br />
math.pi　円周率を返す<br />
math.e　ネピア数を返す<br />
math.pow(x,y)　xをyで累乗。つまりx**y<br />
math.sqrt(x)　xの平方根<br />
math.sin(x)　三角関数サイン（正弦）<br />
math.cos(x)　三角関数コサイン（余弦）<br />
math.tan(x)　三角関数タンジェント（正接）<br />
math.radians(x)　角度からラジアンに変換<br />
math.degrees(x)　ラジアンから角度に変換<br />
math.exp(x)　数学定数eのx乗<br />
math.log(x[,底])　自然対数。オプションで底を指定可能<br />
math.log10(x)　10を底とした対数</p>
<p><strong>■ 変数の利用と計算</strong><br />
a=0<br />
などと書くと「a」という変数に「0」が代入されます。<br />
一度変数が宣言されると、計算に使えるようになります。<br />
a=2<br />
b=3<br />
a*b<br />
(結果：6)</p>
<p>また、変数へ加算する表記方法としては<br />
a=a+1<br />
ではなく<br />
a+=1<br />
と表記できます。<br />
四則演算に使用した、+, -, *, /, //, %, **など、すべて使用可能です。</p>
<p>しかし、a=0などと変数を宣言してからでないと使用できません。<br />
右辺にaの変数があり、宣言されていないのに参照しようとするからです。<br />
<strong><br />
■ 2進数、16進数などの相互変換</strong><br />
リテラルによる表記方法<br />
頭に記号をつけて表記します。<br />
2進数の場合「0b」<br />
8進数の場合「0o」<br />
16進数の場合「0x」<br />
16進数の「ff」ならば「0xff」のように。</p>
<p>その他、x進数から数値に変換する方法<br />
int(&#8220;11111111&#8243;,2)　2進数「11111111」を数値に変換<br />
int(&#8220;12&#8243;,8)　8進数「12」を数値に変換<br />
int(&#8220;ff&#8221;,16)　16進数「ff」を数値に変換</p>
<p>数値から、2進数、8進数、16進数へ変換。<br />
bin(x)　xの数値を2進数で表記（0bXXXX）<br />
oct(x)　xの数値を8進数で表記（0oXXXX）<br />
hex(x)　xの数値を16進数で表記（0xXXXX）<br />
このような感じに数値計算が行えます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/42/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ソフトウェア終了時に問いかける</title>
		<link>http://blog.htlab.net/archives/40</link>
		<comments>http://blog.htlab.net/archives/40#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:53:11 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[REALbasic]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=40</guid>
		<description><![CDATA[
Dim n as Integer
n=MsgBox(&#34;終了しますか？&#34;,36)
If n=6 then
return false
elseif n=7 then
return true
end if [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: vb;">
Dim n as Integer
n=MsgBox(&quot;終了しますか？&quot;,36)
If n=6 then
return false
elseif n=7 then
return true
end if
</pre>
<p>これをCancelCloseに書けばOKです。<br />
ウィンドウを閉じたときに終了しますか？と問いかけます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/40/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ウィンドウを閉じたときにアプリケーションを終了</title>
		<link>http://blog.htlab.net/archives/38</link>
		<comments>http://blog.htlab.net/archives/38#comments</comments>
		<pubDate>Mon, 15 Feb 2010 04:52:11 +0000</pubDate>
		<dc:creator>PJ</dc:creator>
				<category><![CDATA[REALbasic]]></category>

		<guid isPermaLink="false">http://blog.htlab.net/?p=38</guid>
		<description><![CDATA[Application.AutoQuitを使います。
具体的には、Openあたりに「app.AutoQuit=True」などと。
するとMacでもウィンドウを閉じるとソフト自体も終了します。
リファレンスを見ると、「Au [...]]]></description>
			<content:encoded><![CDATA[<p>Application.AutoQuitを使います。<br />
具体的には、Openあたりに「app.AutoQuit=True」などと。</p>
<p>するとMacでもウィンドウを閉じるとソフト自体も終了します。<br />
リファレンスを見ると、「AutoQuit defaults to True on non-MDI Windows applications and True on Linux. It defaults to False on MDI Windows and Macintosh applications.」とあります。</p>
<p>メモメモ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.htlab.net/archives/38/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
