インターネットにつながずに2台のマシンを無線通信する

無線LANでピアツーピア接続(アドホックモード)する方法(東芝 dynabook サポート)
XP/Vista なら標準でアドホック(P2P)接続できるのですね。
 
参考:
無線 LAN を使いこなしてトクする Windows XP – パソコン同士でつなぐ(Microsoft At Home マガジン)
 
WiPeer
XP/Vista 用のP2Pメッセンジャー。ファイル共有機能つきで、通信の暗号化アルゴリズムはWEPのみ。
 
アドホックで無線通信を可能にする『WiPeer』

Sandboxie – Windows 用サンドボックス実行環境

Sandboxie – http://www.sandboxie.com/
 
プログラムのハードディスクへの書き込みを仮想化してくれる簡易サンドボックス。
Windows XP/2003/Vista 対応。
 
使い方は公式サイトや参考サイトを参照してください。
 
Sandoboxie を使ってサンドボックス化して実行したプログラムはファイル/レジストリの読み込みは仮想領域内参照+なければ実際の情報参照で行い、書き込みは仮想領域内にしかできなくなります。追加書き込みにしても実環境からコピー後に仮想環境に追加になるのでファイルの改ざん対策として抜群の効果があります。また、実行したプログラムがどのファイルを作成/変更するかを調べるのにも便利です。
 
ちなみに仮想領域は c:\Sandbox\(Windowsユーザアカウント名)\(DefaultBoxなどサンドボックス名\ 内に作られます。drive が C: ドライブ、 D: ドライブなどハードディスク構成を仮想化した領域で、user が Application Data や Local Settings, デスクトップなどユーザーのホームディレクトリ内の情報として利用されます。
 
なお、 Sandboxie ではネットワーク通信はそのまま流れるため情報流出は防げませんので、サンドボックスだからといって Winny など P2P を実行しても大丈夫なんだ、とは決して思わないように。
サンドボックスフォルダを削除するだけで確実に駆除できるため、事後対応は楽ですが…。
 
参考:
ヤバげなファイルは「Sandboxie」の仮想領域で実行せよ(教えて君.net)

ダウンロードしたファイルのチェックサムを確認できるエクスプローラ拡張 HashTab

hashtab SS
開発者ならおなじみのファイルチェックサム。Apache や Linux 関係などで本体ダウンロードと一緒に時々ちょこんと併記されている CRC32 や MD5、SHA1などハッシュ値のことで、ダウンロードしたファイルが壊れていないか検証するためのものです。
 
Windows でチェックサムを計算するには、以下のようなエクスプローラ拡張を入れるのが便利です。
 
HashTab(窓の杜)
 
インストールするとファイルのプロパティに「ハッシュ値」タブが追加されます(冒頭の画像参照)。海外のフリーソフトですが、日本語表示にも対応しています。
 
参考:
開発元サイト

Microsoft から Windows 版 GUI フォルダ同期ツールが出た

http://journal.mycom.co.jp/news/2008/08/19/044/index.html

SyncToyは、フォルダの内容を同期するWindows用フリーウェア。同期する1対のフォルダ (フォルダペア) を登録しておくと、サブフォルダを含めるかどうか、コピーは片方向か双方向かなど、あらかじめ設定した条件に従い同期処理が実行される。ローカル / ネットワークを問わず利用できるため、ノートPCとデスクトップPCを同期させる目的などに使用できる。

 
だそうで。
フォルダの同期は Linux 同様 rsync (Cygwin 版) を使うスクリプトを書いて自動化していましたが、SyncToy は GUI ということで手軽に利用できそうです。
 
参考:
米MS、Windows用フォルダ同期ツール「SyncToy 2.0」を無償公開
SyncToy v2.0(Microsoft)

右クリック→新規作成からテキストファイルが消えた

XP の話。
検索してみると同じ症状の方が結構いたので解決方法のメモを残しておきます。
 
原因A: レジストリの HKEY_CLASSES_ROOT\.txt の ShellNew キーの内容が正しくない、もしくは不足している

HKEY_CLASSES_ROOT\.txt\ShellNew というキーがあり、NullFile という空の文字列値があるか?

ない場合は作成する。
 
原因B: レジストリの HKEY_CLASSES_ROOT\.txt の(既定)の値が正しくない
HKEY_CLASSES_ROOT\.txt の既定の値は txtfile です。
これ以外の値に書き換わっている場合(txt_auto_fileになっている、などの場合)は txtfile に変更することで解決する場合があります。
 
原因C: レジストリの HKEY_CLASSES_ROOT\.txt の PerceivedType キーの内容が正しくない、もしくは不足している

HKEY_CLASSES_ROOT\.txt\PerceivedType というキーがあり、text という文字列が設定されているか?

ない場合は作成する。
 
原因D: レジストリの HKEY_CLASSES_ROOT\Directory 以下が Windows Update で書き換わった
( http://pub.ne.jp/pchitorigoto/?entry_id=1145705 より。)

HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\New\

の(既定)の値が

{D969A300-E7FF-11d0-A93B-00A0C90F2719}

以外になっていると新規作成が正しく動作しない現象が発生するようです。
 
どうしても解決しない場合:
Windows XP なら、こちらのサイトから、「TXT File Association Fix」をダウンロードして実行するとレジストリキーを修復できます。
ただし、.txt ファイル関係の設定をリセットするためテキストファイルへの関連付け等が外れてしまいます。
参考:
New command missing in Windows Explorer(Microsoft サポートオンライン:英語)
Windowss XP File Association Fixes

tips – 色々なプロトコルをネットワークドライブに使う

最近は便利な世の中になったもので、色々なストレージサービスが増えてきましたね。
エクスプローラの「ネットワークドライブの割り当て」機能を使うとネットワークごしのドライブでも “Z:\foo.txt” など仮想のドライブとして認識できるため、ファイルの編集、作成、削除など、ほとんどのアプリケーションでの操作がまるでローカルHDDのように扱えるようになります。そこで、色々なネットワークストレージをネットワークドライブ化できるソフトウェア/方法についてまとめてみました。
 


– Gmail をネットワークドライブ化
Gmail Drive shell extension
エクスプローラのシェル拡張として動作するようです。
日本語での解説は「臨機応変? – Gmailをネットワークドライブとして使ってみる」が参考になります。


– FTP をネットワークドライブ化
Novell NetDrive というフリーソフトを使うと FTP, WebDAV プロトコルが使えるサーバをネットワークドライブにできます。ライセンスを他社に譲渡し、WebDriveという有償の製品になったため、開発元の novell.com からはダウンロードできなくなっていますが、サーチエンジンで検索すると見つかります。一応うちにも置いておきます。
 
ミラー:netdrive.exe をダウンロード
 
なお、Windows Vista の場合は NetDrive が非対応のため WebDrive を使う必要があります。
ネットワークドライブではなく “ftp://username:password@hostname/path”の形式ならばエクスプローラ標準でフォルダのように仮想的に扱うことができますが、当然ですが、こちらはFTP対応していないアプリケーションからはアクセスできません。


– WebDAV をネットワークドライブ化
前述の NetDrive, WebDrive が WebDAV に対応しています。
また、Windows Vista の場合は標準で対応しているようです。


– Amazon S3(Simple Storage Service) をネットワークドライブ化
Amazon S3 は Amazon が提供する 1GB あたり 15セントで使えるネットワークストレージサービス。容量制限はありません。
 
Jungle Diskというシェアウェアでネットワークドライブ化できます。
また、前述の WebDrive も Amazon S3 に対応しているようです。


– SFTP,SCP, Frontpage server をネットワークドライブ化
前述の WebDrive がこれらに対応しています。


– Xdrive をネットワークドライブ化
AOL が提供している Xdrive というフリーのストレージサービス。
1アカウントあたり 5GB のストレージを無料で利用できます。
Downloads から Xdrive Desktop をダウンロードすればネットワークドライブ化できそう。


– Windows Live SkyDrive をネットワークドライブ化
Microsoft が提供する Windows Live SkyDrive というフリーのストレージサービス。
hotmail のアカウントごとに 5GB のストレージが無料で利用できます。
今のところは無理そう。

コマンドプロンプトで日本語入力をするには

Alt+[半角/全角キー]を押すとコマンドプロンプトでも日本語入力ができます。
Cygwin の場合も同様ですが、こちらは「cygwin で日本語入力をする方法(Windows Tips by pPoy)」にあるように、設定ファイルに以下の設定を追加する必要があります。
~/.inputrc:

set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on

~/.bashrc

export JLESSCHARSET=japanese-sjis
alias ls=’ls –show-control-chars’

cygwin で nice

nice / renice を使うと起動するプロセスや起動済のプロセスの優先度を変更することができます。
 
nice の書式:

nice [-n 数値 ] 実行するコマンド [引数] ..

例:

$ nice -n 10 sleep 100 # nice 10 sleep 100 は間違い

 
renice: の書式:

renice 数値 [ [-p] PID ] [ [-g] pgrps] [ [-u] ユーザ]

指定した PID (またはプロセスグループ(PGID)、ユーザ)のプロセスの優先度を指定した数値に基づいて変更します。
Cygwin で実行する場合、PID にはWindows 上の実 PID (WINPID)ではなく、Cygwin で ps すると見られる仮想 PID を指定します。
 
例1: PID で指定

$ sleep 50 &
[1] 1448
$ renice 10 -p 1448

例2: PGID で指定

$ ps
      PID PPID PGID WINPID TTY UID STIME COMMAND
     2264 2248 2264 316 con 11363 13:31:29 /usr/bin/sleep
     2168 2248 2168 2168 con 11363 13:31:33 /usr/bin/bash
     2948 2168 2168 2920 con 11363 13:31:33 /usr/bin/sleep
$ renice 19 -g 2168 # PGID が 2168 の全てのプロセスが対象

例3: ユーザ名で指定( cygwin 経由で起動しているプロセスのうち実行ユーザが john のプロセス全ての優先度を -10 (通常以上)にする)

$ renice -10 -u john

 
Windows XP で実行した場合のプロセス優先度の対応表:

nice -n

プロセス優先度

12以上

4 〜 11

通常以下

-4 〜 3

通常

-12 〜 -5

通常以上

-19 〜-13

-20 以下

リアルタイム

参考:
起動するプログラムの優先度を変更する方法(@IT)
タスクマネージャを使った変更方法と、cmd.exe の start コマンドを使った優先度指定方法についてかかれています。

アクセス中のファイルに対する他のプロセスでのファイル読み書き禁止を制御する

.NET, C++ ともに FileStream 等でのファイルアクセス時に FileShare という列挙体のメンバを追加で指定することでロック制御することができます。
 
http://msdn2.microsoft.com/ja-jp/library/system.io.fileshare(VS.80).aspx より引用:

FileShare 列挙体のメンバ
 
Delete:
  後続のファイルの削除を許可します。
Inheritable:
  ファイル ハンドルを子プロセスで継承できるようにします。Win32 では、直接サポートされません。
None:
  現在のファイルの共有を解除します。ファイルを閉じるまで、このプロセスまたは別のプロセスがファイルを開く要求をしても失敗します。
Read:
  後続の読み取り用のファイルを開くことを許可します。このフラグが指定されていない場合は、ファイルを閉じるまで、このプロセスまたは別のプロセスが読み取り用のファイルを開く要求をしても失敗します。ただし、このフラグが指定されていても、ファイルにアクセスするために追加のアクセス許可が必要になることがあります。
ReadWrite:
  後続の読み取り用または書き込み用のファイルを開くことを許可します。このフラグが指定されていない場合は、ファイルを閉じるまで、このプロセスまたは別のプロセスが読み取り用または書き込み用のファイルを開く要求をしても失敗します。ただし、このフラグが指定されていても、ファイルにアクセスするために追加のアクセス許可が必要になることがあります。
Write:
  後続の書き込み用のファイルを開くことを許可します。このフラグが指定されていない場合は、ファイルを閉じるまで、このプロセスまたは別のプロセスが書き込み用のファイルを開く要求をしても失敗します。ただし、このフラグが指定されていても、ファイルにアクセスするために追加のアクセス許可が必要になることがあります。

参考:
FileShare 列挙体(System.IO)
開くファイルへの他のプロセスからのアクセスを制限する(dobon.net)

Windows で SVN – 環境準備から Web 公開、利用までの手順

OS: Windows XP SP2
サーバ環境: Apache 2.2.6 + Subversion 1.4.5 + TortoiseSVN 1.4.5
クライアント環境: Eclipse 3.3 + Subclipse 1.2.x
 
という構成で、SVN 環境を構築したのでその手順を残しておきます。
参考にしたサイトについては後述。
 
– Apache 2.2 をダウンロード、インストール
  詳細は省略
– Subversion インストール
  Apache 2.2 用 zip 版(svn-win32-*.zip)をダウンロード(インストーラが必要なら Apache 2.0 用 exe 版(svn-*-setup.exe)をインストール後、zip 版を上書きする)
 コマンドラインから利用するため、 Subversion インストールフォルダの bin にパスを通しておく。
 
– コマンドラインで SVN リポジトリ作成
引用: http://terai.xrea.jp/Subversion/Apache2.html#uc9cfee4

mkdir c:\svn
svnadmin create c:\svn\hoge
svn mkdir file://localhost/c:/svn/hoge/trunk -m “mkdir trunk”
svn mkdir file://localhost/c:/svn/hoge/tags -m “mkdir tags”
svn mkdir file://localhost/c:/svn/hoge/branches -m “mkdir branches”

– Apache の httpd.conf で SVN リポジトリが見られるように設定
以下の行がコメントアウトされていれば、コメントアウトをはずして有効にします。

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

以下の行がなければ、LoadModule の最後に追加します。

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

最後に、以下のように、Location や VirtualHost タグで DAV, SVNParentPath を設定します。

<Location /svn>
  DAV svn
  SVNParentPath “c:/svn”
</Location>

これで、Apache を再起動すればブラウザで

http://localhost/svn/hoge

とアクセスして接続を確認することができます。
 
– TortoiseSVN インストール
 これは任意。インストールするとエクスプローラで右クリックでSVNリポジトリが作成できるようになります。
 http://tortoisesvn.net/downloads から、自分の環境用の msi をダウンロード
 インストールし、マシンを再起動したあとに同ページの下にある Language Packs の Japanese をダウンロードして実行すると、設定から日本語が選択できるようになります。
設定方法は、エクスプローラを開いて適当な場所で右クリック→ TortoiseSVN → Settings → General の Language を日本語して OK 、です。
 
 
– Eclipse 3.3 インストール
 詳細は省略。
 
– Subclipse インストール
 Eclipse のインストール/更新メニューで新規リモートサイトとして

http://subclipse.tigris.org/update_1.2.x

を指定すればインストールできます。
 
– Elicpse で SVN 対応
SVN リポジトリーエクスプローラーを開き、SVN リポジトリビューで右クリック、新規→リポジトリーロケーションで以下のように入力します。

http://localhost/svn/hoge

パッケージエクスプローラで既存のプロジェクトを右クリック→チーム→プロジェクト共用→SVN
で、あとはそのままウィザードを進めれば SVN を利用することができます。
 
参考:
Apache2 で Subversion をネットワークに対応(てんぷらメモ)
 SVN リポジトリの作成と Apache での公開手順。
Subversion を Windows で GUI 中心に使う(Landscape – エンジニアのメモ)
 Subversion + TortoiseSVN の導入手順。