ソースコードなんかをブログに貼り付ける時は、<とか>とか&の扱いがめんどくさくてついついPREタグを使用してしまうものだが、PREタグを使うと強調表示したいときなどに打つ手がなく、やっぱPREタグは避けようってなってそしてまた<とか>とか&がめんどくさい問題に逆戻りしてしまう。
シンタックスハイライターも良さそうだが、スクリプト設置がめんどくさいのと、ときどきスクリプトが走るのがもたもたして具が見えてしまうことがあるのが気になる。
で、そんなときに便利なツールの紹介。
srctohtml
まずCSSだJSだをアップしなくてもよくて、単純なコピーペーストで簡潔するのがいい。そしてプロファイルというデザインのひな形のようなものを選べるのも良い。このブログでもこれまでPREタグを使ってきたが、今後はこのツールで行こう。
ちなみに実際のソース出力はこんな感じ。
シンタックスハイライターも良さそうだが、スクリプト設置がめんどくさいのと、ときどきスクリプトが走るのがもたもたして具が見えてしまうことがあるのが気になる。
で、そんなときに便利なツールの紹介。
srctohtml
まずCSSだJSだをアップしなくてもよくて、単純なコピーペーストで簡潔するのがいい。そしてプロファイルというデザインのひな形のようなものを選べるのも良い。このブログでもこれまでPREタグを使ってきたが、今後はこのツールで行こう。
ちなみに実際のソース出力はこんな感じ。
-
var obj = document.getElementById('test');
-
// コメント行
-
if (obj.name == 'test') {
-
alert ('テストです');
-
obj.name = 'test2';
-
}
アクセスログを解析したい!というケースが多いのだが、UNIXコマンドを使ってcronバッチで処理するというのがお手軽だ。
例えば特定のURLに対するアクセスのリファラ(参照元)を、ドメインごとに分けたい!などというケースであれば
こんな感じのコマンドで実現可能。
このコマンドでやっていることは
・grep 対象となるファイル(index.php)に対する行だけをアクセスログから抽出する
・cut アクセスログの中から、参照元(リファラ)だけを抽出
・sort ソートする
・sed 最後のスラッシュまでを取得する
・uniq 重複した行を1行にまとめて、重複回数を表示する
・sort アクセスが多かったドメインから表示したいので降順にする
このような処理だ。
このコマンドでは
http://aaa.jp/dir/index.php
http://aaa.jp/dir/top.php
この2つのURLは同じものとして扱われるが、
http://aaa.jp/dir/index.php
http://aaa.jp/dir2/index.php
この2つのURLは別ものとして扱う。単純にドメインごとにしてしまうと、ブログからのアクセスなどがわけわからなくなるので、ディレクトリ単位で集計するイメージだ。
これによってどのサイトから、どのブログからどれくらいアクセスが発生しているかが分かる。
例えば特定のURLに対するアクセスのリファラ(参照元)を、ドメインごとに分けたい!などというケースであれば
grep index.php access_log | cut -d " " -f 11 | sort | sed 's/\\(.*\\)\\/[^/]*$/\\1\\//' | uniq -c | sort -r
こんな感じのコマンドで実現可能。
このコマンドでやっていることは
・grep 対象となるファイル(index.php)に対する行だけをアクセスログから抽出する
・cut アクセスログの中から、参照元(リファラ)だけを抽出
・sort ソートする
・sed 最後のスラッシュまでを取得する
・uniq 重複した行を1行にまとめて、重複回数を表示する
・sort アクセスが多かったドメインから表示したいので降順にする
このような処理だ。
このコマンドでは
http://aaa.jp/dir/index.php
http://aaa.jp/dir/top.php
この2つのURLは同じものとして扱われるが、
http://aaa.jp/dir/index.php
http://aaa.jp/dir2/index.php
この2つのURLは別ものとして扱う。単純にドメインごとにしてしまうと、ブログからのアクセスなどがわけわからなくなるので、ディレクトリ単位で集計するイメージだ。
これによってどのサイトから、どのブログからどれくらいアクセスが発生しているかが分かる。
これまで依存し続けてきたPleskを卒業しようと思ったのは、簡単な日本語全文検索エンジンを作ってみようとしたことがきっかけだ。
全文検索エンジンといっても、GoogleとかYahooみたいなスゴイのを作ろうというわけではなくて、自分が作ったコンテンツの中から検索するだけの目的なのだが、やってみようとするとこれが大変。
とりあえず私がこれまで培ったプログラムの知識だけでは出来そうにないので、フリーで配布されているものを探してみた。
tritonnプロジェクト
これはMySQLから日本語の全文検索をするために、MySQL自体を改造するパッチだ。
そもそもデータベースから日本語を検索する場合は、like検索という便利な機能がある。
select * from table where name like '%キーワード%';
こんな感じで実現できるが、この検索方法だとデータベースのインデックスが働かず、簡単に言うと検索のたびに全てのレコードを捜査することになってしまう。
テーブルが小さいうちはこれでも別にいいのだが、ある程度のボリュームになるとサーバにかかる負担が大きくなるので、この便利なlike検索は避けて通らなければならない。
で、上述のtritonnプロジェクトでサーバへの負担を減らそうと考えた。
とりあえずtritonnプロジェクトを導入するために、事前に2つのプログラムをインストールする必要がある。
形態素解析のmecab
組み込み型全文検索エンジンsenna
mecabは日本語を単語に分割するアプリ、sennaが検索エンジン本体で、tritonnはsennaをMySQLと合体するパッチ、という位置づけ。
それにしてもこういうソフトが無料で配布されているのがすごい。Windowsの仕事が多かった私にとって、本当に毎度スゲー感動する。
とにかく私はmecabとsennaを四苦八苦しながらコンパイルしてインストールしたが、tritonnのコンパイルでコケてしまった。
PleskがMySQLを使用しているため、tritonnのパッチが当たったLMとの入れ替えが出来なかったためだ。可能かもしれないけど、私には出来なかった。
私がPleskを卒業しようと思ったきかっけはこんな感じです。
全文検索エンジンといっても、GoogleとかYahooみたいなスゴイのを作ろうというわけではなくて、自分が作ったコンテンツの中から検索するだけの目的なのだが、やってみようとするとこれが大変。
とりあえず私がこれまで培ったプログラムの知識だけでは出来そうにないので、フリーで配布されているものを探してみた。
tritonnプロジェクト
これはMySQLから日本語の全文検索をするために、MySQL自体を改造するパッチだ。
そもそもデータベースから日本語を検索する場合は、like検索という便利な機能がある。
select * from table where name like '%キーワード%';
こんな感じで実現できるが、この検索方法だとデータベースのインデックスが働かず、簡単に言うと検索のたびに全てのレコードを捜査することになってしまう。
テーブルが小さいうちはこれでも別にいいのだが、ある程度のボリュームになるとサーバにかかる負担が大きくなるので、この便利なlike検索は避けて通らなければならない。
で、上述のtritonnプロジェクトでサーバへの負担を減らそうと考えた。
とりあえずtritonnプロジェクトを導入するために、事前に2つのプログラムをインストールする必要がある。
形態素解析のmecab
組み込み型全文検索エンジンsenna
mecabは日本語を単語に分割するアプリ、sennaが検索エンジン本体で、tritonnはsennaをMySQLと合体するパッチ、という位置づけ。
それにしてもこういうソフトが無料で配布されているのがすごい。Windowsの仕事が多かった私にとって、本当に毎度スゲー感動する。
とにかく私はmecabとsennaを四苦八苦しながらコンパイルしてインストールしたが、tritonnのコンパイルでコケてしまった。
PleskがMySQLを使用しているため、tritonnのパッチが当たったLMとの入れ替えが出来なかったためだ。可能かもしれないけど、私には出来なかった。
私がPleskを卒業しようと思ったきかっけはこんな感じです。