投稿者のアーカイブ

PostgreSQL8.1で2カラムの日付検索にインデックスを使う

RHEL5系、まだまだ現役です。2020年まで。

開始日と終了日の有るテーブルで、「今日」がこの期間内に有るデータを検索する場合、開始日と終了日で個別にインデックスを貼る事になるかと思いますが、極端に過去や未来のデータが多くなったりすると、片方のインデックスが無駄になります。
btreeで複数列にインデックスを作っても、そのままではインデックスを使ってくれなかったので、かなりねじった方向で出来ました。

(さらに…)

Facebooktwitterlinkedintumblrmail

SoundJSで、php経由のmp4を再生する

http://www.createjs.com/soundjs

SoundJSは、既定の拡張子以外をロードしてくれないので、そのままではphpから音声ファイルをロードしても再生する事が出来ません。
例えばphp経由でmp4を出力する場合、EXTENSION_MAPにphpの再生する音声ファイルの拡張子を指定して、SUPPORTED_EXTENSIONSにphpを追加する必要が有りました。

    createjs.Sound.EXTENSION_MAP["php"] = "mp4";
    createjs.Sound.SUPPORTED_EXTENSIONS.push("php");
    var sounds = {
        path:"./",
        manifest:[{"id":"sound1","src":{"mp4":"audio.php"}}]
    };
    var regist = createjs.Sound.registerSounds(sounds);
    if(regist){
        console.log("Success");
    }

なお、この方法ではphpから複数の拡張子を指定する事(例えばmp4とwav両方を再生する)や、
m4a(mp4のエイリアスとして登録されているもの)を指定する事は出来ませんでした。

Facebooktwitterlinkedintumblrmail

Open JTalkの辞書へ、単語を追加する

Open JTalkを触る機会が有ったのでメモ。
Open JTalkは、日本語も読み上げてくれるTTS Systemですが、ユーザ辞書は追指定出来ないようなので、直接辞書へ追加します。
ソースファイルの
open_jtalk-1.09/mecab-naist-jdic/
に移動して、naist-jdic.csvを編集します。

で、CSVの最後が鄧艾だったので、鍾会を追加してみます。基本コピペです。

...
鄧艾,1349,1349,516,名詞,固有名詞,人名,一般,*,*,鄧艾,トウガイ,トーガイ,1/4,*
鍾会,1349,1349,516,名詞,固有名詞,人名,一般,*,*,鍾会,ショウカイ,ショーカイ,1/5,*

makeして、doneが出たら、辞書を一時的にmakeしたフォルダで指定して音声ファイルを作成してみます。

make
出来上がったサンプルはこちら。
test.wav

これで問題なければ、make installで/usr/local/lib等へ設置されます。

make install
Facebooktwitterlinkedintumblrmail

RoundCubeのmanagesieveをちょっと使ってみる

こちらの記事で使ったサーバに引き続き、sieveを入れます。

  • 配送にはLDAとLMTP形式があるようですが、LMTPが流行らしいのでLMTPで。
  • postfixでvirtualドメインを使ってるとこれだと動かないので、またひと手間必要です。
  • CentOSのバージョンによって微妙に違いが有るようですが、多分動くと思います。

(さらに…)

Facebooktwitterlinkedintumblrmail

今更CentOS5+PHP5.1な環境にphpunitを入れる

保守等で現役だったりする、CentOS5+PHP5.1。

テストでSelenium(Selenese)を使うのに、外部サーバを使うのも面倒なので、CentOS5+PHP5.1な環境にphpunitを今更ながら入れてみました。
今のphpunitはPHP5.1では使えないので、epelのパッケージを利用してみます。

yum -y install epel-release
yum -y install php-pear-PHPUnit
pear upgrade pear

pearを実行しようとするとエラー。何故かパスが通っていないので、php.iniへ追加。

include_path = "[現在のPath]:/usr/share/pear"

これでpearはOK。

古いphpunitだとSeleniumの実行にインクルードが必要らしいので、
Selenium IDEからPHPUnit形式でエクスポートしたtest.phpに一行追加。
https://phpunit.de/manual/3.3/ja/selenium.html

require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; // 追加行
class Example extends PHPUnit_Extensions_SeleniumTestCase

実行しようとするとSeleniumのクラスがcould not be foundになります。

phpunit test.php

phpunit3.4辺りでfixしてるようなので、githubから3.4を持って来て上書きしてしまいます。
https://github.com/sebastianbergmann/phpunit/tree/3.4

# rpm経由のphpunitを退避
mv /usr/share/pear/PHPUnit /usr/share/pear/PHPUnit-3.3.5
mv /usr/bin/phpunit /usr/bin/phpunit-3.3.5
# 3.4で上書き
unzip phpunit-3.4.zip
cd phpunit-3.4
mv PHPUnit /usr/share/pear/
cp phpunit.php /usr/bin/phpunit

実行。
取りあえずこれで目的のSeleniumは動いたので、良しとします。

Facebooktwitterlinkedintumblrmail

RoundCube用にCentOSのpostfix+dovecotで簡単なテスト環境を作る

RoundCubeは設定出来たけど、メールサーバが設定出来なくてテスト出来ない。
localhost内でやり取りする程度で十分だけど・・・そんな人へ。

実験したのはCentOS6です。
DovecotもPostfixもデフォルトの設定を利用するのであれば、設定は1,2項目で済みます。

(さらに…)

Facebooktwitterlinkedintumblrmail

RoundCubeのlabelの一部を上書きする

RoundCubeの各項目の名称を、書き換えるような事が何度かありました。
(受信箱や送信済みの名称について、古いメーラと合わせたいとか)
そういう時は、各言語のlabels.incやmessages.incを編集する必要が有りましたが、
1.0以降は、上書きする機能を提供しているようです。

(さらに…)

Facebooktwitterlinkedintumblrmail

RoundCube1.0で追加されていたCanned Responses

定型文的な使い方を想定していると思われる、Canned Responsesと言う機能が1.0辺りで追加されたようです。メール作成画面の署名の隣に回答が見えると思います。

canned_response01

※言語を英語に設定しているとResponsesと表示されます。

(さらに…)

Facebooktwitterlinkedintumblrmail

CentOS上でSeleniumRCとPHPUnitを使ってfirefoxを操作する

まずはSelenium-RCをダウンロード。

http://docs.seleniumhq.org/download/
Selenium Server (formerly the Selenium RC Server)の、selenium-server-standalone-2.x.x.jarを。
CentOS上の適当な場所に設置します。

(さらに…)

Facebooktwitterlinkedintumblrmail

TrelloにAPIからカードを追加する

まずは、テスト用に以下のようなフォームを用意します。

<form method="post"
 action="https://api.trello.com/1/lists/[list_id]/cards?key=[api_key]&token=[token]">
<input name="name" value="テスト">
<input name="desc" value="細かい説明">
<input type="submit" value="カード作成">
</form>

(さらに…)

Facebooktwitterlinkedintumblrmail