[vim] 複数ファイルの同時編集

2011 年 9 月 25 日
# vi ファイル1 ファイル2 … ファイルn

として、複数のファイルを開くことができる。

コマンド 機能
:n 次のファイル
:N 前のファイル
:rew 最初のファイル

で移動する。

また、「-o」オプションをつけることにより、ウィンドウを分割して表示させることができる。

# vi -o ファイル1 ファイル2 … ファイルn

複数ファイル間でのコピー&ペーストは「名前付きバッファ」を使う。

[MySQL] MySQL5.0 から MySQL5.5へのアップグレード方法

2011 年 8 月 14 日

MySQL5.0からMySQL5.5へアップグレードするには、一旦、MySQL5.1にアップグレードする必要があります。
CentOS 5.4のLinux環境でアップグレードをしてみました。

環境

CentOS 5.4 (i386)

基本的な流れ

  1. MySQL 5.1 をインストール
  2. mysql_upgrade コマンドでアップグレード
  3. MySQL 5.5 をインストール
  4. mysql_upgrade コマンドでアップグレード

RPMのダウンロード

あらかじめ、RPMをMySQLのサイトからダウンロードしておきます。
今回はCentOSなのでRedhat用のものをダウンロードしました。

  • MySQL 5.1
    1. MySQL-client-community-5.1.58-1.rhel5.i386.rpm
    2. MySQL-server-community-5.1.58-1.rhel5.i386.rpm
    3. MySQL-shared-compat-5.1.58-1.rhel5.i386.rpm
  • MySQL 5.5
    1. MySQL-client-5.5.15-1.rhel5.i386.rpm
    2. MySQL-server-5.5.15-1.rhel5.i386.rpm
    3. MySQL-shared-5.5.15-1.rhel5.i386.rpm
    4. MySQL-shared-compat-5.5.15-1.rhel5.i386.rpm

バックアップ

作業前に念のためデータのバックアップを取得しておきます。
今回は、MySQLを止めて、データファイルを丸ごとコピーしておきました。

$ sudo /etc/init.d/mysqld stop
$ sudo cp -R /var/lib/mysql /var/lib/mysql.backup

5.0 から 5.1へのアップグレード

CentOS付属のRPMとMySQLから配布されているRPMではコンフリクトしてしまうので、一旦CentOS付属のRPMを削除します。
MySQL依存しているRPMもあわせて、削除する必要があります。

# mysqlに依存するパッケージを一旦削除
$ sudo rpm -e mysql mysql-server php-mysql perl-DBD-MySQL

# MySQL5.1をインストール
$ sudo rpm -ivh MySQL-client-community-5.1.58-1.rhel5.i386.rpm MySQL-server-community-5.1.58-1.rhel5.i386.rpm MySQL-shared-compat-5.1.58-1.rhel5.i386.rpm

# my.cnf がRPMを削除されたときに、リネームされてしまっているので、戻しておく
$ sudo mv /etc/my.cnf.rpmsave /etc/my.cnf

MySQLを起動し、mysql_upgradeでアップグレードします。
エラーが出ますが問題ありません。エラーの出た箇所を自動で修復して、5.1へアップグレードしてくれます。

$ sudo /etc/init.d/mysql start

$ sudo mysql_upgrade
Looking for ‘mysql’ as: mysql
Looking for ‘mysqlcheck’ as: mysqlcheck
Running ‘mysqlcheck with default connection arguments
Running ‘mysqlcheck with default connection arguments
group_coupon.area_coupons OK
group_coupon.coupon_sites OK
group_coupon.coupons
error : Table upgrade required. Please do “REPAIR TABLE `coupons`” or dump/reload to fix it!
majide.wp_comments
<省略>
OK

一旦削除した、RPMを再度インストールして、5.1へのアップグレードは完了です。

$ yum install php-mysql perl-DBD-MySQL

MySQL5.1からMySQL5.5へのアップグレード

5.0から5.1と同じように、MySQLをインストール後、mysql_upgradeを実行します。

$ /etc/init.d/mysql stop

$ rpm -Uvh MySQL-client-5.5.15-1.rhel5.i386.rpm MySQL-server-5.5.15-1.rhel5.i386.rpm MySQL-shared-5.5.15-1.rhel5.i386.rpm MySQL-shared-compat-5.5.15-1.rhel5.i386.rpm

$ /etc/init.d/mysql start

$ mysql_upgrade

USB給電の小型ルータでREGZAをWiFi対応にした

2011 年 8 月 13 日

PLANEXのMZK-MF300Nを使ってテレビをネットに繋げてみた。
MZK-MF300Nはルータとしてもコンバータとしても使える製品で、WiFiを有線に変換することができる。
REGZAに限らずだいたいのテレビはWiFiに対応してないので、コンバーターをはさんで有線にする必要がある。

この製品のいいところは、USBで給電できるところ。
REGZAの外付けHDD用のUSBポートから給電すれば、見た目にスッキリと配線できる。
HDD用のUSBポートに録画用のHDD意外を繋げて給電されるか不安だったが、結果として問題なかった。

設置

テレビの裏側に両面テープで貼り付けておいた

アクトビラで動画を見てみたが、コマ落ちしたりせず、速度も問題なし。

[Amazon.co.jp限定] PLANEX 手のひらサイズ 300Mbps ハイパワー無線LANルータ/アクセスポイント/コンバータ FFP-PKR01 [フラストレーションフリーパッケージ(FFP)]
PLANEX 手のひらサイズ 300Mbps
ハイパワー無線LANルータ
¥2,480

PLANEX 無線LANルータ/アクセスポイント/コンバータ「MZK-MF300N」「FFP-PKR01」専用 USB給電ケーブル SSOP-USB02

PLANEX 「MZK-MF300N」「FFP-PKR01」専用
USB給電ケーブル
¥861

あわせて買いたい

TOSHIBA LED REGZA 22V型 地上・BS・110度CSデジタルハイビジョン液晶テレビ ブラック 22A2(K)

TOSHIBA LED REGZA 22V型

PHP OCI8 Oracle Instant Clientを使ったインストール

2011 年 8 月 6 日

PHPでOracleに接続するには、OCI8モジュールを有効にする必要があります。
以下、Instant Clientを使った場合のPHPのビルド方法。

Instant Client のインストール

Oracleのページから、
「Instant Client Package – Basic」 および「Instant Client Package – SDK」をダウンロードしてあらかじめインストールしておきます。
/usr/lib/oracle/11.2/client/以下にライブラリとツール類が、/usr/include/oracle/11.2/client/ にヘッダ類がインストールされます。

PHPのコンパイルとインストール

–with-oci8、–with-pdo-oci を以下のように設定します。
–with-pdo-ociのほうは、Oracle Clientのバージョン(11.2)を指定する必要があります。

./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client/lib  --with-pdo-oci=instantclient,/usr,11.2 \

LD_LIBRARY_PATHにInstant Clientのパスを指定して、makeを実行します。

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/11.2/client/lib/
$ make
$ make install

Amazon RDS Oracle のライセンス価格とプラン

2011 年 8 月 4 日

2011年5月から、Amazon Web Service の RDS(Relational Database Service)でMySQLに加えてOracleが
選択できるようになりました。

3つのエディションが利用できます。

RDSでは、Standard Editoin Oneのみですが、ライセンス込みのプランが用意されています。
Oracleライセンスは非常に高価ですので、ちょっと個人でOracleとMySQLを比較してみたいといった場合にピッタリですね。

1時間あたりの利用料金(2011/08現在、Asia Pasific Tokyoの価格)

- ライセンス込み ライセンスは自分で別途購入
Edition Standard
Edition
One
Standard
Edition
Enterprise
Edition
Standard
Edition
One
Standard
Edition
Enterprise
Edition
Small $0.18 なし なし $0.13
Large $0.72 なし なし $0.52
Extra Large $0.99 なし なし $0.78
Double Extra Large $1.98 なし なし $1.56
Quadruple Extra Large $3.96 なし なし $3.11

2.8年以上動かすなら、ライセンスを自前購入したほうがお得

Standard Oneのライセンス費用は1ユーザーあたり19,600円です。
最小5ユーザからなので、98,000円が最低のライセンス費用になります。

たとえば、Smallインスタンスの場合、ライセンスあり・なしの価格差は $0.05(約4円、1$=80円換算)です。
198,000 / 4 / 24 = 1020日 で、3年弱、動かすなら、ライセンスを自分で購入したほうがお得です(5ユーザなら)。

ただし、Largeインスタンスになると、急に価格差が開き、半年強で元が取れるようになってしまいます。
このあたりに、Oracle社の商売のうまさを感じますね・・・。

インスタンスサイズ ライセンスあり・なしプラン価格差 元を取るまでの年数
Small $0.05 2.79年
Large $0.2 0.69年
Extra Large $0.21 0.66年
Double Extra Large $0.42 0.33年
Quadruple Extra Large $0.85 0.16年

Standard One Editionと Standard Editionの違い

機能的には同じようです(参考)。
One Editionだと、CPU数(ソケット)に制限があるようですが、Amazon RDSではそのへんは関係なさそうです。

無料のOracleもあるよ

RDSにはありませんが、Oracle Database 10g Express Editionは無料で利用できます。
その代わり、データが4GB/割り当てメモリが1GBまでの制限がつきます。

http://www.oracle.com/technetwork/database/express-edition/overview/index.html

オススメ書籍

Bronze Oracle Database 11g SQL基礎I編(試験番号:1Z0-051) (DVD付) (オラクルマスター教科書)

Bronze Oracle Database 11g SQL基礎I編
Amazon Web Services ガイドブック クラウドでWebサービスを作ろう!
Amazon Web Services ガイドブック
よくわかるAmazonEC2/S3入門 ―AmazonWebServicesクラウド活用と実践 (Software Design plusシリーズ)

よくわかるAmazonEC2/S3入門

WordPress高速化 .htaccess

2011 年 5 月 15 日

当ブログでは、HTMLを圧縮して配信することで、高速化している。

mod_gzipで圧縮しているのだが、レンタルサーバを変更したら、mod_gzipがインストールされていなかった。
mod_deflateは入っていたので、mod_gzipの代わりにmod_deflateを使うことにする。

新しい、.htaccessは以下。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

FileETag None

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
</IfModule>

参考文献

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
ハイパフォーマンスWebサイト
続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティス

続・ハイパフォーマンスWebサイト
基本からしっかりわかる WordPress 3カスタマイズブック (Web Designing Books)

WordPress 3カスタマイズブック

Yahoo! BB光 VDSL スピードテスト結果

2011 年 5 月 15 日

光にしたので、速度を改めて計測してみた。

無線ブロードバンドルータ経由で計測しているので、もしかしたらブロードバンドルータが
ボトルネックになっている可能性もある。

ブロードバンドスピードテスト 通信速度測定結果

http://www.bspeedtest.jp/ v3.0.1

測定時刻 2010/11/28 13:36:43
回線種類/線路長/OS:光ファイバ/-/Mac OS 10/神奈川県
サービス/ISP:Bフレッツ マンションVDSL方式/Yahoo!BB
サーバ1[N] 37.9Mbps
サーバ2[S] 51.2Mbps
下り受信速度: 51Mbps(51.2Mbps,6.40MByte/s)
上り送信速度: 63Mbps(63.1Mbps,7.89MByte/s)
診断コメント: Bフレッツ マンションVDSL方式の下り平均速度

ノートPC経由でテレビ(REGZA)をネットに繋ぐ

2011 年 4 月 29 日

我が家はイーサネットコンバーターを使って、テレビをネットに接続している。

BUFFALO ネットワーク対応家電用 ワイヤレスユニット スターターパック WLAE-AG300N/V
BUFFALO WLAE-AG300N/V

テレビの近くには、外出時に利用するLinuxのネットブックが置いてあるのだが、
外に持っていく頻度は少なく、2、3ヶ月1度程度。

今回はこのネットブックをイーサネットコンバーターの代わりにできないか試してみた。
AG300Nはコンセントを占領していて、割と邪魔なので。。。

ネットワーク構成

構成としては、以下のようになる。ブロードバンドルータとTVの間をノートPCが中継する形。

ネットワーク構成図

ネットワーク構成図

ネットブックの無線側が192.168.3.0のネットワークで、ネットブックの有線側(TV側)が192.168.1.0のネットワークになる。本当は同じネットワークにしたかったのだが、無線LANのハードウェアは、ブリッジに対応していないらしく、別々のネットワークになってしまった。

用意するもの

ノートPCとテレビはクロスのLANケーブルで繋ぐ必要がある。

  • クロスのLANケーブル
  • ifconfig の設定

    TV側のNICにIPを割り当て、NATを有効にする。
    これで、ノートPCがルータの役割を果たして、TVのパケットを中継してくれるようになる。

    ifconfig eth0 192.168.0.1 up
    iptables -t NAT -A POSTROUTING -o eth1 -j MASQUERADE
    

    注意点としては、この状態ではレグザリンクなどのDLNAが使えない。
    ネットブックにDLNAサーバをたてれば問題ないが、192.168.3.0のネットワークにある
    DLNAサーバにはTVから繋げることができない。どうも、DLNAはNATを超えられないようだ。
    ポートフォワードを行えば対応できると思うが、時間がなく今回はそこまでできていない。

    あわせて買いたい


    BUFFALO おまかせ節電 11n/g/b対応 無線LANルーター Air Station 単体 WHR-G301N
    BUFFALO おまかせ節電
    11n/g/b対応 無線LANルーター
    [Amazon.co.jp限定] PLANEX 手のひらサイズ 300Mbps ハイパワー無線LANルータ/アクセスポイント/コンバータ FFP-PKR01 [フラストレーションフリーパッケージ(FFP)]
    PLANEX 手のひらサイズ 300Mbps
    ハイパワー無線LANアクセスポイント
    TOSHIBA REGZA 40V型 地上・BS・110度CSデジタルフルハイビジョン液晶テレビ 40A1
    TOSHIBA REGZA 40A1

    参考文献

    マスタリングTCP/IP 入門編 第4版
    マスタリングTCP/IP 入門編 第4版
    例解UNIXプログラミング教室
    例解UNIXプログラミング教室

    [改訂3版] 図解でよくわかる ネットワークの重要用語解説
    図解でよくわかる
    ネットワークの重要用語解説

    買って良かった Apple Wireless Keyboard 用 極薄カバー Pure Touch Key Protector

    2011 年 1 月 20 日

    Apple Wireless Keyboard 用のキーボードカバー、「Pure Touch Key Protector #201」を買ってみました。

    普通のキーボードカバーと違って、キーボードに張るだけなのが、特徴的。
    薄さ0.05mmと薄いので、Apple Wireless Keyboardのデザインを損なわないカバーとなってます。
    キーを売ったときの感触も、他のキーボードカバーに比べると、違和感が少なく仕上がってます。

    買ってよかった!


    フルフラットキーボードカバー・Pure Touch Key Protector #201 for Apple Wireless Keyboard / PTKP201

    Pure Touch Key Protector #201

    あわせて買いたい

    Apple Wireless Keyboard (JIS) MC184J/A
    Apple Wireless Keyboard (JIS)
    トラックパッドスリックフィルム #701 Trackpad Slick Film #701 for Magic Trackpad / TPSF701

    トラックパッドスリックフィルム #701
    Apple Magic Trackpad MC380J/A

    Apple Magic Trackpad MC380J/A”

    Ubuntu にWebアプリ開発環境を構築するときのメモ

    2010 年 12 月 24 日

    環境をたびたび作るときに面倒なので、備忘録を残しておく。

    設定まわり

    /etc/network/interfaces

    ネットワークの設定です。固定IPのほうがルータからポートを開けたりする際に何かと便利なので、
    いつも固定のIPを割り当てています。

    iface eth0 inet static
    address 192.168.3.100
    netmask 255.255.255.0
    gateway 192.168.3.1

    /etc/localtime

    時間を日本の時間に合わせる方法です。

    $ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

    Apacheなどのソフトウェアのインストール

    だいたい必要なのはPHPやApacheまわり。

    $ sudo apt-get install vim openssh-server git-core gcc g++ sendmail imagemagick apache2 php5 php5-curl php5-gd php5-mysql mysql-server unzip