稼働率99.999%

TechCrunch Japanese アーカイブ » Google、ブラジルサイトのアップタイムは99.999%

1年間365日だとすると、365 x 24 x 60 x 60 = 31536000秒。つまり、0.001%は315.36秒。稼働時間99.999%を満たすには、1年間で5分強の停止時間まで許されることになります。

常時使えるのがいいのは当たり前なんですけど、定期的に使えない時間があるのでも、十分な気もします。オンラインバンクみたいに定期メンテナンスの時間が必要だけど、使える時間は止まらないように目指すのが、一番コストパフォーマンスがよい気がします(直感ですけどね)。

定期メンテナンスが許されない業務ってのもありますからね。その場合でも、稼働時間は100%を目指すとしても、一律ではなくて、機能ごとに制限をかけるとか、ユーザー単位とか、割り切る方向はありそうです。

でも、自分が使いたいときに定期メンテナンスがあると不満でしょうし、難しいところです。

さて。

中小規模のサイトでサイト監視ってなかなかできないと思うんですが、僕はサイト監視サービスのSite24x7を使ってます(β版の頃から)。無料版でも、ウェブサイト2つ、60分おきでの監視ができます。有料だと、監視先1箇所あたり$0.50、監視間隔は5分〜60分おきに設定ができて、アプリとかDNSサーバとかの監視もできるみたい。



Site24X7

無料版でもこんなレポートが週に一回届いたり、ダウン時とアップ時にもメールが届きます。

上の画像は、ちょうど乗り換える前のVPSサーバで稼働させてるときに1時間止まってたときのレポート。レスポンスタイムにも結構ばらつきがあるのがわかります。

たぶんsite24x7はアメリカから監視してると思うんで、日本にもこういうのないかなーと探してみました。

Site Alertは今のところ無料で、ドメイン監視とかもしてくれるみたいで、結構良さそう。

あとは、有料ですが、比較的安いところでサイトウォッチURLWatchというのがありました。

何を監視したいかにもよるので、site24x7とSite Alertを両方使うとか、できる範囲でやることもできますね。あとは機能強化をお願いしてみるとか。


Zend Framework本、読了



“PHP
フレームワーク Zend Framework入門” (藤野 真吾)

Zend Framework本、読了です。ちょっと索引が弱いなーという気はしましたが、Zend Frameworkの入門書ということで、どんなもんか理解するには十分でした。書籍があるのはいいことだよね。雑誌、ムックとか増えるといいな。

MVCを知らない人が初めて読んで理解できるだろうかとも思いますが、MVC本じゃないし。サンプルのアプリケーションを設計・開発と作る章があるので、十分なのかな。

このサンプルアプリケーションの設置で一瞬悩んだのが、初期設定ファイルの読み込み。Zend_Controllerの典型的なレイアウトに沿って、ウェブからアクセスされるドキュメントルートとアプリケーション関連のファイルを置くディレクトリが同階層にあることになってるんですよ。それで初期設定ファイルの読み込みが「../」ってなってたんですが、実際にはそうなってないわけで。いくつもファイルを修正したり、パスを通したりしました。

書籍ではZend Framework1.0.1を使って解説していましたが、読み終わったところで1.0.2がリリース

書籍中で指摘していたバグが4つあって報告済みとのことだったんですが、 まだ治ってない?

Issue Tracker(JIRAです)を探したものの、Zend_Filter関連の3つは見つけられず。Zend_Mailのバグはこれかな。

Zend Frameworkのドキュメントは日本語版もあるし、ダウンロードもできるんで、落として斜め読み。基本的なもの以外にも、おもしろそうなコンポーネントがちらほら。

まずはZend_Localeでの地域化とZend_Localeでの多言語対応。あらかじめ配慮しておけば、簡単に多言語サイトが作れそう。

Zend_Gdataもおもしろそう。Google Calendar、Google Spreadsheetsのデータにアクセスできる。Google Apps Provisioningというのは知らなかったな。Google Appsの設定を変更できるので、メーリングリストの登録や削除なんかをするためのウェブインターフェースを作れそう。

Technorati Tags: ,


VPSからレンタルサーバへ

去年の2月くらいから、アメリカにあるLinodeというVPSを使ってましたが、レンタルサーバのCORESERVER.JPに乗り換えてみました(このブログはtypepadなんで別です)。

Coreserver-1

LinodeはVPSなので、共用なんですが、専用サーバと同様にroot権限も使えます。UML(User-Mode Linux)を使って仮想化された環境を自由に使えます。僕は、CentOS 4.0を入れて使ってました。

Linode 300というプランでRAMが300 MB、Storageが8GB、$19.95。価格はそのままで、RAMとStorageがアップグレードされたり、仮想化ならではの利点もありました。

Linode

借りた当時の要望としては、インターネット上にサーバが欲しいなというのとUNIXを触りたいなというのがありました。用途からするとVPSはオーバースペックなのですが、日本のVPSと比べると価格も安いので、実験用に借りたのです。

ただ、安い仮想化環境なのでコンパイルとか負荷がかかる処理には時間がかかります。また、場所がアメリカにあるせいか、ネットワークの遅延があった気がします。

MacBook Proを買って、手元にUNIX環境は揃ってるので、インターネット上のサーバはレンタルサーバでもいいかなと思っていたら、ドメイン取得に使っているVALUE-DOMAIN.COM(お名前.comなんかと比べると安い)がCORESERVER.JPを始めたというのを聞き、試用してみました(無料のレンタルサーバXREAを元に、有料化されたものらしいです)。

選択のポイントは、PHP5(CGI版ならPHP4/5/6!も使えます)。前からサービスを提供しているところだと、まだPHP4というところが多いみたい。Zend Frameworkを試したいなとも思うし、今更PHP4の新しいコードを書きたくはないので、PHP5。

スクリプト言語は、PHPのほか、Perl/Ruby/Python。データベースもMySQL、PostgreSQL、SQLiteと使えます。

ほかには複数のドメインを設定できたり、CRONも使えたり、あとは共有SSLも使えます。

メールサーバは、多用するならGoogle Apps for Your Domainを使ったほうが楽だと思ってるので、あまり気にしませんでしたがメールマガジンとかメーリングリストも使えるみたい。

ほかの商用のレンタルサーバと比べると、設定インターフェースとかサポートとかは無骨な感じなので、ある程度技術的にわかった人じゃないと使いにくいかもしれませんが、月額500円(年額だと5000円)という低額なので十分かな。

お試し期間は15日間なんですが、このまま契約してしまう予定。

ちょっと気になったのが一点だけ。アクセス統計のページとかphpMyAdminのページとかにBasic認証でのアクセス制限がかかるはずなんですが、登録した翌朝の7時までアクセス制限されてませんでした(自分で.htaccessと.htpasswdを作っていたら、それとは別に新しくファイルが作成されていました)。

Apple Store(Japan)

Technorati Tags: ,


Adobe AIR完全解説



“Adobe AIR
完全解説” (アスキー)

まだβ版のAdobe AIRですが、もうムックが出るようです(明日26日発売のようです)。目次は、こんな感じ。

1. Adobe AIRを知ろう! → 編集部

2. Flex Builder 3による開発 → Adobe AIRメモの布留川さん

3. Flex Builder 3/MXMLによる開発

4. Flex 3 SDKによる開発 → てっく煮

5. Adobe Flash CS3 ProfessionalとAdobe Dreamweaver CS3を使ったAIRアプリケーション開発 → 上条晃宏さん(akihiro kamijo)

6. ニコニコ動画、字幕.in風AIRアプリケーションプログラミング → [Z]ZAPAブロ〜グ2.0

7. Papervision3DとAIRでの3D表現 → シン石丸の電脳芸事ニッキ



4章以降は、ブログに「執筆したよ」エントリーがあったので、そこにリンクさせていただきました。

Adobe MAX Japan 2007まで、もう一ヶ月ちょっと。支払いも済ませたし、勉強しておかなきゃな。

Technorati Tags:


MacPorts (2)パッケージの利用

前回でMacPortsの準備ができたので、パッケージを使ってみます。

試しに、MacPortsでwgetコマンドを入れてみたいと思います。Mac OS Xには標準でcurlが入っていて、wgetはないので。

パッケージの検索

$ port search wget

gwget gnome/gwget 0.96 Gwget is a Download Manager for Gnome 2. It uses wget as a backend.

wget net/wget 1.10.2 internet file retriever

wgetpro net/wgetpro 0.1.3 advanced internet file retriever

gwgetとかwgetproも一緒に見つかります。

パッケージの依存関係(インストールに必要なパッケージ)

$ port deps wget

wget has library dependencies on:

openssl

gettext

wgetにはopensslとgettextが必要なようです。

variantsの表示(各パッケージのオプション)

$ port variants wget

wget has the variants:

universal

no_ssl

darwin_8

パッケージ情報の表示

依存関係とvariantsも含まれます。

$ port info wget

wget 1.10.2, net/wget (Variants: universal, no_ssl, darwin_8)

http://www.gnu.org/software/wget/wget.html

GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without Xsupport, etc.

Library Dependencies: openssl, gettext

Platforms: darwin freebsd

Maintainers: xxxxx

パッケージのインストール

$ sudo port install wget

wgetに必要なopensslとgettextをインストールしようとしますが、gettextに必要なexpat/libiconv、opensslに必要なzlibが自動でインストールされます。必要な分だけ遡ってくれるんだと思います。

インストールしたソフトウェアの一覧

初期状態では何も入れてないので、「No ports are installed.」と表示されますが、インストール後だと、パッケージ名とそれがactiveかどうかが表示されます。

$ port installed

The following ports are currently installed:

expat @2.0.1_0 (active)

gettext @0.16.1_0 (active)

libiconv @1.11_4+darwin_8 (active)

openssl @0.9.8e_0+darwin_8 (active)

wget @1.10.2_0+darwin_8 (active)

zlib @1.2.3_1 (active)

アップグレード可能なソフトウェアの表示

$ port outdated

アップグレード

$ sudo port upgrade wget

とパッケージごとにアップグレードするか、

$ sudo port upgrade installed

とinstalledと組み合わせて、全部アップグレードするか。

アンインストール

$ sudo port uninstall wget

deactivateとactivate

アンインストールせずに、deactivateで無効にすることもできます。

$ sudo port deactivate wget

逆はactivate。

$ sudo port activate wget

variants違いで切替とかできるらしいんですが、どうやって指定するんだろう?

portコマンドなど、この辺で勉強しました。

HowTo – MacPortsWiki-JP

port コマンドの簡単な使い方

Technorati Tags:


MacPorts (1) 準備

最近、MacPortsというUNIX向けのソフトウェアをインストールするためのパッケージシステムを入れて使っています。

Mac OS Xにも標準で入っているソフトウェアもたくさんあるのですが、バージョンが最新でなかったり、欲しいものがなかったりします。たとえば、Mac OS 10.4標準のPHPは4.4.7です。MacPortsでは最新の5.2.4が使えます。

自分でソースを落としてきてコンパイルすればいいんですが、依存関係があったりすると面倒です。手元の環境は、お手軽に揃う方がいいですよね。

Finkというものもあるのですが、最近はMacPortsのほうが人気なのか、よく見かけるので、特に比較したわけでもなくMacPortsを試しているところです。

<紹介>

MacWiki – MacPorts

<インストール>

TheMacPortsWiki/InstallingMacPorts – MacPortsWiki-JP

Beginning OS X

はこべにっき# – MacPortsでステキなUNIXツールをインストール

この辺を参考にしましたが、インストールする順番が違ったり、入れるものが違ったりしました。

自分(MacBook Pro/MA896J/Aの場合です)のためのメモとして。

(1)X11 for Mac OS X のインストール

入れなくてもOKみたいなんだけど、X Windowのソフトウェアを使う場合に必要になるようなので、とりあえず入れておきました。

Mac OS X Install Disc 1を挿入して、Optional Installs.mpkgをダブルクリック(下のほうにあるので最初見つけられなかったです:-<。X11をクリックして、インストール。X11.appはアプリケーションのユーティリティの中にインストールされます。

1.1.3がインストールされているのに、なぜかX11 Update 2006 1.1.3がソフトウェア・アップデートに出てきました。なにが変わっているのかわかりませんが、アップデートしておきました。

(2)Xcode Tools

こちらは必須です。

先にX11を入れておかないと、Xcode Toolsのインストール中にX11_SDKが選択できないようです。そこに注意すれば、あとはデフォルトでOK。

Apple Developer Connectionから2.4.1をダウンロードすると900MBほどあったんですが、ダウンロードした後で、Mac OS X Install Disc 1にも同じものが入ってることに気づきました! Install Discには古いのが入っているとネットにあるのを鵜呑みしてしまいました。

(3)MacPorts

準備ができたのでMacPortsのインストール。ソースからビルドすることもできるようですが、バイナリのインストーラーを使うことにします。

7/15に出たMacPorts v1.5が最新だったので、MacPorts-1.5.0-10.4.dmgをダウンロードしてインストール。完了すると、/opt/local以下にいろいろ配置されているようです。

(4)環境変数の設定

とりあえず、最低限、PATHとMANPATHだけ設定しておきます。

export PATH=/opt/local/bin:/opt/local/sbin/:$PATH

export MANPATH=/opt/local/man:$MANPATH

PATHはMacPortsのインストーラーが.profileに追加してくれるんだけども、僕の環境では、.bash_profileと.bashrcを使ってるので、そっちに記載しました。

(5)MacPortsのコマンド

以上で、MacPorts自体のインストールは完了です。とりあえず、動作確認のために、かんたんなコマンドを使ってみます。MacPortsはportコマンドに引数をつけて実行するのですが、インストールとか更新の場合は、sudoでportを実行します。

■最新のMacPortsにアップデート

$ sudo port selfupdate

■ソフトウェア一覧の更新

$ sudo port sync

次回は、MacPortsのパッケージをインストールする方法とかを、ちらほらと。

Technorati Tags:


名刺を買ってみる

Vistaprint

Amazon.co.jpで買い物したら、名刺250枚が無料というVistaPrint.jpのチラシが入っていたので、注文してみました。そろそろ名刺作ろうかなと思っていたところなんで。

サイトを見てたら、いろんなものが安いので、ついつい無料のものを中心に注文してしまいました。各商品は無料だったり、大幅に割引がされていたりするんですが、「送料・プロセス料」が請求されます。

今回の注文

 名刺250枚(裏面無地) 無料

 名刺入れ 無料

 メモ帳 無料

 ゴム印(Sサイズ) 無料

 ゴム印の替インク 170円

 送料・プロセス料 1229円

アカウントも登録して、いろいろカスタマイズ項目を選んで、その後で支払い額がわかるので、非常に不明瞭ではありますね。この価格でいろいろ注文できたので、まあよかったかな。

ネットで評判を見ていたら、名刺の裏面に広告が入ってるとか見かけたんですが、そんなこともなく、普通に使える名刺でした。日本の名刺サイズよりも縦横共に短いです。名刺入れのほうには、日本の名刺も入るんですけどね。

カスタマイズは結構柔軟で、文字のサイズ、フォントなども自由に配置できます。画像も自由にアップロードできるようですが、追加料金がかかります。日本語フォントがMSゴシックとMS明朝しか使えないのが残念。

非常にプッシュしてくる会社のようで、決済直前の確認画面でも「今なら住所ラベルが無料!(送料・プロセス料が増えるんですけど)」、決済後も「10分内のみの特価(こちらは送料・プロセス料は増えない)」、注文が届くまでも電子メールでDMが届きます。

ちなみに、9月7日午後に注文して、今日18日の午前中に届きました。発送元はベルギーっぽい。お届け方法にスローを選択したので、注文時の予定では約21日後頃だったので注文忘れた頃に届きそうだなと思っていたんですが、案外早くてビックリしました。

そうそう。普通郵便で届いたんですが、ポストに入らない箱だったので、直接受け取りました。

興味がある方は、VistaPrint.jpからどうぞ。

Technorati Tags: ,


Zend Framework本

6月末にリリースされたZend Frameworkですが、初の書籍が出たということで購入してみました。

Zend Frameworkはβ版の頃に触ってみただけなので、再度勉強したいと思います。

PHPのフレームワークは、いろいろありすぎて日和見していたんですが、Zend FrameworkはZend自体が開発してるということもあり、期待してました。少人数の開発であっても、フレームワークを使うのはいいことだと思っているので、癖のないシンプルなものが普及して欲しいなあと思っています。



“PHPフレームワーク Zend Framework入門” (藤野 真吾)

Technorati Tags:


モムチャンダイエット

いきなりですが、ダイエットネタです。

連れに吊られて、始めましたよ、モムチャンダイエット。

車内吊りなんかで見て気になっていたのですが(というか名前の響きに笑ってました)、韓国・ダイエット界のカリスマ主婦チョン・ダヨンが編み出したダイエット法らしいです。

全9週間のプログラムになっていて、ストレッチと有酸素運動、そして簡単な筋トレを日替わりでやります。日曜は休息日なんですが、その日以外は毎日1時間くらいかかるかなという感じ。

本の中身も運動に関する説明は少ないと感じるくらい。いかに以前の彼女が運動をしていなかったせいで不幸だったか、あなたも運動して幸せになりましょう、という自己啓発的な話が多いです。運動の種類は少ないので、DVDの内容もシンプルです。

女性向けということもあり、筋トレは物足りないと感じる程度なのですが、運動の習慣になればいいかなと思っています。今は通勤時間がないので、その分くらいは運動しようかなと。

エクササイズを日常的にやりましょうという方針で、少しずつ運動量を増やしていき、運動することに慣れ、最後の9週間目のプログラムは、今後ずっと続けていきましょうという形になっています。

あと、珍しいなと思ったのは、体重計には乗らないということ。『いつまでもデブと思うなよ』とか痩せることを目的にしてると数値は必要ですが、健康になることが主目的なので体重は関係ないというスタンス。

ちなみに、うちにはUSB接続してグラフが出せる体重計がありますが、数値化されたり、グラフ化されて、楽しめる人と振り回される人といるような気がします。

というわけで、これから9週間、11月中旬までがんばってみます。



“DVD
モムチャンダイエット” (チョン・ダヨン)



いつまでもデブと思うなよ (新潮新書 227)” (岡田斗司夫)



“OMRON
体重体組成計 カラダスキャン HBF-354IT” (オムロン)

Technorati Tags:


ビットシフト

恥ずかしながら、これまでビットシフトを知らなかったんですが、ようやく知りました。

ビット演算は知っているので、勉強したことはあるけど使い道が思い浮かばずに忘れてしまったのかもしれないです。

なんで、今頃ビットシフトなのかというと、とある人が書いたコードを見ていたら「1<<24」と書いてあったんですよ。前後関係から「2の24乗」と読むと全体も理解できるんですが、左シフト演算子「<<」を知らなかったので悩みました。

知っている人には無駄な説明ですが、たとえば10進数の2を3ビット左にシフトする=「2<<3」を考えてみます。

2は2進数では10、これを3ビット左にシフトすると10000です。10000は10進数で16なので、2<<3は16となります。

左にシフトするというのは桁を増やすこと、末尾に0をつけることだと捉えると、2進数だと2倍されることになります(桁が増えると10進数だと10倍になりますよね)。

2の累乗の場合だけですが、ビットシフトで乗算を行うことができるわけですね(右シフトで除算もできます)。

ちなみにperlとphpで実行速度も測定してみましたが、微々たるもの。一番速いのは定数で書く場合ですが、その次は累乗する関数を使う場合で、ビットシフトが一番遅い。といっても1000分の1秒程度の差です。

今の僕だと、ワンライナーで書くときに使うくらいかなあ。1<<24のほうが16777216よりも3文字も短いですし。





“Short Coding ~
職人達の技法~” (Ozy)