スポンサーサイト
bashのデバッグツールbashdbを試す
2011-12-11
bashでスクリプトを書くことがあるのですが、echoデバッグしか出来ませんでした。だけど、bashdbを使用すればデバッグが出来ます。
インストール
環境:Fedora11
yum install bashdb
これで完了です。
使い方
()内は別名です。基本的なのを以下に書いておきます。
1行進める:step(s)
ブレークポイント設定: break(b) <行数>
実行再開:continue(c, cont)
変数表示:print(p) <変数名>
再実行:restart(R)
終了:quit(q)
ヘルプ表示:help(h)
ソース表示(10行表示):list(l) [基点行数]
停止条件の設定:watch <条件文>
参考
シェル・スクリプトのデバッグ・ツール、bashdb - SourceForge.JP Magazine : オープンソースの話題満載
bashdbによるシェルスクリプトのデバッグ - 理想未来はどうなった?
タグ :
今更だけどSubversionを立ててみた
2011-12-03
ソースコードをまともに書く気になったのですが、
管理されていないコードほどたちが悪いのはないと、仕事で痛感していますので、
サーバーに導入します。
Subversionのインストール
OSはFedora11です。Webから見られるようにするため、VewVCも導入します。
管理者になっておきます。
$ su
# yum install subversion mod_dav_svn
yumで必要なパッケージをインストールします。
Subversionのディレクトリを作成します。
# mkdir /var/www/snv
# svnadmin create /var/www/svn/repos
# chown -R apache:apache /var/www/svn/repos
# vim /etc/httpd/conf.d/subversion.conf
設定ファイルがあるので最後に以下を追加します。
<Location /repos>
DAV svn
SVNParentPath /var/www/svn
SVNAutoversioning on
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Location>
アクセス制限は環境によって適宜変更してください。
ここまで設定があっているか確認します。
# /etc/init.d/httpd configtest
Syntax OK
OKではない場合は、修正が必要です。
ViewVCのインストール
次にViewVCをインストールします。
# yum install viewvc mod_python
以下の設定を変更します。
# vim /etc/viewvc/viewvc.conf
■場所の設定
root_parents =
↓
root_parents = /var/www/svn :svn
■日本時間に変更
#use_localtime = 0
↓
use_localtime = 1
Apacheから起動前に単独で動作させます。
# python standalone.py -h 192.168.0.8
server ready at http://192.168.0.8:49152/viewvc
192.168.0.4 - - [03/Dec/2011 11:51:56] "GET /viewvc HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:56] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/styles.css HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/images/viewvc-logo.png HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/images/dir.png HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/images/favicon.ico HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
出力されたアドレスにアクセスしてSubversionのディレクトリが確認できます。
アクセスするたびにログが出力されます。
Ctrl+Cで終了させ、Apacheの設定をします。
# vim /etc/httpd/conf.d/viewvc.conf
Alias /viewvc /usr/lib/python2.6/site-packages/viewvc/bin/mod_python/viewvc-mp.py
Alias /viewvc-static /usr/share/viewvc/templates/docroot
<Directory /usr/lib/python2.6/site-packages/viewvc/bin/mod_python>
AddHandler python-program .py
PythonHandler handler
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Directory>
Fedora11ならアクセス制限以外は変更しません。
# /etc/init.d/httpd restart
Apacheを再起動させ、http://〜〜/viewvcにアクセスします。
すると以下の画面が出ます。

これでインストールは終わりです。
試しにチェックアウトします。
$ svn co http://192.168.0.8/repos/repos
リビジョン 0 をチェックアウトしました。
これで後は使うだけです。
参考
バージョン管理システム構築(Subversion) - Fedoraで自宅サーバー構築
ViewVC/1.1.2のインストール - PukiWiki
LAN内にてSvn環境を構築してみた - ちょっとした更新
タグ :
vim + xdebugでPHPのデバッグをIDE風に行う
2011-11-27
vimとxdebugを使ってPHPのデバッグをIDE風にします。
LL言語ですと、printデバッグで終わらせてしまいますが、
大規模になってきたり、保守のために全く知らないソースコードを動かすには限界があります。
できなくはないのですが、とても面倒です。
そこでPHPのデバッグをIDE風に行います。
IDE風とは、VisualStudioや、Eclipseのデバッグと同じように、
ソースコードをステップごとに実行して、実行結果、または変数を確認しながら行います。

画面はこんな感じです。
左にトレースするコード、右に、変数、ヘルプ、スタックが表示されます。
vimはエディタと思いがちですが、こんなことも出来ます。
方法はこちらを参考にしてください。
[PHP][Xdebug][vim][firefox] vim で PHP の remote debug - koziyの日記
現在はどうやらFirefoxのアドオンxdebug Helperが提供されていないのですが、Chrome版があります。
Xdebug helper - Chrome ウェブストア

インストール後はxdebug helperを起動するドメインを追加します。
左の虫が灰色で、この状態がオフです。
クリックすると緑色になり、オンになります。
この状態で、vimでF5を押して、デバッグしたいPHPへアクセスします。
初期設定だと5秒以内にアクセスしないとだめなので、F5押して切り替えてF5(更新)が楽です。
たいていは満足なんですが、変数のウォッチ時に変数を記述する時に、
補完機能がうまく動作しないのがちょっと残念です。
それでも、動作を理解するのに非常に役立ちます。
タグ :
リアルタイムログ解析ツールPiwikを使ってみた。
2011-11-19
概要
Piwik - Web analytics - Open source
PiwikはGAの代わりにログ解析するOSSと謳っています。
20万のWebサイトで使用され、現在はバージョン1.6が最新版です。
日本語に対応しているみたいですが、全部が日本語になっていないません。
ここら辺はちょっとサポートが不十分ですね。
Piwikの公式HPで紹介している良いところは以下の点です。
1.リアルタイム解析
2.APIでデータを取り出せる
3.使いやすいUI
4.プラグインでカスタマイズ可能
5.オープンコミュニティで使われている
実際の動作は自前でインストールをしないで、ネットからデモが見られます。
http://demo.piwik.org/
どんな感じかすぐに分かるので良いですね。
デモ画面はこんな感じです。

インストール
必要な最低限のソフトウェア、ライブラリは以下です。
1.PHP version 5.1.3以上
2.MySQL version 4.1以上
3.PHP extension pdoとpdo_mysqlまたはmysqli extension
おすすめはPHP5.3で、グラフ表示でPHP GD extensionが必要らしいです。
あと、解析するサイトのトラフィック状況によってはPHPのmemory_limitを変える必要があるみたいです。
さっそくインストールします。
環境:Fedora11
パッケージすべて最新にアップデート済みです。
mysqlとphpはすでに入っていましたが、yumからインストールできます。
他に以下をインストールします。
$ sudo yum install php-gd
$ sudo yum install php-mbstring
$ sudo yum install php-xml
モジュールの読み込みをするためリスタートしておきます。
$ sudo /etc/init.d/httpd restart

最初にアクセスすると、権限を変更する必要があると表示されます。
apacheの所有者にすることでも出来るみたいですし、Webからアップデートも可能になるので所有者の変更にします。
piwik以下のすべてのディレクトリを変更します。
$ chown -R apache:apache piwik

権限を変更して再度アクセスすると、設定画面が表示されます。
これは楽ですね。

次に進むと必要な設定が表示されます。
赤色は必ずやるみたいで、表示されたコマンドを実行します。
黄色の警告があっても次へいけます。

OKだとこうなります。

mysqlで使用するアカウントとデータベースの設定をします。
普通はないのでアカウントとデータベースを作成します。
mysqlのコマンドは以下です。
create database piwik;
GRANT ALL ON piwik.* TO piwik@"127.0.0.1" IDENTIFIED BY "ここにパスワード";
作成したアカウントとデータベースを入力します。

設定が合っていれば、テーブルが作成されます。
キャプチャするため一度戻ったので、再作成してます。

Piwikの管理アカウントの設定です。

ログのトラッキングをするサイトを入力します。

トラッキングのため表示されたJavaScriptを埋め込みます。
表示されたコードをbodyタグの終了前に埋め込みます。
他にJavaScriptが使えないサイト用に、画像によるトラッキングも用意されています。
ただし画像によるトラッキングは、
検索語、リファラ、解像度、使用プラグイン、ページタイトルはトラッキングできなくなるとのことです。
他にPiwikのPHPによるAPIがあるみたいです。他の言語は標準ではなく、問い合わせが必要みたいです。
詳細は省きますが、以下で確認できます。
Piwik Tracking API - Piwik

完了したみたいです。

ログイン画面になるので、先ほど入力した管理者アカウントを入力します。

ログイン後はデモと同じ画面です。ただ数値がありません。
実際にアクセスしてみます。

たしかにリアルタイムです。
F5を数回押してみます。

PVがカウントされています。

ビジター、つまり訪問者では細かく表示されています。
以上でインストールは完了です。
次からは内部の仕組みを見ていきます。
参考
Piwik requirements - Piwik
Scientific Linux 6で自宅サーバー構築 その16 Piwikでアクセスログ集計 » sa-sa-ki.jpのblog
Piwik のインストール方法 詳細解説
Piwik 高性能アクセス解析オープンソースソフト GoogleAnalyticsよりも柔軟に高性能 モバイル用アプリも用意 日本語標準対応|PCあれこれ探索
タグ :
Unixコマンドの色づけ色々
2011-11-13
最近、自分の中でターミナル上で色づけするが流行っています。
というよりほんのちょっとの改善を考えて、実践するのが楽しくてやっています。
ほんの少しかもしれませんが、誤認が減るので地味に良いです。
less
漢(オトコ)のコンピュータ道: lessでソースコードに色をつける
を参照していていただければ、出来ます。
軽く見たいときはlessで終わらせることがあるので、便利です。
ls
環境によっては標準で色つきになっていますが、なっていない場合があります。
なっていない場合は、是非ともやっておきたいです。
FreeBSDとLinuxを使うことがあるのですが、どちらも微妙に違うので気をつけてください。
FreeBSDは以下です。
alias ls='ls -G'
詳しくはこちら
lsのカラー表示
Linuxだと
alias ls='ls --color=auto'
で可能です。
diff
colordiff で diff や svn diff を見やすくする方法 - Craftworks Tech Blog - Branch
こちらを見ていただければ、出来ます。
コミットする前にdiffで確認するのですが、これがあれば変更点も一目で分かります。
gitはオプションで出来ます。
git diffをカラー表示 - うんたらかんたら日記
grep
grepはオプションで可能です。ただし古いバージョンではないみたいです。
オプションは--color=auto
で可能です。
環境変数もありますが、詳しくはこちらで。
DSAS開発者の部屋:カラフル端末で視認性を高める - grepとシェルのプロンプト編
ack
標準ではないコマンドですが、ファイルから文字列を検索するコマンドです。
とても便利なのでgrep -rばかりを使っている人は是非乗り換えをおすすめします。
ackコマンド - 上から目線
こちらの記事がわかりやすいです。
さらにvimのackプラグインを導入すると、さらにハッピーになれます。
ack.vimで編集効率を10倍向上させる | Glide Note - グライドノート
タグ :




