Strings of Life

PHP/Phalcon/MySQL/JavaScript/RegExp/Ruby/Perl/ActionScript

2012年06月

UbuntuにはPerl処理系もデフォルトで入ってるし、コマンドラインが使いやすい環境なので、今日はPerlを少しやってみました。ホントに初歩の初歩、四則演算や文字列の連結等。

1. 端末で gedit ~/test.pl
2. geditでプログラムを書く
3. 端末に戻って、Control + c で gedit を終了させる
4. perl ~/test.pl  でプログラムを実行

というのが一連の作業の流れです。

やってるうち、geditと端末を行き来するのが面倒に感じられてきました。そこで調べてみたところ、コマンドラインの内部で起動できるエディタとしては、viとemacsが著名ですが、nanoというエディタも初心者にはわかりやすい、とありました。

実際、viやemacsは操作がさっぱり分かりませんでしたが、nanoはGUI上で使うエディタに近い感覚で操作できるので、初めてでも編集→保存→終了を行うことができました。下段に操作のマニュアルが常時表示されているのも親切ですね(とはいえ、^XがControl + xのことだとは分かりませんでした…)。

nanoを使うことで、全ての作業を端末内で完了できるので、気持よく作業を進めることができるようになりました。

Perlの学習はあまり進みませんでしたが、Perlに限らず通用する、コマンドライン環境での学習体制を作ることはできたので良かったです。

Webアプリケーションの開発でよく使われる(私も仕事で使っている)、Linux + Apache + MySQL + Perl, Python, PHPの組み合わせ、いわゆるLAMP環境を、MacBook Airに構築します。


1. Linux(Ubuntu)


前回VirtualBoxを利用したUbuntuの利用方法は書いたので、説明は省きます。まず、OSであるLinux(Ubuntu)を起動します。


2.  Apache HTTP Server

サーバーソフトのApache HTTP Serverは、Ubuntuにデフォルトで入っています。また、通常であれば、Ubuntuの起動と同時にApacheも起動するようになっています。起動していることを確認するには、ブラウザーのURLに「http://localhost/」と入力します。「It works!」と表示されれば、Apacheが正常に動作しています。


3. MySQL

MySQLとは、SQLという言語を利用するデータベースソフトウェアです。MySQLのインストールは、Windowsだと結構めんどくさい。しかし、Ubuntuなら、端末で「sudo apt-get install mysql-server」と唱えるだけです。途中で、データベースのパスワードの設定を求められます。(phpMyAdminも同様に、sudo apt-get install phpmyadminでインストールできます)

「端末」とは、Macにおける「ターミナル」にあたるソフトウェアで、対話型インターフェース(コマンドライン)でコンピューターの操作を行うことができます。端末に向かって「おまじない」を唱えると、コンピューターがそれに従って処理を進めてくれるのです。初めはとっつきにくく感じると思いますが、慣れれば非常に便利であることに気づくはずです。

コマンドについて解説すると、「sudo」とは、管理者としてこのコマンドを実行します、という意味で、sudoコマンドを実行すると、Ubuntuセットアップ時に設定したパスワードの入力が求められます。アプリケーションのインストール等の、管理者しか実行できない操作を行うときに使用します。

「apt-get」はパッケージを取得してダウンロードするコマンド、installでインストール、mysql-serverがインストール対象です。これらのコマンドは、UNIXコマンドと呼ばれ、Mac OSのターミナルでも同様のコマンドが使えます(ただし、apt-getのようなLinux特有のコマンドもあります)。

インストールが終わったら、端末で「mysql -uユーザー名 -pパスワード」と入力します。-u及び-pの後ろには空白を入れません。パスワードを設定していない場合、-p以降は不要です。

MySQLが起動して、操作可能になります。「SHOW DATABASES;」というクエリを実行してみると、information_schemaとtestという2つのデータベースが存在していることが分かります。

36


4. Perl, Python, PHP

これら3つの言語は、Ubuntu 12.04には最初から入っています。
Perl, Pythonは最初から入っています。PHPは、「sudo apt-get install php5」でインストールできます。

インストールされているか確認するためには、端末で「php -v」と入力してやります。インストールされていれば、「PHP 5.3.10...」といったバージョン情報が表示されます。perlも同様。pythonは「python -V」(Vは大文字)と入力します。


5. アクセス権の変更

Apache HTTP Serverのルートフォルダは、デフォルトでは/var/wwwになっています。したがって、ここにphpファイルを置けば、phpを実行可能になる、のですが、デフォルトでは/wwwフォルダには書き込みが禁止されているため、ファイルを新しく入れたり作ったりすることができません。

phpを実行できるようにするためには、「apacheの設定を書き換えてルートフォルダを変更する」「/var/wwwのアクセス権を変更する」の2つの方法がありますが、今回はアクセス権を変更してみます。

アクセス権の変更には、「所有者を変更する」「パーミッションを変更する」の2種類のやり方があります。右クリックメニューの「プロパティ」からでは変更できないので、端末を利用する必要があります。

所有者を変更するコマンドは「sudo chown -R user /var/www/」。chownはchange owner、すなわち所有者変更。-Rで/www/フォルダ内の全てのファイルの所有者を変更します。userの部分にはユーザー名を入れてください。

アクセス権を変更するコマンドは「sudo chmod -R 775 /var/www」。chmodでアクセス権変更、775はアクセス権の内容で、775は「管理者と所有者は読み書き実行が可能、それ以外のユーザーは読みと実行は可能だが書きは不可」という状態です。

所有者の変更とアクセス権の変更は、どちらか片方でもOKです。

/var/wwwに書き込みできるようになったら、適当なプログラムでphpの実行テストをします。

19

これで、LAMP環境を構築することができました。インストールが必要なのはMySQLだけでしたね。


7. PHPの設定・PHP+MySQL

ここからはPHP特有の話になります。現在、PHP5とMySQLのインストールが完了しましたが、まだPHP5とMySQLが連携できるようにはなっていません(のハズ…)。「sudo apt-get install php5-mysql」でPHP5とMySQLを連携させるパッケージをインストールします。

また、PHPはデフォルトではエラーメッセージを出さない設定になっているので、「sudo gedit /etc/php5/apache2/php.ini」を実行します。これは、geditというテキストエディタでphp.iniというPHPの設定ファイルを編集するコマンドです。

php.iniを開いたら、ctrl + Fで検索をかけ、「display_errors = Off」という文字列を見つけます。これを、「display_errors = On」に書き換えてやれば、エラーメッセージが表示されるようになります。なお、設定を反映させるにはapacheの再起動が必要です(sudo service apache2 restart)。

ひと通り設定が終わったら、MySQLデータベースにテスト用のテーブルを作成し、PHPでそのテーブルの中身を呼び出すプログラムを書いてみます。

22


以上で、LAMP環境構築は一旦終了です。VirtualBoxを利用すれば簡単に仮想OS環境を構築できますし、UbuntuにはApacheや様々なプログラミング言語が最初からインストールされているので、開発環境の構築は比較的容易だと思います。

1. 11インチと13インチ

6/15(金)に、MacBook Air 13インチモデルを買いました。SSD 128GB、メモリは4GBの、13インチモデルとしては標準的な構成です。11インチモデルと迷ったのですが、11インチモデルは
  • 標準のSSD容量が64GB(オプションで128GBにもできます)
  • バッテリーの持ちが悪い(11インチは4時間、13インチは7時間)
  • 画面が小さい

といった弱点があることを考慮して、13インチモデルにしました。

ただ、13インチモデルは「でかい」。重量こそ200gしか変わらないものの、1回り大きいため、取り回しで劣る点は否めないでしょう。私はメイン機として考えていたので13インチモデルを選びましたが、MacBook Airの魅力である「軽さ」を最大限に味わうなら、11インチモデルを選ぶべきですね。


2. Apple Store 渋谷店


購入したのはApple Store渋谷店。新製品発売直後なので、かなり混んでました。また、渋谷の街でふだん見かける以上に、多くの外国人客がいました。店員も多国籍で、日本語だけでなく、様々な言語が通じるようです。

Apple Storeにした理由は、USキーボードにしようと考えていたから。キーボードのカスタマイズは、Apple Storeでしか出来ません。渋谷の実店舗で購入したのは、通販よりも早かったから。


3. MacBook用のスリーブ


渋谷店でMacBook Air用のスリーブも探したのですが、価格が高め(3980円〜)な割にピンと来るものがなかったので、オンラインのApple Storeで販売しているThe North Faceのスリーブ(セールで2000円)を買いました。


4. Firefox


購入して最初にやったのは、Firefoxのインストール。インストール後は、Firefox Syncを利用して、自宅のWindows PCとブックマークやパスワード、アドオンを同期します。


5. Google日本語入力


次に、Google日本語入力をインストールします。固有名詞に強いという特長がありますが、クロスプラットフォームで使えるのが最大の魅力かも。環境設定>キー設定 で「MS-IME」にしておきます。また、メールアドレス等のよく使う語句を単語登録しておくと便利です。


6. キーボード設定(KeyRemap4MacBook)


慣れないキー操作を改善するため、KeyRemap4MacBookをインストールします。KeyRemap4MacBookは、キーの配置を変更することができるソフトです。私は以下のように設定しました。

1.commandキー単独クリックで英数キー:

 USキーボードの場合、IMEのオンオフ操作はデフォルトでは「ctrl + space」ですが、macのJISキーボードではスペースバーの左右に「英数キー/かなキー」があります。この「英数/かなキー」をUSキーボードでも使えるようにする設定です。

2.右shiftキーでreturn:

 USキーボードはreturnキーが小さい! これは英語の入力事情を反映しているのでしょうが、私はJISキーボードの大きなreturnキーに慣れてしまっているため、returnキーのつもりで右shiftを押してしまうことが頻繁にあります。そこで、だったら右shiftもreturnにすればいいじゃん、という設定です。私の場合、ふだんshiftは左しか使わないので、この設定でも不都合はありません。

3.バッククォートキーで「半角/全角」:

 1.の英数/かなキーでも同じ操作ができるのですが、IMEオンオフ動作は完全に習慣化されてしまっているため、簡単には変えられません。将来的には左右のcommandキーで切り替える動作に慣れていきたいですが、今のところはバッククォートキーでも切り替えられるようにしています。

また、キーリピートも少し速くしています(initial wait 400ms, wait 30ms)。カーソル移動の快適化のためです。



システム環境設定>キーボード>キーボード からは、「F1, F2等すべてのキーを標準のファンクションキーとして使用」を選択。輝度、音量調節等の便利機能はfn + ファンクションキーで呼び出せるようにして、デフォルトでは通常のファンクションキーとして動作させるようにします。

システム環境設定>キーボード>キーボードショートカット>Mission Control で、F12にバインドされている「Dashboardの表示」のチェックを外します。Firebugを呼び出す際にF12を多用するので、このキーが使えないのは困ります。


7. トラックパッド設定


マルチタッチトラックパッドはおおむね快適ですが、「中クリック(マウスホイールクリック)」ができないのが不満です。そこで、MiddleClickをインストールし、3本指タップで中クリックできるようにしておきます。

システム環境設定>トラックパッド>軌跡の速さ で、カーソルの移動速度も上げておきます。


8. エディタ


テキストエディタはCotEditorを入れておきます。


9. 開発環境・VirtualBox・Ubuntu


Eclipse等の開発環境は、VirtualBoxでUbuntuを使用し、Eclipse等は全てUbuntuに入れてしまおうと考えました。Ubuntuの方が慣れているから、というのが理由です。また、UbuntuはLinuxであり、デフォルトでApache HTTP ServerとPerl, Pyhon, PHPがインストールされているため、MySQLを追加でインストールしてやるだけで、手軽にLAMP環境を構築することができます。

VirtualBoxをインストールしたあと、Ubuntu 12.04 日本語仮想ハードディスクをセットし、起動します。メモリは1024MB確保し、他はデフォルトで。

起動したら、Virtual Boxのメニューから「デバイス>Guest Additionsのインストール」を選択し、UbuntuにCD-ROMをマウントします。マウントしたCDから「Guest Additions for Linux」を起動してインストールすることで、フルスクリーン化できるようになります。

あとは、sudo apt-get installで、MySQL等をインストールしていきます。Ubuntuでの開発環境のインストールは極楽。


10. 音楽ファイル管理ツール


MacBook AirはiPhoneの母艦としても考えているので、音楽ファイルの管理ツールも必要。アートワーク取得ツールiGCover、MP3タグの管理ツールTagrをインストールします。


11. 音楽ファイルとiOSアプリ


音楽ファイル等の移行に関しては、Windows PCとMacBook Airとで、家庭内LAN経由のファイル共有を行いました(参考記事)。

音楽ファイルが20GBで約2時間、iOSアプリも10GBあったので約1時間、合わせて3時間ほどかかりました。Windows PCのiTunesフォルダを、そのままMacのiTunesフォルダに上書きすれば、基本的にはOKだと思います。再生回数やレート、コメントまで、ひと通りのデータは引き継がれます。

アプリに関しては上手く認識してくれないことがありますが、アプリを選択して2本指クリック>情報を見る でファイルの場所(デフォルトではMobile Applicationsフォルダ)を指定してやれば認識してくれます。また、アプリは、落としたけど使ってないアプリのipaや、古いバージョンのipaをそのまま保持していることがあるので、転送前に整理しておくと良いと思います。

私の場合、最初はipaファイルだけで10GB以上あったのですが、MapFanの旧バージョン(約2GB)や、RealRacing2等のファイルサイズの大きなipaを削除することで、Mobile Applicationsフォルダの中身は5GBまでスリム化することができました。

なお、App Storeのアカウントに購入履歴が残っていれば、一度購入したものは原則として再ダウンロード可能です。ただし、何らかの理由でApp Storeから削除されたアプリは、再ダウンロードできません。また、当初無料だったが後に有料化したアプリの場合、無料だった時に落とした場合でもお金を払わないと再ダウンロードできなくなる事例があります(NHK出版の電子書籍『フリー』等)。

ipaはできるだけ、消さずに持っておいた方が良いでしょう(私は、Macからは消しましたが、Windowsからは消してません)。


12. セキュリティ


デフォルトだとファイアウォールなし・アンチウイルスソフトなしという無防備仕様になっていました。システム環境設定>セキュリティとプライバシー>ファイアウォール でファイアウォールをON。さらに、アンチウイルスソフトClamXavをインストールします。


13. まとめ


現状のスクリーンショット:

49

UbuntuをVirtualBoxのシームレスモードで起動し、UbuntuからEclipseを起動しています。Eclipseの起動も、かなり高速(約5秒程度)になりました。


14. ToDo


現在残っているToDoは、周辺機器の調達ですね。

まず、バックアップやサイズの大きなファイルのストレージ用に、ポータブルHDDを購入予定です。500GBで5000円程度のモデルを予定していますが、USB3.0対応モデルも気になります。

また、MacBook Airを利用して音楽を聴くなら、いちいち配線を繋ぐのは面倒なので、Bluetoothスピーカーが欲しいところ。MacBook AirとWindows PCで共用したいので、マルチペアリングに対応した5000円〜10000円程度のモデルを検討しています。


15. 感想


MacBook Airは、すばらしく快適です。特にすばらしいのが、スリープからの復帰速度。パスワードを設定してても約3秒(パスワード入力時間)、パスワード設定なしなら、蓋を開けて何かキーを押せばすぐ使えます。最近は、天気情報等のちょっとした情報の確認はiPhoneで済ませることが増えていたのですが、MacBook Airのスピード感なら手軽に使えるので、PCを使う機会が増えると思います。

MacBook Airのハードウェアとしての印象は、「高級万年筆」。同等の性能で、より安価なものはあるでしょうが、それらの中にMacBook Airほど使い心地が良いものはないでしょう。

Mac OSは、直感的な分かりやすさ(GUIらしさ)を突き詰めた感があります。個人的には、CLIが使いやすいUbuntuの方が「楽」だと感じますが、Mac OS Xも優れたOSには違いありません。7月登場予定の次期バージョン、Mountain Lionには無料でアップグレードできるようなので、今から楽しみです。

Mac版Firefoxでは、ブックマークメニューの入れ替えができません。この問題の解決法は、「ブックマークサイドバーを起動(command + B)して、そこで並べ替える」。

詳しくは、こちらのフォクすけきゅんのブログ記事をどうぞ。

このページのトップヘ