開発系ツールまとめ(未整理)
wikiに書いていた内容を、試しにコピーしてきた。
少しの間、こちらをメンテしてみる。
ソースを読む・書く [#fdca464e]
SourceInsight(お勧め) [#rb653675]
- 特徴
- 有料のソースビューアー
- インクリメンタル検索や参照先の検索が可能
- マクロを作成することも可能
- カーソル位置の変数などの定義位置を、別のウィンドウで表示してくれる。
- ファイルにある関数等の一覧を、別ウィンドウに表示してくれる
- 欠点
- 表示中のファイルの、パスの取得をするメニューがない。(マクロで解決)
- 開いてるファイルをVC++で開くメニューがない。(マクロ作成予定)
- 日本語が化ける(設定あるの?)
- カスタマイズ
現在開いているファイルのパスをクリップボードにコピー(マクロ)
macro MyCopyPathToClipboard()
{
hbufCur = GetCurrentBuf()
bufProps = GetBufProps(hbufCur)
hbufClip = GetBufHandle("Clipboard")
EmptyBuf(hbufClip)
AppendBufLine(hbufClip, bufProps.NAME)
}
- TortoiseSVNとの連携(Custom Commandsを使って、ショートカットに割り当てることができる)
VisualStudio6 + WorkspaceWhiz(お勧め) [#kf3b4261]
- WorkspaceWhizは、シェアウェアのVisualStudioの機能拡張
- v3.0は個人利用は無料だが、v4.0からシェアウェアになった。
- WorkspaceWhizによって、VisalStudioにインクリメンタル検索の機能などをつけることができる
- WorkspaceWhizの機能のキーカスタマイズは、WorkspaceWhizの設定画面のkey bindingでは変更しても効かない。VisualStudioのツール->カスタマイズ->キーボードで設定する。
- VC++とmeadowの連帯をさせるのがいいかとも思うが、これからはIDEがより便利になるし、IDE標準を使えっていうのが、時代の流れ?
- カスタマイズ
- TortoiseSVNとの連携
- 開いているファイルのCommitLogを表示する。
- TortoiseSVNとの連携
コマンド: C:\soft\dev\TortoiseSVN\bin\TortoiseProc.exe
引数: /command:log /path:"$(FilePath)"
実行時のディレクトリ: $(FileDir)
-
-
- 開いているファイルのDiffを表示する。
-
コマンド: C:\soft\dev\TortoiseSVN\bin\TortoiseProc.exe
引数: /command:diff /path:"$(FilePath)"
実行時のディレクトリ: $(FileDir)
-
-
- 開いているファイルのBlameを表示する。
-
コマンド: C:\soft\dev\TortoiseSVN\bin\TortoiseProc.exe
引数: /command:blame /path:"$(FilePath)"
実行時のディレクトリ: $(FileDir)
Visual Studio2005 + WorkspaceWhiz(お勧め) [#m1163c78]
- Visual Studio6に比べた、Visual Studio2005の機能
- defineの無効領域の灰色化
MeadowとVisualStudioの連携(todo: 記述) [#y8bc7cd2]
ソースを比較する・マージする [#y1ba72ec]
Araxis Merge(お勧め) [#u574ef7d]
- 特徴
- 有料のマージツール
- フォルダ比較ができる
- 3ファイル比較ができる(分岐したソースのマージ作業が大分楽になる)
- 欠点
- Key Bindingが変更不可(オプションに"Ctrl + カーソルキーを使ってマージ操作を実行する"という項目はある)
- カスタマイズ
- TortoiseSVNのマージツールとして利用する
diff viewerとして"Compare.exe /max /title1:%bname /title2:%yname %base %mine"を指定する。
開発ドキュメントを書く [#j98080da]
DyamicDraw(お勧め)で図を描く [#ac40d0e4]
- 決まった記法のない図を書く時に使う。
他のツール(Visio, PowerPoint)で図を描く[#r9b64a9f]
- Visio
- 重いし、いまいち気軽に扱えないので、利用していない。
- PowerPoint
- wordに図を書く必要のあるときぐらい?
プロファイルを取る [#t05e0a7a]
GlowCode(お勧め)[#fee9ea5f]
- 有料のプロファイルツール。プロファイラとしては安いほう。4万程度。
- 関数の実行時間を測れる。(もちろん、呼び出し回数・平均時間なども)
- 実行した関数をツリーで表示してくれて、視覚的に占めている時間の高いものを見つけることができる。この機能が、私が薦めて利用した人にはすごく好評。
- UIが独特で、初めての利用では戸惑う。
- 30日試用版があるからとりあえず使ってみることをお勧め
- プロファイルの取得中でも、DevPartnerに比べて軽い。
他(VisualStduio6, DevPartner) [#k557f5c9]
- VisualStduio6
- プロファイルの機能があるが、計測結果が非常に怪しい。2005はましになっている?
- DevPartner
- 有料のプロファイルツール。とても高い。
- 関数の中のそれぞれの行で占めている時間を出すことができる
- プロファイルの取得中、非常に重い。
デバッグをする [#j332f25a]
VisualStduio6(お勧め) [#jbd48b13]
- デバッガとして非常に優秀
- 特定アドレスの内容を書き換えたらブレークポイントが発生して止まるようにできる。(案外知らない人が多いが、変な値になった変数を、誰が書き換えたか見つけるときによく使う)
filemon(お勧め) [#qafdaf8c]
- ファイルへのアクセスの監視ができる
regmon(お勧め) [#qe51725a]
- レジストリへのアクセスを監視できる
ソースを管理する(todo:記述) [#s9038e94]
TortoiseSVN(お勧め)(todo:記述) [#iea078ac]
VisualSourceSafe(todo:記述) [#r93d946c]
他(jit)(todo:記述) [#z56b5728]
開発ドキュメントを検索する [#ddcb6075]
Namazuでローカルドキュメントを検索する [#o85d022e]
Namazuは検索対象が特定の1つのフォルダ以下なのが問題で、別の場所にあるファイルを検索対象に含ませるには、Namazuの検索対象のフォルダの下に、コピーしてこないといけない。
これを解決するために、「リンク作成シェル拡張」というフリーソフトでジャンクションを作成して利用している。
また、WinLocateというフリーソフトを使い、Unixのlocateコマンドのようにファイル名からファイルを検索することもできる。
freemindのメモを、namazu検索に入れたいが、
フィルターがなかったので、作った。
とりあえず動くレベル。
ここまで整理した[2008/03/15] [#l84dec3d]
複数のPCを利用する(ローカル) [#m14eea9f]
- 基本、Sambaでファイル共有
- CygwinでX-Windowを入れれば、Unixのアプリの画面をwindowsに出すことは可能だが、実用的かは微妙。
- データの同期方法がいまいち決定しない。Subversionなのか?Web?(todo: 要検討)
複数のPCを利用する(リモート) [#ybc5d1d2]
TightVNCで遠隔地のデスクトップを操作する [#wf68eb8b]
バックアップ [#vb4e31d5]
UNIXでのバックアップ [#ma09e40b]
pdumpfsで、ハードリンクを利用した効率的な、1日毎のスナップショットバックアップ。
利点:
- 別の物理HDDなので、クラッシュ時も安心。
- ハードリンクを利用して、容量が安心。
- 特定の日時の設定ファイルなどを取り出せるので、設定を戻すときに便利。
Windowsでのバックアップ [#daa8a5f4]
WindowsPCのバックアップは、realsyncを使う。
1日毎にマウントしたUNIXのPCのHDDへファイルの更新差分コピーをする。
利点
- 別の物理HDDなので、クラッシュ時も安心。
設定ファイル等は、Subversionを利用。
利点
- 設定の更新履歴が取れて、間違った設定を戻せる。
- Subversionのサーバが別PCなので、別の物理HDDでクラッシュ対策になる。
ディレクトリ構造 [#a108f0bd]
理想のDirectory構造とは?(todo: 補足) [#x3d286d4]
C:
├ Program Files {VC++とか、パスを変えると問題が起きそうなソフトのインスト場所}
├ data {ドキュメントや、その他様々なデータ}
│ ├ backup {realsyncのバックアップ対象}
│ ├ document
│ ...
├ soft {ほとんどのソフト}
│ ├ net {それぞれの分野で分ける}
│ ├ dev
│ ...
├ SubversionData {subversionで管理してるデータ}
│ ├ emacs {emacsの設定ファイル等}
│ ├ sh {shの設定ファイル等}
│ ...
...
f: {仮想CDドライブ}
[h-zのいくつか]: {ネットの共有ドライブ}
{realsyncのバックアップ対象}
バックアップしたいフォルダ|ファイルのジャンクション|ハードリンクがある。
リンクの追加だけですむので、簡単にバックアップ対象のフォルダ・ファイルを追加できる。
{subversionで管理してるデータ}
以前は、SubversionDataは、windowsPCとlinuxPCで共有にするために、ネットの共有フォルダだった。
しかし、ノートを持ち歩くようになったので、どのPCにデータを置くかに迷い、subversionで同期させるようにした。
設定ファイルの更新に、コメントを付けることができ、便利。
ランチャー [#e0410102]
bluewindを利用した最速インターフェイス(todo: 実現方法の記述) [#e0c96121]
ほとんどのインストール済みソフトを1秒以内に呼び出せる。
また、"特定のソフト","特定のファイル","特定のサイト"を同じ方法で呼び出せる。
以下のように、入力と機能を関連付けている。
vcpp: Visual Studio起動
cyg: cygwin起動
ama [$word]: Amazonで$wordを検索する
bug [$id]: 会社のbug tracking systemのサイトを開く。$idをつけた場合、そのIDのバグが表示される。
pub: 会社に来たら最初に起動するソフト群を、全て起動させる。
pri: 家に帰ったら最初に起動するソフト群を、全て起動させる。
data: データディレクトリを開く
tm: temporaryメモファイルを開く
万能検索デスクトップテキストボックス開発
http://d.hatena.ne.jp/ndruger/20060514#1147569989
メモを取る・参照する[#w804e6db]
現状(todo: 現状を記述) [#o7dcd074]
理想のメモソフトとは?(todo: 整理) [#ld4614d1]
私の求めるメモソフトの条件は以下。
1. 全文検索ができること
2. 使い慣れたエディタ(meadow)で利用できること
3. メモに添付ファイルを付けれること(ソフトウェアの設定(たとえばApache)をメモするとき、メモといっしょに設定ファイルなどを保存したいため)
4. 速度が速いこと
5. 簡単にBackupができること
上記の条件をすべて満たすメモソフトが見当たらない。
howmでは、3の条件を満たせない。
wikiでは、4の条件が満たせない。あと、2の条件も
よって、howmを修正し、添付ファイル追加を可能にして、それを利用している。
更に、以下の条件を満たすメモソフトが最近ほしい。
6. 分類キーワードでメモが分類されること。
これは、"Windows"で"Rescue"という分類キーワードを指定して検索した場合、
その分類に当てはまるメモが一覧される機能。
実現の方法は、分類キーワードの包含関係を設定しておいて、メモの登録時に分類キーワードを付ける。
そして、分類キーワードでの検索時に、分類キーワード同士の包括関係により、適切なメモが一覧される。
また、これとは別に、雑誌などでしらなかった技術用語が出てきたとき、free mindというmind mapを書くフリーソフトを使ってメモをしている。
この利点は、用語間の関連を、簡単に作成することができ、次に見たときに一目でわかること。
ファイルを探す [#t80eacad]
データの同期を取る (todo: 詳細を記述&もう少し検討)[#hbcd7918]
ファイルを操作する [#vdb26582]
explorer + explorer拡張 + zsh [#qb72fad4]
基本はexplorer。
"fire file copy", "拡張コピー", "右クリックからコマンドプロンプト"など、Explorer拡張のフリーソフトを入れている。
日本語ファイルがないなら、常にzshが一番楽だけど、そういうわけにはいかないので。
以前、zshで、日本語ファイルに強制的に読み仮名(=別名)をつけて、その別名で操作できる機能を追加しようかと思ったが(chasenでそんなのしてた人がいた気がする)、正しく読み仮名がつかない気がするので、止めた。
ファイル操作は、改善の余地あり。
ただし、これというアイデアがない。
自宅ネットワークの管理(todo: 要整理) [#fa0132cf]
セキュリティ [#rfb64776]
ほとんどルータ依存。IPマスカレードだから、たぶん大丈夫じゃない?って考え。
自宅鯖には、Tripwire(ファイル改ざん検出)・chkrootkit(rootkit検出)・iptables(ファイアーウォール)などが入っている。
snortは今は動いてない。
ルータ [#bf3e76cb]
Fedra Core 2でPCルータ。
このPCがないとネットにつなげれないため、このPCを使って実験ができない。
これはありえないので、高機能ルータを買う予定。
ケーブリング [#hc0404e5]
100Mbps。
現状不満はない。
無線LANやGbpsはおもしろそうだが、あまりにコストに見合わないので、見送り中。