Windows+リモートサーバー上のショートカット(シンボリックリンク)を開くには

クライアント側の設定を変更すると、サーバー上のショートカットが開けるようになる。
以下作業ログ

>fsutil behavior query symlinkevaluation
ローカルからローカルへのシンボリック リンクは有効です。
ローカルからリモートへのシンボリック リンクは有効です。
リモートからローカルへのシンボリック リンクは無効です。
リモートからリモートへのシンボリック リンクは無効です。

>fsutil behavior set symlinkevaluation
使用法 : fsutil behavior set <オプション> <値>

<オプション>           <値>

AllowExtChar           1 | 0
BugcheckOnCorrupt      1 | 0
Disable8dot3           [0 ~ 3] | [<ボリューム パス> 1 | 0]
DisableCompression     1 | 0
DisableEncryption      1 | 0
DisableLastAccess      1 | 0
EncryptPagingFile      1 | 0
MftZone                1 ~ 4
MemoryUsage            1 ~ 2
QuotaNotify            1 ~ 4294967295 秒
SymlinkEvaluation      [L2L:{0|1}] | [L2R:{0|1}] | [R2R:{0|1}] | [R2L:{0|1}]
DisableDeleteNotify    1 | 0

これらのオプションの一部は、再起動しないと有効になりません。

詳細については、"fsutil behavior set Disable8dot3 /?" を使用してください。

SymlinkEvaluation コマンドの例:
  "fsutil behavior set SymlinkEvaluation L2L:1 L2R:0"
        - ローカルからローカルへのシンボリック リンクを有効にし、ローカルから
          リモートへのシンボリック リンクを無効にします。リモートからリモート
          へのリンクまたはリモートからローカルへのリンクの状態は変更しません。
        - この操作はすぐに有効になります (再起動は不要です)。

>fsutil behavior set symlinkevaluation r2r:1 r2l:1

>fsutil behavior query symlinkevaluation
ローカルからローカルへのシンボリック リンクは有効です。
ローカルからリモートへのシンボリック リンクは有効です。
リモートからローカルへのシンボリック リンクは有効です。
リモートからリモートへのシンボリック リンクは有効です。


Cloud9でMongoDBの操作をhttpで出来るようにするPythonスクリプト「SleepyMongoose」を使う

SleepyMongooseの最新版をゲットしてくる。

https://github.com/10gen-labs/sleepy.mongoose

Cloud9にファイルを転送する。

f:id:mataro777:20140807125004j:plain

フォルダを掘って入れておいた。

Pythonにpymongoを入れる

$sudo pip install pymongo

Run Configurationを作る

メニューの[Run]->[Run Configurations]->[New Run Configuration]を選択し以下の様に設定
(Python2.7で実行させる)

Command: ./SleepyMongoose/httpd.py --xorigin
Runner : Python2.7

Windowsでファイルやディレクトリの変更を監視する

Windowsファイルシステム(ReGS or NTFS 3.0 or それ以降)では最近のファイルシステムに対する全ての操作をUpda Sequence Number(USN) journalと呼ばれる物に記録している。

これを読み出す事で、ファイルやディレクトリの変更を監視する事が出来る。

...が、使い方はちょっと判りづらい。

参考プログラム
http://msdn.microsoft.com/ja-jp/library/windows/desktop/aa365736(v=vs.85).aspx

DeviceIOControllと言うAPIを用いて、デバイスのJournalRecordを読み出す。

C++でNetwork関係に強いライブラリ「POCO」の紹介

日本では全然有名ではないが(とは言え海外事情も知らないが)色々と便利な機能が入ったC++ライブラリ「POCO」と言うものがある。

http://pocoproject.org/index.html

クロスプラットフォーム対応で、win/linux/macはもちろん、androidにも対応してるみたい。

Windows+VisualStudio Expressで使う場合において、buildwin.cmd時に「afxwin.hが見つからない」と言うエラーが出るが、このエラーはUnitTestをビルドする際に出るエラーなので、普通に利用するぶんには無視してもかまわない。

基本的なライブラリはFoundationと呼ばれている、適当にこいつをビルドしてやれば、基本部分は問題なく使える。

で、肝心のこいつで何が出来るかだけど、個人的な感想としてはNetwork関係について強い印象を受ける。

Overview
http://pocoproject.org/slides/000-IntroAndOverview.pdf

他にも有名なライブラリとしてboostのasioがあるが、POCOはそれよりも高レベルかつ使いやすい機能を提供する。
例えばHttpやFtpのサーバーだったり、WebSocket/SSL通信といったネットワークの機能や、各種DBと接続するためのODBCインターフェースがある。

Protobuf-net (Protocol Buffers for C#)のドキュメント

なぜかオフィシャルのドキュメントが、ほぼ無いに等しいProtobuf-netのUnofficialなドキュメントの紹介。
(英語です)

http://www.codeproject.com/Articles/642677/Protobuf-net-the-unofficial-manual

Visual Studio 2012の修復に失敗する

とあることがきっかけでVisualStusioが起動しなくなり、修復を試みようとしたら
WebDeployとか言うところで、「パッケージソースが見つかりませんでした」とか出る問題に遭遇。

インターネットを検索すると、以下のページへたどり着いた。

http://support.microsoft.com/kb/2872457/ja

要するに、WebDeployとかいうセットアップファイルの有効期限が切れてるから、最新のWebDeployを一旦インストールしてから、修復を試みて欲しいとの事だそうで。

んー。納得いかん。