Mercurial で 作業ディレクトリーがロックされたままの状態になった “waiting for lock on working directory of ~”

Mercurial で hg commit 途中で PC が強制再起動しちゃったときに起きた問題。
起動後、また hg commit したら以下のエラーが発生した。

waiting for lock on working directory of $PATH held by '$SERVER-ID:$PID'

なんぞ…?って思ったが、まあ”作業ディレクトリーのロック状態なんで待ちです”ってことなので、どこにロックファイルがあるんだと調査したところ stackoverflow に答え(Mercurial stuck “waiting for lock”)がありました。

.hg/wlock がそれらしいのでファイルを削除しちゃいます。

rm .hg/wlock

これで無事 hg commit できました。
ちゃんちゃん。

参考記事

MySQL の ORDER BY で指定した順番に並び替える(並び順を明示する)

ずっとドラフト入りっぱなしだった…orz
FIELD を使用すると指定した順番でデータが取得できます。

ORDER BY FIELD(id, 3, 5, 1, 2, 4) ASC|DESC

たとえばこんなデータで試すと…

CREATE TABLE unchicchi ( id INT(1) );
INSERT INTO unchicchi ( id ) VALUES ( 1 ), ( 2 ), ( 3 ), ( 4 ), ( 5 );

[[MORE]]

普通に取得する
SELECT id FROM unchicchi;

+----+
| id |
+----+
|  1 |
+----+
|  2 |
+----+
|  3 |
+----+
|  4 |
+----+
|  5 |
+----+

指定した並び順で取得する
SELECT id FROM unchicchi ORDER BY FIELD(id, 3, 5, 1, 2, 4);

+----+
| id |
+----+
|  3 |
+----+
|  5 |
+----+
|  1 |
+----+
|  2 |
+----+
|  4 |
+----+

指定した並び順から降順で取得する
SELECT id FROM unchicchi ORDER BY FIELD(id, 3, 5, 1, 2, 4) DESC;

+----+
| id |
+----+
|  4 |
+----+
|  2 |
+----+
|  1 |
+----+
|  5 |
+----+
|  3 |
+----+

参考

MySQL おすすめ書籍

MySQL おすすめ書籍#1 MySQL おすすめ書籍#2

jQuery.getJSON で同期通信させる

これだと非同期。

$.getJSON('unko.json', { type: 'unko' }, function() { gonyogonyo... });

getJSON 手前で ajaxSetup の asyncfalse にしておくと同期通信になる。

$.ajaxSetup({ async: false });
$.getJSON('unko.json', { type: 'unko' }, function() { gonyogonyo... });
$.ajaxSetup({ async: true }); // 非同期に戻す

async: false にしたままだと、他の Ajax 通信も同期になるので注意。
個別に同期通信させたい場合は、素直に $.getJSON を $.ajax({ async: false }) に書き換えるほうがいいだろう。

非推奨となるオフラインアクセス権限“Deprecation of Offline Access Permission”の和訳

Deprecation of Offline Access Permission の和訳です。

  1. 2012/01/24 … 初めて訳したものを載せるので言い回しが硬かったり、分かりやすい表現になっていない箇所があると思いますが、ご容赦ください…。できればコメントでアドバイスくらさい…。

非推奨となるオフラインアクセス権限

アクセストークンは、有意義、かつソーシャルな方法で、あなたのアプリケーションと相互に影響することをユーザーに許可します。(操作でいいんだろか・・・) 私たちはオフラインアクセス権限の使用を非推奨としている間、開発者アプリで移行設定を通して、既存の有効期限をリセットする機能を認めています、有効なアクセストークンはそれぞれの時間、ユーザーはあなたのサイトと対話できます。アプリが存在するために変更を求める事はありません。 しかし、有効期限の長いアクセストークンを与える新しいエンドポイントの導入を検討してください。

つづきをみる