忍者ブログ

ネオ撲滅党

くだらん話

April 27,2024

● [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

↑   by at 11:27

October 24,2007

● vimにuwscのsyntaxを追加する

vimでUWSCの予約語をハイライトしようと思って調べたのですが、
なかったので、vimに自作のsyntaxを追加する方法について調べてみました。

[まとめ]
runtime/syntax/*.vim → 各言語用のsyntax ファイル (uwsc.vimとして作成)
runtime/filetype.vim → ファイルの拡張子⇒syntax への振り分けの定義

filetype.vimへの追加行
" UWSC
au BufNewFile,BufRead *.uws    setf uwsc

uwsc.vimの作成内容
ひとまず、java.vimをコピペ。
k2Editor用のハイライト定義があるので、それを参考にするとよさそう。
PR

プログラミング

↑   by はげ at 05:05 | comments(0) | trackbacks()

October 11,2007

● UnixパスとWindowsパスの相互変換

こないだの記事に、gvimからwindowsのプログラムを実行する設定について載せましたが、
もっとスマートな方法がありました。
PERL HACKSの本を読んでいて偶然見つけたので、自分の環境用に修正。

・UNIXパスをWindowsパスに変換し、Windowsバージョンのgvimでファイルを編集する。
alias gvim='perl -we "exec q{/cygdrive/c/Progra~1/vim/gvim.exe}, map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; } (@ARGV); "'

・bashからWindowsプログラムを起動するための設定
alias winrun='exec cmd, "/c", ((split /,$0)[-1], map {s/^(.*)$/(-f $1)?qx{cygpath -w "$1"}:$1/e;chomp;$_;} (@ARGV));'
↑この設定がなくてもいけるので、なぜだろうか。。

プログラミング

↑   by はげ at 19:08 | comments(0) | trackbacks()

September 22,2007

● 買っちまったぜぃ

最近パケットを見ることが多くて、今さらだけど、詳解TCP/IP Vol.2 実装編買っちまったぁ。

たけー でも、おもしろそー

ムックの持ってたデザインパターンの本も読んでるけど、ためになるいい本やね。ただ、個々のパターンにも解が数通りあって、どれを当てはめればいいかは開発の経験が相当ないと厳しいと思った。積極的に使わないと身に付きませんね。

プログラミング

↑   by はげ at 00:40 | comments(0) | trackbacks()

September 20,2007

● パケットの送信

WinPcapのライブラリを調べてたら、packet.dllに以下のような関数を見つけました。

BOOLEAN  PacketReceivePacket (LPADAPTER AdapterObject, LPPACKET lpPacket, BOOLEAN Sync)
  NPFドライバからデータ(パケットまたは統計値)を読み込む
BOOLEAN  PacketSendPacket (LPADAPTER AdapterObject, LPPACKET pPacket, BOOLEAN Sync)
  ネットワークに一つの(またはそれ以上の)パケットのコピーを送信する


パケットの送信も可能なのですね。しかも、Ethernetフレームレベルでのパケットなので、発信元、送信先のMACアドレスも指定できるようです。(逆にEthenetヘッダを作成しないといけないので、リンク層の知識も必要になる。)この関数の有用な使い方が何か無いか、現在模索中です。また、PacketReceivePacket関数は受信側だけでなく、送信側のパケットも読み取れるので、WinSock2のダミーDLLと組み合わせれば、パケットの改変等の荒技もできそうです。

プログラミング

↑   by はげ at 05:32 | comments(0) | trackbacks()

September 17,2007

● CVSでチェックアウトできない

CVSを利用していたら、頻繁に以下のエラーが出てチェックアウトが止まってしまう状況に陥っていました。

cvs [checkout aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Permission denied

すかさず、CVSROOT内のパーミッションを全部調べてみたけど、全部write権限がついていて問題がありませんでした。そうなると、何かのプロセスがEntriesファイルをロックしているのだろうと思い、FilemonでEntriesを読み込んでるプロセスを調べた所、TortoiseSVNのキャッシュプログラムがEntriesを確かに読み込んでいました。このプロセスを早速KILLして、再度チェックアウトを試みましたが一向に状況は改善されず…

2,3日放置してましたら、ふとひらめいて原因がわかりました
Avira Antivir(優秀なウイルススキャン)Σ(゜エ ゜かよっ
おそらくCVSで1つのファイルをアップデートする度に、Entries.Backup→Entriesにリネームしていくのでしょうが、この頻繁さ故に彼にロックされる危険性が増してたわけですね。Subversionに移行ですかね。。

プログラミング

↑   by はげ at 23:08 | comments(0) | trackbacks()

ブログ内検索

カテゴリー

最新記事

(05/20)
(05/19)
(05/17)
(05/17)
(01/27)

リンク

最新CM

[05/21 ネオ退役中将]
[05/20 なお]
[05/19 ネオ退役中将]
[05/18 なお]
[05/17 ネオ退役中将]

最新TB

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

アーカイブ

RSS

プロフィール

HN:
はげ
性別:
男性
職業:
一日一ハック
趣味:
小島よしお、世界のなべあつ、ぐ~~~~!
自己紹介:
○| ̄|_ へたこいたー

最古記事

カウンター

アクセス解析

お天気情報

忍者ブログ | [PR]


Powered by 忍者ブログ
Template Designed by miu_uim