あけましておめでとうございます。
とりあえず近所の大鳥神社に向かったら参拝待ち行列ができていたため、もう少し先の目黒不動尊まで行ってみた。こちらも人はそれなりに多かったものの、人の流れにのってお参り。
中吉。細かいのはすっかり忘れた。「転居 よろし」だけ覚えている(短かったから ^^;)
ohsamu が録画してくれていたので、ずっと見逃していた「ガンダム SEED」を最新まで追い掛けた。SEED ではホワイトベースに似た雰囲気の戦艦が「足つき」と呼ばれたり、ハロ(も、出てくる!)が「認めたくない」なんてセリフを言ったりと、ファーストを知っている人達を喜ばせようとしているのが見え見え。まぁ、そこまではいいんだけど、ハロに「オマエモナー」なんて言わせるのはどうなのかと思う(笑)
イイ。映像のクオリティも素晴らしいし、ストーリーも面白い。このレベルのまま最終話まで続けられるのか?と心配になってしまう。今後も期待。
社会人になって初めてだよ、1月1日から仕事してるってのは!
午前中はモヤモヤしていて動けなかったのだけど、昼過ぎに家を出た。駅まで歩く気力すらなかったので、近所のセブンイレブンで昼飯を調達してから、タクシーで出社。 セブンイレブンで貰った「開運おみくじ付きスピードくじ」を開けてみると、、、
【末吉】幸運は意外なところに。
【全体運】せっかくの幸運の種を見逃しそう。
【恋愛運】思い切って告白するのもいいかも。
【金 運】目先の利益に惑わされないで。
【健康運】ストレスがたまり気味。ビタミンをたっぷりとって。
だそうだ。
ということで、みなさん、今年もよろしくお願いします。
2005年初の食事(昼食)はセブンイレブンのサンドウィッチで済ませてしまった。じゃ、夕食はどうしようかね?、、、と考えていたところで、ふと、吉野家のサイトを見に行ったら見つけた。
ということで、期待するのは牛肉の輸入再開なのだが、「米工場でBSE規制順守されず・検査官組合が警告書(日経新聞)」なんて記事を見ちゃうと、まだまだ当分先な気がするね。
あぁ、これこれ、これを知りたかったのだ。
> alert(document.forms[0].elements["hoge[1]"].value);
elementsを使用すれば可。
結論から言おう。この映画は面白い。
エイリアンシリーズとプレデターシリーズの双方を観たことのある人なら、グッと来るはず。一見すると緊迫したシーンでも、両シリーズを知っているなら笑えるところが各所に。僕なんて観ている間、ずっと笑い転げてたよ。
あと、おそらくこの映画のキーワードは「矛盾」だね。観た人ならわかると思うけど(笑)。
いや、それにしても2005年最初の1本としては良かったよ。仕事を早め(といっても19時前)に終えて、観に行って正解だったな。
「元日の都内はガラガラ」というイメージがあったんだけど、10時過ぎともなればそれなりにクルマは走っていた。前述のイメージは「元日の早朝」の誤りであったか。。。
ということで、画期的なガラガラをイメージしつつ銀座あたりを抜け、どういう訳か湾岸道路を通って、木更津方面まで行ってきた。こっちの道はホントにガラガラだった。唯一混んでいた箇所は、京成稲毛付近の「稲毛浅間神社前」あたりだけ。初詣渋滞。
その後、アクアラインを初めて通ってみたのだが、これがスゲー怖かった。。。
そういえば、オレってば、歩きでも自転車でも「橋」って苦手なのだった。なんかこう「落ちるっ!」って感じがして怖い。高所恐怖症も入っているんだろうけど、なんとなく水に引き込まれそうな感覚に陥ってしまう。んー、これは慣れたりするんだろうか。
で、寄って見ようかなと思っていた海ほたるは、満車表示が出ていたのでパスして、そのままトンネル部分へ入って行った。かなり長いトンネルだったので、GPS は途切れたはずなんだけど、NV-U2 は自車位置をキープしてくれた。「風の塔」を通過時にナビの位置が合っていることで確認した。NV-U2 になって、ジャイロが搭載されたんだけど、その効果ってことだね。
結局、そのまま都内へ戻ってきて、最終的にはとしまえんの「庭の湯」で温泉初め。えらく遠回りした感じがするけど(笑)
人生何度目かの初日の出を観に行ってきた。場所は、若洲海浜公園。
単なる日の出のはずなんだけど、ちょっと神々しいものを感じた。
あと、MacBook も持ち込んだので、ust で初日の出ライブをやってたんだけど、ほとんど見ているひとがいなかった(笑)
ust → 初日の出2009@若洲公園
ネットラジオ的な Ust 配信をしつつ年越しをしてました。
Skype の会議通話で集まったメンバーのトークを Ust するという形式。Ust の音声側はもちろんラジオの放送内容を、映像側には CamTwist を使って、Skype の会議通話のウインドウを流していた。
リスナーからは、Ustream のチャットを利用してフィードバックを貰うようにした。また、トーカー自身が出した話題についての URL もチャットに貼付けたりして、インタラクティブなメディアとして利用した。
ラジオの録音は、Ustream の Broadcast Record と QuickTIme X のオーディオ収録機能を使った。ただ、Ust 側は放送時間が長過ぎて、制限に引っかかってしまって、途中までしか録れていなかった。また、QuickTime X 側は、全編録れたんだけど、高音質設定のままにしていたようで、ファイルサイズが 25GB とかになっていた。危なくディスク容量不足になるところだった。。。
で、配信システムの構成としてはこんな感じで、MacBook Pro 1台で全てまかなっていた。Ust 配信のモニタとして、もう1台の MacBook を利用していた。
また、LadioCast + Soundflower の設定はこの通り。「Macでねとらじ - LadioCastとSoundflowerの設定」を参考にさせて頂いた。
ここに出てくる 9xxPlantronics は、オレが持ってる Bluetooth ヘッドセット。Skype でのトークと、Skype 音声のモニタ用に使っていたもの。
この設定では Skype 側の音量は問題なかったんだけど、Ust 側で聞くとオレの声が異常に小さくなってしまったので、まだ調整が必要そうな様子。
聴いて頂いていた方、ありがとうございました。
元旦からぐったりしていて、外に出る気がしなかったので、AppleTV でソルトを観た。
まー、なんだなー、個々のアクションシーンは良いところあるんだけど、ストーリー全体としては、かなり大味。そんな噂は聞いていたので、落胆することも無かったけど。ラストは「2」に繋がっても大丈夫なように作られているけど、、、たぶん無いだろな。
ところで、いま AppleTV - HDMI自動切替器 - TV という接続をしているんだけど、ソルトを見ている最中に、自動切替器が2回ほど勝手に切り替わった。「最後に電源が入った機器に自動切替する」という仕様なんだけど、同じ切替器に接続している DVD レコーダが稼動した形跡は無かったし、なんだったんだか。。。
無職での正月は初めてなので、なんか新鮮です(適当)。
ところで、2002年5月に tDiary で日記を書き始めたころは毎日日記を書いていました(日記だし)が、最近は年に数える程度の日記しか書いていない(日記じゃない)状態になっていたのですが、毎年1月1日だけは日記を書いていたのが長年日記で確認できて大変うれしく感じていたところであります。
昨日の日記のとおり、今年はいろいろ変わっていくつもりですので、みなさまよろしくお願いします。
PostgreSQL 9.0 と 9.1 と 9.2 を動かしながら比較したくなる事案が発生したので、ひとつのサーバに3つのバージョンを入れてみることにしたので、その時のメモ。
OS は慣れているので、CentOS 6 を選択。PostgreSQL は、CentOS のパッケージではなく、本家が用意している RPM パッケージを利用する。この方がマルチバージョンを実現しやすい。
手順としてはこんな感じ。
ということで、実施していく。
これはもうお馴染みの手順。PostgreSQL 本家に yum リポジトリを設定するための RPM パッケージが用意されているので、それを使う。
PostgreSQL RPM Building Project - Repository Packages のページから、インストールしたいバージョンと OS 用のパッケージを選択して取得する。リンクをクリックするといきなりダウンロードになるので、それだけ注意。
今回は、次のパッケージを利用した。
Version | RPM パッケージ名 |
---|---|
PostgreSQL 9.0 | pgdg-centos90-9.0-5.noarch.rpm |
PostgreSQL 9.1 | pgdg-centos91-9.1-4.noarch.rpm |
PostgreSQL 9.2 | pgdg-centos92-9.2-6.noarch.rpm |
これらをダウンロードして、インストールする。rpm コマンドで直接 URL を指定可能なのは知っているけど、なんとなく手元に残しておきたい派。
# wget http://yum.postgresql.org/9.0/redhat/rhel-6-x86_64/pgdg-centos90-9.0-5.noarch.rpm
# wget http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm
# wget http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
# rpm -ivh pgdg-centos90-9.0-5.noarch.rpm
# rpm -ivh pgdg-centos91-9.1-4.noarch.rpm
# rpm -ivh pgdg-centos92-9.2-6.noarch.rpm
これで yum リポジトリが登録された。気になる人は /etc/yum.repos.d/ を見れば、ちゃんとインストールされているのが分かるはず。
# ls -l /etc/yum.repos.d/
【中略】
-rw-r--r--. 1 root root 436 9月 24 05:52 2011 pgdg-90-centos.repo
-rw-r--r--. 1 root root 436 8月 22 20:30 2011 pgdg-91-centos.repo
-rw-r--r--. 1 root root 442 9月 24 07:47 2012 pgdg-92-centos.repo
リポジトリが登録されれば、後は各バージョンの PostgreSQL を yum コマンドでインストールするだけ。
# yum install postgresql90-server postgresql91-server postgresql92-server
だいたいこんな感じで yum コマンドによって、依存関係が解決されるはず。自分での作業中には、この他にも細々とインストールしていたので、たぶん、この他にも libevent などの追加パッケージが表示されると思われる。
Dependencies Resolved
==================================================================================================
Package Arch Version Repository Size
==================================================================================================
Installing:
postgresql90-server x86_64 9.0.11-1PGDG.rhel6 pgdg90 3.4 M
postgresql91-server x86_64 9.1.7-1PGDG.rhel6 pgdg91 3.6 M
postgresql92-server x86_64 9.2.2-1PGDG.rhel6 pgdg92 3.8 M
Installing for dependencies:
postgresql90 x86_64 9.0.11-1PGDG.rhel6 pgdg90 946 k
postgresql90-libs x86_64 9.0.11-1PGDG.rhel6 pgdg90 191 k
postgresql91 x86_64 9.1.7-1PGDG.rhel6 pgdg91 990 k
postgresql91-libs x86_64 9.1.7-1PGDG.rhel6 pgdg91 189 k
postgresql92 x86_64 9.2.2-1PGDG.rhel6 pgdg92 959 k
postgresql92-libs x86_64 9.2.2-1PGDG.rhel6 pgdg92 181 k
Transaction Summary
==================================================================================================
Install 9 Package(s)
これで、各バージョンの PostgreSQL サーバとクライアント(psqlコマンド等)がインストールされた。
複数バージョンの PostgreSQL が、こんなに簡単にインストールできるのは、各バージョンのディレクトリ構成が工夫されているから。
例えば、データを格納する領域はこのように各バージョンで分けられている。
# ls -l /var/lib/pgsql/
合計 12
drwx------. 4 postgres postgres 4096 12月 31 19:52 2012 9.0
drwx------. 4 postgres postgres 4096 12月 31 19:53 2012 9.1
drwx------. 5 postgres postgres 4096 12月 31 19:54 2012 9.2
クライアントも同様にバージョンごとのディレクトリが切られている。
# ls -l /usr/
【中略】
drwxr-xr-x. 5 root root 4096 12月 31 19:51 2012 pgsql-9.0
drwxr-xr-x. 5 root root 4096 12月 31 19:51 2012 pgsql-9.1
drwxr-xr-x. 5 root root 4096 12月 31 19:51 2012 pgsql-9.2
【後略】
このディレクトリ構成を取っているのが PostgreSQL 本家が提供している RPM パッケージの特徴だと勝手に思っている。
というか、他にも工夫が見え隠れしているので、本家の開発者たちは、ナチュラルに複数バージョンの共存をしているんじゃないかなぁ。
さて、インストールしただけでは使えないので、初期設定を少しする。
まずは PostgreSQL では定番の initdb という作業。データ領域の初期化を行なう。これは、各バージョンともに実施する必要がある。
# service postgresql-9.0 initdb
# service postgresql-9.1 initdb
# service postgresql-9.2 initdb
initdb さえ行なえば、普通は起動準備が完了するのだけど、複数バージョンを同時起動するために少し工夫をする。
CentOS 6 用の PostgreSQL の起動スクリプトは、/etc/sysconfig/pgsql/ 以下に追加設定ファイルが存在すれば読みに行くように記述されている。
この小技を利用して、各バージョンの PostgreSQL の稼働ポート番号が重ならないように変更してやれば同時起動が可能になる。
起動スクリプトと追加設定ファイルの関係と、設定する稼働ポート番号の関係を次に示す。なお、稼働ポート番号は、特に決まりは無いので使える範囲で好きに設定して構わない。デフォルトが 5432 なので、9.2 をデフォルトとして、9.1、9.2 はひとつずつ減らした形で設計した。
起動スクリプト名 | 追加設定ファイル名 | 稼働ポート番号 |
---|---|---|
/etc/init.d/postgresql-9.0 | /etc/sysconfig/pgsql/postgresql-9.0 | 5430 |
/etc/init.d/postgresql-9.1 | /etc/sysconfig/pgsql/postgresql-9.1 | 5431 |
/etc/init.d/postgresql-9.1 | /etc/sysconfig/pgsql/postgresql-9.2 | 5432 |
各追加設定ファイルの中身はこれだけ。
# cat /etc/sysconfig/pgsql/postgresql-9.0
PGPORT=5430
# cat /etc/sysconfig/pgsql/postgresql-9.1
PGPORT=5431
# cat /etc/sysconfig/pgsql/postgresql-9.2
PGPORT=5432
各起動スクリプト内の PGPORT=5432 という記述を直接修正する方法もあるのだけど、このように追加設定ファイルを利用した方がスマートじゃないかなーなどと勝手に思っている。
これで同時起動の設定も終えたので、サーバを起動する。
# service postgresql-9.0 start
# service postgresql-9.1 start
# service postgresql-9.2 start
特に問題なく起動できているようなら、9.0、9.1、9.2 の同時起動が完成。
各サーバプロセスはこんな感じで見えると思う。
# ps axf
16247 ? S 0:01 /usr/pgsql-9.0/bin/postmaster -p 5430 -D /var/lib/pgsql/9.0/data
16249 ? Ss 0:03 \_ postgres: logger process
16251 ? Ss 0:11 \_ postgres: writer process
16252 ? Ss 0:11 \_ postgres: wal writer process
16253 ? Ss 0:08 \_ postgres: autovacuum launcher process
16254 ? Ss 0:04 \_ postgres: stats collector process
16293 ? S 0:01 /usr/pgsql-9.1/bin/postmaster -p 5431 -D /var/lib/pgsql/9.1/data
16295 ? Ss 0:03 \_ postgres: logger process
16297 ? Ss 0:11 \_ postgres: writer process
16298 ? Ss 0:11 \_ postgres: wal writer process
16299 ? Ss 0:05 \_ postgres: autovacuum launcher process
16300 ? Ss 0:06 \_ postgres: stats collector process
27165 ? S 0:00 /usr/pgsql-9.2/bin/postmaster -p 5432 -D /var/lib/pgsql/9.2/data
27167 ? Ss 0:00 \_ postgres: logger process
27169 ? Ss 0:00 \_ postgres: checkpointer process
27170 ? Ss 0:00 \_ postgres: writer process
27171 ? Ss 0:00 \_ postgres: wal writer process
27172 ? Ss 0:00 \_ postgres: autovacuum launcher process
27173 ? Ss 0:00 \_ postgres: stats collector process
さて、サーバ側の設定はここまでで終わったので、今度はクライアント側の使い方。とは言っても、psql コマンドでポート番号を指定するオプションを付けるだけ。
なお、まだデータベース・ユーザを作成していないので、デフォルトの postgres ユーザを使用する。データベースもまだ作っていないので、最初から存在する postgres データベースを利用する。
まずは 9.0 を動かしている 5430 ポートを指定して psql を起動する。
# su - postgres
$ psql -p 5430 postgres
psql (9.2.2, サーバー 9.0.11)
注意: psql バージョン 9.2, サーバーバージョン 9.0.
psql の機能の中で、動作しないものがあるかもしれません。
"help" でヘルプを表示します.
postgres=#
ここで使っている psql コマンドは、9.2 バージョンになっている(9.0、9.1、9.2 の順番でインストールしたためだと思う)。サーバのバージョンが 9.0.11 (インストール時の 9.0 系最新)になっているのが見て取れる。
同じように 9.1、9.2 でも psql コマンドで接続してみる。
$ psql -p 5431 postgres
psql (9.2.2, サーバー 9.1.7)
注意: psql バージョン 9.2, サーバーバージョン 9.1.
psql の機能の中で、動作しないものがあるかもしれません。
"help" でヘルプを表示します.
postgres=#
$ psql -p 5432 postgres
psql (9.2.2)
"help" でヘルプを表示します.
postgres=#
9.2 の時は、サーバのバージョンとクライアントのバージョンが同じなので「注意」の表示が出ない。
これで同一サーバで複数バージョンの同時利用という目的は達せられたのだけど、psql を立ち上げっぱなしにしていると、いまどのバージョンを利用しているのかが分からなくなる。
そこで、プロンプトを変更して「いまどのバージョンを利用しているのか」を常に表示するようにしてみた。これが「ちょっとした工夫」というところ。
psql コマンドには、その内部で利用する「変数」という概念がある。プロンプトを変更するためにも PROMPT1、PROMPT2、PROMPT3 という変数が用意されている。詳しくは公式ドキュメントを参照して欲しい。
こいつにバージョン番号とかを仕込んでしまえば良いなと思ったので、仕込んでみた。
デフォルトの PROMPT1 の設定が分からなかったので、psql の \set で表示させた。
postgres=# \set
【中略】
PROMPT1 = '%/%R%# '
PROMPT2 = '%/%R%# '
PROMPT3 = '>> '
【後略】
「\set PROMPT1 プロンプト文字列」で毎回セットするのもアレなので、psql コマンドのオプションで指定して起動してみることにした。
$ psql -p 5430 -v PROMPT1="v9.0 %/%R%# " -v PROMPT2="v9.0 %/%R%# " postgres
-v オプションが psql 変数を指定するオプション。デフォルトのプロンプト文字列の前にバージョン番号を入れた文字列を PROMPT1 と PROMPT2 にセットしている。
起動するとプロンプトがこのようになる。
v9.0 postgres=#
ただ、毎回このオプションを手で入力するのはアレなので、alias 化してしまう。手元では bash を使っていたので、 ~/.bashrc へ次のように記述した。
alias psql90='psql -p 5430 -v PROMPT1="v9.0 %/%R%# " -v PROMPT2="v9.0 %/%R%# "'
alias psql91='psql -p 5431 -v PROMPT1="v9.1 %/%R%# " -v PROMPT2="v9.1 %/%R%# "'
alias psql92='psql -p 5432 -v PROMPT1="v9.2 %/%R%# " -v PROMPT2="v9.2 %/%R%# "'
これで psql90、psql91、psql92 という alias で、それぞれ 9.0、9.1、9.2 へ接続することができ、各バージョン名が入ったプロンプトが表示される。
これで 9.x 系を比較しながら作業しやすい環境が整った。
ということで「やります!」と手をあげた翻訳書のレビューに本気出す!!(遅れててすみません。。。)
さっきまで、2013年ふりかえりを書いていたけど、今度は 2014 年の抱負を書いてみようなどと。
いろいろ捨てよう
コードを書くスピードを上げよう
体力つけよう
まぁ、あまりたくさん望んでも実現できなくなっちゃうので、このくらいにしておこう。
▽ ホリー [吹き替え版で観てよかった!派です>ニモ。あっ、おめでとうございます。初つっこみだ。]