Bower とは?
BOWER: A package manager for the web
Twitter 製の JavaScript パッケージ管理ライブラリ。Ruby の Gem, PHP の Composer みたいなもの。
プロジェクトで使用する JS ライブラリとバージョンをファイルに記述して管理できるため、バージョン管理が容易になります。
BOWER: A package manager for the web
Twitter 製の JavaScript パッケージ管理ライブラリ。Ruby の Gem, PHP の Composer みたいなもの。
プロジェクトで使用する JS ライブラリとバージョンをファイルに記述して管理できるため、バージョン管理が容易になります。
Xdebug をインストールしていると、var_dump() した変数が全て表示されずに省略されてしまうことがあります。
|
1 2 3 4 5 6 7 8 9 10 |
array(1187) { [0] => string(19) "ALICE IN WONDERLAND" : : [127] => string(4) "OLEO" (more elements)... } |
全て表示するには、/etc/php.ini に以下の行を追加すれば OK です。
|
1 2 3 4 5 6 7 8 |
; 表示する子要素の最大数 (default: 128) xdebug.var_display_max_children = -1 ; 表示する要素の最大数 (default: 512) xdebug.var_display_max_data = -1 ; 表示する最大の階層 (default: 3) xdebug.var_display_max_depth = -1 |
MariaDB 10.0.1 で確認しました。 MySQL 同様、MariaDB はデフォルトの文字セットが latin1 になっているので、日本語をそのまま格納して表示しようとすると文字化けします。
日本語を利用可能にするためには、/etc/my.cnf.d/server.cnf に以下の行を追加します。
|
1 2 3 4 |
[mysqld] character-set-server = utf8 collation-server = utf8_general_ci skip-character-set-client-handshake |
これで MariaDB の再起動後、日本語が正しく出力されるようになっています。
yum を使ってインストールする手順です。
|
1 |
$ sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB |
バージョンによって異なります。MariaDB – Setting up MariaDB Repositories – MariaDB からバージョン&環境毎のリポジトリが選択できるので、10.0 以外をインストールする場合はそちらを参考にしてください。 今回は CentOS 6.3 64bit です。
/etc/yum.repos.d/MariaDB.repo を下記の内容で作成します。
|
1 2 3 4 5 6 7 |
# MariaDB 10.0 CentOS repository list - created 2013-04-14 07:02 UTC # http://mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.0/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 |
|
1 |
$ sudo yum install MariaDB-devel MariaDB-client MariaDB-server |
インストールするだけの手順をレシピにすると下記のようになります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
yum_key 'RPM-GPG-KEY-MariaDB' do url 'https://yum.mariadb.org/RPM-GPG-KEY-MariaDB' action :add end yum_repository 'MariaDB' do repo_name 'MariaDB' url 'http://yum.mariadb.org/10.0/centos6-amd64' key 'RPM-GPG-KEY-MariaDB' action :create end package 'MariaDB-devel' package 'MariaDB-client' package 'MariaDB-server' |
実際のプロジェクトを git で運用する時のよくある流れをまとめました。
サーバー間のネットワークが繋がっているか確認したい場合、Netcat (nc) コマンドが便利です。
受信側では “-l” (Listen mode) オプションを使い、待受状態にします。
|
1 |
$ nc -l {listenするポート番号} |
送信側は “-z” (Zero-I/O mode) オプションを使い、指定したポートに接続できるかテストします。
|
1 |
$ nc -v -z {受信側のIP} {受信側のポート番号} |
host001 のポート 4949 に、host002 から疎通できるかどうかテストするには、下記のようなコマンドを叩きます。
|
1 |
[host001]$ nc -v -k -l 4949 |
“-v” でより多くのメッセージを出力し、”-k” でコネクションを永続化することができます。(”-k” を指定しないと1回受信するたびに nc が終了します)
|
1 |
[host002]$ nc -v -z host001 4949 |
接続 OK の場合、以下のようなメッセージが出力されます。
送信側
|
1 |
Connection to host001 4949 port [tcp/munin] succeeded! |
受信側
|
1 |
Connection from host002 port 4949 [tcp/munin] accepted |
なぜか公式サイトのインストール手順はコンパイルまでで終わっているので、完全な手順をメモしておきます。
submodule を含むリポジトリを clone した直後は、ディレクトリは存在しますが実ファイルが存在しません。以下のコマンドで初期化する必要があります。
|
1 2 3 4 |
$ git clone git://mojamoja/uso.git $ cd uso/ $ git submodule init $ git submodule update |
これで実ファイルがローカルにダウンロードされます。
…らしいですが、うまくいきませんでした。 私の場合、”git submodule init” を叩いたら以下のエラーが出ました。
|
1 |
No submodule mapping found in .gitmodules for path 'chef-repo/cookbooks/ant' |
原因はプロジェクト内の .gitmodules にありました。 Windows で “git submodule add” した時に一部の path が “\” という表記になっており、これを git がうまく解釈できなかった模様。
|
1 2 3 |
[submodule "chef-repo\\cookbooks\\java"] path = chef-repo\\cookbooks\\java url = git://github.com/opscode-cookbooks/java.git |
“\” を “/” に置換してやればOKです。
|
1 2 3 |
[submodule "chef-repo/cookbooks/ava"] path = chef-repo/cookbooks/java url = git://github.com/opscode-cookbooks/java.git |
これで “git sudmoule init” が成功するようになりました。
PHPUnit でファイルシステムのテストを行うとき便利な vfsStream ですが、簡単なサンプルがあまり無かったので書いてみました。
以下の環境でPHPアプリの開発を行っていたところ、静的コンテンツが正しく反映されない現象に陥りました。
この状態でホストOS側で JavaScript などの静的コンテンツを編集し、ブラウザからアプリにアクセスすると、以下のようなエラーが出ました。
Chrome
|
1 2 3 |
Uncaught SyntaxError: Unexpected end of input または Uncaught SyntaxError: Unexpected token ILLEGAL |
Firefox
|
1 |
SyntaxError: unterminated string literal |
ブラウザのデバッグツールで問題のファイルを見ると、なぜか途中でコンテンツが切れていたり、末尾に謎の文字列(Chromeだと「?」で表示される)が追加されていました。 ただ改行を追加するだけでもこの現象が発生します。
原因は Apache の EnableSendfile ディレクティブでした。