CHICKEN's HOME
ブログ削除のお知らせ
- 2010-08-23 (月)
- 未分類
突然ですが、2010年9月いっぱいでこのブログを削除しようと思います。
理由としては、
「c-home.info」ドメインを他の用途で使うこと、これから忙しくなってブログの更新が絶望的なことなど…
WordPress自体のアップデートもできなくなり、脆弱性などへの対応が難しいので削除することにしました。
このブログの情報を参考にして下さった方もいらっしゃったようで、リンク等を張っていただいた方、すみません。。
- Comments: 0
- Trackbacks: 0
「Microsoft Office 2007」の保存形式
- 2010-05-26 (水)
- コンピュータ
Microsoft OfficeにはVBA(Visual Basic for Applications)というプログラミング言語の開発環境が搭載されています。
僕も、Office 2003のころからExcel VBAを使って簡単な表計算プログラムを作っていました。
最近Office 2007を使って、Excel VBAを書いてみたのですが、ワークシートの保存はできても、VBAの保存ができませんでした。
調べてみると、Office 2007からはセキュリティを考慮して、ファイルがマクロを含むかどうかを拡張子で判別できるようにしたそうです。
Excelで言えば、これまでのExcelの保存形式「xls」とは異なる「xlsx」形式が標準になっていのですが、「xlsx」形式ではマクロが無効になっており、マクロを使うには「xlsm」形式で保存しなければならないそうです。
同様にWord、PowerPointでもマクロを保存するには、「docm」、「pptm」形式で保存する必要があります。
余談ですが、Office 2007からはXMLベースの保存形式に変更されていて、新形式は複数のXMLファイルをZip形式でアーカイブしたものなので、拡張子を.zipに変更して、展開すると中のXMLを見ることができます。
- Comments: 0
- Trackbacks: 0
badblocksによる不良セクタの検出
- 2010-05-06 (木)
- コンピュータ
最近はHDDの価格もじわじわと下がってきて、2TBのものも1万円強で買えるようになりました。
大容量のHDDを使っている方も多いと思いますが、多くのデータを保存すると、HDDの信頼性も気になります。
今回は、HDDのエラーを調べる方法の一つとしてbadblocksを紹介します。
badblocksはデバイスの不良ブロックを探すプログラムです。
<主なオプション>
-s:スキャンの進行状況を表示
-v:詳細情報を表示
-o:検出された不良ブロックを書き出す先を指定
<テストモードのオプション>
デフォルト:非破壊読み出しテスト
-n:非破壊読み出し/書き込みテスト
-w:破壊読み出し/書き込みテスト
破壊読み出し/書き込みテストは当然ですが、マニュアルによると、非破壊読み出し/書き込みテストもマウントしているデバイスには実行してはいけないそうです。また、破壊読み出し/書き込みテストを実行するとデバイスに保存されているデータが削除されます。
<実行例>
# /sbin/badblocks -s -v /dev/sda Checking blocks 0 to 976762584 Checking for bad blocks (read-only test): done Pass completed, 0 bad blocks found.
このように、「Pass completed, 0 bad blocks found.」と表示されれば、不良セクタが検出されなかったということです。
不良セクタが検出された場合ですが、不良セクタがあってもデバイスが使用できなくなるというわけではなく、不良セクタだけ読み書きしないように設定すれば、今後もデバイスを使用することができます。
今回のテストで生成された不良セクタのリストを使用して設定することもできますが、e2fsck、mke2fsのcオプションを利用してbadblocksを呼び出す方が簡単なので、そちらをおすすめします。
- Comments: 0
- Trackbacks: 0
正規表現で文字列の否定
- 2010-03-25 (木)
- コンピュータ
正規表現で文字列の否定が使えると便利な場合は意外と多くあると思います。
僕が体験したことでは、Webサイトの障害時に、あるドメインのどんなURLにアクセスしても、同じドメイン内の一つのURLにリダイレクトしたいという場合がありました。
このようなときはApacheではmod_aliasのRedirectMatchを使ってリダイレクトを設定すると思うのですが、仮にリダイレクト先を/index.htmlとして考えてみます。
単純に考えて、
RedirectMatch /.* /index.html
とすると、リダイレクトがループしてしまい、エラーになります。
正しくは「/index.htmlというURL以外がリクエストされたときに、/index.htmlにリダイレクトする」という設定にしなくてはならないのですが、「/index.html」以外というようにある文字列を否定する正規表現が必要になります。
RedirectMatchでは先読みが使えるので、単純に
RedirectMatch ^(?!/index.html$) /index.html
で実装することができます。
先読みとは特定の文字列が後に続くパターンを調べる機能です。
例えば「pattern(?=string)」のように使用します。これは先読み肯定といい、stringが後に続くpatternにマッチします。
今回使用したものは先読み否定といい、「pattern(?!string)」のように記述し、stringが後に続かないpatternにマッチします。
すなわち、今回の「^(?!/index.html$)」という正規表現は「/index.html(行末)」という文字列が後に続かない行頭にマッチします。$(行末)を加えているのは「/index.html/hoge」というようなリクエストに対してもリダイレクトを実行するためです。
ちなみに、先読みを使わないと実装はかなり難しいようです。
http://www.din.or.jp/~ohzaki/regex.htm#WithoutXY
に状態遷移図を利用した、正規表現の否定の組み立て方が紹介されています。
- Comments: 0
- Trackbacks: 0
mailコマンドでファイル添付
- 2010-02-17 (水)
- コンピュータ
SSHなどでCUIを用いて操作しているとき、簡単にファイルをローカルに転送できれば便利だと思いました。
Linux環境であれば、scpコマンドなどを使ってもいいのですが、Windows環境のときや、携帯電話などにぱっと送りたいときに、コマンドラインからメールでファイルを添付できると楽だと思い、方法を調べてみました。
メールにファイルを添付するには、以下のコマンドを実行します。
$ uuencode [添付ファイルへのパス] [添付ファイル名] | mail 送信先
このuuencodeというコマンドはバイナリファイルをメールで転送できるようにテキストファイルに変換するコマンドです。
もし、uuencodeがインストールされていない場合は以下のコマンドでパッケージをインストールして下さい。(yum環境の場合)
# yum install sharutils
- Comments: 0
- Trackbacks: 0
筑波山と朝日
- 2010-02-06 (土)
- 写真
先日、筑波山の近くに朝日を見に行きました。場所は筑西市にある母子島遊水地という所です。
筑波山がきれいに見えると有名なスポットらしく、写真を撮りに来ている方も何人かいました。
日の出前の様子です。
こんな感じで池に筑波山が映ります。この日は少し風があり水面が波打っていたのですこしぼけてしまっていますが…
その後、1時間ほど待って、いよいよ日の出です。
かなり寒かったですが、それに見合うだけの価値はあると思います。
もう1週間くらいすると男体山と女体山の間から日が昇るそうです。
- Comments: 2
- Trackbacks: 0
History of the Internet
- 2010-02-01 (月)
- コンピュータ
Youtubeで公開されている動画を紹介します。
「History of the Internet」という、コンピュータの処理方法の変遷から現在のインターネットが構築されるまでの歴史を、図を使ってわかりやすく説明している動画です。
動画へのリンク
http://www.youtube.com/watch?v=9hIQjrMHTv4
キーワードとしては…
- Batch processing
- Remote connection
- Time sharing
- DARPA(Defense Advanced Research Project Agency)
- ARPANET
- IMP (Interface Message Processor)
- TCP (Transport Control Protocol)
- NPL (National Physical Laboratory) network
- Packet-switching
- De-centralized network architecture
- Distributed network
- CYCLADES network
- Commication with other networks
- inter-net
- Physical layer
- End to end structure
- OSI (Open System Interconnection) reference model
- TCP/IP protocol
ここらへんの単語の意味がわかると、この動画を理解しやすいと思います。
普段使っているインターネットって一体何なのか、どんな歴史があるのかを理解するのにとても役立つ動画だと思うので、ぜひ一度見てみてください。
- Comments: 0
- Trackbacks: 0
GRUB2のブートメニュー設定
- 2010-01-07 (木)
- コンピュータ
Grubとは
Grub(GRand Unified Bootloader)とは、多くのディストリビューションで使用されているブートローダです。Ubuntuでは9.10(Karmic)からGrub2(ver. 1.97)がデフォルトのブートローダとなっています。
Grub2の設定
以前のGrubではブートメニューの設定ファイルは/boot/grub/menu.lstだったのですが、Grub2では/boot/grub/grub.cfgに変わりました。このファイルを編集すればブートメニューを変更できるのですが、デフォルトでこのファイルに書き込み権限がないことからもわかるように、このファイルは直接編集するものではないそうです。その代わりに/etc/grub.d/以下のファイルを編集します。
/etc/grub.d/以下のファイルはそれぞれ役割があります。重要なものとしては…
05_debian_theme: 背景やテキストの色を設定します。
10_linux: lsb_releaseの結果によりLinuxカーネル設定します。
30_os-prober: 他のパーティションのOSを探します。
40_custom: カスタムメニューエントリーを設定します。
以上のファイルを編集した後にupdate-grub2を実行すると設定を反映したgrub.cfgが生成されます。
また、grub.cfgに以上のファイル内容が反映されるにはそのファイルに実行権限が必要です。
- Comments: 0
- Trackbacks: 0
Concrete5をCORE-MINIへ移行
- 2009-12-24 (木)
- コンピュータ
Coreserver.jp(http://www.coreserver.jp/)から下位プランのCORE-MINIがリリースされていました。
僕は今までCORE-Aプランを利用して、Concrete5を動かしていましたが、CORE-MINIの仕様と見たところ、こちらでも動くようなのでから乗り換えることにしました。
CORE-MINIの仕様はこのような感じです。
初期費用:500円
月額:400円
年額:2500円
ディスク容量:6GB
転送量:100GB/月
許容負荷率:125%
MySQLデータベース数:10
PostgreSQLデータベース数:10
メールアカウント:200
ソフトウエア:Perl、PHP5、Ruby、SSHなど
(http://www.coreserver.jp/より)
CORE-AにConcrete5を移行する手順をまとめました。
(CORE-AにConcrete5をインストールする際には、http://concrete5-japan.org/help/new_help_pages/coreserver/を参考にしたと仮定しています。)
(1)CORE-A上にあるpublic_html/、tmp/以下のファイルをCORE-MINIへ全てコピーします(※.htaccessファイルもコピーするのを忘れないでください。)
FTPやSFTPを利用して一度、CORE-A上のデータをローカルにダウンロードしてからCORE-MINIにアップロードしても良いですし、Coreserverのコントロールパネルからサーバー間コピーを実行することもできます。
(2)CORE-A上のConcrete5のデータベースをファイルに書き出します。
mysqldumpコマンドを利用します。簡単な文法は、
$ mysqldump -u (ユーザー名) (データベース名) -p > mysqldump.sql
(3)データベースを書き出したファイルをCORE-MINIへ転送します。
(4)CORE-MINI上にConcrete5用のデータベースを用意します。
データベースの準備はCoreserverのコントロールパネルから行い、文字コードは「UNICODE」に設定します。
このとき、phpmyadmin等でMYSQLの接続照合順序を「utf8_general_ci」に変更しておいて下さい。
(5)CORE-MINIへSSHでアクセスしてデータベースを復元します。
mysqldumpコマンドで書き出したファイルの中身はSQLで記述されているので、ファイル内のSQLを実行します。
$ mysql -u (ユーザー名) (データベース名) -p < dump.sql
以上で、移行作業は完了です。自分のPCのhostsファイルを書き換えて、CORE-MINI上でConcrete5が正しく動作することが確認できたら、CORE-Aに向けていたドメインがCORE-MINIに向くように変更して下さい。
Concrete5とは?
Concrete5は、サイト制作をサイト上でをコンクリートブロックを積み上げるように直感的に編集していくことのできるCMSです。(参考:Concrete5日本語公式サイト)
詳しくはConcrete5日本語公式サイトをご覧ください。
http://concrete5-japan.org/
- Comments: 0
- Trackbacks: 0
イルミネーション
- 2009-12-17 (木)
- 写真
用事があって久しぶりに駅前に行ってみると、公園にイルミネーションでツリーとかトンネルができてました。
案内を見てみると「第五回~」と書いてあったので、おそらく去年もやってたのでしょうが、さっぱり知りませんでした。。
駅からすぐのところに住んでいるっていうのに…
カメラをカバンに入れっぱなしにしてたので、写真撮ってみました。
久々にこんな感じで写真撮った気がします…やっぱり楽しいですね、
通りがかった親子連れとかカップルの目線なんか気にせず、一人もくもくと30分くらい写真取りつづけてました…
せっかくなので撮った写真を何枚か載せてみます。
- Comments: 0
- Trackbacks: 0



