「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
Googleの「Go」を試してみた(その1)
昨日、Googleが新しいプログラム言語の「Go」を公開しました。
GoはC/C++をベースにしたプログラム言語です。
Goのサイトによると、「シンプル」「コンパイル速度が速い」「危険なポインタ演算がなくて安全」「オープンソース」などという点がセールスポイントにあがっています。
当方でも、Goを少し試してみました。
今日はインストールの方法を紹介します。
1.テスト環境
現状では、GoはLinuxかMacOS Xの環境で動作します。
当方では、Fedora 12β(Cコンパイラ等の開発系に必要なソフトもインストールした環境)の環境でテストしてみました。
2.ターミナルを起動
これ以後、ターミナルでコマンドを入力してインストールを行います。
ターミナルを起動し、suコマンドでrootにログインしておきます。
3.setuptoolsのインストール
まず、Pythonの「setuptools」というツールをインストールします。
Fedora 12βでは、以下のコマンドでインストールすることができました。
yum install python-setuptools yum install python-setuptools-devel
4.hgのインストール
Goのソースコードをダウンロードするために、「Mercurial」というソースコード管理システムの「hg」というツールを使います。
Mercurialは以下のコマンドでインストールすることができます。
easy_install mercurial
5.環境変数の設定
Goをインストールする際には、以下の4つの環境変数を設定しておくことが必要です。
環境変数 | 内容 |
---|---|
GOROOT | Goの一式を保存するディレクトリを指定します。 |
GOOS | OSの名前を指定します。 Linuxなら「linux」、MacOS Xなら「darwin」を指定します。 |
GOARCH | CPUの種類を指定します。 64ビットCPUなら「amd64」、32ビットCPUなら「386」を指定します。 |
GOBIN | Goのバイナリのインストール先をディレクトリを指定します。 |
当方では、以下のような環境を想定しました。
- Go一式は/usr/local/goディレクトリに保存します。
- Fedora(Linux)の64ビット版の環境を使います。
- /usr/local/binディレクトリにGoをインストールします。
この環境を作るために、以下のように環境変数を設定しました。
export GOROOT=/usr/local/go export GOOS=linux export GOARCH=amd64 export GOBIN=/usr/local/bin
6.ソースコードのダウンロード
次に、以下のコマンドを入力して、Goのソースコードをダウンロードします。
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
7.Goのコンパイルとインストール
Goの公式ページによると、以下のコマンドを入力すれば、Goのコンパイルとインストールを行えるはずです。
cd $GOROOT/src ./all.bash
ただ、こちらで試したところ、テストに引っかかってエラーになる箇所がありました。
そこで、テストを行わないでインストールするようにしました。
「cd $GOROOT/src」のコマンドでsrcディレクトリに移動した後、そのディレクトリにある「run.bash」というファイルを、エディタで開きます。
その中の25行目前後に、以下の部分があります。
time make make install make test ) || exit $?
この中の「make test」の行を削除してからファイルを保存し、ターミナルで「./all.bash」のコマンドを入力して、コンパイルを行いました。
コンパイルには数分程度の時間がかかりました。
しばらくして、以下のように表示されれば、インストール完了です。
--- cd ../test 0 known bugs; 0 unexpected bugs
8.動作確認
エディタを使って、以下のソースコードを入力し、「hello.go」というファイル名で保存します。
package main import "fmt" func main() { fmt.Printf("Hello, world\n") }
そして、以下の順にコマンドを入力します。
6g hello.go 6l -o hello hello.go ./hello
Goが正しくインストールできていれば、「Hello, world」と表示されます。