スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

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にアクセスします。
すると以下の画面が出ます。

ViewVC Repository Listing

これでインストールは終わりです。

試しにチェックアウトします。
$ 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のデバッグと同じように、
ソースコードをステップごとに実行して、実行結果、または変数を確認しながら行います。


capture0037.png
画面はこんな感じです。
左にトレースするコード、右に、変数、ヘルプ、スタックが表示されます。
vimはエディタと思いがちですが、こんなことも出来ます。


方法はこちらを参考にしてください。
[PHP][Xdebug][vim][firefox] vim で PHP の remote debug - koziyの日記
現在はどうやらFirefoxのアドオンxdebug Helperが提供されていないのですが、Chrome版があります。
Xdebug helper - Chrome ウェブストア

chrome_xdebug_helper.png
インストール後はxdebug helperを起動するドメインを追加します。

chrome_xdebug_helper_off.png
左の虫が灰色で、この状態がオフです。

chrome_xdebug_helper_on.png
クリックすると緑色になり、オンになります。

この状態で、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/
どんな感じかすぐに分かるので良いですね。

デモ画面はこんな感じです。
piwik_01_demo_top.png


インストール


必要な最低限のソフトウェア、ライブラリは以下です。

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


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


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

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

capture0016.jpg
OKだとこうなります。

capture0017.jpg
mysqlで使用するアカウントとデータベースの設定をします。

普通はないのでアカウントとデータベースを作成します。
mysqlのコマンドは以下です。

create database piwik;
GRANT ALL ON piwik.* TO piwik@"127.0.0.1" IDENTIFIED BY "ここにパスワード";

作成したアカウントとデータベースを入力します。


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

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


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

capture0021.jpg
トラッキングのため表示されたJavaScriptを埋め込みます。
表示されたコードをbodyタグの終了前に埋め込みます。


他にJavaScriptが使えないサイト用に、画像によるトラッキングも用意されています。
ただし画像によるトラッキングは、
検索語、リファラ、解像度、使用プラグイン、ページタイトルはトラッキングできなくなるとのことです。

他にPiwikのPHPによるAPIがあるみたいです。他の言語は標準ではなく、問い合わせが必要みたいです。

詳細は省きますが、以下で確認できます。
Piwik Tracking API - Piwik


capture0022.jpg
完了したみたいです。

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

capture0024.jpg
ログイン後はデモと同じ画面です。ただ数値がありません。
実際にアクセスしてみます。
capture0025.jpg
たしかにリアルタイムです。
F5を数回押してみます。
capture0026.jpg
PVがカウントされています。


capture0027.jpg
ビジター、つまり訪問者では細かく表示されています。


以上でインストールは完了です。
次からは内部の仕組みを見ていきます。


参考


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 - グライドノート


タグ :
≪ トップページへこのページの先頭へ  ≫ 次ページへ ≫