SVN で特定の branch を元の trunk に戻すには以下のコマンドを実行する。
$ svn merge --reintegrate svn://repo.domain/repo.dir/path/to/branch /path/to/working_copy
reintegrate オプションは subversion 1.4 からサポートされている。うちの環境が 1.3 だったので 1.5 にあげたんだけど、エラーが消えずにはまりかけたんだけど、 repository 自体のバージョンもあげないとだめだったらしい。
$ svnadmin upgrade /path/to/repo_dir
Apache のロードバランサーモジュールを使って、 Apache を proxy を go-lang で作った独自アプリケーションサーバと接続させる設定をした時のメモ。
基本的には RoR アプリを作成した時に Apache のバックに Mongrel を何台が走らせたりする時に使う方法と一緒。
忘れないようにメモ。
新年の大掃除という事でサーバのログアラートを眺めていたら、
mysql から innoDB 関連の以下のようなエラーがみつかったので修正する事に。
100101 2:50:34 InnoDB: ERROR: the age of the last checkpoint is 9433664, InnoDB: which exceeds the log group capacity 9433498. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row.
エラー発生時間から大体何が起きたのか把握できたので、 innodb_log_file_size を増やす事に。
いつものように My.cnf を修正して再起動すれば良いだろうと思ってやったら、以下のようなエラーが。
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 33554432 bytes!
どうやら、少し違ったらしい。
Mac で ISO イメージをマウントするには、以下のコマンドをターミナルで実行すれば良い。
$ hdiutil mount file_name.iso
Web アプリケーションからメールを送信したい場合に、メールの宛先のドメインが、そのサーバに登録されていたりすると、 Sendmail がローカル宛の配送ととらえてしまい、想定していた場所にメールが届かなくて途方に暮れる事がある。
特に最近は Google apps なんかでメールを管理する事が多いので、レンタルサーバを借りる時などは注意が必要だ。
レンタルサーバをシェアしている場合は、管理会社に相談するしかないと思うけど、 VPS みたいに全部自分で管理してる場合は、 Sendmail の設定などを変更すれば、ローカル転送をさけられる。
オブジェクトの位置を offset().top で取得して、 animate() で body の scrollTop を変更する。
var divOffset = $('#hogeContainer').offset().top; $('body').animate({scrollTop: divOffset + 'px'}, 1000);
うちのレンタルサーバのスペックが低いため MySQL 動かしたくないので、 Wordpress を SQLite で動かすようにしてみた。
してみたと言っても、プラグインがあるのでそれを入れるだけ。でもそもそも個人や一企業で使うブログを MySQL なんてもので動かすのもナンセンスな話だし、 SQLite は早い。なので、一応メモ。
個人的には Safari が好きなんだけど、世間では何が好かれてるのかサーチエンジンを使って調査してみた。以下 bing と google で検索された、ブラウザを悪評しているページ数の結果。
bing browser Chrome sucks 1,130,000 browser IE sucks 10,700,000 browser Firefox sucks 7,140,000 browser Safari sucks 913,000
google browser Chrome sucks 76,500 browser IE sucks 3,410,000 browser Firefox sucks 922,000 browser Safari sucks 973,000
まあここからじゃ結果は分からない。なぜならこのサーチエンジン、データをコントロールしてるっぽいから。でもどちらが悪かは一目瞭然。俺は bing 派です。
最近の HTML は、何かと XHTML やら CSS やら JavaScript で苦労することが多いのですが、そんな時にとても役に立つのが、 FireFox の extension である FireBug です。
Firebug :: Firefox Add-ons
これをインストールすると、 JavaScript にブレイクポイントを設定してデバグしたり、 CSS の div box を詳細に視覚化してくれたり、めちゃくちゃ便利です。
おすすめ。
Mac の safari で同様の事をするにはSafari の Mac で firebug のような機能を使うにはを参照。
二つのセレクトボックス select1 と select2 があるとした場合、以下のコードで選択された option アイテムを移動させられる。 select1 から select2 に移動する場合。
$('#select2').append($('#select1 option:selected'));
デジタルビデオの映像を DVD に焼いてもらったので、それをファイルに抽出した時のメモ。
手軽に使えるフリーソフトも存在するみたいですが、見つけられなかったので mplayer でやりました。
まず mplayer のインストール。 darwin ports で。
$ sudo port install mplayer
そして mencoder 。以下がその時のコマンド。
$ mencoder dvd://1 \ -ss 00:00:03 -endpos 00:00:48 \ -aspect 4:3 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=9800 \ -vf crop=640:480:0:0 -oac mp3lame -lameopts abr:br=96:vol=9 -o mazatlan05-visit.avi;
dvd:// でデバイス ID を指定
-ss はトリミングしたい場合にスタートポジションを指定
-endpos で同様にエンディングポジションを指定。実際はポジションではなく、スターティングからの時間(例の場合は 3 秒目から 48 秒)
-aspect アスペクト比を指定
lavc でエンコーディングタイプを指定。 vbitrate などは出直したいファイルサイズに合わせてうまい事調整
-vf もしクロッピングが必要ならサイズ、ポジションを w:h:x:y で指定(たぶん)
mp3lame でオーディオ設定。 br でビットレート指定。ボリュームは vol でコントロール可能
-o で出力ファイル名指定。
この二つ、用途はほとんど同じで、「レコードが存在していれば更新、なければ追加」っていうことなんだけど、
実は更新を行う処理は少し違う。
REPLACE INTO は名のごとくレコードを置き換える。
プライマリキーを検索ユニーク条件として更新処理を行う際には素直に UPDATE すしてくれるが、
プライマリキー以外のユニークキーを条件にして更新する場合は、 DELETE して INSERT する。そのためプライマリキーをオートインクリメントなどにしてあると、新しい ID が振られてしまいえらいことになる。
これに対して INSERT ON DUPLICATE KEY UPDATE は素直に UPDATE のみを行うの。
用途に合わせて使い分ければどちらも便利。ただ、どちらも MySQL の拡張機能です。
SVN のバックアップを取ったり、不要なリビジョンやディレクトリを削除したりロードしなおしたりしたい時がある。
そんな時は svnadmin や svndumpfilter を利用する。
移動中にオフラインでもメールくらい読めるようにしたいなと思って、 Google Gear を入れて gmail のオフライン設定をしてたら、普通の gmail アカウントではあっさりできたものの、 google apps 上の会社のメールの設定ができない。
調べてみたら以下のように google apps の設定を変更する必要があるらしい。
1. Domain Settings の General タブにいく
2. Enable pre-release features を有効にする
3. hit Save
以上。
ちなみにこの Labs の設定で何度 Mac の Safari がクラッシュしたことか。。 Google Gear ってそんなに安定してないんだね。
早く HTML5 がもっと実装されるの待った方がいいかな。
Zend_Form を使ってよく Wysiwyg の出力コードを生成するようなカスタムエレメントを生成したいことがよくある。
昔のバージョンでは Zend_View クラスの addHelperPath() をしただけだった記憶があったんだけど、今は少し違うっぽい。
なので一通り調べて実装しなおしてみた時のメモ。
Zend Frameowrk のバージョンは 1.8.1。
ディレクトリ構成は以下の通り。
+--- application ---+--- controllers | +--- modles | +--- forms --- elements | +--- layouts | +--- views ---+--- helpers | +--- scripts | +--- incude --- Zend | +--- public_html
php Zend Framework で構築されたアプリケーションで、定期的に Cron から実行される処理をフレームワークの一部として実装した時のメモ。
手順としては、 php コマンドラインで呼び出した際のオプションを取得し、コントローラ、アクション、モジュール、パラメータを適切に設定してリクエストを構築、ルーター、レスポンスを指定してフロントコントローラを実行する。
Safari は自動的に独自の highlight 機能でページ上でフォーカスされているコントロールに水色のボーダーを付けてくれる。これがたまに邪魔なときがある。
これを CSS で無効化するには以下の定義を追加すればよい。
:focus { outline: 0; }
以前 centos で構築したサーバが壊れ、新しく ubuntu サーバを導入したので、これに subversion をセットアップした。その時のメモ。
以前構築したときよりいくから良くなってると思う。前回の記事は
CentOS に Subversion を導入する
と
CentOS で svn+ssh 環境の構築
環境は以下の通り。