2013年1月10日木曜日

error_reportingの.htaccessでの書き方

以前メモったと思ってたのに無かったのでメモ。

.htaccessに以下のように記述しても有効にならない。

php_value error_reporting E_ALL & ~E_DEPRECATED

まあ当然か。
以下のどちらかでかく
php_value error_reporting "E_ALL & ~E_DEPRECATED"

php_value error_reporting 22527

(以前数字で書けという記述を見たが"でくくっても大丈夫だった)

数字のほうはE_ALLやE_DEPRECATED等の定数を加減したもの。
以下のようにすれば簡単に求められる。

<?php
 echo E_ALL & ~E_DEPRECATED;
?>
前は手計算してたよw。

2013年1月1日火曜日

今更debian etchのapacheをアップデート

既にoldstableとなって久しいdebian etch。バージョンで言うと4ですね。
ほったらかしにされていたapacheのセキュリティーホールをふさがねばならなくなった。
当然パッケージのメンテナンスなどされていない。

ちょっと困ったのでメモしておく。


/etc/apt/source.list を以下のように修正(そっからかよ!)


/usr/local/srcにapache.orgから2.2系の最新のソースを取得。
./configureするもssl・zlibがないなどで止まるので、


# apt-get install openssl

# apt-get install libssl-dev
# apt-get install zlib1g-dev

↑勉強不足のためlibssl-devとかzlib1g-devが分からなくてちょっと難儀しました。

openssl自体は入っていたので # apt-get install openssl は不要だった。



再度configure(ssl有効、DSOのほとんどのモジュールを入れておく)
# ./configure --enable-mods-shared=all --enable-so --enable-ssl

めでたく通ったので
# make
# make install

/usr/local/apache2 に入りました。

後は元のapacheをとめて設定や起動スクリプトを修正。



2012年12月22日土曜日

File API & XMLHttpRequestでファイルアップロード

大容量ファイルのアップロード周りを便利にしようと思いいいのみつけた、blueimp jQuery-File-Upload。

https://github.com/blueimp/jQuery-File-Upload

なかなかいいじゃないかと途中まで組み込んで問題発生。orz

・問題点1
アップロード後のサーバサイドでの処理に時間がかかる場合、それも進捗状況表示に加えたいのだがいまいちやり方がわからない。


・問題点2
IEが微妙に未対応。アップロード自体は可能。


・問題点3
ファイルサイズが大きい(233MB以上)とアップロードできない。

1は調べれば何とかなりそう、2はとりあえずアップロードは可能なので目を瞑る。
3はかなり問題。本来の目的が大容量のファイルの扱いだったので。

でどこが悪いのかな~と調査開始。
単純化するために、JavascriptのFile APIとXMLHttpRequest + PHPで簡単にアップロードの仕組みを作ってみた。

jQueryも使って、Javascriptはこんな感じ↓
(参考URL: http://d.hatena.ne.jp/takuya_1st/20121101/1351754417 ありがとうございます)

$('#upload').bind('click', function(){
var fd = new FormData();
var f = document.getElementById("file").files[0];
fd.append('userfile', f);
$.ajax({
async: true,
xhr : function(){
XHR = $.ajaxSettings.xhr();
if (XHR.upload) {
XHR.upload.addEventListener(
'progress',
function (e) {
progre = parseInt(e.loaded/e.total*10000)/100 ;
console.log(progre+"%") ;
$("#progress_bar").width(parseInt(progre/100*300*100)/100+"px");
$("#progress_bar").height("30px");
$("#progress_bar").html(progre+"%");
},
false
);
}
return XHR;
},
url:  "",
type: "post",
data:fd,
contentType: false,
processData: false
}).done(function(msg) {
console.log(msg);
$("#output").append(msg);
});
});
Chromeは問題なし。
FireFoxは大きいファイルでこけることがある。FFを再起動すると問題ないのでFFのメモリ関係でしょうか(未検証)。
IEはFile APIとかFormDataが使えないので当然ながら動きません。

サーバ側は同じプログラムで受けとっているので、問題3はblueimp jQuery-File-Uploadによるものかな? これに手を入れるのはためらわれるということでしゃーない自作するか。

今回はサーバ側も自由にいじれるのでPHPのAPCやPHP5.4を使うのもいいんだが、他で使うことも考えてFile API & XMLHttpRequestで突き進んでみよう。
IEだけ分岐して単純な仕様でないてもらおう。

つくづく適当だな。

2012年12月8日土曜日

難解ffmpegそしてありがとう情報を整理して公開している人

iOSでLMS用の動画を見れるようにという注文があるので、HLSで対応しようとごちゃごちゃ検討中。(しかもユーザが使えるようにCMS化しなければならない。)
自分で書いている文章がアルファベット3文字の略語ばっかりでなんか崩壊している。

動画の変換といえばFFmpegのようですがこれがややこしい。マジで!
でも世の中にはいろんな情報を整理してくれる人が居て助かります。ホントに!
本家の英語のマニュアルだけ見ててもぜんぜん分からんのでありがたいです。

http://mobilehackerz.jp/archive/wiki/index.php?%BA%C7%BF%B7FFmpeg

何とかなるかな~。

2012年11月19日月曜日

エフェクターの固定に耐震素材

ゴム足がついているエフェクターだと、マジックテープを底面に張って固定というのが簡単にできない。

両面テープなどでついているゴム足ははずしてもいいんだけど、外したゴム足はよくなくすので後でオークションに出すときなどに価値が下がりそう。
ねじでとめてあるゴム足は、外した後ねじを戻すと本体側のねじ穴が足りずにねじがはみ出したり、ねじの頭が高くてマジックテープがやっぱり使えないということになりがち。

しかもマジックテープを張ったあと剥がすと汚いとかいろいろ面倒。

そこで、下駄グリップという商品を参考に耐震素材の粘着ゴムと普通に売ってるエフェクター用のマジックテープで固定してみました。

下が、粘着ゴムを貼った状態、上が粘着ゴムの上にマジックテープを貼った状態。
5cm×5cmのゴムなので幅5cmのエフェクター用マジックテープと相性ばっちり。

エフェクトボードにがっちり固定されます。粘着ゴムは引き剥がせばきれいにはがれ、エフェクターを汚したり傷つけたりしません。

ナイスです。

2012年11月1日木曜日

munin 2.0.6 のhttp loadtime

munin 2.0.6でhttp loadtimeが正しく取得されない。
2.0.7では直っているらしいが、まだyum updateとかで変わらないのでちょめちょめっと対応。

以下を参考に、/usr/share/munin/plugins/http_loadtime を修正

https://github.com/frasten/munin/commit/401524d03ac75f31046224d3c12ed9714efba28e

2012年10月13日土曜日

6弦ちゃん

ベースは弦が4本しかないから簡単だよねといわれない為に入手した6弦。(ウソ)

その6弦がなんか音痴。
バズフェイトン・チューニングシステムだから?
そんなことないだろう逆だろうということで調べてみるとオクターブチューニングが少しずれてましたw

オークションで落として郵送してもらってそのままじゃあやっぱいけませんわな。


オクターブチューニングして、おおっ!音痴が直った。
弦高もう少し下げたいな。