2011年9月1日木曜日

Facebookの検索って変だね

中の人です。

検索窓が二種類ある。

初期レイアウトの一番上にある検索窓は広告対応。
ビックワードなどにお金を払った結果として表示される。

その検索窓でそのままEnterして表示される
「ジャンル別」検索窓。
こちらの検索ロジックが非常に謎仕様。

現在研究中なり。

(2011/9/10)
googleからsite:www.facebook.comを使って検索すると
同じ検索単語でも大量のページが見つかる。
だが、ユーザが登録したものが大半で
運用されている、企業が必要としている情報としては物足りない。
結局、Facebook内で検索したものを元に分類する方が効率が良かった。

Facebookの検索結果のURLをCrawlerでFile出力。
URLを表示して住所や地域がターゲットであればFile出力、mailアドレスなどを取得する。
作成したCrawlerの使い勝手が悪いので改良が必要だ。

2011年8月30日火曜日

phpが動かない、変。ライブラリが既に読み込まれている?

PHP (linux centos 5)をコマンドラインで入力すると
PHP Warning: Unknown(): Unable to load dynamic library
となる。php.dを使用していてincludeは指定していない。
php.iniを修正すると既に読み込まれていると警告がでる。
yumで全てのphp関連のパッケージをremove。
試しにphpをコマンドラインで実行すると反応がある。which php・・・

結論は実行ファイルが二箇所に存在していた。
/usr/local/bin/php
/usr/bin/php
残っていたphpを削除して、再度phpをインストール。

なおった・・・動かなかったコマンドラインが動くように。

ImageMagick、またお前なのか

結局、ソースから入れるときにjpeg2000削るだけで入るんだ。
linux(centos5)

yumでremiリポジトリ使えば楽かもしれない。

2010年9月22日水曜日

ImageMagickをmake install する

ImageMagickのメモとして
最新のソースをDLして、configure
jpeg2000系列のライブラリがインストールできなかったので

wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
./configure --without-jp2
make
make install

動いた

2010年3月31日水曜日

pgpoolの--with-opensslに手を出してみる

pgpool、さくさく動いたのですがOpenSSL対応したので入れなおしてみたのですが
makeで失敗してしまう。

原因は以前のpostgresのメーリングリストに出ているのと同じで
OpenSSLをリンクする際にオプションが足りないand間違っている。

Makefileの以下の行を
LIBS = -lcrypt -lresolv -lnsl -lm
次のように修正
LIBS = -lresolv -lnsl -lm -lssl -lcrypto

makeが通りました!

2010年3月24日水曜日

Amazon EC2にTeraTermで接続する

takです。

Amazon EC2をテストしていますが、SSHのツールがどこの解説も
PuTTYです。まぁ、Firefoxから呼び出すツールがデフォルトだと
PuTTYなので仕方が無いのかなぁとは思うのですが普段は
TeraTermなんですよね。

じゃあ、TeraTermでつなげばいいじゃん、と。

PuTTY用の手順でpear-Keyを生成した後にキーを一行になるように
編集するようになっているファイル。これを直接TeraTermに読み込ませる。
これで完了ですよ。

あれ、PuTTYよりも簡単?

2010年3月6日土曜日

phpのワードラップ(wordwrap)処理。
UTF-8しか試してない。
標準の関数がマルチバイトに対応していないからこんなことに。
ネットのQAなんかで紹介されている関数だとUTF8は動作しなかったりして駄目だった・・・。
3バイトで全角文字を表現するからこんなことになるんだぁぁぁぁ。

wordwrap
function _wordwrap($line,$length=-1,$cr="\n",$enc="UTF-8"){
if($length<=1 && $length!=-1){
throw new Exception("wrapの指定が1以下");
}elseif($length==-1){
return $line;
}
$tmpBody = $line;
$vars = array();
$byteAlp=strlen("A");
$byteKan=strlen("漢");
$S = $byteKan-$byteAlp;

for($i=0; $i $n = $length; //文字数なので最大byteKan倍の半角文字数文を取得してしまう。
$wk = mb_substr($tmpBody, $i, $n,$enc);
while(1){
$K = (strlen($wk)-mb_strlen($wk,$enc))/$S;
$H = $K*2+(strlen($wk)-($K*$byteKan));
if($H<=$length){
$wkf = $wk;
break;
} else {
$n--;
}
$wk = mb_substr($tmpBody, $i, $n,$enc);
}
$vars[] = $wkf;
}
return implode($cr,$vars);
}