2007年12月15日土曜日

オブジェクト指向プログラミング機能の空間を限定したい.

変なタイトルになってしまった.思ったことを記述していることもあり間違ってること書いてるかもしれないので,適宜つっこみをいれてほしいw

さて,オブジェクト指向プログラミング機能の実装は,大きく分けてメッセージベースとクラスベース,プロトタイプベースがあると思う.最近特に興味があるのは,プロトタイプベース.なんでかというと,クラスベースが,オブジェクト指向プログラミング機能をプログラムの広い空間に保持しているのに対し,プロトタイプベースは,比較的狭い空間に保持しているから.(あいまいな表現で,僕の主観的イメージ.)

もうすこし具体的な話.クラスベースで,クラスはさまざまなメソッドからnewできるようなところに存在しなければならない.スコープによる限定があるじゃないかって話もあるとは思うんだけどね.プロトタイプベースでは,オブジェクトをメソッドでnewする形になるので,オブジェクトがそこに受け渡されなければならない.オブジェクトにもスコープがあるじゃないかって話もあるだろうね.

うん,なんというか,newの被演算子であるひな形にあたるもの(クラスベースならクラス.プロトタイプベースならオブジェクト(とプロトタイプ).)が,イメージとして,メソッドの外にあるのがクラスベースで,内にあるのがプロトタイプベースだなぁと.

で,何を考えているのかというと,宣言型言語へオブジェクト指向プログラミング機能を入れるとしたら,プロトタイプベースが向いているんじゃないかなってこと.たとえば,Prologへのオブジェクト指向の導入とかね.

オブジェクト指向設計からオブジェクト指向プログラミングをするとしたら,クラスベースの考え方を実現できる必要がある.プロトタイプベースではある程度実現できる.プロトタイプベースなら宣言型言語へ導入しやすいのではないか.ということ.

ただ,今日ECMAScriptの仕様書であるECMA-262 第3版を読んでて気づいたんだけど,プロトタイプチェーンという存在(プロトタイプベースの要なんだけどねwww)が裏側では広い空間を使っちゃってるなぁと.なんでいままで気づかなかったのかといわれると馬鹿だからってしかいえないけどw

それで,プロトタイプベースよりもさらに空間を限定できる.つまり,狭い空間だけで完結するオブジェクト指向言語はないものかということになった.調べたけど,見つからなかったwんー,そもそもこれ以上狭い空間だけで完結するオブジェクト指向プログラミング機能は実装できるのかどうかがあやしい.これから考えていこうと思う.

今回は,かなりグダグダだな〜.

2007年11月17日土曜日

Javaメモ.アクセス制御.#1

アクセス修飾子によるアクセス制御の詳細をよく忘れる.たまにしかJavaを書かないせいかな.

●アクセス制御
・private:クラス
・(なし):パッケージ
・protected:パッケージ&サブクラス
・public:全体

2007年11月16日金曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#6

林檎生活100: CentOS 5でつくるPHP開発サーバ.Zend Core編#5の続き.昨日,友だちと話してて気付いたんだけど,mbstringの設定やってないねwということで,日本語を扱えるように,mbstringの設定をしよう.

今回は,UTF-8を使うように設定する.その手順は次のとおり.

1.ZendCoreにアクセスする.

2.Configuration>Extensionsとクリックする.

3.mbstringの項目を次のように設定する.

mbstring.detect_order = auto
mbstring.encoding_translation = Off
mbstring.func_overload = No overload
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.internal_encoding = UTF-8
mbstring.language = Japanese
mbstring.strict_detection =
mbstring.substitute_character =


4.Save Settingsをクリックして設定を反映させ,Restart Serverでサーバを再起動する.

これでOK.Control CenterのPHPinfoなどでチェックしてみると設定が反映されていると思う.次回こそ,MySQLだぁ.

2007年11月15日木曜日

Wireless Mighty Mouseの交換.

Wireless Mighty Mouseの右クリックが効かなくて,Appleのサポートセンターに電話してみた.

混んでるせいか,電話でかなり待たされたんだけど,結局新しいやつを送ってもらって,いま使ってるやつと交換って話になった.親切な対応だったし,新しいやつが次の日に届いたってことw早すぎだろw宅配便の人にいま使ってるのを渡して,新しいのをもらうかんじだった.

いま使ってみてるかんじだと,とくに問題なく右クリックは動いてる.交換品もAppleの対応もいいかんじ♪

2007年11月8日木曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#5

林檎生活100: CentOS 5でつくるPHP開発サーバ.Zend Core編#4の続き.今回は,Zend CoreへのPEARPECLのインストール方法をやってこう.

PHPのわかりづらいところのひとつが,PEARとPECLだと思うのは僕だけかな.PHPで書かれたライブラリを提供しているサービスがPEARで,Cで書かれたライブラリを提供しているサービスがPECL.とくに,PECLは拡張モジュールという位置づけだね.そして,それらをインストールするコマンドがpearとpeclなわけだ.手動で配置してもインストールはできるけど,コマンドを使ったほうが便利♪依存関係とか解決してくれるしね♪

ちなみに,PHPマニュアルでは,PECLのライブラリをインストールすることで使えるようになる関数も説明してたりするから,その量が膨大になってる.インストールする方法によって,PHPに最初からインストールされているライブラリが異なるのも,PHPならではかなw

さて,実際にやってみよう.今回は,PEARのHTML_QuickFormとPECLのpecl_httpをインストールしてみる.その手順は次のとおり.

1.PEARのアップデートを実行する.これで,peclコマンドのインストールも行われる.
# /usr/local/Zend/Core/bin/pear upgrade-all


2.PEARのHTML_QuickFormをインストールする.
# /usr/local/Zend/Core/bin/pear install HTML_QuickForm


3.PECLのpecl_httpをインストールする.
3-1.必要なツールやライブラリをインストールする.そうしないと,pecl_httpのインストール時にエラーが出る.
# yum -y install autoconf
# yum -y install gcc
# yum -y install zlib-devel
# yum -y install curl-devel


3-2.
# /usr/local/Zend/Core/bin/pecl install pecl_http
.
.
.
1. whether to enable cURL HTTP requests; specify libcurl directory : yes

1-1, 'all', 'abort', or Enter to continue: [Enter]
1. whether to enable support for gzencoded/deflated message bodies; specify zlib directory : yes

1-1, 'all', 'abort', or Enter to continue: [Enter]
1. whether to enable response content type guessing; specify libmagic directory : no

1-1, 'all', 'abort', or Enter to continue: [Enter]
1. whether to depend on extensions which have been built shared : yes

1-1, 'all', 'abort', or Enter to continue: [Enter]
.
.
.
You should add "extension=http.so" to php.ini
(php.iniにextension=http.soを追加してね.)
#


3-3.php.iniの末尾にextension=http.soを追加する.
# nano /usr/local/Zend/Core/etc/php.ini
.
.
.
;extension=xsl.so
;extension=zip.so
extension=http.so(この行を追加する.)
#


3-4.Zend Core管理画面からApacheを再起動する.

3-5.Zend Core管理画面>Configuration>Extensions>External Extensionsに追加されていることを確認する.そこで設定ができるのが便利♪

こんなとこだね.PEARのインストールは簡単なんだけど,PECLはコンパイルやphp.iniへの記述が含まれるのでちょっと面倒だね.次回は,MySQLをやりますか〜.

2007年10月24日水曜日

Flash Media Server 2をインストールしてみた.

えっ,Macにいれたのかって?いえいえ,CentOS 5ですwえっと,林檎生活って名前とブログの説明があってなさすぎるなぁということに気付いた今日このごろなわけだ.まあ,気にしない♪

さて,今回はFlash Media Server 2の開発版を(ここまで書いて,Safariが落ちた・・・.Bloggerの自動保存機能に感謝だなぁ.)インストールする.ダウンロードは,日本語サイトなので適当によろしく(ぉ

あっ,Flash Media Serverってのは,Flashでストリーミングとかをやるためのサーバ.詳しい説明は,Webページを読んでw

ということで,ダウンロードしてきたファイルFlashMediaServer2.tar.gzを例のごとくCyberduckなどで,CentOSの/home/adminあたりにアップロードしよう♪

で,実際のインストール作業は次のとおり.

1.必要なライブラリをあらかじめインストールしておく.
# yum -y install libstdc++.so.5
# yum -y install libssl.so.4


2.ファイルを移動させ,解凍する.
# cd /usr/local/src
# mv /home/admin/FlashMediaServer2.tar.gz .
# tar -vxzf FlashMediaServer2.tar.gz


3.インストールする.
# cd FMS_2_0_3_r68_linux/
# ./installFMS -platformWarnOnly(このオプションをつけないと「このプラットフォームは対応してねぇぞ!」と怒られて,インストールできない.つけても,怒られるけどw)

WARNING: Your distribution, unknown, is not supported by this
Macromedia Flash Media Server installer.


Copyright(C) 1993-2005 Macromedia, Inc. and its licensors. All rights reserved.

Macromedia Flash Media Server 2.0 for

Macromedia Flash Media Server 2.0 will be installed on this machine.

You will be asked a series of questions during the install
process and will be presented with the defaults for these questions.

Support is available at http://www.macromedia.com/go/flashmediaserver_en

To install Macromedia Flash Media Server now, press ENTER.

To cancel the installation at any time, press Control-C.

([enter])

(-----エンドユーザライセンス契約書-----)
(エンドユーザ ライセンス契約書が表示される.)

Do you agree with the license agreement? (y/n): (y[enter])

Macromedia Flash Media Server 2.0 requires approximately 25MB of
disk space.

(-----インストールディレクトリ-----)
The installer will install Macromedia Flash Media Server 2.0 in the
following directory
Default [/opt/macromedia/fms]: ([enter])

(-----サービスポート設定-----)
The Macromedia Flash Media Server communicates on the IANA-assigned
port of 1935, which is the port most Flash applications expect.

Please enter the Macromedia Flash Media Server port
Default [1935]: ([enter])

(-----管理ポート設定-----)
Please enter the port to use for the Admin service. You can only specify one
admin port.
Default [1111]: ([enter])

(-----管理者ユーザ設定-----)
The administrative user name and password you provide here is required to use
the Macromedia Flash Media Server Management Console for
administration, monitoring, and debugging.

Please enter the administrative username: (ユーザ名を入力する.例:admin[enter])

Please enter the administrative password: (パスワードを入力する.)
Confirm password: (パスワードを入力する.)

(-----実行ユーザ設定-----)
When the Macromedia Flash Media Server service is started, the service
can be run as a user other than "root". The server would change to this user
when the server is started and has acquired its ports.

Please enter the user that the Macromedia Flash Media Server service will run as
Default user [nobody]: ([enter])

Please enter a valid user group for the "nobody" user: (nobody[enter])

(-----デーモンにするかどうかの設定-----)
Do you want the Macromedia Flash Media Server service to run as a
daemon? (y/n)
Default [y]: ([enter])

(-----自動起動設定-----)
Do you want to start the Macromedia Flash Media Server
after the installation is done? (y/n)
Default [y]: ([enter])

(-----インストール確認-----)
----------- Install Action Summary -----------

Installation directory = /opt/macromedia/fms

FMS Server Port = 1935
FMS Admin Server Port = 1111

Administrative username = admin
Administrative password = (suppressed)

FMS owner = nobody

FMS service user = nobody
FMS service user group = nobody

FMS run as daemon = Yes
Start FMS = Yes

Proceed with the installation? (y/n/q): (y[enter])

(-----インストール-----)
Installing Macromedia Flash Media Server files...
Configuring Macromedia Flash Media Server...
Adding "fms" service.
Setting default admin to "fms".
Setting autostart for "fms".
Server:fms command:start
NPTL 2.5
Starting Macromedia Flash Media Server (please check /var/log/messages)

Admin server:fmsadmin command:start
Starting Macromedia Flash Media Admin Server (please check /var/log/messages)

The Macromedia Flash Media Server installation is complete.

#


4.起動を確認する.
# /opt/macromedia/fms/fmsmgr list


これで,インストール完了.はぁ,ライブラリまわりに手間取った・・・.CentOS 5に入れんのは大変だな.あとからまた問題が出てきそうでこわい.つかい方は,気分が向いたら書くということで〜.つかれたぁ.

参考文献:
Kopug Memo!: FMS2(Linux版)をインストール

2007年10月23日火曜日

Zend Studio for Eclipseのベータ版公開!

Zend Studio for Eclipseのベータ版が公開された.Zend Studio 5.5ユーザとしては,かなり気になるところ.さっそくダウンロードしてみた.

どうやら,PDTの技術をそのまま取り込んでいるみたいだ.新機能として目につくのは,HTMLのWYSIWYGエディタだろうか.まあ,そんなに便利なものじゃないけどw

これから,Eclipseベースになるんなら,いろいろとプラグインはそろっているし,リファクタリングやユニットテストなども行いやすいだろうし,いいことなんじゃないかなぁと思う.

しかしながら,PDTとZend Studio for Eclipseの差別化をはかるために,PDTへの機能追加を抑えているのがよくわかる.それが,Zend Frameworkの普及に影響を及ぼさないか心配だ.

追記(2007年10月23日):
Zend Frameworkのプロジェクトを簡単につくれるところは,とても便利♪

2007年10月22日月曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#4

林檎生活100: CentOS 5でつくるPHP開発サーバ.Zend Core編#3の続き.今回は,Zend StudioZend Coreの連携♪

まずは,Zend Coreの設定から.

1.Zend Coreにブラウザからアクセスする.
http://172.16.8.3/ZendCore/

2.Zend Coreにログインする.

3.Configurationをクリックする.


4.Zend Debuggerをクリックする.


5.書類にプラスが描かれたアイコンをクリックし,許可するホストにZend StudioをつかうコンピュータのIPアドレスを追加する.今回は,192.168.0.xxxのIPアドレスをもつすべてのホストからStudioサーバへのアクセスを許可する.


6.Saveをクリックする.



7.Restart Serverをクリックする.


Zend Coreの設定はこんなとこ.

次に,Zend Studioの設定.

1.メニューのツール>カスタマイズをクリックする.

2.タブのデバッグをクリックし,デバッグモードをリモートに,デバッグサーバURLをhttp://172.16.8.3に設定する.


3.タブのZend Platformをクリックし,認証にZend Platformにアクセスするときのユーザ名とパスワードを入力する.


4.OKをクリックする.

これで,Zend Studioの設定も完了.

動作チェックは,メニューのツール>デバッグサーバ接続テストを実行すればOK.これでつながらない場合は,アクセスが許可されたホストとして登録されてない可能性があるので,Zend Coreの設定できちんとZend StudioをつかうコンピュータのIPアドレスが許可するホストに登録されているか確認する.

ちなみに,MacでIPアドレスを確認する方法は,次のとおり.
1.Macのターミナルを立ち上げる.

2.ifconfigでNICの情報を表示する.
$ ifconfig
.
.
.
en1:
.
.
inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255
.
.
.

3.このxxx.xxx.xxx.xxxがMacのIPアドレスとなる.

こんなところだね.ほとんど,林檎生活100: CentOS 5でつくるPHP開発サーバ.#7のコピペだけどねw次は,PEARとPECLかな.普通にサーバにインストールしたときとちがうからね.慣れてしまえば,便利だと思うんだけど.

2007年10月21日日曜日

PHP Development Tools(PDT)をインストールしてみた.

PHP Development Tools(PDT)のインストール方法.フリーなPHP統合開発環境の中で,一番オススメなやつ.なんと,Zendもその開発に参加してるのだ!Zend Studioユーザとしては,ちょっと切ないんだけど,まあ仕方ないw

さっそく,PDTをインストールしたいんだけど,それにはまず,PDTと日本語化用のPleiadesをダウンロードしてこなきゃならない.そこから始めよう.

1.PDTをダウンロードする.バージョンは1.0.
1-1.PDTのWebページにアクセスする.
http://www.eclipse.org/pdt/

1-2.Downloadをクリックする.


1-3.Latest ReleasesのRelease BuildのBuild Nameをクリックする.


1-4.PDT All-in-OneのMac OS Xのファイルをクリックする.


1-5.Download Fromの右側をクリックし,ファイルをダウンロードする.


2.Pleiadesをダウンロードする.バージョンは1.2.0.
2-1.PleiadesのWebページにアクセスする.
http://mergedoc.sourceforge.jp/

2-2.安定版のバージョンナンバーをクリックする.


2-3.自動的にダウンロードされる.


3.インストールする.作業ディレクトリは~/PDT.
3-1.ダウンロードしてきたファイルをダブルクリックして解凍する.

3-2.pleiades_1.2.0>features>jp.sourceforge.mergedoc.pleiadesをeclipse>featuresに移動する.

3-3.pleiades_1.2.0>plugins>jp.sourceforge.mergedoc.pleiadesをeclipse>pluginsに移動する.

3-4.eclipse.iniのあるディレクトリに移動する.
3-4-1.Finder>移動>フォルダへの移動をクリックする.

3-4-2.~/PDT/eclipse/Eclipse.app/Contents/MacOSを入力し,移動をクリックする.

3-5.eclipse.iniをダブルクリックし,エディタ(テキストエディットなど.)で開く.

3-6.eclipse.iniの末尾を次のように変更して保存する.
.
.
.
-Xmx256m
-javaagent:/Applications/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
-Dorg.eclipse.swt.internal.carbon.smallFonts


3-7.作業ディレクトリ(~/PDT)に戻り,eclipseディレクトリをアプリケーションディレクトリに移動する.

これで,インストール完了♪けっこうめんどくさいなぁ.

追記(2007年10月21日):
どうやら,リモートデバッグはNATを越えて機能しないらしい.(Eclipse PDT (PHP Development Tool): Q&Aより.)なので,VMware Fusionをつかって,ネットワーク設定をNATで(林檎生活100を読んで設定した場合そうなっている.)やっている場合にはリモートデバッグサーバとして使用できない.解決策がDead Zone: NAT越しのリモートデバッグにあるが,今回のインストールとは比較にならないほど面倒だ・・・.ほかの解決策としては,ネットワーク設定をBridgeに設定し,CentOSのIPを適宜変更して,クライアントとサーバの間にNATが入らないようにするという方法もある.

2007年10月20日土曜日

ADC Student Membershipを購入したら,Mac OS X Leopardが送られてくるの?

タイトルのようなかんじの質問をAppleに電話して聞いてみた.ADC Student Membershipを購入してLeopardがゲットできるなら,Leopard単品で買わなくてすむからね.

それで,その返答は,ADC Student Membershipを購入したときの最新版のMac OS Xが付属してくるということだった.つまり,いまはTigerが付属しているんだろう.(発送のこともあるから,すでにLeopardになってるかもしれないけど,そこまではわからない.)

ということで,ADC Student Membershipを購入するのは,Leopardが発売してからにしたほうがいいみたいだ♪

あと,Appleのサポートの対応はそれなりにいい.電話番号は,0120-APPLE-1だwAPPLEと携帯の文字のキーを押せば,数字になるから,0120-27753-1というようになる.うまいなぁ.

2007年10月19日金曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#3

林檎生活100: CentOS 5でつくるPHP開発サーバ.Zend Core編#2の続き.Zend Core2.5を最新版に更新するぞ〜.でも,最近更新されたばっかりだから,最新版な気もする・・・.

さっそく,やってみよう.
# cd /usr/local/Zend/Core/setup/
# ./ZendUpdater -y(テキストモードで実行する.)
(-----ZendUpdaterメニュー-----)
Choose one of the following actions:
------------------------------------

[0] Change GUI Password(Zend Core管理画面へのログインパスワードを変更する.)
[1] Update Zend Core(Zend Coreをアップデートする.)
[2] Uninstall Zend Core(Zend Coreをアンインストールする.)
[3] Support Tool(バグ報告用サポートツールを実行する.)
[4] Configure Web Server(Webサーバを設定する.)
[5] Install Additional Components(追加コンポーネント(MySQLなど.)をインストールする.)
[6] Exit(終了する.)

Please select [6]: (1[enter])

(-----アップデートメニュー-----)
Select Option
-------------

[0] View Available Updates(ネットワークからアップデートを実行する.)
[1] Install Zend Update Packages(ローカルのファイルからアップデートを実行する.)
[2] Erase Components(コンポーネントを削除する.)
[3] Configure Zend Network Settings(Zend Networkの設定を実行する.)
[4] Rollback(以前の状態へロールバックする.)
[5] Delete Rollback Information(以前の状態へロールバックする情報を削除する.)
[6] Exit(終了する.)

Please select [6]: (3[enter])

(-----Zend Network設定-----)
(-----Zend NetworkユーザID設定-----)
Select Option
-------------

[0] Change Zend Network User ID(ユーザIDを設定する.)
[1] Change Zend Network Password(パスワードを設定する.)
[2] Setup cron for Updates(自動アップデートを設定する.)
[3] Configure Proxy Server(プロキシサーバを設定する.)
[4] Exit(終了する.)

Please select [4]: (0[enter])

Enter your Zend Network User ID. [username]:(Zend Coreをダウンロードするときに使用した,ユーザIDを入力する.)

(-----Zend Networkパスワード設定-----)
Select Option
-------------

[0] Change Zend Network User ID(ユーザIDを設定する.)
[1] Change Zend Network Password(パスワードを設定する.)
[2] Setup cron for Updates(自動アップデートを設定する.)
[3] Configure Proxy Server(プロキシサーバを設定する.)
[4] Exit(終了する.)

Please select [4]: (1[enter])

Enter your Zend Network Password.
Password:(Zend Coreをダウンロードするときに使用した,パスワードを入力する.)
Verify password:(Zend Coreをダウンロードするときに使用した,パスワードを入力する.)

(-----Zend Network設定終了-----)
Select Option
-------------

[0] Change Zend Network User ID(ユーザIDを設定する.)
[1] Change Zend Network Password(パスワードを設定する.)
[2] Setup cron for Updates(自動アップデートを設定する.)
[3] Configure Proxy Server(プロキシサーバを設定する.)
[4] Exit(終了する.)

Please select [4]: ([enter])

(-----アップデート実行-----)
Select Option
-------------

[0] View Available Updates(ネットワークからアップデートを実行する.)
[1] Install Zend Update Packages(ローカルのファイルからアップデートを実行する.)
[2] Erase Components(コンポーネントを削除する.)
[3] Configure Zend Network Settings(Zend Networkの設定を実行する.)
[4] Rollback(以前の状態へロールバックする.)
[5] Delete Rollback Information(以前の状態へロールバックする情報を削除する.)
[6] Exit(終了する.)

Please select [6]: (0[enter])

(アップデートがないと次のようなメッセージが出力される.)
User not entitled to updates
[To continue, press Enter]([enter])

(-----アップデート終了-----)
Select Option
-------------

[0] View Available Updates(ネットワークからアップデートを実行する.)
[1] Install Zend Update Packages(ローカルのファイルからアップデートを実行する.)
[2] Erase Components(コンポーネントを削除する.)
[3] Configure Zend Network Settings(Zend Networkの設定を実行する.)
[4] Rollback(以前の状態へロールバックする.)
[5] Delete Rollback Information(以前の状態へロールバックする情報を削除する.)
[6] Exit(終了する.)

Please select [6]: ([enter])

(-----ZendUpdater終了-----)
Choose one of the following actions:
------------------------------------

[0] Change GUI Password(Zend Core管理画面へのログインパスワードを変更する.)
[1] Update Zend Core(Zend Coreをアップデートする.)
[2] Uninstall Zend Core(Zend Coreをアンインストールする.)
[3] Support Tool(バグ報告用サポートツールを実行する.)
[4] Configure Web Server(Webサーバを設定する.)
[5] Install Additional Components(追加コンポーネント(MySQLなど.)をインストールする.)
[6] Exit(終了する.)

Please select [6]: (1[enter])

Thank you for using Zend Core.
#


・・・あれっ?アップデートない?ん・・・,まあ,最近リリースされたばっかりだしなぁ.実際,この機能はかなり便利.そのうちわかってもらえるかな,アップデートされてw

さて,次回は,Zend Core管理画面をやるか.

2007年10月18日木曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#2

林檎生活100: CentOS 5でつくるPHP開発サーバ.Zend Core編#1の続きなんだけど,僕がさぼってるうちに,なんかZend Core 2.5が出てしまったみたい.そこで,Zend Core 2.5のインストールについて書くわけなんだけど,ダウンロードする方法は基本的に2.0と同じだから割愛する.

ということで,ZendCore-2.5.0-linux-glibc21-i386.tar.gzをダウンロードし,Cyberduckなどで,CentOSの/home/adminあたりにアップロードする.

さて,実際のインストールに移ろう.

1.ファイルを移動させ,解凍する.
# cd /usr/local/src
# mv /home/admin/ZendCore-2.5.0-linux-glibc21-i386.tar.gz .
# tar -vxzf ZendCore-2.5.0-linux-glibc21-i386.tar.gz


2.インストールする.
# cd ZendCore-v2.0.1-Linux-x86
# ./install -y(テキストモードで実行する.)
(-----インストール開始-----)
Welcome to the Zend Core v2.5 Installer.
[To continue, press Enter]([enter])

(-----ライセンス確認-----)
(ライセンスが表示される.)
Do you accept the terms of this license?
Answer (yes or no) [yes]: ([enter])

(-----インストールディレクトリ選択-----)
Enter the destination path for the Zend Core Installation. [/usr/local/Zend]: ([enter])

(-----パスワード設定-----)
The GUI Password is used to gain access to the Zend Core Web GUI.

Please enter a GUI Password:
Password: (英数字のパスワードを入力する.)
Verify password: (英数字のパスワードを入力する.)

(-----インストールコンポーネント選択-----)
(デフォルトのままで,Zend Frameworkをインストールし,Apacheを設定する.)
Please select which components to install / configure:

[ ] 0. Configure Zend Network
[X] 1. Install Zend Framework
[ ] 2. Install phpMyAdmin
[X] 3. Configure Apache Webserver
[ ] 4. Install MySQL 5
[ ] 5. Install Oracle Client
[ ] 6. Install IBM DB2 Express-C
[ ] 7. Install IBM DB2 Client


Change settings, or press ENTER to continue: ([enter])

(-----Apache設定-----)
(Zend Core付属のApacheをインストールする.)
Select an Apache package to install.
------------------------------------

[0] Specify Web Server's Location
[1] Install the Zend Core bundled Apache.

Please select : (1[enter])

Choose Apache Port [80]: ([enter])

Select an Apache Installation Method:
-------------------------------------

[0] Apache Module (Recommended)
[1] FastCGI

Please select : (0[enter])

(-----インストール作業-----)
Installation will use the following configuration file: /usr/local/src/ZendCore-2.5.0-linux-glibc21-i386/installer/core.ini

Starting Zend Core Installation.

Verifying Zend Core...

Zend Core OK

Verifying Apache...

Apache OK

Verifying Zend Framework...
ZendFramework.tar.gz
Verifying downloaded file...
[============================================================] [100%]

Zend Framework OK

Starting Zend Core Installation

Unpacking archive Zend Core
Unpacking Zend Core ...
File share/.registry/ext_xmlwriter-5.2.4-1-linux-glibc21-i386.xml
[============================================================] [100%]

Zend Core Installation complete

Unpacking archive Apache
Unpacking Apache...
File usr/local/Zend/apache2/lib/libexpat.a
[============================================================] [100%]

Unpacking archive Zend Framework
Unpacking Zend Framework...
File ZendFramework-1.0.2/library/Zend/Mail/Storage/Pop3.php
[============================================================] [100%]

(-----インストール後設定-----)
Zend Core Installation complete.

Select one of the following actions:
------------------------------------

[0] Display the installation log file
[1] Open the Zend Updater
[2] Finish installation

Please select [2]: ([enter])

(-----インストール完了-----)
Installation was completed successfully.
The Installation log file can be found in: zendcore_20071018054412.log
Zend Core has been installed in the following directory: /usr/local/Zend
You can access the Zend Core Administration Web GUI from http://localhost:80/ZendCore.

In order for your Zend Core to be up to date, supported and secured, you must subscribe to one of the Zend Core Support Programs. Ensure your Zend Network ID and Password are configured in Zend Core by using the Zend Updater.
#


これでインストール完了♪

ついでに,Apacheのhtdocsディレクトリの権限をadminに変更しておこう.
# chown -R admin:admin /usr/local/Zend/apache2/htdocs


今回は,Zend Frameworkもデフォルトでインストールされるようなので,そのままインストールさせてる.Zend Frameworkをどんどんつかっていこう.

さて次回は,Zend Coreのアップデート方法について書くかな.

補足事項:
・アップデートツール:/usr/local/Zend/Core/setup/ZendUpdater
アップデートツールをつかうことで,インストール済コンポーネントをアップデートしたり,コンポーネントをインストールしたりできる.

・Zend Core管理画面:http://172.16.8.3/ZendCore
いろいろ便利な管理画面♪そのうちつかい方を紹介予定.

・Apache自動起動スクリプト:/etc/rc3.d/S99Apache.Zend
ここに直接置かれている.とくに使うことはないが,なにによって自動起動されているかわからないと不安なのでw

・Apacheコントロールスクリプト:/usr/local/apache2/bin/apachectl
Apacheの再起動は,Zend Core管理画面から実行できるから,あまりつかうことはないと思う.

・pearコマンド:/usr/local/Zend/Core/bin/pear
ここにある.

・phpコマンド:/usr/local/Zend/Core/bin/php
ここにある.Webで拾ってきたコマンドラインPHPスクリプトを実行するときは,パスを変える必要がある.

2007年10月1日月曜日

折り紙でつくるCDケース.

フォームにタイトルとかを入れて印刷して折るだけで,CDケースができる.とても便利なのでつかってみて♪

http://www.papercdcase.com/

2007年9月29日土曜日

TOEIC#1

TOEICについてのエントリを始めてみた.とりあえず,9月30日のTOEICにむけて,TOEICテスト新公式問題集を解いてみた.

○TOEIC練習テスト(1)結果
リスニングセクション・スコア・レンジ 240-290
リーディングセクション・スコア・レンジ 180-230
トータル・スコア・レンジ 420-520

正直,たいしたことない結果w500点くらい行くだろうと思ってた自分はかなり甘かったね・・・.

これから,TOEIC対策などについて書いていきたいと思うんでよろしくm(._.)m

2007年9月27日木曜日

「オレンジの顔文字辞書」をインストールしてみた.

ヘ( ̄▽ ̄*)ノ・ ・.♪ヒャッホーイ♪.・ ・ヾ(* ̄▽ ̄)ノってなかんじの顔文字を変換できるようになるFACEMARK FACTORYの「オレンジの顔文字辞書」をインストールしてみた♪

インストールの方法が,FACEMARK FACTORYに書かれている方法でできなかったので,メモっとく.

1.FACEMARK FACTORYのDownloadから「ことえり システム辞書インターネット対応」をダウンロードする.
http://www.facemark.jp/

2.HQX圧縮(正確には,圧縮じゃないけど・・・.)なので,act2のStuffIt Expanderなどで解凍する.
http://www.act2.com/download/freeware.php

3.ホーム>ライブラリ>Dictionariesに,「orange31-kz」と「orange31-kz-逆引」をコピーする.

4.入力メニュー>環境設定を表示>辞書のorange31-kzを選択し,開くをクリックする.

これで,♪d(´▽`)b♪オールオッケィ♪ってな顔文字を出せるようになるw

補足事項:
登録単語一覧は,入力メニュー>単語登録/辞書編集…で起動することえり単語登録の辞書>テキストに書き出す…で書き出すことができる.☆^v(*^∇')乂('∇^*)v^☆ヤッタネ!!

参考文献:
http://hamachan.fun.cx/Mac/

2007年9月24日月曜日

Prolog入門.結構忘れてるなぁ.

Prologをさわりたくなったから,やってみたってかんじなんだけど,研究のほうでもPrologのソース読まなきゃならなそうだから,リハビリもかねてるw

そのPrologって言語の解説は,エントリ末尾の参考文献などでどうぞ♪(ぉ

処理系は,MacPortsで,GNU Prologをインストール.
$ sudo port -c install gprolog


とりあえず,起動,Hello, world!,終了の手順.
$ gprolog
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- write('Hello, world!').(write述語をつかって,標準出力への出力を行う.)
Hello, world!(出力された♪)

yes(成功ってな意味.)
| ?- halt.(halt述語で終了させる.)
$


まずは,階乗を計算するプログラム.再帰再帰♪
/* factorial.pl */
factorial(0, 1).
factorial(X, Y) :- X > 0, X1 is X - 1, factorial(X1, Y1), Y is Y1 * X.


はい,2行!かなり簡潔.その意味は,
/* factorial.pl */
0!は1である.
X!はYである.このことは.X > 0,X1 = X - 1,X1! = Y1とすると,Y = Y1 * Xと置き換えられる.

というかんじ.

実行結果は次のとおり.
$ gprolog
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- ['factorial.pl'].
compiling /Users/takuya/Documents/Programming/Prolog/factorial.pl for byte code...
/Users/takuya/Documents/Programming/Prolog/factorial.pl compiled, 3 lines read - 926 bytes written, 14 ms

(1 ms) yes
| ?- factorial(10, X).

X = 3628800 ?

yes
| ?- halt.
$


そして,例によってFizzBuzz.ただ書いてもおもしろくないから,どんなふうに思考して作ったかを書いていく.

まず,最初に1から100までただ数字を出力するプログラムを書いてみた.
/* fizzbuzz.pl */
fizzbuzz :- fizzbuzz(1).
fizzbuzz(101).
fizzbuzz(N) :- write(N), nl, N1 is N + 1, fizzbuzz(N1).


これは,いたって簡単.あとは,3と5で割りきれるときにFizzBuzz,3で割りきれるときにFizz,5で割りきれるときにBuzz,そうでないときに数字を出力するようにすればいいので,次のようになる.
/* fizzbuzz.pl */
fizzbuzz :- fizzbuzz(1).
fizzbuzz(101).
fizzbuzz(N) :- N mod 3 =:= 0, N mod 5 =:= 0,
write('FizzBuzz'), nl, N1 is N + 1, fizzbuzz(N1).
fizzbuzz(N) :- N mod 3 =:= 0,
write('Fizz'), nl, N1 is N + 1, fizzbuzz(N1).
fizzbuzz(N) :- N mod 5 =:= 0,
write('Buzz'), nl, N1 is N + 1, fizzbuzz(N1).
fizzbuzz(N) :- N mod 3 =\= 0, N mod 5 =\= 0,
write(N), nl, N1 is N + 1, fizzbuzz(N1).


実行結果は省略ね.

もっとクールな方法がありそうだけど,だいたいこんなかんじ.いきおいで書けば,とりあえず動くwこの思考プロセスを楽しいと感じた人は,ぜひPrologなどの宣言型言語をやってみてほしい.それにしても,ぜんぜん入門じゃないねw

参考文献:
http://www.geocities.jp/m_hiroi/

2007年9月23日日曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#1

CentOSかよっとつっこみがはいりそうだけど,負けないw本当はFreeBSDでやりたいんだけど,仕事で使うのがCentOSってことと,Zend CoreのFreeBSD版がないので,結局こうなったのだ♪さぁ,がんばっていこー.

さて,そのZend Coreは,ApachePHP+管理ツールをまとめたPHP開発環境パッケージなのだ.さらに,オプションでMySQLZend Frameworkもインストールできて非常に便利♪

まずは,CentOSの準備なんだけど,初期設定とかは同じだから,林檎生活100: CentOS 5でつくるPHP開発サーバ.#1から林檎生活100: CentOS 5でつくるPHP開発サーバ.#3までをやればOKだね.

つぎに,Zend Coreをダウンロードしてこなきゃならないわけだが,Zend Japanには最新版がない.なので,本家からダウンロードしてくる.手順はつぎのとおり.

1.http://www.zend.com/products/zend_core/にアクセスする.
2.Downloadをクリックする.

3.Zend.com Usersに登録する.


上から順に,
・ユーザネーム(英数字)
・パスワード(8文字以上)
・パスワードの確認
・名
・姓
・メールアドレス
・電話番号(012-345-6789だったら,+81-12-345-6789と入力する.)
・会社名
・国(Japanを選択する.)
・州(N/Aを選択する.)
・EULA(内容を読み,チェックする.)
・Zend Network Updates(更新情報のメール購読をするならチェックする.)
・Promotional Items(プロモーション製品情報のメール購読をするならチェックする.)
というようなかんじ.最後のほうはかなり適当なので注意.全部入力したら,Submitをクリックして,メールでConfirmする.

3.Zend Core v.2 Linux x86(ZendCore-v2.0.1-Linux-x86.tar.gz)をダウンロードする.


そしたら,ダウンロードしたファイルをCyberduckとかをつかって,CentOSの/home/admin/あたりにアップロードする.

これで準備完了だから,実際にインストールしよう♪

1.ファイルを移動させ,解凍する.
# cd /usr/local/src
# mv /home/admin/ZendCore-v2.0.1-Linux-x86.tar.gz .
# tar -vxzf ZendCore-v2.0.1-Linux-x86.tar.gz


2.インストールする.
# cd ZendCore-v2.0.1-Linux-x86
# ./install-tty
.
.
.
Welcome to the Zend Core v2.0 Installation!
.
.
.
[To continue, press Enter](Enterを押す.)
.
.
.
ZEND TECHNOLOGIES, INC.
.
.
.
(すべて読む.Spaceを押すと次のページへ進む.)
.
.
.
Do you accept the terms of this license?
Answer (yes or no) [YES]: (Enterを押す.当然,ライセンスに同意する.)
.
.
.
Please specify the location for installing Zend Core [/usr/local/Zend/Core]: (Enterを押す.)
.
.
.
Password: (英数字のパスワードを入力する.)

Verify the password: (英数字のパスワードを入力する.)
.
.
.
Would you like to enter your Zend Network User ID and Password now?
Answer (yes or no) [YES]: (Enterを押す.)
.
.
.
Please enter your Zend Network User ID: (ダウンロードするときに登録したユーザIDを入力する.)
.
.
.
Please enter your Zend Network Password

Password: (ダウンロードするときに登録したパスワードを入力する.)

Verify the password: (ダウンロードするときに登録したパスワードを入力する.)

Enter URL of proxy server in host:port format
or leave it blank if you have direct access [Press ENTER to leave empty]:(Enterを押す.)

The Zend Core updater will keep your installaion up to date.
Please specify the time for checking daily updates (HH:MM) [01:00]: (自動アップデートの時間の設定.デフォルトのままでよければ,Enterを押す.)
.
.
.
Please select the updater daily action.
---------------------------------------

[1] Get update information
[2] Get updates available for installed components
[3] Get complete updates and new components

Please select : (1を入力する.)
.
.
.
Zend Core bundled with its own apache.
Do you want to install and configure?
Answer (yes or no) [YES]: (Enterを押す.)
.
.
.
Choose apache port [80]: (Enterを押す.)
.
.
.
Zend Core pre-bundled Apache includes SSL support.
By default, SSL support is disabled.
To enable Apache SSL support, you must configure the SSL module and generate certificates.
Please refer to the Release Notes for further information regarding SSL configuration.
[To continue, press Enter](Enterを押す.いまインストールされたApacheはSSLをサポートしているが,無効になっているという説明.)
.
.
.
Please select an installation method for Apache 2.2.3 :
--------------------------------------------------------

[1] Apache module (Recommended)
[2] FastCGI

Please select [1]: (Enterを押す.)
.
.
.
Please Note: The installation has modified the apachectl script.

If for any reason your Apache needs to be reinstalled - please
make sure you update the apachectl script accordingly.

For further instructions please see the Zend Core for Oracle Release Notes.

[To continue, press Enter](Enterを押す.)
.
.
.
Choose extra components to install:

[ ] 1. MySQL
[ ] 2. phpMyAdmin
[ ] 3. IBM DB Drivers
[ ] 4. IBM DB2 Express-C
[ ] 5. Oracle OCI DB Drivers
[ ] 6. Zend Framework

[Change setting or press ENTER to continue]: (Enterを押す.後でからインストールするのでいまはインストールしない.)
.
.
.
[To continue, press Enter](Enterを押す.)
.
.
.
Installation successfully finished, thank you for using Zend Core.
[To continue, press Enter](Enterを押す.)
#


これでインストール完了〜.こうやって書くと長いなぁ・・・.次回っ,MySQLのインストールとZend Frameworkのインストールをやる!

補足事項:
・セットアップツール:/usr/local/Zend/Core/setup/setup
・セットアップツール(tty版):/usr/local/Zend/Core/setup/setup-tty
セットアップツールをつかうことで,インストール済コンポーネントをアップデートしたり,MySQLやZend Frameworkをインストールできる.

・Zend Core管理画面:http://172.16.8.3/ZendCore
いろいろ便利な管理画面♪そのうちつかい方を紹介予定.

・apache自動起動スクリプト:/etc/rc3.d/Sapachectl.Zend
ここに直接置かれている.とくに使うことはないが,なにによって自動起動されているかわからないと不安なのでw

・pearコマンド:/usr/local/Zend/Core/bin/pear
ここにある.

・phpコマンド:/usr/local/Zend/Core/bin/php
ここにある.Webで拾ってきたコマンドラインPHPスクリプトを実行するときは,パスを変える必要がある.

追記(2007年10月10日):
Apacheのディレクトリの権限を変更するのを忘れていたので,追加しとく.
# chown -R admin:admin /usr/local/Zend/apache2/htdocs

2007年9月22日土曜日

整備済製品のiPodを買ったよ.

iPod with Video(第5.5世代・30GB)を整備済製品にて購入した.新しいiPodのデザインが,MacBookにあわないからって理由で,あえて前のモデルでw

さて,その整備済製品は,こんな箱に入ってきた.



きれいな状態のダンボールといったかんじ.「Certified Reconditioned Products」と左上に印刷されている.



箱の中は,黒いスポンジが2段になってる.空いている部分に何が入るんだろうと思ったんだけど,他のiPodの場合でも同じものをつかえるようにってことだろうか.以前の世代になればなるほど付属品が多いらしいしね.

僕が買った整備済製品は,次の付属品が付いてきた.

・整備済製品用保証書
・iPod ヘッドフォン
・USB 2.0 ケーブル
・Dock アダプタ
・説明書

CDとイヤーパッドが付いてこなかったみたい.



iPod本体は下の段に入ってた.iPod本体は,表面にフィルムが貼られ,透明な袋に入れられてる.新品とかわらないかんじ.



とくにキズはない.



裏面にもキズはないし,本当に新品みたいだ.買って得したかんじがする♪

iPodは外に持ち出してどうせキズがつくから,最初からキズついているような製品でも我慢できるなぁと思ってたら,全然キズがなくてキレイなんだねぇ.ほかの整備済製品もこんなものなのかなぁ.ほかの製品が同じような状態とは限らないけど,オススメだね.

2007年9月21日金曜日

デジカメをケースから・・・.

教訓♪教訓♪デジカメをケースから取り出すときは,ストラップに手を通してから取り出しましょ〜♪

うん,デジカメ落としたんだよね.アスファルトの上に.壊れなくてよかったけどさ・・・.

2007年9月20日木曜日

haru.fmに携帯のメールで投稿できたら便利だよね.

タイトルのとおりなんだけど,haru.fmに携帯のメールで投稿できたらいいなーって.haruは携帯からも投稿できるんだけど,僕の携帯(というかPHS)は,ブラウジング機能やカメラ機能がないnico.necoだからその機能がつかえないw

ということで,PHPで空メール返信の仕組みとかを使って,実装できそうだなぁと思ったのでメモ.このシステムの使い方は,次のようなかんじかな.(念のためにいうけど,haru@example.comは架空のアドレスだよ〜.)

1.haru@example.comに空メールを送る.
2.件名にID,本文にPWを書いてharu@example.comに送るように指示するメールが届く.
3.2のとおりにメールを送る.
4.登録完了メールが届く.
5.haru@example.comにメールを送ると,そのメールの本文がharu.fmの自分の書き込みとして反映される.

どうだろ?メールヘッダの改ざんとかもあるし,パスワードを保持する必要もあるから,セキュリティには気をつけなきゃなんないよね.3連休に開発しよっかな♪たぶん1日で開発できそうだ.

追記(2007年9月21日):
コメントにもあるとおり,haru.fmにはメール投稿の機能があったw僕が見落としてた〜.3連休あたりに,メール投稿してみよっと♪

2007年9月15日土曜日

Haru Client(仮)をつくろう♪#1

Haru.fmのクライアント「Haru Client(仮)」をつくろう,という企画倒れしそうなエントリをスタート.ということで,今回は,おおまかな機能とそれに必要なAPIをリストアップする.

それで,Haru Client(仮)にとりあえず実装する機能は,次のようなかんじにしようと思っている.

・友だちの書き込みを表示し,それを1分間隔で更新する.
・自分の書き込みを投稿できる.

うはっ,超シンプル!でも,これを実装せにゃなんも始まらないからな.とりあえず,これを実装するために必要なのが,Haru.fmのAPIのなかの次の3つ.

1.書き込み
3.友だちとの書き込みリスト
8.ユーザーIDの取得

さて,このクライアントの開発は,Objective-Cでっ!と言いたいところなんだけど,あいにくMacの開発はまだ勉強すら始めてない状況だから,Javaで開発する.SwingでGUIはサクサクできそうだし,WinでもMacでも動くしね♪

そして,この開発は次のようなかんじで進めていこうかなぁと思う.

1.JavaでHaru.fmのAPIをいじるためのライブラリを作成する.
2.GUI部分を作成する.
3.機能拡張
4.機能拡張
5.機能拡張
.
.
.

3.以降はエンドレスなので,2.までの開発期間を2週間と考えて,開発をスタート.さ〜て,友だちのJavaプログラマ「なり」を巻き込んで開発しよっ♪

CentOS 5でつくるPHP開発サーバ.#7

林檎生活100: CentOS 5でつくるPHP開発サーバ.#6の続き.今回で完結!と思ってたときに,Zend Coreなんてものを発見してしまった.簡単にいうとフリーのオールインワンPHP開発環境・・・.機会があれば,こいつの紹介もそのうちすることになりそうだね・・・.

さて,気を取り直して,Zend StudioZend Platformの連携をやっていこう♪

まずは,Zend Platformの設定から.

1.Zend Platformにブラウザからアクセスする.
http://172.16.8.3/ZendPlatform/

2.Zend Platformにログインする.

3.コンフィグレーションをクリックし,Studioサーバ設定ページを表示する.


4.許可するホストにZend StudioをつかうMacのIPアドレスを追加する.今回は,192.168.0.xxxのIPアドレスをもつすべてのホストからStudioサーバへのアクセスを許可する.


5.OKをクリックする.


6.許可するホストに追加されたことを確認する.


7.保存をクリックする.

以上で,Zend Platformの設定は完了.

次に,Zend Studioの設定.

1.メニューのツール>カスタマイズをクリックする.

2.タブのデバッグをクリックし,デバッグモードをリモートに,デバッグサーバURLをhttp://172.16.8.3に設定する.


3.タブのZend Platformをクリックし,認証にZend Platformにアクセスするときのユーザ名とパスワードを入力する.


4.OKをクリックする.

以上で,Zend Studioの設定も完了.

動作チェックは,メニューのツール>デバッグサーバ接続テストを実行すればOK.これでつながらない場合は,アクセスが許可されたホストとして登録されてない可能性があるので,Zend Platformの設定できちんとMacのIPアドレスが許可するホストに登録されているか確認する.

ちなみに,IPアドレスを確認する方法は,次のとおり.
1.Macのターミナルを立ち上げる.

2.ifconfigでNICの情報を表示する.
$ ifconfig
.
.
.
en1:
.
.
inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255
.
.
.

3.このxxx.xxx.xxx.xxxがMacのIPアドレスとなる.

あー,終わった終わった.長かったなぁ.これを書きはじめて2ヶ月くらい?もっと前からかな.とりあえず,書き終わった.でも,Zend Coreなんてものも見つかっちゃったし,MacだけでPHP開発環境整えられたらなあ(それも,完全無料で!)という欲求も出てきたんで,そっちについてもこれから書いていかないとなぁ.あと,開発環境じゃなくて,開発ティップスも公開していきたいね.

2007年9月14日金曜日

Twitterrific♪使い方メモ.

IconfactoryTwitterrificをインストールしてみた.かなり快適♪

インストールは,ダウンロード,アプリケーションにコピー,実行というかんじで普通のアプリケーションと同じ.

とりあえず,使い方とか.まず,お知らせウィンドウ.

○画面操作
Tマーク:ユーザページを表示.
矢印マーク:Webページ/ブログを表示.
ハートマーク:お気に入り(Favorites)に追加.
ホームマーク:自分のユーザページを表示.
レンチマーク:設定変更.(詳細はあとから説明する.)
リフレッシュマーク:書き込みを最新に更新する.
What are you doing?:入力してEnterを押すとエントリに反映される.

○ショートカットキー
command+Q: Twitterrificを終了する.
command+W: Twitterrificのウィンドウを閉じる.
command+R: 書き込みを最新に更新する.
command+K: Mark all tweets as read(効果がよくわからない.)
command+2: 書き込みに返信する.
command+D: ダイレクトメッセージを送る.
command+L: 別のアカウントでログインする.
command+0: ウィンドウを最大化する.
tab: 入力エリアと書き込みエリアを移動する.
↑: 書き込みを上に移動する.
↓: 書き込みを下に移動する.
shift+↑: 最新の書き込みに移動する.
shift+↓: 最古の書き込みに移動する.

といったかんじ.シンプルだけどかなり便利だね.

次に,設定画面.
○書き込み設定

・どの書き込みをチェックするか.友だちリスト/全体リスト
・自動更新の設定.無効/1分ごと/5分ごと/15分ごと/30分ごと/60分ごと
・新しい書き込みがあったら,お知らせウィンドウを表示する.
・書き込みを表示したらお知らせウィンドウを隠す.無効/10秒後/20秒後/30秒後
・お知らせサウンドを再生する.オリジナル/カーディナル1/カーディナル2/ロビン/ランダム
・書き込みを投稿したら更新する.

○ウィンドウ

・お知らせウィンドウの表示方法.パレットより上(効果がよくわからない.)/ウィンドウより上/普通のウィンドウ
・お知らせウィンドウを表示するホットキー.
・ウィンドウを透過させる.
・ウィンドウに影をつける.
・大きいフォントをつかう.
・すべての書き込みを展開して表示する.

○システム

・Macにログインしたら自動的にTwitterrificを起動する.
・ドックに表示する.
・Twitterrificが起動したら,自動的にTwitterにログインする.
・エラーメッセージを表示する.

だいたいの日本語訳はこんなところかな.例のごとく,僕にわからないところ,間違っているところをぜひぜひ教えていただければありがたい.なんだかんだでとても便利なんだけど,メインでつかってるのがharu.fmだから,そっちにもこういうツールがほしい・・・.

追記(2007年9月14日):
command+2の返信はかなり便利だね.ホットキーには,command+ctrl+shift+Tを割り当てて,新しい書き込みで表示しない設定で,新しい書き込みの表示はGrowlにまかせとくことに.

2007年9月13日木曜日

CentOS 5でつくるPHP開発サーバ.#6

林檎生活100: CentOS 5でつくるPHP開発サーバ.#5の続きなんだが,Zend Studio用のデバッグ環境を整えるためにCentOS 5にZendPlatformをインストールする話なので,Zend Studioを使ってない人には,まったく関係ないんだよね・・・.でも,このエントリを書きはじめた理由が,Zend Studio用のPHP開発サーバをつくるためなんだから仕方ないw

なので,Zend Studioのリモートデバッグ機能を活用するために,Zend PlatformをCentOS 5にインストールしなければならない.ここで使用するZend Platformは,ZendのWebページからダウンロードできるトライアル版でかまわない.というか,僕には,ライセンス版は高くて購入できないwトライアル期限が切れてからも,リモートデバッグ機能は使えるから問題ない.

さて,その手順は次のとおり.

1.Zend Platformをダウンロードする.
1-1.Zendにアクセスする.
1-2.MyZendに登録する.
1-3.ログインする.
1-4.ZendPlatform 3.0のLinux版であるZendPlatform-3.0.2_ja-linux-glibc23-i386.tar.gzをダウンロードする.

2.ZendPlatform-3.0.2_ja-linux-glibc23-i386.tar.gzを,Cyeberduckなどを使ってサーバにアップロードする.

3.ZendPlatformをインストールする.
3-1.PHPにSOAPを追加する.(インストールしなくてもデバッグ機能は動作するが,ZendPlatform連携が動作しないため.)
# yum -y install php-soap
# /sbin/service httpd graceful

3-2.ZendPlatform-3.0.2_ja-linux-glibc23-i386.tar.gzを作業ディレクトリに移動させる.
# cd /usr/local/src
# mv /home/admin/ZendPlatform-3.0.2_ja-linux-glibc23-i386.tar.gz .(/home/adminにアップロードした場合.)

3-3.ZendPlatformを解凍する.
# tar -vxzf ZendPlatform-3.0.2_ja-linux-glibc23-i386.tar.gz

3-4.インストールメッセージにあわせて,シェルの文字コードを一時的にEUCに変更する.
# export LANG=ja_JP.eucJP

3-5.端末エミュレータの文字コードも一時的にEUCに変更する.以下は,Macの端末エミュレータ,コンソールの場合.

3-6.ZendPlatformのインストーラを実行し,インストールを行う.
# cd ZendPlatform-3.0.2_ja-linux-glibc23-i386
# ./install-tty
.
.
.
ようこそ Zend Platform 3.0.2 のインストールへ
.
.
.
[To continue, press Enter](Enterを押す.)

Zend Platform(TM) 日本語版 使用許諾契約書
.
.
.
(すべて読む.Spaceを押すと次のページへ進む.)

重要:
.
.
.
ライセンスに同意しますか?
Answer (yes or no) [YES]: (Enterを押す.当然,ライセンスに同意する.)

Zend Platform をインストールする Web サーバの起動スクリプトを
.
.
.
[1] /etc/init.d/httpd
[2] 手動で Web サーバを指定

Please select : (1を入力してEnterを押す.設定済みのApacheを用いるから.)

重要!
.
.
.
'Yes' を選択すると自動検出、'No' を選択すると手動設定を行います。
Answer (yes or no) [YES]: (Enterを押す.自動検出させる.)

Apache の起動コマンドを確認してください [/etc/init.d/httpd start]: (Enterを押す.デフォルトのままでOK.)
.
.
.
Apache の設定を検出しました。
.
.
.
[1] Apachectl: /etc/init.d/httpd
[2] httpd: /usr/sbin/httpd
[3] htdocs: /var/www/html
[4] pid_file: /etc/httpd/run/httpd.pid
[5] url: http://localhost:80
[6] Configuration is correct, continue

Please select : (6を入力して,Enterを押す.上記の設定で間違っていないので.)

Zend Platform のインストールタイプを選択してください。スタンドアロン
.
.
.
[1] Cluster Manager / Standalone Server
[2] Cluster Node

Please select : (1を入力して,Enterを押す.)

インストール方法を選択してください。
.
.
.
[1] 標準
[2] カスタム

Please select : (1を入力して,Enterを押す.)

正式ライセンスをお持ちですか?
Answer (yes or no) [YES]: (noを入力して,Enterを押す.当然,正式ライセンスを持っていないのでw)

Platform 管理画面のパスワードを入力

Password: (パスワードを入力する.記号を含むパスワードを入力するとインストールが失敗することもあるみたい.)

パスワード確認: (もっかいパスワードを入力する.)

インストールの情報を確認してください:
* Zend Platform のインストール
- Zend Platform エンジンの場所: /usr/local/Zend/Platform
- Zend Platform 管理画面の場所: /var/www/html/ZendPlatform
- Cache Cleaner と Collector Center の設定を apache の crontab に追加しました。
* php.ini ファイルは変更され、オリジナルは php.ini-zend_platform.bak として保存されます。

'Yes' を選択すると続行します。'No' を選択するとインストールを中止します。

Answer (yes or no) [YES]: (Enterを押す.上記の設定で問題ないよね.)
.
.
.
(インストール作業が行われる.)
.
.
.
Zend Platform の設定や使用方法に関する情報はユーザガイドを参照してください。
[To continue, press Enter](Enterを押して,インストール完了.)

3-7.シェルの文字コードをUTF-8に戻す.(再ログインするだけでも元にもどる.)
# export LANG=en_US.UTF-8

3-8.端末エミュレータの文字コードも元に戻す.(「設定をデフォルトとして使用」をクリックしていなければ,コンソールを再起動するだけでも元に戻る.)


以上でインストール完了.はぁ,疲れた・・・.使い方などは次回ということで・・・.本当は今回で完結させる予定だったのになぁ・・・.

iPhoneとiWorkの現状からの考察.

なんとなく思ったこと.

iPhone出して,みんなAjaxでアプリ作ってねって言ったAppleのことを考えると,これからAppleはAjaxを押し進めてくるんだろうなぁってのはわかる.というか,Webページでもかなり使ってる感がある.当然,.macはその重要なポイントだってのもわかる.

だけど,僕が気になってるのは,iWork 08'を出して,なお表計算アプリケーションであるNumbersを追加して,Apple製のOffice製品を拡充したことだ.ここまで拡充しておいて,使いものにならないレベルにしておくAppleではないし,たぶんそれなりの完成度で発表してきたはずである.(まだ買ってないから,推測の域をでていない・・・.)

つまり,何が言いたいのかというと,iPhoneと.macの連携を考えると,iWorkとの連携も欲しくなるのは必然で,AjaxでもOfficeアプリケーションがホットな今,AppleがiWorkの文書ファイルを読めるAjaxアプリを開発しないのはおかしいんじゃないのってこと.僕は,AppleがAjaxでそういうのを開発してくれるんじゃないかなぁとすごく期待してるw

まぁ,iPhoneの開発元だから,追加ソフトウェアとして導入することは可能だが,ここはAjaxでクールに決めてもらいたい.

この予想どうだろう?

2007年9月7日金曜日

新iPodファミリー登場!

新iPodファミリー登場!

とくに,iPod touchがヤバい.iPhoneがほしいと思ってる人は,買ってしまうんじゃない?Wi-Fi機能を内蔵しているから,いろいろとおもしろそう.でも,スケジューラとかついてるかなぁ・・・.Safariで.macにアクセスって方法でもいいけど,インターネットにつながらない状況だと困るしねぇ.どうしても,PDAとして考えてしまうんだよなぁ・・・.もう少し情報を集めてから購入とか考えよ♪

で,旧ファミリーのiPodが新ファミリーではiPod classicとなり,カラーがシルバーとブラックになってしまった・・・.うちのMacBookにあう,ホワイトのiPodがほしいとおもってたから,これはちょっと残念.しかしながら,デザインは好きだね.マットなシルバー(というかグレー?)とマットなブラックは質感も良さそう.容量が増えてなお安いから,正直なびいてしまうねw

さてと,悩みがふえたなぁw

2007年9月3日月曜日

合格!

北海道大学大学院情報科学研究科修士課程複合情報学専攻に合格した〜.

受験番号:5031



かなり嬉しい♪

来年へ向けて,卒業論文をがんばろう.

2007年9月1日土曜日

iDropsはなかなかいいよ.

iDropsを購入して,うちのMacBookで試してみた.iSkinが擦れてできた黒ずみに効果覿面.時間はかかるけど,キーボードがキレイになったよ♪

キズとかにも効くらしいので,キズができたら試してみよう.できれば,キズはできないほうがいいんだけどねぇ.

研磨剤を含んでるみたいだから,キートップをこすり続けると,キートップの文字が消えるかもしれないんで注意.

かなりオススメだね☆

2007年8月30日木曜日

yumのキャッシュについて.

yumのキャッシュについて.あんがいHDDをくうみたいなんで,キャッシュ削除のティップス.

・キャッシュのディスク使用量を調べる.
$ du -hs /var/cache/yum

・キャッシュを削除する.
# yum clean all

というようなかんじ.僕の環境では,60MBくらい使用してて,キャッシュを削除したら100KBくらいになった.VMwareとかで動かしてるとチリも積もればってなかんじで結構増えるから,環境の整備が終わったら削除しよう.ディスク容量に余裕があるなら全然いいんだけどねw

2007年8月29日水曜日

JavaScript入門.ちょっと本気でやってみるかなぁ.#1

Ajaxという言葉によって再興したJavaScript.Webアプリケーションプログラマ(日曜プログラマと置きかえてもいいけどw)として,やっとかないとなぁ感がでてきた.

さて,そのJavaScript,悪い言語じゃないと僕は思う.始めてプログラミングをする人にぜひおすすめしたい.オブジェクト指向プログラミングできて,その仕組みはシンプルで,処理系がOS付属のブラウザについてくるということで始めやすい.また,結果がグラフィカルに返ってくるし,そもそもWebに使うものだから実用的.プログラミングの勉強へのモチベーションも保ちやすい.JavaScriptから始めて,そのあとにJavaなんかを勉強したら幸せになれるんじゃないかな.

しかしながら,いろいろと問題はありそう.JavaScriptが悪とされてたころは,DOMやBOMなんて言葉はなく,文法を教えているサイトも皆無で,「こう書けばこう動くから君のWebページに貼り付けるといいよ.」といったかんじのコードが横行していた.それよりはお行儀がいいが,結局は「こういうライブラリがあるからこうやって使おう.」というような流れになっている.JavaScriptの現状はまだ不安定だ.

そんな現状になっているのも,XHTML+CSS+JavaScriptというものを学ばなければならないってことの影響だと思う.3つ同時にというのは大変だし,そもそもXHTMLがわかってないとJavaScriptでどーのこーのできない.アクティブなページを作るには,CSSもわからないとまずい.それによって,JavaScriptが後回しになったり,どれも中途半端になったりして,いつまでたっても初心者から脱出できない状態におちいる.(僕のことだねw)なので,JavaScriptだけを本気でやってみることにした.

ということで,JavaScriptをブラウザではなくインタプリタで動作させて,文法を叩き込む方向でいこうと思う.初心者におすすめな理由と矛盾してるけどねw使用するインタプリタは,Rhino

あっ,いまさらだけど,僕の入門の話で,解説ではないことに注意してねw

Rhinoをつっこむところとかもろもろ省略して,今回書いてみたプログラム.とりあえず,お約束の階乗計算プログラムね.
/*
* factorial.js
*/
function factorial(n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}

print("10! = " + factorial(10));


実行結果は次のとおり.
$ java -jar js.jar factorial.js
10! = 3628800
$


例によって,FizzBuzzプログラムも.
/*
* fizzbuzz.js
*/
for (i = 1; i <= 100; i++) {
if (!(i % 3) && !(i % 5)) {
print("FizzBuzz");
} else if (!(i % 3)) {
print("Fizz");
} else if (!(i % 5)) {
print("Buzz");
} else {
print(i);
}
}


実行結果は省略.

んー,林檎生活100: Tcl入門.ちょっといじってみた.と大差ないなwこんな簡単なんじゃダメっぽい.もうちょっとJavaScriptのおいしいところをだしていければいいなぁ.

追記(2007年8月30日):
print()は,Rhinoの定義済み関数なんで,ブラウザじゃ動作しない.ブラウザでの実行のときは,alert()に置き換えれば動作するんじゃないかな.未確認だけど・・・.

追記(2007年9月13日):
オブジェクト指向型言語と書いたが,オブジェクト指向プログラミング可能な言語であって,オブジェクト指向型言語とは言い切れないかんじなので,修正した.

2007年8月28日火曜日

Tcl入門.ちょっといじってみた.

Tclをいじってみた.よくそのツールキットと一緒にTcl/Tk(ティクルティーケーと読むらしい.)と呼ばれるあれだ.いままで使ってみようと思うことはなかったんだけど,なんとなーくいじりはじめたらおもしろかったんで,ちょっとその言語仕様と簡単なプログラムについて書いてみた.

Tool Command Languageの略語であることからも,その基本はコマンド.なので,コマンド区切り文字までを1コマンドとして,それを順番に記述していくスタイルだ.すべての変数は文字列型というのもすごい.文字列を数字列によって表された数値としてとるかどうかというのは,コマンドにまかせられているということなんだって.また,変数代入や制御構造,プロシージャ定義などがすべてコマンドというのもすごい.(というか,やりすぎw)

というかんじで,文がコマンドしかないから,文法ってのもコマンドの書き方になるわけで,言語仕様は小さい.基本的には,変数置換,コマンド置換とかについてわかれば,文法的にはOK.1時間くらいで文法を網羅できる言語なんだが,コマンドの勉強をしなきゃならないから,1時間でマスターというわけにはいかないだろうけど・・・.

とりあえず,階乗計算プログラムを作ってみた.再帰も当然できますよってかんじでw
#!/usr/bin/tclsh
#
# factorial.tcl
#
proc factorial {n} {
if {$n == 0} {
return 1
} else {
return [expr $n * [factorial [expr $n - 1]]]
}
}

puts "n = ?"
set n [gets stdin]
puts "$n! = [factorial $n]"


実行結果はこんなかんじ.
$ tclsh factorial.tcl
n = ?
10
10! = 3628800
$


もうひとつ作った.FizzBuzzって流行ったから,FizzBuzzプログラムw
#!/usr/bin/tclsh
#
# fizzbuzz.tcl
#
for {set i 1} {$i <= 100} {incr i} {
if {![expr $i % 3] && ![expr $i % 5]} {
puts "FizzBuzz"
} elseif {![expr $i % 3]} {
puts "Fizz"
} elseif {![expr $i % 5]} {
puts "Buzz"
} else {
puts $i
}
}


実行結果は省略ね.

ふむ,Tclはなかなかおもしろいな.適当な本買ってみようかなぁ.でも,最近は出版されてないみたいだねぇ・・・.

2007年8月27日月曜日

CentOS 5でつくるPHP開発サーバ.#5

林檎生活100: CentOS 5でつくるPHP開発サーバ.#4の続き.今回は,PostgreSQLphpPgAdminのインストールについて.

PostgreSQLのインストール手順.

1.yumでインストールする.
# yum -y install postgresql-server


2.OS起動時に起動するように登録する.
# /sbin/chkconfig  postgresql on


3.PostgreSQLを起動する.(DBの初期化とかも初回起動時にやってくれるみたい.楽だねぇ♪)
# /sbin/service postgresql start


4.PostgreSQLのpsqlクライアントの動作確認.(といっても,バージョンを表示してるだけなんだけどねw)
# psql --version


5.PostgreSQLに接続する.
# su postgres(postgresユーザになる.ユーザについての詳しい情報は,エントリ末尾の補足情報を参照.)
$ psql


6.PostgreSQLのpostgresユーザにパスワードを設定する.
postgres=# ALTER USER postgres WITH PASSWORD '(設定したいパスワードを入力する.)';


7.PostgreSQLへadminユーザ(管理用の全権限を持つスーパーユーザ.)を追加する.(ここで追加するユーザは,CentOSのユーザとは異なる.)
postgres=# CREATE USER admin WITH PASSWORD '(設定したいパスワードを入力する.)' SUPERUSER CREATEDB CREATEROLE;


8.PostgreSQLへの接続を解除する.
postgres=# \q


9.PostgreSQLのクライアント認証を変更する.
# vi /var/lib/pgsql/data/pg_hba.conf
.
.
.
# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5


10.PostgreSQLを再起動する.
# /sbin/service postgresql restart


PostgreSQLの設定はこんなところ.yumで楽にインストールできるんだけど,あとあとにインストールするphpPgAdminのせいで,ユーザ管理とかはちょっと複雑.補足情報にまとめておいたので,そこをみてくれぃ.

次にphpPgAdminをインストールする前に,PHPからPostgreSQLにアクセスできるように,pgsqlモジュールをインストールする必要がある.これもyumでさくっといける.

1.pgsqlモジュールをインストールする.
# yum -y install php-pgsql


2.モジュールを反映させるため,サーバを再起動する.
# /sbin/service httpd restart


3.設定をブラウザから確認する.PDOとpdo_pgsql,pgsqlの項目があればOK.
http://172.16.8.3/phpinfo.php

これで,PHPからPostgreSQLにアクセスすることができるようになったはず・・・.(確かめてないんだよね.)

さて,やっときたphpPgAdminのインストール.これがちょっと面倒.だって,yumからいけないんだもの・・・.しかし,「SQLなんてよくわかりませんからっ!」って人とか,「SQLってなに?おいしいの?」って人とかのため(僕を含むw)に,インストールしないわけにはいかないんだな.ということで,そのインストール手順.

1.ソースを入手する.(現在の最新版は,4.1.3だったけど,それより新しいのがあれば,それを使ったほうが無難だな.)
# cd ~
# wget http://jaist.dl.sourceforge.net/sourceforge/phppgadmin/phpPgAdmin-4.1.3.tar.gz(ごめん.JAISTへの直リンク.)


2.ソースを展開する.
# tar -zxvf phpPgAdmin-4.1.3.tar.gz


3.ソースを移動する.
# mv phpPgAdmin-4.1.3 /var/www/html/phpPgAdmin


4.動作をブラウザから確認する.
http://172.16.8.3/phpPgAdmin/

というようなかんじで,ひととおり設定が終わった.使うときは,新しいDBと新しいユーザを作って,PHPからそのユーザを使ってDBを操作するような感じになるんじゃないかなぁ・・・.(まだ試していないんだよな.間違ってるかもしれん・・・.)

次回でとりあえず最終回の予定.でもまあ,Zend Studio用の設定なんで,今回までで十分な人が多いんだろうなぁwむしろ,MySQLやれよとw(MySQLに関しては,僕の不勉強なんでそのうちやれればなぁと思う.とかいいながら,仕事ではちゃっかり使ってるんだけどwww)

注意事項:
セキュリティ無視してる部分も多々あるというか,開発用なのでセキュリティなんて気にしてないんで要注意.本来なら,.htaccessとかでphpPgAdminに対してIPアドレスとかでアクセス制限をかけるべきだし,adminユーザに全権限を与えないほうがいい.もっというなら,phpPgAdminを使わないほうがいい.

補足情報:
知らなくてもどうにかなるけど,知っておいたほうがいい情報ってとこかな.むしろ,僕が間違っている可能性を含む情報だったりw

1.初期生成されるDB.
初回起動時に初期化されて,postgres,template0,template1という名前のDBが自動的に作成される.こいつらなんだよって話になるんだけど,postgresは,いわずもがなpostgresユーザのDBで,DBがないとPostgreSQLに接続できないから作られる.template1は,新しいDBを作るときのテンプレート.こいつを変更すれば,新しいDBの初期状態もそれにあわせられる.で,template1を変更しちゃうと初期状態のテンプレートがなくなるから,初期状態のテンプレートとしてtemplate0が存在するってわけなんだ.

2.DB接続時のユーザ認証の仕組み.
初期状態では,pg_hba.confの設定が,ローカルのOSユーザとDBユーザが一致すれば,DBに接続できるというようになっている.だから,postgresというユーザでDBに接続できる.しかし,phpPgAdminからDBへのアクセスでは,ローカルのOSユーザがapacheになるため,DBユーザとしてapacheがいないと接続できないという状態になる.また,その状態ではapacheというユーザでしかDBを管理できない.なので,パスワード認証(MD5認証.)を使うことになる.だから,pg_hba.confを前述のように変更したんだよね.

追記(2007年8月30日):
/etc/rc.d/init.d/postgresql startとかやってたのを,/sbin/service postgresql startというように変更した.

2007年8月26日日曜日

Appleの旧キーボードを注文した.

Apple Wireless Keyboard M9270LL/Aを注文した.

うちのMacBookをそのうちクラムシェルでつかう予定だったんだよね.だけど,キーボードが新しくなってしまって,そのキーボードがなんかMacBookにあわないのさ.それで,旧キーボードを注文したのだ.

在庫があるのかが問題だけど,いまのうちにと思って注文した.

予定より,クラムシェル化をはやく進めなくなっちゃったなぁ・・・.

24"ディスプレイをそのうち購入かなぁ.EIZOがいいんだけどなぁ.高いよなぁ.

2007年8月23日木曜日

VMware Fusionをact2が販売.

VMware Fusionの販売をMacのソフトウェア販売で有名なact2が行うことになった.

英語版に日本語インストールガイドをつけたものを,ダウンロードとして先行販売している.同内容でパッケージも近々販売予定らしい.また,日本語版のダウンロードとパッケージも今秋登場予定とのこと.日本語版がでたら,英語版購入者も日本語版へアップデート可能らしい.僕はパッケージで買いたいから,英語版か日本語版を待った方がいいのかなぁと思っている.日本語マニュアルの方がいいけど,邦訳のレベルにもよるなぁ.

それにしても,なんでVMwareの日本法人が販売しないんだろう.てっきり,Windows版,Linux版のVMwareよろしく,Mac版もVMwareの日本法人が扱うものだと思ってた.正直サポートが心配だよなぁ.act2はいい会社だけどね.

んー,評価ライセンスでやってくにも限界があるから,英語版のパッケージを買っちゃうかもしれないなぁ・・・.

2007年8月10日金曜日

CentOS 5でつくるPHP開発サーバ.#4

林檎生活100: CentOS 5でつくるPHP開発サーバ.#3の続き.今回は,ApachePHPをインストールする.開発用なので,あまり細かい設定はしない.yumで簡単にインストールする.

まずは,Apacheのインストール手順.

1.yumでさっくりインストールする.
# yum -y install httpd


2.OS起動時に起動するように登録する.
# /sbin/chkconfig httpd on


3.Apacheを起動する.
# /etc/rc.d/init.d/httpd start


4.テストページを生成する.
# echo '<html><body><h1>It works!</h1></body></html>' > /var/www/html/index.html


5.動作をブラウザから確認する.
http://172.16.8.3/

6.ドキュメントルートのオーナを変更する.アップロード用ユーザのアクセスを許可するため.
# chown -R admin /var/www/html


以上でインストール完了./var/www/htmに,Cyberduckとかをつかって,HTMLファイルをアップロードすればブラウザから参照できる.

次は,PHPのインストール手順.日本語関係の設定があるのですこし面倒かな.

1.yumでインストールする.PHP本体とマルチバイト文字列モジュールを同時にね.
# yum -y install php php-mbstring


2.PHPの設定ファイルを編集する.これは,マルチバイト文字列のための設定.今回は,文字コードとしてUTF-8を使うようにしている.
# vi /etc/php.ini(viやnanoなどで編集する.)
.
.
.
[mbstring]
; language for internal character representation.
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = UTF-8

; http input encoding.
mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = UTF-8

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = Off

; automatic encoding detection order.
; auto means
mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 0

; enable strict encoding detection.
mbstring.strict_encoding = Off
.
.
.


3.Apacheを再起動する.
# /etc/rc.d/init.d/httpd restart


4.テストページを作成する.
# echo '<?php phpinfo(); ?>' > /var/www/html/phpinfo.php


5.動作をブラウザから確認する.phpinfoに表示されるmbstringの項も確認すること.
http://172.16.8.3/phpinfo.php

以上でインストール完了.PHPで遊びたいだけならここまででOK♪

次回は,PostgreSQLをインストールする予定.

2007年8月9日木曜日

iDisk同期機能を停止させてディスクスペース増加.

ディスクスペース少ないな〜と思ってたら,なんかiDisk同期機能によって同期されたデータがでかくなってた.

.macの保存容量が10倍になったことが関係あるのかどうかはわからないが,iDisk同期機能を停止させた.自動ではiDisk同期機能が開始されないため,自分で設定した場合のみだと思う.

iDisk同期機能の停止手順はつぎのとおり.

1.システム環境設定>.Mac>iDisk>停止をクリック.
2.ローカルに保存されていたiDiskのディスクイメージが,デスクトップに移動されるので,削除する.

僕の場合は,5GBくらいディスクスペースが増加した.

ちなみに,ローカルに保存されていたiDiskのディスクイメージは,~/Library/Mirrors以下にある.

2007年8月8日水曜日

新iMacでた♪iLife '08とiWork '08も.

いや〜でたねぇ.すっげぇ乗り遅れてるけどw

デザインは意見が分かれそうだけど,いままでのままで変化がないよりはいいかと.でも,旧iMacを買いたいなと思ってた人がここにいるんだがね・・・.

キーボードも変わったね.クールだけど,白いキーボードも好きなんだよなぁ.たたき心地は,MacBookと同じ感じかなぁ.

それで,今回の発表のせいで出費しなければならなくなったのは,iLife '08とiWork '08だ.どっちも欲しい.iLifeのiPhoto,iWorkのKeynoteくらいしか使ってないんだけどねぇ・・・.でも,iWorkのスプレッドシートには期待してる.

購入したら,ここにTipsとか書いてこうと思っているから,期待しないで待っててほしいw

2007年8月2日木曜日

ドメインで終わるURLの末尾に,スラッシュをつけるべきかつけないべきか.

ドメインで終わるURLの末尾に,スラッシュをつけるべきかつけないべきか,について考えてみた.

結論から言うと,スラッシュをつけるべきだと考える.なぜなら,http://www.example.com/といったURLは,httpがスキーム名,www.example.comがドメイン,/がリソースへのパスであるから.(:と//は考えないことにするw)しかし,index.htmlは記述しなくてもいいと考える.

仮にhttp://www.example.comとブラウザに入力された場合,http://www.example.com/index.htmlが表示されるとする.その場合,/を補完しているのはブラウザで,index.htmlを補完しているのはサーバであることがいえる./以下のindex.htmlが表示されることはサーバが保証してくれる(設定が変更されなければね.)が,/自体はサーバが保証してくれない.

次のようなことやってみればわかるんじゃないかな・・・.

$ telnet www.google.com 80
GET HTTP/1.0

...
$ telnet www.google.com 80
GET / HTTP/1.0

...
$ telnet www.google.com 80
GET /index.html HTTP/1.0

...


ということなんだけど,どうだろう.間違ってるかな.

GNU nano入門.コマンドリファレンスを作ってみた.

GNU nanoを使ってみるかってことで,僕の入門の話w解説するほど使ってないし.Vimならちょっとは解説できるかもしれないけどね.

GNU nanoってのは,軽量テキストエディタ.端末で動く.Mac OS Xにも入ってるし,CentOS 5にも入ってた.(林檎生活100: CentOS 5でつくるPHP開発サーバ.#1に書いたインストール方法の場合.)

エディタを起動するとヘルプが下に出てるし,Windowsのメモ帳やMac OS Xのテキストエディットみたいなかんじで,編集できてしまうからemacs,viなんて使えないって人にはいいかも.

まあ,こんなぐだぐだなことを書いてもしかたないから,コマンドリファレンスでも書いとこう.ちなみに,コマンドの後ろの括弧内は代替コマンド.meta+○は,escを押して,離してから○を押すこと.バージョン1.2.4のヘルプテキストを参考にしている,というより,翻訳+コメントってかんじ.

ctrl+G(F1): ヘルプテキスト表示する
ctrl+X(F2): 現在のファイルを閉じる
ctrl+O(F3): 現在のファイルを保存する
ctrl+J(F4): 段落を整形する
ctrl+R(F5): ほかのファイルを挿入する
ctrl+W(F6): テキストを検索する
ctrl+Y(F7): 前の画面へ移動する
ctrl+V(F8): 次の画面へ移動する
ctrl+K(F9): 現在の行をカットする
ctrl+U(F10): 切り取った行をペーストする
ctrl+C(F11): 現在のカーソル位置情報を表示する
ctrl+T(F12): スペルチェックを行う(Mac OS Xだとspellコマンドが入っていないから動作しない.)
ctrl+P(↑): 上へ移動する.
ctrl+N(↓): 下へ移動する.
ctrl+F(→): 右へ移動する.
ctrl+B(←): 左へ移動する.
ctrl+A: 行頭へ移動する
ctrl+E: 行末へ移動する
ctrl+L: 画面を更新する
ctrl+^(meta+A): 選択を開始する(ほかのエディタならshiftを押しながら選択するよね.これと,ctrl+Kを組み合わせるといい.)
ctrl+D: カーソル位置の文字を消す
ctrl+H(delete): カーソル位置の左の文字を消す
ctrl+I(tab): タブを入力する
ctrl+\(F14)(meta+R): テキストを置換する
ctrl+M: キャリッジリターン(CR)を挿入する(Mac OS Xだと普通にラインフィード(LF)が挿入されるみたい.)
ctrl+_(F13)(meta+G): 指定行へ移動する
ctrl+space: 1単語分右へ移動する(Mac OS XだとSpotlightが起動してしまう.)
meta+space: 1単語分左へ移動する
meta+]: 対になる括弧へ移動する
meta+<: 前のバッファを開く
meta+>: 次のバッファを開く
meta+C: 現在のカーソル位置情報を常に表示する/表示しない
meta+I: オートインデントを有効/無効にする
meta+Z: サスペンドを有効/無効にする(シェルのサスペンド機能を使えるようにするかしないか.)
meta+X: ヘルプを下に表示する/表示しない
meta+W: 自動的に折り返す/折り返さない
meta+M: マウスをサポートする/サポートしない(どういう機能かわからない.)
meta+K: カーソル位置から行末までのカットを有効/無効にする(ctrl+Kの動作がカーソル位置から行末までのカットになる.)
meta+F: マルチファイルバッファを有効/無効にする(ctrl+Rの動作が「ほかのファイルを新しいバッファに挿入する」になる.)
meta+N: DOSフォーマットとMacフォーマットの無変換を有効/無効にする(改行コードの無変換をするかしないか.)
meta+D: DOSフォーマットでの書き出しを有効/無効にする(改行コードがCRLFになる.)
meta+O: Macフォーマットでの書き出しを有効/無効にする(改行コードがCRになる.)
meta+B: バックアップファイルを有効/無効にする
meta+S: スムーススクロールを有効/無効にする(1行ごとのスクロールをするかしないか.しない場合は画面ごとのスクロールになる.)
meta+Y: シンタックスハイライトを有効/無効にする(どういう機能かわからない.)

印刷して手元に置いといてもらえると作ったかいがあるけど,そんなことする人いないよな・・・.あと,僕にわからない機能について知っている人は,ぜひ教えてください.あと,間違ってたら教えてください.

2007年8月1日水曜日

ThunderbirdのWindowsからMac OS Xへの移行.

ThunderbirdをMac OS Xにインストールして,Windowsからプロファイルを持ってきて環境を移行した.

移行方法は次のとおり.

1.WindowsからThunderbirdの設定を持ってくる.USBメモリとかで持ってくると楽♪
C:\Document and Settings\ユーザ名\Application Data\Thunderbird

2.持ってきた設定をMac OS Xのディレクトリにコピー.
~/Library/Thunderbird

これでOK!とてもらくちん♪

2007年7月29日日曜日

CentOS 5でつくるPHP開発サーバ.#3

林檎生活100: CentOS 5でつくるPHP開発サーバ.#2の続き.今回は,ApacheやPHP,PostgreSQLなどをインストールしたいと思っていたんだけど,準備の情報がかなり増えたので,前準備ということにするwなお今回から,Mac OS Xのターミナル上からサーバにSSHで入って作業する.

SSHで入る方法.(括弧書きのところは,説明のためにつけているので,画面には表示されない.)

(Mac OS X)$ ssh admin@172.16.8.3(ユーザ名@IPアドレスで接続先を指定する.)
The authenticity of host '172.16.8.3 (172.16.8.3)' can't be established.
RSA key fingerprint is 47:8e:55:ee:8c:d2:69:19:58:65:80:fd:6c:e6:97:3a.
Are you sure you want to continue connecting (yes/no)? yes(yesと入力する.)
Warning: Permanently added '172.16.8.3' (RSA) to the list of known hosts.
admin@172.16.8.3's password: (adminのパスワードを入力する.)
(CentOS 5)$


ログインしてからrootになる方法.
(CentOS 5 admin)$ su
Password:(rootのパスワードを入力する.)
(CentOS 5 root)#


さて,ApacheやPHPなどをインストールする前準備として,最初にシステムにインストールされているソフトウェアのアップデートを行う.ついでに,時刻合わせを自動化したいので,ntpdをインストールする.

その手順は次のとおり.yum(Yellow dog Updater, Modified)というパッケージ管理システムを用いて,ソフトウェアのアップデート,インストールを行う.

1.アップデート可能なソフトウェアがあるかチェックする.アップデート可能なソフトウェアが一覧表示される.(#はrootを示す.)
# yum check-update


2.アップデート可能なソフトウェアすべてをアップデートする.yオプションは,アップデート途中の質問にすべてyesと答えるって意味.
# yum -y update


3.ntpdをインストールする.
# yum -y install ntp


4.ntpdの設定ファイルを編集する.
# mv /etc/ntp.conf /etc/ntp.conf.orig(オリジナルの設定をバックアップする.)
# vi /etc/ntp.conf(viを使えない人は,nanoとかを使って編集して.)


次の内容を記述する.(先頭に#がついている行はコメントだから記述しなくてもいい.)
#
# ntp.conf
#
server ntp0.ring.gr.jp
server ntp1.ring.gr.jp
server ntp2.ring.gr.jp


5.ntpdをOS起動時に起動するようにする.
# /sbin/chkconfig ntpd on


6.カーネルがアップデートされている(たぶん・・・.)ので,OSを再起動する.
# /sbin/shutdown -r now


とりあえず,Apacheとかのインストール前準備はこんなところ.最低限の情報しか載せてないから,ちょっと補足.

yumでインストールしたいソフトウェアを探す方法.
$ yum search ソフトウェア名


yumでソフトウェアをインストールする方法.
# yum -y install ソフトウェア名


ntpdを手動で起動する方法.
# /etc/rc.d/init.d/ntpd start


ntpdを手動で停止する方法.
# /etc/rc.d/init.d/ntpd stop


ntpdの状態を調べる方法.
$ /etc/rc.d/init.d/ntpd status


ntpdが同期させているNTPサーバ一覧を表示する方法.
$ /usr/sbin/ntpq -p


OS起動時に起動するサービス一覧を表示する方法.
$ /sbin/chkconfig --list


カーネルのバージョンを調べる方法.
$ uname -a


shutdownやchkconfig,ntpqに/sbin/,/usr/sbin/がついているのは,suでrootになったときにサーチされないのでディレクトリを指定する必要があるため.まあ,.bashrcに設定すれば解決するんだけどね.

補足というよりは,僕の備忘録になってしまったかんじ.まあ,だれかの役に立てばいいかな.次回こそは,ApacheとPHP,PostgreSQLのインストールをやる.でも,ApacheとPHPだけになりそうだなぁ・・・.

追記(2007年8月27日):
yum check-updateは,root権限じゃないと実行できないんだな・・・.

2007年7月27日金曜日

CentOS 5でつくるPHP開発サーバ.#2

林檎生活100: CentOS 5でつくるPHP開発サーバ.#1の続き.今回は初期設定について.

さて,初期設定の手順は次のとおり.

1.CentOS 5を起動するとSetup Agentが表示される.こいつでファイアウォールとSELinuxを無効化する.セキュリティ機能が有効だといろいろと面倒なのでね.


*Setup Agentがタイムアウトして,ログイン画面に遷移してしまった場合は,rootでログインして,次のコマンドを実行する.

CentOS release 5 (Final)
Kernel 2.6.18-8.el5 on an i686

centos5 login: root
Password:(パスワードを入力する.表示はされない.)
# firstboot --reconfig


1-2.Firewall configurationを選択し,Run Toolで決定する.(カーソルキーで項目の選択.tabで項目の移動.spaceで決定.)


1-3.Security LevelとSELinuxでDisabledを選択し,OKで決定する.


1-4.Exitで決定し,Setup Agentを終了させる.


2.ユーザを追加する.rootで作業するわけにはいかないからね.

# useradd admin
# passwd admin
New UNIX password:(パスワードを入力する.表示はされない.)
Retype new UNIX passwd:(パスワードを再度入力する.)
passwd: all authentication tokens updated successfully.
#


以上で初期設定完了!次回は,ApacheとPHP,PostgreSQLをインストールする.

追記(2007年8月27日):
パスワード変更コマンドをpasswordなんて書いてたあほなミスを修正した.

2007年7月26日木曜日

CentOS 5でつくるPHP開発サーバ.#1

Zend PlatformZend Studioの連携機能が使いたくてLinuxサーバを構築することになった.別に,仮想マシン(以下,VM.)でいいよねってことでVMware Fusionを使う.OSは,無難にCentOS 5.VMware Fusion関係の設定は,林檎生活100: VMware FusionにCentOS 5をインストールするときの設定.に書いといた.

ということで,今回はCentOS 5のインストールについて.まあ,セキュリティとか完全に無視してるんで,運用するサーバに使わないようにw僕は,SELinuxとかよくわかんないしねぇ.

さて,インストール手順は次のとおり.

1.インストールディスクイメージをダウンロードする.CentOSのWebページへ行ってダウンロードしてきたほうがいいんだけど,とりあえずNAISTに置いてあるディスクイメージへのリンクを張っておくので,こっからダウンロードしてもいいかな.ちなみに,今回のインストールは最小構成なんで,6枚あるインストールディスクの1枚目だけでOK.
http://ftp.nara.wide.ad.jp/pub/Linux/centos/5/isos/i386/CentOS-5.0-i386-bin-1of6.iso

2.ディスクイメージをマウントして,VMを起動する.

3.CentOS 5の起動画面.enterキーを押すか,待ってると進む.(VMに入るときは,VMのウィンドウ内をクリック.Macに戻るときは,ctrl+command.)


4.CDをチェックする画面がでるけど,面倒だからSkip.(tabで選択.spaceで決定.)


5.Nextをクリック.


6.英語のまま,Nextをクリック.(たしか日本語にすると他のインストールディスクが必要になる.)


7.日本語キーボードを選択し,Nextをクリック.


8.「パーティションテーブルみつからないけど新しくつくっちゃっていい?」ってなメッセージがでるので,Yesをクリック.


9.パーティションはそのままで,Nextをクリック.


10.「消しちゃっていい?」ってなメッセージがでるので,Yesをクリック.


11.ネットワーク設定.ここが面倒.ネットワークに詳しくない人は,林檎生活100: VMware Fusionのネットワークアドレス変更方法.と同じことをすると,トラブルがないと思う.


11-1.ネットワークの設定を確認する.僕の環境ではこんなかんじ.前述のエントリと同じ設定をした人もこれと同じになる.
ホスト仮想NIC:172.16.8.1
サブネットマスク:255.255.255.0
ゲートウェイ:172.16.8.2
DNS:172.16.8.2
DHCP範囲:172.16.8.128 - 172.16.8.254

11-2.Editをクリックし,DHCPとIPv6のチェックを外し,IPアドレスを入力して,OKをクリック.


11-3.ホスト名とゲートウェイ,DNSを入力し,Nextをクリック.(ホスト名はなんでもいい.xxx.localとか,xxx.vmwareとか存在しないドメインを入力すること.)


12.アジア/東京を選択し,UTCを使うのチェックを外して,Nextをクリック.


13.rootパスワードを入力し,Nextをクリック.


14.Gnomeのチェックを外し,インストールするソフトウェアをカスタマイズするにラジオボタンを変更し,Nextをクリック.


15.ベースシステムのベース以外のすべてのソフトウェアのチェックを外し,最小構成にして,Nextをクリック.(ApplicationsのEditorsなどすべてチェックを外すこと.Base SytemのBaseだけにチェックがついている状態にする.)


16.Nextをクリックするとインストールが始まる.終わるまで待とう♪


17.インストールが完了したらRebootをクリックして再起動.


今回はここまで.初期設定は今度書く予定.再起動したやつはVMなんで,×をクリックすればサスペンドするんで問題ないかな.

それにしても,これ書くの結構時間がかかったなぁ・・・.

追記(2007年7月27日):
CentOS 5を終了させる方法を書いてなかったので,書いとく.

1.Setup Agentを終了させる.(tabで項目の選択.spaceで決定.)


2.ログインする.(「[root@centos5 ~]#」は「#」に省略している.)

CentOS release 5 (Final)
Kernel 2.6.18-8.el5 on an i686

centos5 login: root
Password:(パスワードを入力する.表示はされない.)
#


3.shutdownコマンドを入力する.

# shutdown -h now


*再起動の場合.

# shutdown -r now