プログラミング

一週間前のアクセスログを消す方法。

Windows環境のApacheとTomcatのアクセスログを一定期間過ぎたものから消すバッチファイルのメモ。 以下のバッチファイルをタスクスケジューラで実行 for /f "delims=" %%K in ('forfiles /P "C:\Apache\logs" /M access.????????.log /D 7 /c "cmd /c if @is…

Javaで基底クラスのメソッド中から派生クラスのメソッド呼び出し

基底クラスのメソッドから呼び出されるメソッドを派生クラスでオーバーライドすると、基底クラスのメソッド内から派生クラスのメソッドを呼び出すことが出来る。 public class MainClass { public class Parent { String msg = "Parent"; public String getM…

FUSE-Pythonのxmp.pyのバグ?

FUSE-Python 0.2に含まれるexample/xmp.pyがバグってそう。 サンプルだからしょうがないのかも知れないけど、nfsマウントされているディレクトリでLOOKUP(1)がInvalid argumentでエラーになってる。GETXATTRとかの動作も微妙な感じ。 FUSE 2.7.3に含まれるex…

AUのGPS機能とGoogle Static Maps APIを連携させてみる。

[,right] googleマップが携帯でも表示可能となった(http://googlejapan.blogspot.com/2008/03/google_1433.html)らしいので、早速AUのGPS機能と連携させてみる。バイクでツーリング行って迷った時に便利だからね。 実際に作ってみたURLはこちら(http://xanth…

Pythonで四則演算w

どこぞのC/C++コミュで四則演算プログラムの質問があったので、Pythonで書いてみた。 >>> import sys;locals().__setitem__('buff', "sys.stdout.write( ' -> ' + repr( eval( raw_input().rstrip('=')) ) + '\\n' ) or eval(buff)" ) or eval(buff) これで…

VS2005のauto_ptrというかauto_ptr_refのバグ

以下のauto_ptrを使ったコード、VC6だとエラーになるんだけどVS2005だとコンパイルが通る。が、main()を抜ける時に走る~A()で落ちる。 #include<memory> #include<iostream> using namespace std ; class A { public : A( void ){ cout << "ctor" << endl ; } virtual ~A( void</iostream></memory>…

VS2005のウォッチウィンドウでvectorの要素のアドレスを表示するメモ

std::vector<int> ints ; ints.push_back(5) ; ints.push_back(2) ; VisualStudio2005のウォッチウィンドウvectorの要素の先頭アドレス&ints[0]が知りたいのに以下のような方法だと表示されない。 &ints[0] → CXX0058: エラーです: オーバーロードされた演算子が</int>…

PyScripter 1.7.2.0

どうやらスレッド周りにちゃんと対応できてないみたい。 import threading # input thread def input_th() : global flag_exit_th while 1 : in_v = raw_input() if in_v == 'exit' : flag_exit_th = 1 # スレッドを終了させる。 break # main threading.Thr…

クッキーの保存と読み込み(cookielib.FileCookieJar/LWPCookieJar)

pythonのurllib2で使ってクッキーの制御ができるようになったので、ファイルに読み込み・保存しようとdir(cookielib)すると、FileCookieJarなんつーそのものを発見。キタコレw http://d.hatena.ne.jp/xanthus/20071204#p1のコードのcookielib.CookieJarを利…

HTTP系のPOST,プロクシ(Proxy),クッキー(Cookie),ヘッダ書き換えなんかのメモ

HTTPリクエストでPOSTを使う方法 import urllib import urllib2 post_data = {} post_data['email'] = 'hoge@hoge.com' # エンコード en_post_data = urllib.urlencode(post_data) # リクエスト r = urllib2.urlopen('http://hoge.com/',en_post_data) # url…

リスト内包とジェネレータ式の実行タイミングのメモ

以下のジェネレータ関数を定義する。 def G() : g = 0 for i in range(10) : g = g+1 print 'yield' yield g で、実行。 >>> ii = [x for x in G()] yield yield yield yield yield yield yield yield yield yield >>> p = (x for x in G() ) >>> for y in p…

キーボードで1行をコピーして挿入

「マウスで行選択 → コピー → 右クリック → コピーしたセルの挿入」をなんとかキーボードで出来ないか試してみた。 まずコピーからの一連の流れは「メニューキー → C → メニューキー → E」でOK。行選択が分からないと同僚と試行錯誤・検索して「Shift+ス…

配列の参照渡し

void func( int (&array)[2][2] ) { array[0][1] = 5 ; } main() { int a[2][2] ; func( a ) ; } funcの定義で()をとると、参照の配列は渡せないよとコンパイラに怒られる。()つければOK。このあたりの()のつけ方はいまだに迷うのでメモ。 追記 よくよく考…

C++っぽくCSVから読み込む方法(エラーチェックつき)

『5.6,45,8,9』のようなカンマ区切りの4個の数字を持つCSV形式を想定。 std::string csv_string ; // csvの一行分のデータ double v1 ; int v2,v3,v4 ; // カンマの数をチェック if( std::count( csv_string.begin() , csv_string.end() , ',' ) != 3 ) { r…

typedefの前方宣言

ファイル間の依存関係を少なくするために、ポインタ渡しや参照渡しのパラメタのクラス定義を前方宣言する方法があるんだけど、どうやらtemplateを利用した場合だと出来ないみたい… m.hのコメント部分をはずすとコンパイルエラー(C2371: 'TTT' : 再定義されて…

自作DLL内でMFCソケットを利用する場合のメモ。

自作DLL内でMFCソケットを利用する場合、以下の点に注意する必要がある。 http://support.microsoft.com/kb/196836/このKBでは、DLLのCWinApp::ExitInstance()内でMFCソケット関数を呼び出すとエラーになることがあるよと言っている。 だが、ExitInstance()…

C#とIronPython間のオブジェクトI/F

C#とIronPythonの間でオブジェクトの受け渡しは簡単に行う事ができる。 C#→IronPython(C#でオブジェクトを定義) //C#コード string str ; PythonEngine python_engine = new PythonEngine(); python_engine.Globals.Add("sss", str); // C#のオブジェクトを…

PythonEngineの文字コード

C#でGUI、文字列処理をIronPythonでやろうと思ったら、文字列処理ではまる。 C#のコード string sss = "テストデータでござるよ\n文字列です。"; PythonEngine python_engine = new PythonEngine(); python_engine.Globals.Add("sss", sss); python_engine.E…

WebBrowserでオブジェクトのメソッドが実行できない。

WebBrowserコントロールで表示しているページのスクリプトを実行するにはwebBrowser.Document.InvokeScript()を使用すればいけるらしいんだけど、オブジェクトのメソッドの実行が出来ない。 たとえば、こんな場合。 var n_obj = new new_obj();とページ上に…

554メッセージはRFC準拠でありません

python 2.4のsmtplibを利用してメール送信するスクリプトを動作させてたんだけど、送信先メールサーバを変更したら動作しなくなった・・・ 554メッセージはRFC準拠でありませんって、メールヘッダとかおかしいのかな・・・ 追記 Dateヘッダーがないと駄目みたい。

random.choice

配列の中から、適当に一つ選んで表示するってことが、こんなに簡単に出来るなんてヒデキ感激ww import random item_list = ('月','火','水','木','金','土' ) print '今日は? %s' % random.choice( item_list ) ハイカラなー

IPCE R6がリリースされてた。

自宅マシンのCraftLaunchExのPython 2.5と普段使ってたPython 2.4がなんか競合したのを解決したりして、ふとFePyでも入れるかと思い立ったら、FePy(http://fepy.sourceforge.net/)からIPCE r6が出てた。いつの間に(2007-05-20 10:38)。 とりあえず入れてみる…

pythonとIronPythonのfloatに対するrepr()の違い

GPS情報をJSONで返すcgiをpython 2.4 + json.py 3.4で作っていると、なんか精度悪い。なんだろうと思って調べてみるとfloat型のjson.write()が小数点以下6桁しか出力していないためだと判明。 まだpythonのfloatはよく分かってないけど、精度は実装に依存す…

urllibでベーシック認証が必要なページを取得する方法

urllib.FancyURLopenerを利用して、認証が必要なページへアクセスするとプロンプトが表示されユーザ名とパスワードを聞いてくる。プロンプトでユーザとパスワード指定すれば取得できるが、これだと自動化できない。 このプロンプトはFancyURLopenerのprompt_…

FePyを利用してIronPython環境でurllibを使う。

昨日(http://d.hatena.ne.jp/xanthus/20070419#p1)、IronPythonからurllibが使えなくて、なんとかならんのかと色々調べてみた。結果、IronPythonからは利用出来ない標準ライブラリが結構あるらしい。IronPythonにPython標準ライブラリを提供することをマイク…

urllib2が動かない・・・

pythonからhttpリクエストするために、http://www.void.in/wiki/Python/HTTPを参考にしてurllib2を使ってみた。 F:\File\IronPython\IronPython-1.1>ipy IronPython 1.1 (1.1) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserv…

文字コード・・・

Shift_JISのファイルに対して複数のキーワードをそれぞれ一括変換しなければならなくて、対応表はエクセルで記述されてたので、練習にperlでスクリプト書いてみた。 正規表現で一括置換。楽ちんと思ったらUnmatched [ in regex; marked by・・・とかほざく。調…

ちょっとはまったJSONオブジェクトに変換するPerl文法のメモ。

配列をJSONオブジェクトに変換する記述。 #\を配列名の先頭につける。 print JSON::objToJson( \@array ) ; 配列をメンバにもつ構造体の記述。 my @json2 ; foreach( @files ) { ... push( @json2 , obj ) ; } ; #[]でくくる。 my $ret = { result => 1 , ar…

派生クラスの例外を基底クラスの参照でキャッチできない件について(VC6 SP6)

VC6 SP6において、派生クラスの例外をスローしているのに、基底クラスでキャッチできない現象が発生した。 以下、再現ソース。 class base { protected : virtual ~base(){} // 基底クラスのデストラクタをprotectedにすると、 // 基底クラスで例外をキャッ…

C++:Xerces-Cクラスに対する前方宣言の方法

namespace xercesc_2_7 { class DOMDocument ; // DOMドキュメント class DOMElement ; // DOMエレメント } namespace xercesc = xercesc_2_7 ;普通に前方宣言するとコンパイルできない(C2872:あいまいなシンボルです。)。namespace xercesc内で宣言するとリン…