tag:blogger.com,1999:blog-70032510649718942802024-03-13T19:55:56.021+09:00林檎生活100林檎な生活をつづった日記Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.comBlogger230125tag:blogger.com,1999:blog-7003251064971894280.post-54169643462409676412012-06-15T20:30:00.003+09:002023-02-03T12:41:39.397+09:00移転!(2023年2月3日更新)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
<h2>土田 拓也<br /><a href="https://takuyatsuchida.com">https://takuyatsuchida.com</a></h2><h2><strike>
林檎生活100<br />
<a href="http://www.applelife100.com/">http://www.applelife100.com</a></strike></h2>
</div>
</div>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-75053859075361676832012-04-06T09:14:00.001+09:002012-04-06T09:17:27.749+09:00[AWS]S3 で静的な Web サイトを構築する方法S3 に静的な Web サイトを構築してみる。十分な帯域を持ち、大量アクセスにも耐えられ、一瞬で準備できるということでキャンペーンサイトなどに向いていると思う。<br />
<br />
とりあえず、ドメイン名を取得しよう。レジストラはどこでもいい。とりあえず、僕は legna.org というドメイン名をもっているのでそれを使用する。<br />
<br />
1. Web サーバーを作成 (Amazon S3)<br />
<ol>
<li>Amazon Management Console にアクセス</li>
<li>Amazon S3 タブをクリック</li>
<li>Create Bucket をクリック</li>
<li>Bucket Name に取得したドメイン名に www を付けたサブドメイン名を入力<br />(例:example.com を取得している場合、www.example.com を入力する。)</li>
<li>Region で Tokyo を選択</li>
<li>Create をクリック</li>
<li>Bucket パネルの Actions > Properties をクリック</li>
<li>Properties パネルの Website タブをクリック</li>
<li>Enabled をチェック</li>
<li>Index Document にインデックスドキュメント名を入力<br />(例:index.html)</li>
<li>Error Document にエラードキュメント名を入力<br />(例:error.html)</li>
<li>Endpoint をメモ</li>
<li>Save をクリック</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-6G-L6z8or5Q/T34zeQb8oqI/AAAAAAAABAA/rSEMrDMtqQ8/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.55.19.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://2.bp.blogspot.com/-6G-L6z8or5Q/T34zeQb8oqI/AAAAAAAABAA/rSEMrDMtqQ8/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.55.19.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-62OFLccUN3A/T34zekSrj1I/AAAAAAAABAM/hiILWVayEnU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.58.57.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://2.bp.blogspot.com/-62OFLccUN3A/T34zekSrj1I/AAAAAAAABAM/hiILWVayEnU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.58.57.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-CFKrXR44et0/T34zfLBgoFI/AAAAAAAABAY/chedf631J4Y/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.58.57.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://1.bp.blogspot.com/-CFKrXR44et0/T34zfLBgoFI/AAAAAAAABAY/chedf631J4Y/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.58.57.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-zWCvMJkvOes/T34zfRdI9GI/AAAAAAAABAk/XNJq2kOXzXk/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.01.28.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="220" width="320" src="http://2.bp.blogspot.com/-zWCvMJkvOes/T34zfRdI9GI/AAAAAAAABAk/XNJq2kOXzXk/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.01.28.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-J_q45bptvNU/T34zf2w28WI/AAAAAAAABAw/MOkAW9-m0H0/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.01.56.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="220" width="320" src="http://2.bp.blogspot.com/-J_q45bptvNU/T34zf2w28WI/AAAAAAAABAw/MOkAW9-m0H0/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.01.56.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-qxCo1eAiuzs/T3414TOLI1I/AAAAAAAABDM/s6KA8XlXY_I/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.06.38.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="220" width="320" src="http://1.bp.blogspot.com/-qxCo1eAiuzs/T3414TOLI1I/AAAAAAAABDM/s6KA8XlXY_I/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.06.38.png" /></a></div>
2. Web サイトをアップロード (Amazon S3)
<ol>
<li>Objects and Folders パネルの Upload をクリック</li>
<li>インデックスドキュメントとエラードキュメントを Add Files をクリックして追加</li>
<li>Set Details をクリック</li>
<li>Set Permissions をクリック</li>
<li>Make Everything Public をチェック</li>
<li>Start Upload をクリック</li>
<li>Endpoint の URL にアクセスし、インデックスドキュメントが表示されることを確認</li>
<li>Endpoint に存在しないファイル名を付けた URL にアクセスし、エラードキュメントが表示されることを確認</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-JTOg3HqI3jc/T340BV1MzBI/AAAAAAAABA8/ZWkWnIqtH8k/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.27.21.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://2.bp.blogspot.com/-JTOg3HqI3jc/T340BV1MzBI/AAAAAAAABA8/ZWkWnIqtH8k/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.27.21.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-GB7Hn5_tcIM/T340B0rPDII/AAAAAAAABBU/PPVdhW7GRTw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.27.59.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://3.bp.blogspot.com/-GB7Hn5_tcIM/T340B0rPDII/AAAAAAAABBU/PPVdhW7GRTw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.27.59.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-iMVlTbTvrKk/T342DE8y5RI/AAAAAAAABDY/iuoijby2rXQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.27.40.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://3.bp.blogspot.com/-iMVlTbTvrKk/T342DE8y5RI/AAAAAAAABDY/iuoijby2rXQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.27.40.png" /></a></div>
3. DNS のゾーンを作成 (Amazon Route 53)
<ol>
<li>Amazon Route 53 タブをクリック</li>
<li>Create Hosted Zone をクリック</li>
<li>取得したドメイン名を Domain Name に入力</li>
<li>適宜コメントを Comment に入力</li>
<li>Create Hosted Zone をクリック</li>
<li>Delegation Set のネームサーバー名をメモ</li>
<li>レジストラのドメイン名管理画面でネームサーバー名を登録</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-jA46gNtrTgo/T340cRlTAaI/AAAAAAAABBg/zN-lZgnM0lw/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.44.11.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://1.bp.blogspot.com/-jA46gNtrTgo/T340cRlTAaI/AAAAAAAABBg/zN-lZgnM0lw/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.44.11.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-mMoSlQcQeEM/T340cv5rniI/AAAAAAAABBs/3e0WiBe7JXA/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.44.43.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://2.bp.blogspot.com/-mMoSlQcQeEM/T340cv5rniI/AAAAAAAABBs/3e0WiBe7JXA/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.44.43.png" /></a></div>
4. DNS のレコードを作成 (Amazon Route 53)
<ol>
<li>作成したゾーンをチェック</li>
<li>Go to Record Sets をクリック</li>
<li>Create Record Set をクリック</li>
<li>Name に www を入力</li>
<li>Type で CNAME を選択</li>
<li>Value に Endpoint のホスト名部分を入力<br />(例:www.example.com.s3-website-ap-northeast-1.amazonaws.com)</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-x9QAg0vax40/T340c1KVtzI/AAAAAAAABB4/luohb6oYBtc/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.51.18.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://1.bp.blogspot.com/-x9QAg0vax40/T340c1KVtzI/AAAAAAAABB4/luohb6oYBtc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.51.18.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-cJNiXxTiNg4/T340r-NFgVI/AAAAAAAABCE/lNaACpTT4zU/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.52.50.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://1.bp.blogspot.com/-cJNiXxTiNg4/T340r-NFgVI/AAAAAAAABCE/lNaACpTT4zU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B7.52.50.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-bXC1p1lXwr8/T340sQecQoI/AAAAAAAABCQ/XqtM0m2V-mo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.51.52.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://2.bp.blogspot.com/-bXC1p1lXwr8/T340sQecQoI/AAAAAAAABCQ/XqtM0m2V-mo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.51.52.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ejybkYt2YEY/T340ssil70I/AAAAAAAABCc/iG80DS4YlKE/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.52.00.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="320" src="http://4.bp.blogspot.com/-ejybkYt2YEY/T340ssil70I/AAAAAAAABCc/iG80DS4YlKE/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.52.00.png" /></a></div>
5. ブラウザからアクセスして確認 <br />
(例:http://www.example.com)
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XrvqincZOxo/T3408yyzxTI/AAAAAAAABCo/6z3LH8itawo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B9.12.12.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="231" width="320" src="http://3.bp.blogspot.com/-XrvqincZOxo/T3408yyzxTI/AAAAAAAABCo/6z3LH8itawo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B9.12.12.png" /></a></div>
補足1. Web サーバーへのアップロードに Enhanced Uploader を使用する方法 (Mac OS X Lion)
<br />
これを使用するとフォルダごとアップロードできる。
<ol>
<li>アプリケーション > ユーティリティ > Java Preferences を起動</li>
<li>「アプレットプラグインおよび Web Start アプリケーションを有効にする」をチェック</li>
<li>Java Preferences を終了</li>
<li>Safari を再起動(起動していた場合)</li>
<li>S3 の Upload ポップアップウィンドウで Enable Enhanced Uploader をクリック</li>
<li>アプレットの実行について警告が出るので、許可をクリック</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-h-t_iSa5g7U/T341IZIBuPI/AAAAAAAABC0/3BdGHPuPB3E/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.25.45.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="254" width="320" src="http://3.bp.blogspot.com/-h-t_iSa5g7U/T341IZIBuPI/AAAAAAAABC0/3BdGHPuPB3E/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.25.45.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-T7YJu18ZeYo/T341Iq2a_gI/AAAAAAAABDA/tlfhozBdVaQ/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.25.18.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="136" width="320" src="http://1.bp.blogspot.com/-T7YJu18ZeYo/T341Iq2a_gI/AAAAAAAABDA/tlfhozBdVaQ/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2012-04-06%2B8.25.18.png" /></a></div>
これだけで、静的な Web サイトのための Web サーバーが準備できる。また、アカウントのアクセスキーを新しめのバージョンの Cyberduck に設定すれば、Cyberduck からもアップロードできるので試してみてほしい。Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-34131686853094936352012-03-30T22:33:00.001+09:002012-03-30T22:36:12.179+09:00AirMac Express の速度調査今さらだけど、AirMac Express を新しいのにした。有線接続(直接)で 80Mbps 出ている回線で、旧型 AirMac Express (M9470J/A) で 4Mbps しか出ないのは寂しすぎるので。新型 AirMac Express (MB321J/A) にして、新旧の速度と新型のワイヤレス設定変更したときの速度を計測してみたので、ここに書きとめておく。
<br />
<br />
Mac 側は、MacBook Pro 13 (Early 2011)、Mac OS X Lion という感じ。計測は3回計測した結果の平均で、計測サイトは <a href="http://www.usen.com/speedtest/">USEN スピードテスト</a>を使用。アパートの回線環境は UCOM のようだけど、詳細は不明。(入居時に資料があった気がするけど……。)<br />
<ul>
<li>有線接続(直接):79.892Mbps</li>
<li>旧型 AirMac Express - 802.11g のみ:5.625Mbps</li>
<li>新型 AirMac Express - 802.11n(802.11b/g 互換):36.557Mbps</li>
<li>新型 AirMac Express - 802.11n のみ(2.4GHz):43.661Mbps</li>
<li>新型 AirMac Express - 802.11n(802.11a 互換):61.452Mbps</li>
<li>新型 AirMac Express - 802.11n のみ(5GHz):62.986Mbps</li>
</ul>
<div>
安定して有線接続は速いわけだけど、新型は十分な無線での接続速度を出してくれてるね。全部 5GHz にできれば最強なんだけど、iPhone 4 が対応していないということもあるので、ワイヤレス設定は「802.11n のみ(2.4GHz)」にしておいた。Windows PC は Mini PCI Express カードを買い替えて付け直す方針。HP のプリンタは、Canon のプリンタにいずれ買い替えよう。最近使ってないから、必要になったら買い替える方針で。</div>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-60033906297087093012012-03-22T02:11:00.001+09:002012-04-19T14:44:51.707+09:00AWS Elastic Beanstalk for PHP #1AWS Elastic Beanstalk が PHP 環境をサポートしたようなので、とりあえず試してみる。<br />
<br />
どうやってデプロイすんのかなと思ってたんだけど、どうやら Git を使用するらしい。「Git を知らないのが許されるのって高校生までだよねー」とか言われそうだけど、Git 使ったことないぞ……。<br />
<br />
とりあえず、Windows 7 環境で試してみた。(Windows XP Professional SP3 で試したらうまく行かなかったよ……。)<br />
<br />
<a href="http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/GettingStarted.html">Getting Started Using AWS Elastic Beanstalk</a> > Get Set Up > AWS DevTools のところに、Windows は次のような手順でやってねって書いてあった。<br />
<ol>
<li>必要なソフトウェアのインストール</li>
<li>AWS DevTools のダウンロード</li>
<li>セットアップスクリプトの実行</li>
<li>Git リポジトリディレクトリの作成</li>
<li>リポジトリセットアップスクリプトの実行</li>
</ol>
では、順番にやっていこう。<br />
<br />
1. 必要なソフトウェアのインストール<br />
<br />
必要なソフトウェアのインストールということで、次の2つをインストールした。とりあえず、git コマンドのパスを通すところ(画像参照)以外はデフォルトインストールだね。<br />
<ul>
<li>Git 1.7.9 - Git-1.7.9-preview20120201.exe (<a href="http://git-scm.com/">http://git-scm.com/</a>)</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-JRESy2wIxMo/T2oQy10tCDI/AAAAAAAAA9A/RoOF3CdnCC8/s1600/screen_git.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="261" src="http://2.bp.blogspot.com/-JRESy2wIxMo/T2oQy10tCDI/AAAAAAAAA9A/RoOF3CdnCC8/s320/screen_git.png" width="320" /></a></div>
<br />
2. AWS DevTools のダウンロード<br />
<br />
<a href="http://aws.amazon.com/code/AWS-Elastic-Beanstalk/6752709412171743">AWS Elastic Beanstalk Command Line Tool</a> をダウンロードする。ダウンロードしたら、ZIP ファイルを解凍する。<br />
<div>
<br /></div>
<div>
3. セットアップスクリプトの実行</div>
<div>
<br /></div>
<div>
解凍したディレクトリ内の elasticbeanstalk-cli¥AWSDevTools¥Windows¥AWSDevTools-OneTimeSetup.bat をダブルクリックして実行する。</div>
<br />
4. Git リポジトリディレクトリの作成<br />
<br />
デスクトップにある Git Bash アイコンをダブルクリックして Shell を起動する。下記のコマンドをホームディレクトリで実行する。<br />
<br />
$ mkdir sample
$ cd sample
$ git init .<br />
<br />
5. リポジトリセットアップスクリプトの実行<br />
<br />
解凍したディレクトリ内の elasticbeanstalk-cli¥AWSDevTools¥Windows¥AWSDevTools-RepositorySetup.bat を sample ディレクトリにコピーし、ダブルクリックして実行する。<br />
<br />
<br />
<br />
ここまでで、AWS DevTools の設定は完了した。<br />
早速、サンプルの PHP ファイルをデプロイしてみよう。<br />
<br />
作成した sample ディレクトリで下記のような感じで作業し、サンプルとなる PHP ファイルを作成した。(Hello, World と表示するだけのサンプルw)すべてのコマンドは、Git Bash から実行した。<br />
<br />
$ vim index.php<br />
$ git add .<br />
$ git commit -m "initial check-in"<br />
<br />
次に、AWS Management Console > AWS Elastic Beanstalk > Create New Applicationで適当なアプリケーションを作成する。僕は、Hello というアプリケーションを作成した。環境は HelloEnv にしといた。<br />
<br />
その内容で、下記コマンドを実行し、デプロイの設定をする。<br />
<br />
$ git aws.config<br />
AWS Access Key: (アクセスキーを入力する。)<br />
AWS Secret Key: (シークレットキーを入力する。)<br />
AWS Region [default to us-east-1]: (デフォルトのまま Enter を入力する。)<br />
AWS Host [default to git.elasticbeanstalk.us-east-1.amazonaws.com]: (デフォルトのまま Enter を入力する。)<br />
AWS Elastic Beanstalk Application: Hello<br />
AWS Elastic Beanstalk Environment: HelloEnv<br />
<br />
最後に、下記コマンドでデプロイ!<br />
<br />
$ git aws.push<br />
<br />
そして、下記の URL をブラウザで開いて実行されていることを確認する。<br />
<br />
http://(環境の名前).elasticbeanstalk.com/index.php<br />
<br />
環境構築には手間取ったけど、慣れてしまえば効率的に開発環境も本番環境も作成できるね。シンプルな Web アプリケーションだったら、サーバーエンジニアの仕事はなくなっていくな。AWS がわかるエンジニアが居ればね。<br />
<br />
参考文献:<br />
<a href="http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/">AWS Developers Guide Elastic Beanstalk</a><br />
<br />
<span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif;">追記(2012年3月22日):</span><span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif;"><br /></span><span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif;">ELB のヘルスチェックを sample/index.php に設定してやらないとダメみたい。</span><br />
<span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif;">追記(2012年4月19日):</span><span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif;"><br /></span><span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif;">Git を理解してなかったためにいろいろと間違ってたので修正。ELB のヘルスチェックも index.php になってれば大丈夫。</span>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-69782449161778252302011-12-10T15:11:00.001+09:002011-12-12T02:39:10.810+09:00Python 3 チュートリアルを Python 2 で試しながら読んでみた #1<p>Django が、Python 3 に対応していないので、Python の勉強をするなら Python 2 環境に慣れておかないとダメ。ということで、手元にある「Python チュートリアル 第2版」のコードを Python 2.7.2 (Windows XP) 上で試してみたよ。</p>
<p>とりあえず、Python 2 インタプリタをめいっぱい Python 3 互換で動くようにするために、次のようなスタートアップファイルを作成した。あくまで、対話環境の初期化ファイルなので、ファイルを指定して実行するときは、同じようなインポートをファイルごとに記述する必要がある。</p>
<pre># -*- coding: utf-8 -*-
from __future__ import division, print_function, unicode_literals
from future_builtins import ascii, filter, map, hex, oct, zip
</pre>
<p>それで、環境変数 PYTHONSTARTUP にそのファイルのパスを登録した。ちなみにエディタは、IDLE を使用している。設定は、フォントを FixedSys の10ptに変更し、Default Source Encoding を UTF-8 に変更した。ただし、IDLE 上のインタプリタでは、スタートアップファイルが反映されなかったので、Python (command line) で起動したインタプリタ上で実行している。</p>
<p>さて、チュートリアルを読み進めていこう。</p>
<p>最初の関門かなと思ったのは、「3.1.1 数値」の割り算の部分。Python 2 と Python 3 で動作が異なる部分だけど、スタートアップファイルの設定で、同じ動作をしてくれた。素晴らしい。</p>
<p>次の問題は、文字コード。日本人プログラマーなら1度は頭を悩ませたことがある問題。「3.1.3 Unicode について」のところも、スタートアップファイルの設定で、ほぼ同じ動作をしてくれた。</p>
<p>ここから先は、当分トラブルはなさそうだなと思っていたら、「4.1 if 文」に伏兵が潜んでいたよ。input 関数の引数にスタートアップファイルで設定したまま非 Ascii 文字を含む文字列を入れるとダメっぽい。input 関数は、テストコードくらいでしか使わないだろうけど、こういうエラーが生じることは覚えとかないとかな。<p>
<p>「4.2 for 文」で、print 文と print 関数の違いを見た。出力が、タプルとして評価された結果になってしまっている。スタートアップファイルの設定があれば問題はない。</p>
<p>「4.3 range() 関数」では、range 関数の戻り値を print 関数の引数としたとき、動作が異なるところが見られる。Python 3 の range 関数は、Python 2 の xrange 関数と同様に反復可能体 (iterable object) を返すが、Python 2 の range 関数はそうではないためだ。とりあえず、range 関数を使ったままのコードで for 文の動作は問題ない。</p>
<p>「4.7.1 引数のデフォルト値」で、Python 2 と Python 3 での input 関数の違いに遭遇。Python 2 の raw_input 関数が Python 3 での input 関数になったそうだ。Python 2 の input 関数は、Python 3 での eval(input()) になるらしい。</p>
<p>4章まで読了。次回は5章から。Pythonista 目指して頑張ろう。</p>
<ul>
<li>
<h4>Python 2.7.2</h4>
<pre>>>> (50-5*6)/4
5
>>> 8/5
1
>>> 'Hello\u0020World !'
'Hello\\u0020World !'
>>> 'あいう'.encode('utf-8')
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
'あいう'.encode('utf-8')
UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 0: ordinal not in range(128)
>>> x = int(input("整数を入れてください: "))
整数を入れてください: 42
>>> a = ['cat', 'window', 'defenestrate']
>>> for x in a:
... print(x, len(x))
...
('cat', 3)
('window', 6)
('defenestrate', 12)
>>> print(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(5))
[0, 1, 2, 3, 4]
>>></pre>
</li>
<li>
<h4>Python 2.7.2 (Python 3 互換設定済)</h4>
<pre>>>> (50-5*6)/4
5.0
>>> 8/5
1.6
>>> 'Hello\u0020World !'
u'Hello World !'
>>> 'あいう'.encode('utf-8')
b'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86'
>>> x = int(input("整数を入れてください: "))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128)
>>> a = ['cat', 'window', 'defenestrate']
>>> for x in a:
... print(x, len(x))
...
cat 3
window 6
defenestrate 12
>>> print(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(5))
[0, 1, 2, 3, 4]
>>></pre>
</li>
<li>
<h4>Python 3.2.1</h4>
<pre>>>> (50-5*6)/4
5.0
>>> 8/5
1.6
>>> 'Hello\u0020World !'
'Hello World !'
>>> 'あいう'.encode('utf-8')
b'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86'
>>> x = int(input("整数を入れてください: "))
整数を入れてください: 42
>>> a = ['cat', 'window', 'defenestrate']
>>> for x in a:
... print(x, len(x))
...
cat 3
window 6
defenestrate 12
>>> print(range(10))
range(0, 10)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>></pre>
</li>
</ul>
<h4>参考文献</h4>
<ul>
<li><a href="http://www.amazon.co.jp/gp/product/487311442X/ref=as_li_ss_tl?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=487311442X">Pythonチュートリアル 第2版</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=487311442X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
</ul>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-41249089615541545602011-08-15T13:39:00.010+09:002011-08-24T01:14:09.437+09:00Android の定石 #1 スプラッシュ画面の表示Android の定石っぽいものをメモとして書いておくことにした.出来る限り,正しいコードを書くように心がけるつもりだけど,Android の開発を始めて1ヶ月も経ってないので,いろいろ間違ってたりするかもしれない.間違っていたら,ぜひ教えてください.
<br />
<br />さて今回は,スプラッシュ画面(スプラッシュスクリーン)を Android で実現する方法について.
<br />
<br />基本的な流れは,次のとおり.
<br />
<br />1. スプラッシュ画面(スプラッシュ画像を表示するアクティビティ)を表示する.
<br />
<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-gznfeCWZsXM/Tkin8OhZLvI/AAAAAAAAA7c/b0bd1dFleos/s1600/device-2011-08-15-135836.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://4.bp.blogspot.com/-gznfeCWZsXM/Tkin8OhZLvI/AAAAAAAAA7c/b0bd1dFleos/s320/device-2011-08-15-135836.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5640943186413694706" /></a>
<br />
<br />2. N ミリ秒後にスプラッシュ画面から遷移する.
<br />
<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-iZjyZpe5geU/Tkin8XE19ZI/AAAAAAAAA7k/-1uf1o4XjTE/s1600/device-2011-08-15-135632.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://1.bp.blogspot.com/-iZjyZpe5geU/Tkin8XE19ZI/AAAAAAAAA7k/-1uf1o4XjTE/s320/device-2011-08-15-135632.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5640943188709864850" /></a>
<br />
<br />1 は,レイアウト XML ファイルに ImageView を追加し画像を表示するだけなので割愛する.
<br />
<br />重要なのは 2.時間を待って画面遷移をさせるために,Handler#postDelayed() を使用する.Handler#postDelayed() は,N ミリ秒後に Runnable オブジェクトの run() を実行するメソッドだ.(Handler クラスを一文で表すとなんだろうなぁ…….)
<br />
<br />実際のコードは次のとおり.コードを見た方がわかりやすい.
<br />
<br /><pre class="brush: java">public class MainActivity extends Activity {
<br /> @Override
<br /> public void onCreate(Bundle savedInstanceState) {
<br /> super.onCreate(savedInstanceState);
<br /> setContentView(R.layout.main);
<br />
<br /> // スプラッシュ画面から、1000ミリ秒後に遷移する。
<br /> new Handler().postDelayed(new Runnable() {
<br /> public void run() {
<br /> Intent intent = new Intent(MainActivity.this, SubActivity.class);
<br /> startActivity(intent);
<br />
<br /> // アクティビティを終了させることで、スプラッシュ画面に戻ることを防ぐ。
<br /> MainActivity.this.finish();
<br /> }
<br /> }, 1000);
<br /> }
<br />}</pre>
<br />
<br />スプラッシュ画面表示時間は,values/integers.xml などに入れておくのも良いかと思う.
<br />
<br />プロジェクトファイルは下記 URL に置いてあるので,参考にしてほしい.
<br />
<br /><a href="http://idisk.mac.com/takuya0301/Public/Android/Example001.zip">http://idisk.mac.com/takuya0301/Public/Android/Example001.zip</a>
<br />
<br />参考文献:
<br /><a href="http://developer.android.com/reference/android/os/Handler.html">Android Developers: Handler</a>
<br /><a href="http://andante.in/i/androidアプリtips/splash画面を作成してみる。/">素人のアンドロイドアプリ開発日記: splash画面を作成してみる。</a>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com1tag:blogger.com,1999:blog-7003251064971894280.post-43162577189932334632011-05-08T22:55:00.005+09:002011-05-08T23:26:44.001+09:00HP Compaq nx6320 で Intel Wireless WiFi Link 4965AGN を使う方法<span style="font-weight:bold;">※起動しなくなってもいっさい保証できないので,自己責任で実施してね.</span><br /><br />HP Compaq nx6320 が認めているカード以外は,BIOS ではじかれる.BIOS にホワイトリストが含まれているらしい.なので,ホワイトリストを除去した(正確には,ホワイトリストを参照しないなのかな?) BIOS を書き込めば,Intel Wireless WiFi Link 4965AGN などの Wi-Fi カードが動作する.(なお,このカードは,オークションで安く出回っている.)<br /><br />ということなのだが,自力でやる方法を探す暇がなかった.とりあえず,ダウンロードサイトなどで出回っているツールを使って解決できたので,自己責任で使用してください.<br /><br /><a href="http://www.sendspace.com/file/13iovk">sp38742_SLIC21_SLPon_no_whitelist.zip</a><br /><br />なお,ネタ元は,参考文献をどうぞ.<br /><br />参考文献:<br /><a href="http://www.logsoku.com/thread/hibari.2ch.net/notepc/1218785940/">ログ速: 【HP】HPCompaq nx6320/6310買得 No3【ビジネス】</a> (>>690)<br /><a href="http://forums.mydigitallife.info/archive/index.php/t-7681.html">My Digital Life Forums: This is no request thread! HP COMPAQ bioses, how to modify the bios? [Archive]</a> (>>TTAV134 14 Aug 2009, 11:01 PM)Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-10734318027072694022011-04-10T16:55:00.007+09:002011-04-10T17:22:15.582+09:00写真を Aperture 3 から flickr に GPS 情報付きでアップロードする方法写真を Aperture 3 から <a href="http://www.flickr.com/">flickr</a> に GPS 情報付きでアップロードするには,以下のような Aperture と flickr の設定変更が必要なのだ.<br /><br />1. Aperture 3 の設定<br />アップロードする写真に位置情報を含めるようにする設定をする.<br /><br />1.1.「Aperture > 環境設定… > 詳細 > 公開する写真に位置情報を含める」をチェックする.<br /><br />2. flickr の設定<br />アップロードされる写真の位置情報を公開するようにする.<br /><br />2.1. flickr にログインする.<br />2.2. グローバルメニューの You の横の▼をクリックし,プルダウンメニュー中の Your Account をクリックする.<br />2.3. Privacy & Permissions タブをクリックする.<br />2.4. Import EXIF location data の右端にある Edit をクリックする.<br />2.5. Yes please, that would be lovely. をチェックし,SAVE ボタンをクリックする.<br /><br />これで自動的に,写真についている GPS 情報が flickr の Your Maps に反映される.<br /><br />僕の場合はこんなかんじ.(コンタクトの追加もぜひしてねw)<br /><a href="http://www.flickr.com/photos/takuya0301/map">Flickr: Explore TSUCHIDA Takuya's photos on the map</a><br /><br />flickr の日本地図は残念な感じなので,改善を期待.(たぶん,アメリカの Yahoo! 地図の問題だろうけど.)Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com2tag:blogger.com,1999:blog-7003251064971894280.post-72222170241774771422011-04-06T23:44:00.003+09:002011-04-07T01:06:38.516+09:00MacPorts から SpiderMonkey をインストールMacPorts がインストールされている状態であれば,次のコマンド打つだけ.<br /><br /><pre>$ sudo port -c install spidermonkey</pre><br />次のコマンドでインタプリタを起動できる.<br /><br /><pre>$ js</pre>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-83124872814231155952011-04-03T03:14:00.007+09:002011-04-03T03:24:47.823+09:00NetBeans 6.9.1 付属の GlassFish のアップデート方法Mac OS X 上で NetBeans 6.9.1 をインストールしたら,GlassFish のアップデートが Update Tool からうまく実行できなかったのでメモ.<br /><br />とりあえず,直接 pkg コマンドで GlassFish のアップデートを実行したらうまくいった.(既存環境でやって,一度失敗してるので,壊したくない人はやめといた方が無難かも.)<br /><br /><pre>$ cd /Applications/NetBeans/glassfish-3.0.1/bin/<br />$ sudo ./pkg image-update<br />$ ./asadmin start-domain --upgrade<br />$ ./asadmin start-domain<br />$ ./asadmin stop-domain</pre><br />ここまでやっとくと,とりあえず最新版になって,NetBeans 6.9.1 からも正常に起動できるっぽい.<br /><br />蛇足だけど,GlassFish の日本語メッセージの文字コードは,Shift JIS みたいだからターミナルの設定変えて実行すると良い.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-84025500675279700902010-11-23T20:30:00.003+09:002010-11-23T20:37:16.081+09:00[日記]LTM Essentials WBT ForumBIG-IP で有名な <a href="http://www.f5.com/">F5 Networks</a> の無料オンライントレーニングをはじめた.良く知らないけど,BIG-IP Essentials v10.x をベースにしているらしい.BIG-IP も使いこなして,ネットワークエンジニアとしてステップアップするのだ♪<br /><br /><a href="http://www.f5networks.co.jp/service/training/ltm.html">F5 Networks Japan: LTM Essentials WBT Forum</a>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-5806005006412088942010-09-19T11:36:00.003+09:002010-09-19T11:47:47.158+09:00[資格]MOS Excel 2007仕事で Excel 2007 をよく使うので,Excel 2007 の勉強のために MOS (Microsoft Office Specialist) Excel 2007 資格を取得してきた.<br /><br />まあ,商業高校の生徒でも普通に合格しているレベルなので,就職とか転職とかで役に立つ資格ではないけどね.富士通エフ・オー・エムのテキストや問題集で勉強すると,案外知らない便利そうな機能が多くて,これ業務で使えそうだなってのがあるからオススメ.<br /><br />資格を取得するだけなら,「<a href="http://www.amazon.co.jp/gp/product/4893116886?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4893116886">よくわかるマスター MCAS Excel 2007 完全マスターI 公認テキスト</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=4893116886" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />」だけで十分.95%以上本番に類似した模擬試験ソフトが入ってるからw正直,12,390円という受験料の高さが問題w今回は合格したので,会社から受験料払ってもらえるからいいんだけどね♪<br /><br />蛇足だけど,模擬試験ソフトは,模擬試験ソフトの修正パッチを適用した方がいいよ.あと,Office 2007 をインストールするときは,完全オプションでインストールしないと,模擬試験ソフトを起動したときに,「エラーが発生しました 指定されたキャストは有効ではありません。・・・」というエラーが出て動作しないので注意.<br /><br />参考文献:<br /><a href="http://www.amazon.co.jp/gp/product/4893116886?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4893116886">よくわかるマスター MCAS Excel 2007 完全マスターI 公認テキスト</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=4893116886" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br /><a href="http://www.amazon.co.jp/gp/product/4893116673?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4893116673">よくわかる Microsoft Office Excel 2007(基礎)</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=4893116673" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br /><a href="http://www.amazon.co.jp/gp/product/4893116681?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4893116681">よくわかる Microsoft Office Excel 2007(応用)</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=4893116681" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-89065784576399535412010-05-30T16:35:00.007+09:002010-05-30T18:39:04.245+09:00Windows 7 64ビット版を BootCamp でインストールWindows 7 の64ビット版を BootCamp でインストールしようとすると,<br /><pre>Select CD-ROM Boot Type:</pre><br />と表示されて止まってしまう.これは,El Torito ブートセクタファイルが BIOS と EFI の2種類あるので選択画面が出るが,BootCamp からのインストールではなぜか何も入力できないからなんだよね.(要確認)<br /><br />なので,<a href="http://www.microsoft.com/Downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=ja#RelatedLinks">Windows AIK</a> を使用して,読み込む El Torito ブートセクタファイルを事前に指定したディスクを作成することで解決している.(El Torito については参考文献を参照のこと.)<br /><br />その作業の詳細は,ググればいっぱい出てくると思うので割愛させてもらうとして,作業で使用するコマンドのオプションを僕の場合は変更しているので,それをメモしておこうと思う.(ここでは,Z: ドライブに Windows 7 のマスタメディアがあるものとする.なお,今回は MSDN AA で配布されている Windows 7 Professional 64 ビット日本語版を使用した.)<br /><pre>> "C:\Program Files\Windows AIK\Tools\x86\oscdimg.exe" -bZ:\boot\etfsboot.com -lGRMCPRXFRER_JA_DVD -m -n Z:\ C:\ja_windows_7_professional_x64_dvd_x15-65823.iso</pre><br />それぞれのオプションの意味は次のとおり.<br /><pre>-b: El Torito ブート セクタ ファイルの場所の指定する(主目的)<br />-l: ボリューム ラベルを指定する(ボリュームラベル指定しないと CD-ROM となっていたから)<br />-m: イメージの最大サイズ制限を無視する(ISO として出力すると,72分 CD-R のサイズがデフォルトになるから)<br />-n: 長いファイル名を使用する(長いファイル名が存在した場合に削られるのは良くないから)</pre><br />オプションについては,参考文献のサイトとヘルプを参照して自分なりに設定しているのだけど,誤認識しているものもあるかもしれないので,間違っていたら教えてください.<br /><br />○参考文献<br /><a href="http://no-outlet.blog.bbiq.jp/blog/2009/05/select-cd-rom-b.html">この先行き止まり: Select CD-ROM Boot Type:</a><br /><a href="http://www.microsoft.com/Downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=ja#RelatedLinks">Microsoft ダウンロードセンター: Windows 7 用の Windows 自動インストール キット (AIK)</a><br /><a href="http://technet.microsoft.com/ja-jp/library/cc749036(WS.10).aspx">Microsoft TechNet: Oscdimg のコマンド ライン オプション</a><br /><a href="http://ja.wikipedia.org/wiki/ISO_9660">Wikipedia: ISO 9660</a><br /><br />○追記(2010年5月30日)<br />d オプションを付けるとうまくいかないので注意.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-92211499780479185312010-04-25T04:39:00.012+09:002010-04-25T23:21:37.644+09:00画像置換を JavaScript (jQuery) でやってみるお久しぶり!社会人になってしまったので,Blog 更新する暇なかった!<br /><br />いま,ちょっとした Web サイトを作成中なんだよね.その制作過程で,「画像置換どうしよう?」ってことになったんで,今回はそれについて書くことにした.<br /><br />Windows もメイリオが入ってから,フォントがだいぶ綺麗になったと思うけど,見出しに使うフォントとしてはいまいち.でも,Mac OS X ならヒラギノ明朝があるから,それを見出しにすればいいよなぁと思った.<br /><br />また,Mac OS X の場合はフォントがあるんだから,テキストとしてコピーできるように,フォントがある場合は画像置換をしたくない.そして,見出し1つ1つに id を付けるのは嫌だったし,XHTML を汚したくない.さらに言えば,CSS に置換用画像のファイル名をいっぱい書かなければならないのもどうかなと思うわけだ.<br /><br />なので,条件としては,<br /><br />・ヒラギノ明朝が存在すれば,画像置換はしない<br />・XHTML と CSS を汚さない<br /><br />ということで考えてみた.<br /><br />そーなると,CSS でどーにかするっていう画像置換は無理なので,JavaScript で頑張ることにした.まあ,美しいサイトを見たいなら JavaScript くらい有効にしておいてくれということでwアクセシビリティとしても XHTML を汚さないので大丈夫だと思うし.<br /><br />んで,今回は,<a href="http://jquery.com/">jQuery</a> で,<br /><br />・ヒラギノ明朝の存在判定<br />・h1, h2 要素のテキストのハッシュ値からの画像名計算<br />・h1, h2 要素のテキストの img 要素への変換<br /><br />ということをすることで,画像置換を行ってみた.サンプルは次のとおり.<br /><br /><a href="http://idisk.mac.com/takuya0301/Public/Web/IR/index.html">JavaScript による画像置換サンプル</a><br /><br />使用したライブラリは,jquery.js と <a href="http://code.google.com/p/jquery-fontavailable/">jquery.fontavailable.js</a>,<a href="http://plugins.jquery.com/project/md5">jquery.md5.js</a>.<br /><br />JavaScript を書くことがないので,こういう書き方が正しいかわからないけど,次のようなかんじで記述したら OK だった.<br /><br /><pre>$(function() {<br /> // Image Replacement<br /> if (!$.fontAvailable("Hiragino Mincho Pro") &&<br /> !$.fontAvailable("ヒラギノ明朝 Pro W3")) {<br /> $("h1").each(function() {<br /> $(this).replaceWith(<br /> '<h1><img src="img/ir/h1_' + $.md5($(this).text()) +<br /> '.jpg" alt="' + $(this).text() + '" /></h1>');<br /> });<br /><br /> $("h2").each(function() {<br /> $(this).replaceWith(<br /> '<h2><img src="img/ir/h2_' + $.md5($(this).text()) +<br /> '.jpg" alt="' + $(this).text() + '" /></h2>');<br /> });<br /> }<br />});<br /></pre><br /><br />一応,Mac OS X での Safari と Firefox,Chrome,Opera,Windows での Internet Explorer 6,Internet Explorer 7,Internet Explorer 8,Firefox,Safari,Chrome,Opera での動作を確認.<br /><br />それにしても jQuery って便利だねぇ.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com2tag:blogger.com,1999:blog-7003251064971894280.post-15700954846633547162010-03-14T11:10:00.010+09:002010-03-15T15:11:38.093+09:00Office 2010 優待アップグレードキャンペーンで,卒業直前に Office 2007 アカデミックを購入する場合<a href="http://office.microsoft.com/ja-jp/products/">Office 2007</a> を3月5日からパッケージ製品発売前日までに購入し, <a href="http://www.microsoft.com/japan/office/2010/">Office 2010</a> 優待アップグレードキャンペーンへ申し込むと,3,000円で Office 2010 にアップグレードできる.<br /><br />詳細は,キャンペーンサイトに譲るが,どうやら店頭からの購入日がキャンペーン期間中であれば,過去の優待パッケージ製品でもいい.(まあ,過去の優待パッケージが残っているとは思えないけどね.)そして,購入するパッケージがアカデミックでもいい.ここで,本年度卒業の学生は,Office 2007 Professional アカデミックを購入して,Office 2010 Professional アカデミックへのアップグレードが可能なのかが重要になる.<br /><br />僕は,Office 2010 が学生のうちに出ないかなぁと待ってたんだけど,結局学生のうちにでないということになった.でも,Office 2010 優待アップグレードキャンペーン対象の Office 2007 Professional アカデミックは学生のうちに購入できる.Office 2010 の本国の価格情報から,Office 2010 Professional を入手する場合の費用は,Office 2010 Professional(非アカデミック)購入価格より Office 2007 Professional アカデミック購入価格+3,000円の方が安くなると思う.なので,学生のうちに買った Office 2007 Professional アカデミックから,社会人になってから発売される Office 2010 Professional アカデミックに優待アップグレードキャンペーンによってアップグレードできれば安上がりになる.ちなみに学生時に購入したアカデミック版は,卒業後でも個人用途であればそのまま使用できるからね.<br /><br />さて,ここらへんはどうなってるんだろう.ちょっと,Microsoft に問い合わせてみるかなぁ.<br /><br />追記(2010年3月15日):<br />Microsoft に問い合わせてみた結果,Office Professional 2007 アカデミックを在学中に購入し,Office 2010 優待アップグレードキャンペーンに応募すれば,Office Professional 2010 アカデミックが発売後に届くらしい.もちろん,それを使用することはライセンス上問題がないとのことだ.<br /><br />参考文献:<br /><a href="http://www.microsoft.com/japan/office/2010/techg/">Microsoft Office 2010 優待アップグレード キャンペーン</a>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-49454788248119172102010-02-19T02:12:00.006+09:002010-02-19T02:19:25.527+09:00Mac OS X で Hex Dump(バイナリビューワー)Mac OS X でとりあえず16進数でバイナリを表示したいときに使えるツールのメモ.<br /><pre>$ hexdump ファイル名<br />$ xxd ファイル名</pre><br />xxd の方のデフォルトの表示フォーマットのが好きだな.機能の差とかはよく知らない.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-21511925418806791632010-02-14T01:56:00.004+09:002010-02-14T02:44:12.171+09:00またたび式 C 入門 #0どうも,お久しぶりですw<br /><br />修士論文とレポートで忙しくてほったらかしてたんだよね.一応,修士論文発表会も終わり,単位認定結果を待つのみとなったので,ブログを書くのを復活させよう♪<br /><br />久しぶりのブログのネタは,いわゆる C 言語の入門ネタをやろうかと思ってる.C の入門ネタなんてインターネット上に腐るほどあるので,いまさら感はあるんだけど,1回くらいは C の入門ってーのを書いてみたいと前々から思っていたのでwほかの言語でちゃんとした入門ネタを書こうとも思ったんだけど,入門ネタを書けるほど修得してる言語って C くらいかなぁと…….そもそも,C ってとんでもない人がわんさかいるから,僕が偉そうに書くというのもいろいろ自爆してる気がするけどwww<br /><br />ということで,「またたび式 C 入門」と題して,C 言語の入門ネタを書いていこう.またたび式という名前は,とりあえず C 入門じゃ検索し辛いから,適当に付けた名前なのであまり気にせずにwあと,林檎生活なんだけど,ターゲットプラットフォームは,Windows XP にした.とりあえず,Windows ユーザ向けに書いてみたかったからなんだよね.Windows ユーザ向けで書いてどのくらい読む人がいるか知りたかったのと,Windows っていう C に向かない環境でとりあえず学ぶ方法を開拓してみたかったから.<br /><br />まあ,今回のエントリは,ぐだぐだ僕の C 言語とそれを学ぶことについて思ってることを書くだけにする.#1 からちゃんと入門っぽいエントリにするのでねw<br /><br />まず,C を学びたい人ってどういう人だろうねという話.とりあえず,C って有名だから学び始める人が多いのかもしれない.実際,僕はそんな感じで勉強し始めた.学校で教えられるから勉強し始めた人も多いと思う.最近だと,実務で必要だからという人もいるかもしれないね.Web アプリケーションでよく使われる言語からプログラミングを始めて,組み込みの仕事もやることになってみたいな友達を知ってるから.<br /><br />じゃ,C を学んでハッピーになれる人は?とりあえず,大学で研究するために必要な人は,ハッピーになれるはずだね.学ばないと研究にならないわけだしw実務で使用する人もハッピーになれると思うけど,入門書が役に立つとは思えないな.C の案件って組み込みが多いだろうし,入門書じゃそこまでカバーしきれないから.とりあえず,プログラミングを始めたくて C を選んだ人は,ハッピーにならない気がするな.いわゆる Windows アプリケーションを作成することを夢見てたり,ゲームプログラミングを夢見てるのであれば,C という選択肢はイバラの道だ.Windows API を叩いて Windows アプリケーションを作成するよりは,Visual Studio と C# で作った方が簡単だよね.ゲームを作るにしても,いまなら C# でいいんじゃないかなぁ.Direct X を C++ で叩くよりは,C# で叩いた方が行数が少なかったよね.ハッピーになる人なんて,UNIX アプリケーションのソースを読まなきゃならない人とか,C++ や Objective-C の前段階として学ぶ人くらいじゃないかなぁ.<br /><br />実際のところ C は広く使われてるから,なんでもかんでもやろうと思えばできる.ハードウェアに近いドライバから,GUI アプリケーションや Web アプリケーションまで.でも,C じゃなきゃ困るというところは,組み込み系とか UNIX アプリケーション系とかに限定されてくる.あとは,リバースエンジニアリングをする目的で Windows API を知らなきゃならないとかいう状況かな.その場合は,もちろんアセンブラの知識の方が重要になるけどね.<br /><br />という感じで,C をいまさらやらなくてもいいよなぁと思うところもあるわけだけど,大学ではまだ C を教えてるみたいだし,UNIX のサーバとかは C で開発されているのが多いし,とりあえず C を学びたい人はいそうだ.OpenGL や OpenMP,OpenCV を使って研究用の書き捨てのコードを書くなら C っていう選択肢は有りだし,C で書かれている便利なものが多くあるんだよな.<br /><br />うーん,またたび式では,Windows 上で C の UNIX 的な使い方を勉強しつつ,いろんなライブラリを使える程度のスキルを身につけられるようにすることを目標にしようかな.発展的には,Windows API を使ってみることで,C からかけ離れた使い方を勉強してみるとかwあと,UNIX の開発ツールの使い方とかも一緒に学んで,UNIX アプリケーションのソースを読めるようにするとかね.<br /><br />まっ,こんなことをグダグダと書いてしまったけど,次回からはちゃんと C 入門を書いていきます.全編通しての例題として考えているのは,リバーシ!いわゆる,オセロねwコンピュータの思考ルーチンとかも作って,最終的には GUI 化しようとか企んでるわけです♪<br /><br />ではでは,お楽しみにwTakuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-67692819361679211182009-12-22T02:06:00.003+09:002009-12-22T02:15:11.930+09:00WILLCOM のメールアドレスに迷惑メールWILLCOM のメールアドレスに,12月15日から迷惑メールが届くようになった.サイトとかに登録しているメールアドレスでもないので,迷惑メールが届くようになるのはおかしい.そもそも,この現象についていろいろなブログが書いている.WILLCOM の方で,メールアドレスの流出があったのではないかと思ってしまう.<br /><br />WILLCOM の迷惑メール対策機能は,残念ながらしょぼいので今回の件に対応できそうにない.WILLCOM の方での対策を待つしかない.WILLCOM からの音沙汰がないので,現状について何らかの発表をしてほしいなと思う.<br /><br />参考文献:<br /><a href="http://www.206xs.com/webdiary/475.htm">WebDiary: Willcomでスパム爆発中!</a><br /><a href="http://ohtsuka.cocolog-nifty.com/blog/2009/12/willcomcom-6f99.html">何の変哲もない新婚生活…: @willcom.comあての迷惑メールが届くようになった.</a>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-61510714831034746372009-11-04T05:51:00.006+09:002009-11-04T06:24:49.197+09:00Dell Inspiron Mini 12 無線 LAN 換装 Atheros AR5007EG (AR5BXB63)Dell Inspiron Mini 12 に搭載されている無線 LAN モジュール Broadcom BCM94312MCG を Yahoo! オークションで購入した Atheros AR5007EG (AR5BXB63) に換装した.どちらも 802.11b/g 対応なのは変わらないが,FreeBSD をインストールして無線アクセスポイントとして使用したかったので,対応している Atheros のものにしたのだ.<br /><br />FreeBSD 7.2-RELEASE で認識し,クライアントとして使用できることは確認できたが,FreeBSD 7.1-RELEASE では認識できなかった.Windows XP でも,Aspire One の無線 LAN ドライバをインストールすることで使用できることを確認した.(ダウンロードできるサイトは参考文献にある.)<br /><br />以下,その作業手順.<br /><br />1. バッテリーを外す.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zhVOi4fKc_M/SvCa-yYcN5I/AAAAAAAAA2Q/5J4UKCJse9A/s1600-h/Inspiron+Mini+12+Wi-Fi%5B2%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_zhVOi4fKc_M/SvCa-yYcN5I/AAAAAAAAA2Q/5J4UKCJse9A/s320/Inspiron+Mini+12+Wi-Fi%5B2%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986356684076946" /></a><br />2. 画面を最大まで開く.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zhVOi4fKc_M/SvCa-jWjyiI/AAAAAAAAA2I/TEvCqnzescA/s1600-h/Inspiron+Mini+12+Wi-Fi%5B3%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_zhVOi4fKc_M/SvCa-jWjyiI/AAAAAAAAA2I/TEvCqnzescA/s320/Inspiron+Mini+12+Wi-Fi%5B3%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986352649652770" /></a><br />3. 左側の F1 のあたりにある隙間を使ってヒンジカバーを浮かせて外していく.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zhVOi4fKc_M/SvCa-WPrB5I/AAAAAAAAA2A/AEuuknGZ9y8/s1600-h/Inspiron+Mini+12+Wi-Fi%5B4%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_zhVOi4fKc_M/SvCa-WPrB5I/AAAAAAAAA2A/AEuuknGZ9y8/s320/Inspiron+Mini+12+Wi-Fi%5B4%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986349131106194" /></a><br />4. ヒンジカバーを外したら,ヒンジカバーの陰に隠れていたキーボードを止めているネジを外す.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zhVOi4fKc_M/SvCazpcYJzI/AAAAAAAAA14/7n2C_zPgNhM/s1600-h/Inspiron+Mini+12+Wi-Fi%5B5%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_zhVOi4fKc_M/SvCazpcYJzI/AAAAAAAAA14/7n2C_zPgNhM/s320/Inspiron+Mini+12+Wi-Fi%5B5%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986165306107698" /></a><br />5. キーボードを外すときには,キーボードと本体を繋いでいるケーブルに注意する.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zhVOi4fKc_M/SvCazd7qrnI/AAAAAAAAA1w/HrOmubWbi68/s1600-h/Inspiron+Mini+12+Wi-Fi%5B6%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_zhVOi4fKc_M/SvCazd7qrnI/AAAAAAAAA1w/HrOmubWbi68/s320/Inspiron+Mini+12+Wi-Fi%5B6%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986162216119922" /></a><br />6. ケーブルのささっているところの左右のケーブルをロックしている茶色い部分を引き出してケーブルを外す.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zhVOi4fKc_M/SvCazMMl2_I/AAAAAAAAA1o/PSwu2mGKjj0/s1600-h/Inspiron+Mini+12+Wi-Fi%5B7%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_zhVOi4fKc_M/SvCazMMl2_I/AAAAAAAAA1o/PSwu2mGKjj0/s320/Inspiron+Mini+12+Wi-Fi%5B7%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986157455268850" /></a><br />7. 無線 LAN モジュールについている白黒のケーブルを外し,ネジを外す.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zhVOi4fKc_M/SvCay37n4GI/AAAAAAAAA1g/LrDbJ_ZL2i4/s1600-h/Inspiron+Mini+12+Wi-Fi%5B8%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_zhVOi4fKc_M/SvCay37n4GI/AAAAAAAAA1g/LrDbJ_ZL2i4/s320/Inspiron+Mini+12+Wi-Fi%5B8%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986152015388770" /></a><br />8. 無線 LAN モジュールが浮くので,交換したい無線 LAN モジュールに交換する.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zhVOi4fKc_M/SvCayisu5II/AAAAAAAAA1Y/zOqZSeT2m8E/s1600-h/Inspiron+Mini+12+Wi-Fi%5B9%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_zhVOi4fKc_M/SvCayisu5II/AAAAAAAAA1Y/zOqZSeT2m8E/s320/Inspiron+Mini+12+Wi-Fi%5B9%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399986146315789442" /></a><br /><br />簡単に交換できるので,802.11n に対応させたりしたい人はやってみるといいかもしれない.Intel Wireless WiFi Link 4965AGN なら普通に購入できるし,ドライバも簡単に手に入ると思う.Windows でクライアントとして使用することを前提としてだけどね.<br /><br />関連製品:<br /><a href="http://www.amazon.co.jp/gp/product/B001Q79XZY?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B001Q79XZY">Intel Wireless WiFi Link 4965AGN</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=B001Q79XZY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br /><br />参考文献:<br /><a href="http://hellohelloworld.cocolog-nifty.com/blog/2009/01/inspiron-mini-2.html">へろへろ日記: Inspiron mini 12 分解</a><br /><a href="http://supportapj.dell.com/support/edocs/systems/ins1210/ja/sm/hingecvr.htm#wp1179889">Dell: Inspiron 1210 サービスマニュアル</a><br /><a href="http://support.acer-euro.com/drivers/notebook/as_one_150.html">Acer Europe: Drivers for Aspire One 150</a>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com2tag:blogger.com,1999:blog-7003251064971894280.post-66895727517222139532009-10-30T02:49:00.007+09:002009-11-01T17:25:55.946+09:00FreeBSD でサーバ構築 #18 Cyrus IMAP 編<a href="http://applelife100.blogspot.com/2009/10/freebsd-17-uw-imap-imap.html#links">林檎生活100: FreeBSD でサーバ構築 #17 UW IMAP 編</a>の続き.今回は,<a href="http://cyrusimap.web.cmu.edu/">Cyrus IMAP</a> で IMAP サーバを構築してみる.<br /><br />Cyrus IMAP は,メールボックスを1箇所で集中管理するタイプのサーバで,クウォータを設定できたり,サーバサイドでのメールフィルタ (Sieve) を使用できたりする.UW IMAP に比べ高機能で高性能だが,その分設定する項目も多くなっているので,導入は少し面倒である.このエントリでは,UW IMAP 編で UW IMAP を導入したときと同等の機能の IMAP サーバを構築することを目指すことにする.つまり,IMAP over SSL なサーバであり,クウォータやメールフィルタの設定は行わない.(そのような設定に付いては,参考文献を参照してほしい.)<br /><br />Cyrus IMAP の動作は,UW IMAP の動作とは大きく異なる.UW IMAP のように UNIX のメール環境と共存するわけではなく,完全に独立したメールボックスを構成する.そのため,サーバにログインして mail コマンドでメールを読むことはできなくなる.あくまで IMAP(設定によっては POP も可能.)でメールボックスにアクセスする.UNIX のメール環境における,ローカルのメールボックス (/var/mail) とユーザのメールボックス (~/mbox) は使用しないのだ.Sendmail のローカル配信が Cyrus IMAP のメールボックスになるように設定するので,このような動作になる.<br /><br />さて,さっそくインストールと設定をしていこう.<br /><br />1. Ports からインストールする.<br /><pre># cd /usr/ports/security/cyrus-sasl23<br /># make install clean</pre><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zhVOi4fKc_M/Su0iWUUNn0I/AAAAAAAAA1Q/n9YjztVkyn4/s1600-h/Cyrus+IMAP%5B1%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_zhVOi4fKc_M/Su0iWUUNn0I/AAAAAAAAA1Q/n9YjztVkyn4/s320/Cyrus+IMAP%5B1%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5399009295093047106" /></a><br /><br />2. cyrus ユーザの所有権を持つ証明書と秘密鍵を /var/imap/certs などに配置する.<br /><br />3. 設定ファイル (/usr/local/etc/imapd.conf) を変更する.下記設定項目について,該当行を変更する.<br /><pre>allowplaintext: yes<br />admins: root<br />sasl_pwcheck_method: saslauthd<br />sasl_mech_list: plain<br />tls_cert_file: /var/imap/certs/cert.pem<br />tls_key_file: /var/imap/certs/key.pem<br />tls_ca_file: /var/imap/certs/cacert.pem<br />tls_ca_path: /var/imap/certs</pre><br />4. メールスプールなどを作成・設定するスクリプトを実行する.<br /><pre># /usr/local/cyrus/bin/mkimap</pre><br />5. /etc/rc.conf に次の行を追加する.<br /><pre>cyrus_imapd_enable="YES"</pre><br />6.Cyrus IMAP を起動する.DB_ERROR ってのが大量に出るが,ユーザのメールボックスにメールが配信されると,そのメッセージはでなくなるので気にしない.<br /><pre># /usr/local/etc/rc.d/imapd start</pre><br />7. ユーザのメールボックスを作成する.<br /><pre># cyradm --user root localhost<br />> createmailbox user.takuya<br />> quit</pre><br />8. Sendmail のローカル配信を Cyrus IMAP にするので,設定ファイル (僕の環境では,/etc/mail/lucifer.legna.org.mc である.) に以下の行を追記する.<br /><pre>dnl Cyrus IMAP options<br />define(`confLOCAL_MAILER', `cyrusv2')<br />MAILER(`cyrusv2')</pre><br />9. Sendmail に設定を反映し,再起動する.<br /><pre># cd /etc/mail<br /># make install<br /># /etc/rc.d/sendmail restart</pre><br /><br />設定完了♪メールの送受信をしてテストしてみてほしい.WAN 側から接続するときは TCP の143番へのポートマッピングを設定すること.<br /><br />残った問題として,IMAP over TLS の状態じゃなく,平文の状態でもログインができてしまうことがある.imapd.conf の allowplaintext を no にすればいいのだけど,そうすると cyradm が使えなくなる.うーん,どうしたらいいのかな.<br /><br />次回は,メールのちょっとした設定などについて解説して,メール編は終わりの予定♪では,また.<br /><br />参考文献:<br /><a href="http://cyrusimap.web.cmu.edu/imapd/">Cyrus IMAP Server v2.3 Documentation</a><br /><a href="http://www.amazon.co.jp/gp/product/4873110432?ie=UTF8&tag=takuya0301-22&link_code=as3&camp=767&creative=3999&creativeASIN=4873110432">IMAP</a>Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-88844024329673130782009-10-29T03:35:00.002+09:002009-10-29T03:56:08.883+09:00FreeBSD 7.1-RELEASE on DELL Inspiron Mini 12インストールしてみての雑感.<br /><br />無線 LAN を認識しないのは痛い.比較的交換が楽なので,Atheros チップの無線 LAN モジュールに交換してみる予定.<br /><br />snd_hda で,音は多分出る.未確認だけど.<br /><br />SD カードをマウントできた.<br /><br />Web カメラもデバイスとしては認識してるみたい.<br /><br />トラックパッドは当然動くだろうな.<br /><br />S3, S4 は動作せず.画面を閉じても液晶は消えるけどサスペンドには移行しない.<br /><br />VGA ポートはわからん.FreeBSD で外部ディスプレイを使おうとしたことが無いからなぁ.<br /><br />こいつをベースに無線 LAN ブロードバンドルータ兼サーバを作成する予定.お楽しみに.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-68599332505360226122009-10-29T02:22:00.004+09:002009-10-31T18:33:01.019+09:00Windows XP と FreeBSD デュアルブートメモWindows XP インストール済み PC (DELL Inspiron Mini 12) に,FreeBSD をインストールしてデュアルブートする方法についてのメモ.<br /><br /><a href="http://gparted.sourceforge.net/livecd.php">GParted Live CD</a> でパーティションを縮小し,空き領域を作成する.<br /><br />空き領域に FreeBSD をインストールする.ブートマネージャを None にすると FreeBSD だけが起動するようになる.<br /><br />FreeBSD に付属しているブートマネージャをインストールするなら,インストール時に BootMgr を選択すること.インストール後にブートマネージャをインストールするなら,次のコマンドを実行すること.<br /><pre># boot0cfg -B /dev/da0</pre><br />Windows XP 付属のブートマネージャを使用する場合は,次の手順を踏むこと.<br /><br />1. FreeBSD を起動し,USB メモリ (/dev/da0s1) に FreeBSD のネイティブルートパーティション (/dev/ad0s2) の最初のセクタをファイル化したものを保存する.<br /><pre># mount_msdosfs /dev/da0s1 /mnt<br /># cd /mnt<br /># dd if=/dev/ad0s2 of=/mnt/bootsect.bsd bs=512 count=1</pre><br />2. Windows XP インストールディスクから回復コンソールを起動し,MBR を修復する.(ここらへんがあやふや.ブートの話なんてほとんど忘れてしまったなぁ.)<br /><pre>> fixmbr<br />> fixboot c:<br />> exit</pre><br />3. FreeBSD の fdisk でアクティブパーティションを Windows XP の入ってるパーティションに変更する.<br /><pre># fdisk -a</pre><br />4. Windows XP が起動したら,コマンドプロンプトを起動し,先ほどの USB メモリ (F:) から bootsect.bsd を C ドライブにコピーする.<br /><pre>> copy F:\bootsect.bsd C:\</pre><br />5. C:\boot.ini を開き,最終行に次の行を追加する.(なお,最終行のあとに空行が1行必要だった気がする.FreeBSD 7.1-RELEASE の部分は自由に命名できる.)<br /><pre>C:¥BOOTSECT.BSD="FreeBSD 7.1-RELEASE"</pre><br />メモ書きなので,過信しないようにしてください.fixmbr と fixboot がよくわかっていないので,詳しい人教えてください.<br /><br />追記(2009年10月31日):<br />fixmbr と fixboot はいらないらしい.アクティブパーティションが変更されているのが問題みたいだね.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-51224122601020851132009-10-28T17:38:00.002+09:002009-10-28T17:53:59.709+09:00LaCie 4big Quadra 修理悪いことは重なるものだ.LaCie 4big Quadra のドライブがひとつお亡くなりになった.<br /><br />そして,マウントできなくなった.RAID 5 + Spare 構成だから,自動的にリビルドがかかるから大丈夫なはずなんだが,リビルド中に電源を落としてしまったせいかも.(寝ぼけた頭で,認識しねぇなぁと思って,電源落としたんだよね.馬鹿でゴメンよ.)<br /><br />まずいなってことで,Data Rescue II 体験版でサルベージできることを確認し,結局ダウンロード購入した.<br /><br />重要なデータだけさくっとサルベージしたけど,全部取り出すには保存先がないってことで,あわてて外付けドライブを購入.これが届くのはだいぶ先になりそう…….<br /><br />今後の運用計画.RAID5 について調べて,案外危ないらしいってことで,今度から RAID10 で使おうと考え中.そうすると Spare がなくなってしまうのだけど,RAID10 で壊れたら,今回購入予定の外付け HDD にディスクのクローンを作成してバックアップを取るという方法でいこうかなと.RAID10 で1台故障中でも使用はできるし,万が一もう1台壊れたとしても,外付け HDD へのバックアップがあるから,被害は最小限にとどめられると思ったから.それ以前に,外付け HDD へのバックアップも月1くらいで定期的に行った方が良さそうだなぁ.<br /><br />バックアップ地獄だなwwwTakuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com22tag:blogger.com,1999:blog-7003251064971894280.post-49657175072757361012009-10-27T17:21:00.003+09:002009-10-27T17:43:05.025+09:00Intel SSDSA2MH080G1C5 修理MacBook に使ってた Intel の SSD が壊れた…….<br /><br />あれ,Mail が落ちた?って思ったらフリーズして,再起動しても起動しなくなった.ディスク自体は認識していて,パーティション切り直したりもできたけど,結局 OS インストール時にファイルがコピーできなくてダメ.<br /><br />いまは,MacBook に元々入っていた Fujitsu の HDD 環境に戻った.修理には2〜3週間くらいかかるらしい.新しい方の SSD で帰ってきたらいいのになぁ.<br /><br />それにしても,Time Machine のお陰で復旧がめちゃくちゃ早い.Time Machine 様々だねぇ.Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0tag:blogger.com,1999:blog-7003251064971894280.post-79356098153661884992009-10-23T22:13:00.009+09:002009-10-26T22:08:14.144+09:00FreeBSD でサーバ構築 #17 UW IMAP 編<a href="http://applelife100.blogspot.com/2009/10/freebsd-16-ssl.html">林檎生活100: FreeBSD でサーバ構築 #16 SMTP over SSL: TLS による暗号化通信</a>の続き.今回は,<a href="http://www.washington.edu/imap/">UW IMAP</a> で IMAP サーバを構築する.<br /><br />UW IMAP は,ワシントン大学で開発された IMAP サーバで,リファレンス実装的な立場のものである.伝統的な UNIX のメール環境(FreeBSD のメール環境も含む.)に親和性が高く,導入が容易であるので,今回の IMAP サーバに選択した.とりあえず,IMAP over SSL が使用でき,IMAP の基本的な機能を持っているので十分だろう.ただ,ほかの IMAP サーバよりもメールボックスへのアクセスに時間がかかる(どちらかというと,サーバではなくメールボックス形式の問題.)ので,大量のメールを捌く必要があるのであれば,次回以降に解説する <a href="http://cyrusimap.web.cmu.edu/">Cyrus IMAP</a> を使用した方がいいかもしれない.なお,UW IMAP の持つ機能の詳細は,Web サイトや参考文献を参照してほしい.<br /><br />UW IMAP の動作はとてもシンプルだ.メールクライアントが IMAP サーバへのアクセスを試みると <a href="http://ja.wikipedia.org/wiki/Inetd">inetd</a> (TCP/UDP ポートを監視し,そのポートにパケットが届くと対応づけられたサーバを起動するデーモン.)によって起動され,メールボックスを操作したり,情報を返したりするように動作する.また,サーバが起動された際に,ローカルのメールボックス (/var/mail) からユーザのメールボックス (~/mbox) にメールを移動させる動作をする.(ただし,~/mbox が存在しない場合は,ローカルのメールボックスを IMAP サーバのメールボックスと見なす.)これによって,サーバ上でメールを mail コマンドで読んでも,メールクライアントで UW IMAP を経由してメールを読んでも,ユーザのメールボックスにメールが保持される.ゆえに,自然に IMAP サーバを導入することができる.<br /><br />インストール方法は,次のとおりである.<br /><br />1. Ports からインストールする.<br /><span style="color: red;">SSL を使用しない場合は,SSL_AND_PLAINTEXT にチェックを入れること.</span>デフォルトで,SSL を使用しない認証をはじくようにコンパイルされるため.<br /><pre># cd /usr/ports/mail/imap-uw<br /># make install clean</pre><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zhVOi4fKc_M/SuWF9XuaasI/AAAAAAAAA1I/eLniBgiBwH4/s1600-h/UW+IMAP%5B1%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 204px;" src="http://3.bp.blogspot.com/_zhVOi4fKc_M/SuWF9XuaasI/AAAAAAAAA1I/eLniBgiBwH4/s320/UW+IMAP%5B1%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5396867017860606658" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zhVOi4fKc_M/SuWF9GL25UI/AAAAAAAAA1A/jPZso_EPKAM/s1600-h/UW+IMAP%5B2%5D.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_zhVOi4fKc_M/SuWF9GL25UI/AAAAAAAAA1A/jPZso_EPKAM/s320/UW+IMAP%5B2%5D.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5396867013152269634" /></a><br />2. inetd の設定ファイル /etc/inetd.conf の該当行を次のように有効化する.<br /><pre># example entry for the optional imap4 server<br />#<br />imap4 stream tcp nowait root /usr/local/libexec/imapd imapd(コメントを外す.)</pre><br />3. /etc/rc.conf に次の行を追加し, inetd を有効化する.<br /><pre>inetd_enable="YES"</pre><br />4. inetd を起動する.<br /><pre># /etc/rc.d/inetd start</pre><br />5. 証明書を配置する.<br /><pre># cd /etc/mail/certs<br /># mkdir /usr/local/certs<br /># umask 066<br /># cat key.pem cert.pem > /usr/local/certs/imapd.pem<br /># umask 022</pre><br />鍵と証明書を同じファイルに記述して,/usr/local/certs に imapd.pem というファイル名で配置するだけ.(場所とファイル名は固定みたい.)<br /><br />6. メールボックスのスケルトンを作っておく.<br /><pre># touch /usr/share/skel/mbox</pre><br />これは,新規ユーザを追加したときに自動的に mbox がホームディレクトリに作成されるようにするためだ.UW IMAP は,ホームディレクトリに mbox があると /var/mail からメールを取得してくるという仕様になっていて,mbox が無い場合は /var/mail のメールボックスを直接参照する.デフォルトのままユーザが使用すると,/var/mail 以下にメールが蓄積され,論理パーティションを切っている /var を圧迫することになりかねないので,このようなスケルトンを作成する.(まぁ,ssh や ftp でログインされて,mbox を消されたら,結局 /var/mail にメールがたまるわけだけどね.)<br /><br />これで設定完了♪<br /><br />外部から接続する場合は,TCP の143番に対してのポートマッピングを設定しよう.また,認証については,PAM を使用しているのだが,/etc/pam.d/imap の内容のままで問題ないので省略した.<br /><br />次回は,Cyrus IMAP の設定について説明する.Cyrus IMAP には,振り回されたからなぁ.(自分のミスでwww)<br /><br />参考文献:<br /><a href="http://www.washington.edu/imap/">University of Washington: IMAP Information Center</a><br /><a href="http://www.amazon.co.jp/gp/product/4873110432?ie=UTF8&tag=takuya0301-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4873110432">IMAP</a><img src="http://www.assoc-amazon.jp/e/ir?t=takuya0301-22&l=as2&o=9&a=4873110432" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />Takuya Tsuchidahttp://www.blogger.com/profile/11290873995971470141noreply@blogger.com0