[PowerShell]pingにタイムスタンプ追加

0
Filed under 未分類

Windowsで作業をしていると時々pingを打ち続けるという事をします。そのpingですが、時々タイムスタンプも表示したいなと思うことがあるのですが、そういう時にPowerShellを使って以下のようにpingを実行するといい感じに実行できます。

ping 192.168.0.1 -t | ?{$_ -ne ""} | %{(Get-Date).ToString() + " $_"}

これでpingにタイムスタンプが追加されます。Tee-Objectを併用すればエビデンス取りにも良いと思います。

Write-ProgressでPowershell自体が落ちる

0
Filed under 未分類

※2012/02 原因が判りました。コンソールのフォントをラスティからMSゴシックに変更していた為でした…なんじゃそらー

以下のようなWrite-Progressを使ったスクリプトを実行するとPowershell自体がエラーを出して落ちるようになった。

While($True){
for($i=0;$i -le 100;$i++) {
Write-Progress -Activity "Fault test" -Status "check...." -PercentComplete $i
}
}

色々試してみたら、コンソールのフォントをラスタフォントからMS ゴシックに変更しているからだと判明。。。

癖のようにコンソールのフォントを変えていたので全然気づかなかった…

ただ、落ちるようになったのがここ一ヶ月ぐらいの話なので、何かセキュリティパッチが影響している??

ちなみにバックグラウンドジョブも落ちる。

Powershellでチャルメラを流す

0
Filed under 未分類

バッチの終了をbeep音で知らせたい → beep音って音階あるのかな → C#とかだとBeep()関数で周波数と長さを指定できるみたい → あ、.Netでも出来るのね → じゃあPowershellで出来そうだ

で、出来た関数が以下。

Function charu_mera {
[Console]::Beep(440,100)
[Console]::Beep(494,100)
[Console]::Beep(554,300)
[Console]::Beep(494,100)
[Console]::Beep(440,100)
Start-Sleep -milliseconds 100
[Console]::Beep(440,100)
[Console]::Beep(494,100)
[Console]::Beep(554,100)
[Console]::Beep(494,100)
[Console]::Beep(440,100)
[Console]::Beep(494,600)
}

Ubuntu Server11.04上でDjangoを動かす

0
Filed under 未分類

まとまった手順があまり見当たらなかったので公開。
Ubuntu Server 11.04が出ていたので、せっかくなのでこれでやります。
以下の構成です。

HW : VMware ESXi4
OS : Ububtu Server 11.04 x64
DB : SQlite3
WEB : Apache2
python実行環境 : mod-wsgi
IPアドレス : 192.168.0.111
初期ユーザー名 : django
プロジェクト置き場
/usr/local/djangoprojects
今回のテストプロジェクト
/usr/local/djangoprojects/testprj
静的ファイル置き場
/usr/local/djangoprojects/testprj/static
アクセスログ・エラーログ
/var/log/apache2

以下手順

RobocodeのPython版 pybotwar

0
Filed under 未分類

image

Pythonの習得に何か楽しい方法は無いかと考えていたところ、JavaにはRobocodeというゲーム感覚で学習できるソフトウェアがある事を思い出し、Pythonにも似たようなものが無いかと探して見たところありました。その名もpybotwar
Robocodeは戦車の動きをプログラミングして自動で戦わせるシミュレーションゲームです。勝とう勝とうと組んでるうちに自然とJavaを学べるというものだそうで、Pythonでも同じ事が言えるかは分かりませんが面白そうなのでまずはやってみます。

インストールと起動

Windows 7 64bitで実施しました。

まずは依存する以下のモジュールをインストールします。
Python2.6
動作確認を2.6.4でやっているとの事ですが、2.6.6をインストールしました。なお、64bit版では以下のpybox2dがインストールできませんでしたので、32bit版をインストールしました。

pybox2d
2Dでの物理エンジンのPython実装です。Box2D-2.0.2b1.win32-py2.6.exeをインストールしました。

pygame
Pythonでゲームを作る為のモジュール群です。pygame-1.9.1.win32-py2.6.msiをインストールしました。

pygsear
pygameのFrameworkだそうです。pygsear-0.53.2をインストールしました。

pyqt4
main.pyを-Qオプション付きで起動するとpybotwarのグラフィックが向上します。なくてもOK。

以上がインストールできたら、一度main.pyを実行します。すると、config.pyが作成されますので、エディタで開き、以下を追記します。

subproc_python = 'python.exeへのフルパス'

保存後、main.pyを実行すると、サンプルのロボットが対戦を始めます。

自分のロボットを動かしてみる

template.pyをhogetank.pyにコピーして編集します。

from robot import Robot
class TheRobot(Robot):
    def initialize(self):
        pass

    def respond(self):
        self.force(100)

とりあえず真っ直ぐ走りました。
サンプルのロボットのコードを見て動きを追加していきます。

from robot import Robot

class TheRobot(Robot):
    def initialize(self):
        pass

    def resoind(self):
        self.ping()               #砲身の先に何があるか検知する??
        self.ping_react()

    def ping_react():
        kind, angle, dist = self.sensors['PING']
        if kind == 'w':           #砲身の先が壁wで
            if dist < 10:     #距離が10未満なら
                self.torque(100)  #右に面舵いっぱーい
                self.force(-100)  #バックぜんかーい
            else:                 #10以上なら
                self.torque(70)   #右に70%のカーブで
                self.force(100)   #アクセル全開!

        if kind == 'r':           #砲身の先が敵rなら
            self.fire(dist)       #敵の位置目がけて発射!

もっとコードを読み込めば多彩な動きが可能になるのかなと思っております。

ヘルプはこちら

http://code.google.com/p/pybotwar/wiki/Programming

最後に

pybotwarで検索しても、情報があまり出てこなかったので認知度が低いのかもしれませんが、なかなかに面白いので、挑戦する人が増えないかなと期待しています。

とりあえずサンプルのボットたおす。

Excelでガントチャートを描画するExcel関数作った

0
Filed under 未分類

初自作ツール

Excelのセルに

=GANTT(開始日, 終了日, 時間軸の行番号, 色番号)

( 例 : =GANTT(A4,B4,3,13) )

と入力するとガントチャートが描画される関数を作りました。とりあえず動くところまで出来たので公開。

Option Explicit

Function GANTT(StartDate As Date, EndDate As String, chrtAxis As Long, chrtColor As Byte)
'入力したセルから右方向にガントチャートを生成する関数。
'### 引数メモ###
'StartDate      チャート開始日時
'EndDate        チャート終了日時
'chrtAxis       チャート日時軸行番号
'chrtColor      チャート色番号

'### 変数定義 ###
Dim chrtLine    As Shape    'ガントチャート
Dim crntRow     As Integer  'レコード番号
Dim startColumn As Integer  '開始カラム番号
Dim endColumn   As Integer  '終了カラム番号
Dim shtName     As String
Dim chrtStart   As String
Dim chrtEnd     As String

shtName = Application.ActiveSheet.Name

'日付の書式の変換 @@@@ 書式によって代入値を変更したい @@@@
chrtStart = Format(StartDate, "yyyy/m/d")
chrtEnd = Format(EndDate, "yyyy/m/d")

'関数を入力したセルの行番号を取得
crntRow = Application.ThisCell.Row

'開始日時のカラム番号を取得
startColumn = Worksheets(shtName).Rows(chrtAxis).Find(What:=chrtStart, LookIn:=xlFormulas).Column

'終了日時のカラム番号を取得
endColumn = Worksheets(shtName).Rows(chrtAxis).Find(What:=chrtEnd, LookIn:=xlFormulas).Column

'入力行のオートシェイプを削除 @@@@ これから作る @@@@

'ガントチャートを描画
Set chrtLine = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, _
Cells(crntRow, startColumn).Left, _
Cells(crntRow, startColumn).Top, _
Cells(crntRow, startColumn).Offset(0, endColumn - startColumn + 1).Left - Cells(2, startColumn).Left, _
Cells(crntRow, startColumn).Height)
chrtLine.Fill.ForeColor.SchemeColor = chrtColor
GANTT = ""
End Function

LinuxクライアントとDCの時刻同期

0
Filed under 未分類

だいぶ前から何回か試しては判らなくて諦めていたLinuxのntpdでActive DirectoryのDCとの時刻同期がさっきやっと出来たのでメモメモ。

DC側で

w32tm /config /LocalClockDispersion:0
net stop w32time && net start w32time

を叩いて

Linux側で

watch ntpq -p

または

watch ntpdc -p

でしばらく眺めて、* が先頭に表示されればOK

参考

http://www.atmarkit.co.jp/fwin2k/operation/winntp03/winntp03_01.html

http://itpro.nikkeibp.co.jp/article/COLUMN/20060907/247379/

VMware vSphere 4.0 Update1リリース

0
Filed under 未分類

大きめのパッチがリリースされましたね。

http://www.vmware.com/support/vsphere4/doc/vsp_esx40_u1_rel_notes.html

Windows 7とWindows Server 2008 R2がサポートされたりとかなり大きい内容となっているようです。

VMware ESXi/ESX4上でWindows Server 2008 R2がフリーズする現象の対処方法

1
Filed under 未分類

Windows Server 2008 R2をVMware ESX4やESXi4上で動作させていると、突然ログにもエラーが残らない謎のハングアップが発生する事が多々あります。

これはVMware Toolsと一緒にインストールされるVMwareディスプレイアダプタが原因なので、デバイスマネージャから削除すると改善します。

Windows Server 2008 R2にVMware Toolsをインストールする際にはカスタムインストールでVMware SVGA IIを外してインストールする事をお勧めします。

(2009年10月31日現在はまだ修正パッチが出ていないようです。)

2009年11月30日 追記

Update 1でWindows 7 と Windows Server 2008 R2に対応しました。

システム開発用語メモ

0
Filed under 未分類

ど素人が上流工程に参画する事になりました。知らない事がいっぱい。とりあえず開発工程に出てくる用語のメモ。

  1. SP – System Planning
  2. SA – System Analysis
  3. UI – User Interface Design
  4. SS – System Structure Design
  5. PS – Program Structure Design
  6. PG – Programming
  7. PT – Program Test
  8. IT – Integration test
  9. ST – System Test
  10. OT – Operational Test
  11. ME – Maintenance And System Evaluation

こういう順番で進むそうだ。

日本語の記事しかなくて海外のサイトに情報が見当たらないあたり、日本だけの風習?