2010年4月22日木曜日

ant からキックしている tomcat に対してリモートデバッグする

ant の中の、tomcatをキックするところ

    <target name="tomcatstart">
    <java fork="true" dir="${basedir}" classname="org.apache.catalina.startup.Bootstrap">
      <classpath>
        <pathelement path="${tomcat_dir}/bin/bootstrap.jar"/>
        <pathelement path="${env.JAVA_HOME}/lib/tools.jar"/>
      </classpath>
      <sysproperty key="catalina.home" value="${tomcat_dir}"/> 
      <arg value="start"/>
    </java>
  </target>

で、jvmargでリモートデバッグ設定をする。


    <target name="tomcatstart">
    <java fork="true" dir="${basedir}" classname="org.apache.catalina.startup.Bootstrap">
      <classpath>
        <pathelement path="${tomcat_dir}/bin/bootstrap.jar"/>
        <pathelement path="${env.JAVA_HOME}/lib/tools.jar"/>
      </classpath>
      <sysproperty key="catalina.home" value="${tomcat_dir}"/> 
      <arg value="start"/>
      <jvmarg value="-Xdebug"/>
      <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"/>
    </java>
  </target>

上記のようにすると、ポート5005でlistenしててくれる。

2010年2月21日日曜日

GAE/Java でメール受信してみたいんだけど・・・

http://localhost:8888/_ah/admin/
にアクセスすると、次のようなエラー

ブラウザには
HTTP ERROR: 404

NOT_FOUND
RequestURI=/_ah/admin/

Powered by Jetty://

コンソールには
The server is running at http://localhost:8888/
2010/02/21 7:03:31 com.google.appengine.tools.development.LocalResourceFileServlet doGet
WARNING: No file found for: /_ah/admin/

なんじゃこりゃ・・・

2010年2月11日木曜日

携帯のGPS情報をサーバに送信する方法

携帯のGPS情報をサーバに送信する方法

http://www.utilz.jp/wiki/Gps

ふむふむ・・・簡単そう・・・

iphoneではどうするのかな?

http://ascii.jp/elem/000/000/433/433470/

JavaScriptらしい。ふーむ。

2010年2月9日火曜日

スーツのハルヤマ

近所にあるのはスーツのハルヤマです。

http://www.rakuten.co.jp/haruyama/

だから何って?
いや、まぁ、ご察しください^^

2009年12月9日水曜日

hibernate synchronizer で ORA-01000

タイトルのまんま。

eclipseでhibernate synchronizer で mapping file を作るウイザードで、
リフレッシュボタン押してテーブル検索すると ORA-01000 カーソル数超過?

テーブルパターンにテーブル名入力すると出てくる。

単にテーブル多いだけ?
システムのテーブルの数って人によって違うのかなぁ・・・

2009年11月12日木曜日

python で GUI!

GUIが簡単にできるとな?

gui.py
#!C:/Python25/python
from Tkinter import *

widget = Label(None, text='Hello GUI world!')
widget.pack()
widget.mainloop()
おおお~

pack() とか mainLoop() とかをコメントアウトして動かしてみる・・・ふむふむ。
WindowシステムはCでWindowsプログラミングしたときとおんなじ感じなんかな???
TkとかTclとかは全然しらん♪

2009年11月11日水曜日

pythonの値としての関数、例外処理など

from apptools import StreamApp は、結局謎なまま。

普段の自分やとここで「あーもうわけわかめ、やーんぺ」ってなるんやけど、
ちょっと頑張ってすすんでみる。
てか、わからんことは無視や、無視♪

scanfile.py

#!C:/Python25/python

def scanner(name, function):
file = open(name, 'r')
while 1:
line = file.readline()
if not line: break
function(line)
file.close()


commands.py

#!C:/Python25/python
from scanfile import scanner

def processLine(line):
if line[0] == '*':
print "Ms.", line[1:-1]
elif line[0] == '+':
print "Mr.", line[1:-1]
else:
raise 'unknown command', line

scanner("../res/people.txt", processLine)


お、動いたぞ!

わかったこと
・from "ファイル名(.pyは抜く)" import "関数名" で、他のファイルに定義されている関数定義をもってこれる。Javaのimportみたいなもん。
 ⇒①scanfile.pyに他に実行されるような文があったらどうなる?
・関数を値として取ることができる。特別な記法は無いのでとっても直観的。第一級の値ってやつやね、懐かしい。
 ⇒②引数の数や値が違ったら例外でも起こるのかな?
・raiseで例外を起こすことができる。Javaのthrowみたいなもん。例外に型はないのかな?

①scanfile.pyに他に実行されるような文があったらどうなる?
scanfile.pyに print 'hello world' を足すと、 commands.py の処理の最初で実行されている模様。
つまり、from hoge ってやると hoge.py がとりあえず実行されて、そのあと import foo で foo の値だけ持ってこれるって感じっぽいね。

②引数の数や値が違ったら例外でも起こるのかな?
不必要な引数をprocessLine に足してみると・・・

Traceback (most recent call last):
hello world
File "C:\eclipse35Python\workspace\test\src\commands.py", line 12, in
scanner("../res/people.txt", processLine)
File "C:\eclipse35Python\workspace\test\src\scanfile.py", line 10, in scanner
function(line)
TypeError: processLine() takes exactly 2 arguments (1 given)

おおお、例外出た!(err出力とout出力が混ざってるから行がめちゃくちゃ)

つまり、関数型言語でよくあるようなカリー化は行われてないっぽいね。

楽しい♪

---

Blogger、WYSIWYGな機能がもっと増えたら使いやすいのに。アイテマイズとか欲しいよー、TracのWikiぐらい便利になってほしい。