2011年7月20日水曜日

firefoxでタブを閉じる時のアニメーションをオフにする

最近一度chromeに浮気して、またfirefoxに戻ってきました。
chromeは爆速でいいんですが、自分的にはまだfirefoxのほうが使いやすかったです。

さてfirefox4から追加されたタブのアニメーション機能。正直ゴミ同然の機能です。
特にタブを閉じるときにワンテンポ間があって、その後アニメーションして消えるのがうざいです。

これを設定でオフにできることが分かったので、さっそくオフにしました。これでかなりすっきりします。

about:config

browser.tabs.animate

false

2011年7月18日月曜日

Pear::DBからMDB2への移行で修正した箇所

Pear::DBからMDB2への移行をしたのですが、けっこう面倒でした。
覚えている範囲でメモしておきます。

■DBへの接続

変更前
$db = DB::connect(DSN);

変更後
$db = MDB2::connect(DSN);
$db->loadModule('Extended');



■FETCHMODE定数の変更

変更前
$rs->fetchRow(DB_FETCHMODE_ASSOC)

変更後
$rs->fetchRow(MDB2_FETCHMODE_ASSOC)


■limit句

変更前
$db->limitQuery($sql, 0, 10);

変更後
$db->setLimit(10, 0);
$db->query($sql);



■quote関数

変更前
$db->quoteSmart($v["value"])

変更後
$db->quote($v["value"])


■その他

※MDB2ではexecuteMultipleで連想配列が使えないので注意。DBから値を取得して使う場合などは、MDB2_FETCHMODE_ASSOCじゃなくMDB2_FETCHMODE_ORDEREDを使うと良い。

※quoteSmartではnullを自動的に空白文字列化してくれていたが、quoteではその機能がないので、nullが入る可能性のあるカラムは予めnull化にしておく。

※上記修正の該当箇所はこんなふうにfindで調べました。

find . -name \*.php -print xargs grep limitQuery

2011年7月17日日曜日

Linuxでシンボリックリンクを張る

いつも引数の順番を間違えるのでメモしておきます。

ln -s リンク先のファイル 作成するシンボリックリンクのファイル

2011年7月15日金曜日

OpenPNEを2.14から3.3にアップグレード

OpenPNE2.14を使ってたんですが、既に主流は3系になっており、また2系はphp5.2以上では動作が保証されないということなので、面倒ですが3系にアップグレードすることにしました。


アップグレード手順はこちらを参考にしました。
http://www.openpne.jp/doc-upgrade-from-2x/


とりあえず深く考えず、手順通りにアップグレードを実施します。

が、案の定エラーがたくさん出てうまくいきませんでした。


ある程度時間がかかりそうな雰囲気だったので、腹をくくってアップグレードに取り組んでいきます。


・phpモジュールを入れる

そもそも動作環境が用意できてませんでした。yumでパッケージ入れます。

# yum install php53-xml
# yum install php53-gd


などを実行し、

# php -m

で指定のモジュールが入ってることを確認します。


・InnoDB化

$ ./symfony openpne:upgrade-from-2 --origin=2.14

を実行すると、SQLでエラーが出まくってました。
詳細は割愛しますが、テーブルが作れないとか、インデックスがどうのこうのとか言われました。

phpMyAdminでテーブルを見ると、もとからある2.14のテーブルはMyIsamで、新しく作られた3.3系のテーブルはInnoDBになってました。

ということは、InnoDBじゃないといけないのかな?と思ってググってみたらそのとおりでした。

http://d.hatena.ne.jp/shiku_otomiya/20110530/p1

というわけで、ALTER TABLEで2.14系のテーブルをInnoDBにします。

ALTER TABLE table_name ENGINE = InnoDB;

これでエラーが出なくなりました。


・php.iniの設定

アップグレード処理でメモリを使うみたいなので、一時的にmemory_limit=-1にしました。


・日記コメントの添付画像

アップグレード完了後、ログインして巡回してみたところ、日記コメントの添付画像が消えてるのに気付きました。

DBを見てみたところ、diary_comment.has_imagesのデータが移行できていなかったようなので、以下のように画像があるコメント調べてupdateしました。

select distinct diary_comment_id from diary_comment_image;

update diary_comment set has_images = 1 where id in (↑で抽出したid);



以上でアップグレード完了です。

多少手間取りましたが、勘と経験で乗り切ることができました。

2011年7月14日木曜日

facebookで特定の友達の投稿をニュースフィードから非表示にする

facebook、たまにログインして見る程度なんですが、いちおうアカウントは持ってます。

中にはすごい勢いで投稿しまくる人がいて、それがけっこうウザかったりします。

そこで役に立つのが、特定の人の近況のみをニュースフィードから非表示にする方法。

該当ユーザーの投稿の右上にある☓印をクリックすると、プルダウンで「○○○からの投稿を非表示にする」というのが出てくるので、それをクリックします。



もちろん非表示された側がそれを知ることはありません。

やり方がちょっとわかりにくいと思ったので、メモがてら記事にしておきます。

2011年7月8日金曜日

CentOS5でmod_sslの設定

こちらのページを参考にさせていただきました。

http://akibe.com/2010/10/centos-setup-20-ssl/

以下は作業ログ。

# yum -y install mod_ssl
# cd /etc/httpd/conf
# openssl genrsa -out server.key 2048
# chmod 400 server.key
# openssl req -new -key server.key -out server.csr
# chmod 400 server.csr
# openssl req -new -out server.crt -key server.key -x509 -days 10950
# chmod 400 server.crt
# vi ../conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
# service httpd configtest

2011年7月7日木曜日

Ajaxデザインパターン

オライリーのAjaxデザインパターンを読みました。

が、イメージしていた内容とだいぶ違いました。。

この本でのデザインパターンというのは、Ajaxを使ったアプリケーションの形式(?)で、具体的には「XmlHttpRequestでサーバーからコンテンツを取得して、innerHTMLでDOMに挿入する」みたいな例が、最初から最後まで淡々と紹介されています。

自分はアプリケーションの設計パターンを学びたかったので、完全にミスマッチでした。


ちなみに本書のコンテンツは文字と絵がほとんどで、サンプルコードはほとんどありません。

技術者向けではなく、上流のエンジニア向けといった感じがします。

またAjaxが出始めた頃の本なので、初心者ならともかく、今となっては読んでもあまり得るところがありません。。

新品じゃなく、中古で買ったのが不幸中の幸いでした。