DiaryException このページをアンテナに追加 RSSフィード Twitter

2005-01-31(月) 今日のブラックジャックは良かった。懐かしすぎ。

[][]XML-RPCデータベース利用

1月6日の日記郵便番号検索プログラムを参考にする。昨日の西暦-元号対応リスト(gengo.txt)をサーバスクリプトと同じディレクトリに保存しておく。

Pythonで。

元号取得サーバ(gengoServer.py)
import sys
import string
import SimpleXMLRPCServer
year={}
class ServProc :
 def setServ(self,host,port) :
  obj=gengoServ()
  server=SimpleXMLRPCServer.SimpleXMLRPCServer((host,int(port)))
  server.register_instance(obj)
  print 'Listen on '+port
  server.serve_forever()
class gengoServ :
 def echoGengo(self,key) :
  gengo=year[key]
  return gengo
 def setGengo(self) :
  f=open("gengo.txt","r");
  lines=f.readlines()
  for line in lines:
   x=string.split(line,",");
   year[x[0]]=x[1]
  f.close()
if __name__=='__main__' :
 if len(sys.argv)==3 :
  gen=gengoServ()
  gen.setGengo()
  ser=ServProc()
  ser.setServ(sys.argv[1],sys.argv[2])
 else :
  print ">python gengoServer <host_name> <port_number>"

使用例:
>python gengoServer 192.168.254.2 10000
Listen on 10000
元号取得クライアント(gengoClient.py)
import sys
import xmlrpclib
class CliProc :
 def setCli(self,host,port) :
  server=xmlrpclib.ServerProxy("http://"+host+":"+port)
  print "Input Dominical Year(593-2005)> ",
  line=sys.stdin.readline()
  year=line.strip()
  gengo=server.echoGengo(year)
  print gengo
if __name__=='__main__' :
 if len(sys.argv)==3 :
  cli=CliProc()
  cli.setCli(sys.argv[1],sys.argv[2])
 else :
  print "python gengoClient <host_name> <port number>"

使用例:
>python gengoClient.py 192.168.254.2 10000
Input Dominical Year(593-2005)> 2000
平成12年

西暦-元号対応リストUTF-8で保存しておかないと、XMLの文字コードがUTF-8なのでエラーが出ます。

XML-RPC is 楽過ぎ便利過ぎ。柔らかいというか、HACKというか。C言語でもXML-RPC for C and C++: Descriptionで使えるわけだし。

世間ではblog周りで浸透しているXML-RPCですが、考えれば考えるほど幅が出てくる。スルメのようだ。

2005-01-30(日) 寒いですっ

[]データベース作成

レポート課題の休憩中に作成。誰に頼まれたわけでも無く、大学で使用することも無く、ただ単に作りたかったから作った。

末尾に「*」が付いている元号歴史的に「元号」として認められていない。日本で最初の元号は「大化」。よって、資料によっては「推古」「舒明」「皇極」「斉明」「天智」「弘文」「天武」「持統」「文武」は掲載されていない。

参考資料:

よく、「何をしていいか分からない。」「惰性で学生。」と言う者がいる。惰性でも慣性でも全く悪くないのだが、それで動いている自分に不満があるならば、「データベース」を作ってみてはどうだろう。

何でも良い。自分が好きなジャンルなら情報収集も楽しいだろう。漫画データベースでもアダルトビデオデータベースでも良い。但し、決して自主的に手を抜いてはいけない。出来るだけ情報は確実なものから収集し、網羅することを意識する。例えば本ならば、題名、著者、発売日、価格、発行者、出版社、印刷会社、、、などなど。

形式は何だって良い。流行のXMLでもCSVでもSQLでも。後で幾等でも整形が出来るし、要は「集めておく」事が目的である。

何故、このようなことをするのか。何もしないよりは相当マシだし、それは未来に残す資産にもなるかもしれないし、仕事をしている満足感も得られる。好きなジャンルの事をより知ろうとする知識欲も満たされる。

この情報が毎日生み出され、溢れている世の中で、データベースは必ず必要なものである。ならば、自分で作ってやろう、と考え、出来たときの達成感。このような気持ちは学生の内にしか味わえないかもしれない。人生を無駄にはしたくない。

2005-01-29(土) 朝からレポ。

[]まだレポート

期限1週間ってのは反則だと思う。資料収集期間でさえ与えられていないではないか。普通は図書館とかで探す時間が必要だぞ。インターネットが便利といっても、不確かだし、抜粋だし、有効な資料はほんの一部なんです。参考文献も書きにくいし。

趣味方面のプログラミング試験期間が終わらないことには手を付けられないな。学生も意外と大変。

嫌なことでも仕事だからするんだよ、西之園君。

2005-01-28(金) 授業無いじゃん。

[]レポート執筆中。

線形回帰モデル、検定問題、F-検定統計量、最小2乗推定値、有意水準、決定係数、自由度、平均平方和、ヒストグラム、量子化、標本化、コントラスト、YCbCr、濃度値、輝度値、フィルタ、平滑化、Roberts、Prewitt、Sobel、鮮鋭化、ラプラシアン、、、、、。

はてなキーワードで辿ってきた人ゴメンナサイ。

2005-01-27(木) 人と話してないなあ・・・。

[]どれが良いんだ?

クレジットカードを持とうと思う。

んで、大学生協に置いてあったカタログを一通り眺める。どれが良いんだ?

仕方ない。ネットでの評判も聞くか・・・。自由競争経済万歳。

[]苦しそう。

友人が風邪で苦しんで、情緒不安定。

僕が何かを出来るとは思わないし、何もする気は無い。

2005-01-26(水) トリビアン。

[]レポート書き書き

来週はレポート締め切りとか試験ラッシュ。3年にもなれば大した量でもないのだが、それなりに大変といえば大変。というわけで、書き書き。

ほとんどの資料はインターネットで収集できる。全く、便利な世の中になったもんだなあ。Google様様。

[]ソーシャルネットワークコミュニティ

GREEの中身を見せてもらった。mixiとほとんど一緒じゃん。個性が無い。これじゃあ住民が分割されるだけで相互成長も無いし、潰しあいみたいな醜い争いが起こりかねない。何か、コレダ!みたいな先進的機能がこれからのSNCには必要だな。

2005-01-25(火) 毎日寒いです。

[]人前で話す。

今日は授業で高校の授業の指導案を発表した。コンピュータを使ったシミュレーション高校生に教える方法、みたいな。今の学生は「情報」なんて科目があるから楽しそう。実際に授業を行ってる高校が幾つあるかは知りませんけどね。僕が今の高校生だったら授業どころか飛び越えて色々しちゃいそう。

というわけで人前で発表をしたわけだ。一応シナリオというか、指導案自体は準備してあったのでそれを示しながら。人前といっても30人ほどだったか。

駄目。物凄く緊張してしまう。緊張じゃないかもしれない。恐怖?。

「上手く話そう」と考える。マイクを持つ。人が僕を見ているような見ていないような(人の顔なんか見てない)。話し始める。それなりに練習はしてあるので話す。それなりに終わる。

これだけ書くと全く問題が無さそうだが、頭の中はもう無茶苦茶。話せてるのかも分からない。質疑応答も何とか声を出していたな、という状態。外には出さないのだが、内がカオス状態。タチが悪い。《アガリ症です!顔硬直!》みたいな。

練習を積み重ねても、結局は一人での練習。人前で、という状況なのは本番だけ。本番を積み重ねるしかないか。これから何回も人前で話す機会があるだろうしなあ。絶対にあるのが、来年の"卒業研究発表会"。今年も4年生が頑張ります。来年は僕もするんだよなあ。今から緊張。

話す技術・伝える技術、みたいな本読んでみるか。損は無さそうだ。

2005-01-24(月) 晴れが続く。

[][][][][]素数ゲッター

素数って素敵ですな。某神父は自分を落ち着かせるために素数数えてたし。

数学の神秘、というか、無限を突き詰めるってのは楽しいです。素数を求める一般式を見つけられたらどんなに楽しいか。円周率がどこかで循環し始めたらどんなに衝撃的なことか。

ちなみに上のプログラムはどれも「エラトステネスの篩(ふるい)」を使っていますが、純粋な形でやっています。何も考えることなく、純粋アルゴリズムを再現しただけ。何が問題だって、メモリ使いすぎ。偶数が2を除いて素数になるはずは無いのだから外す、素数じゃないと判断されたら捨てる、などの処理があって本当の使えるアルゴリズムって奴です。

Cは数値解析の時に主に使用。JavaPythonはオールマイティ。Perl/Rubyテキストネットワーク系。VBAは統計処理専用って感じで使い分けています。JavaScript/VBScriptなんて殆ど使わないなあ。C++は知識だけはあるけど、実際に何かをしたことは無い。

[]宿題忘れた。

別に良いんだけどさ(ふっ)。

2005-01-23(日) からくり日曜日。

[]休日はマッタリと。

朝ゆっくりと目が覚めて、午後はちょっと本屋に行ったりして、レポート試験の事なんか忘れて、ノンビリと過ごしておりました。

MSNメッセンジャがやたら切れるのはサーバメンテでしょうか。YahooICQは順調なのですが、MSNに登録している人数が一番多いので問題といえば問題。

mixi中毒とかあるそうですが、僕は2ちゃんねるとの付き合いもそうですが、そんなにのめり込む様な事柄は無い。音楽にも本にも拘りは無く、フラフラとしているほうだと思う。一芸を持っている友人とかちょっと羨ましいな、とか思ったり。暇な時に一人で出来る芸なんて一つ持っておきたいですね。

2005-01-22(土) 種と運命と土曜日。

[]完全復活

ふう。昨日は何だったのだ、というくらい回復。喉もと過ぎれば熱さを忘れる、にならないように昨日の反省はしっかり心に留める。

今日は集中授業(土曜などにまとめて行われる授業)の試験コンピュータアーキテクチャ。まあ、専門用語を頭の中に整理しておけば難なくクリアできる試験。難しい試験なんて大学でそうそうにありませんけどね。

昼休みに図書館行こうとしたらまたドラマ撮影。どうも2月まで撮影がある模様。連ドラって3月頃に終わるから〜、結構ギリギリスケジュールなんですね。学園祭準備みたいな風景撮影かな。全く興味が無かったのでろくに見てません。

物語を知りたければ本を読むし、音楽を聴きたければCDを聴く。ドラマを見る理由って芸能人の顔を見ることしか無いのでは?芝居なんて見ていないでしょう?

2005-01-21(金) 寝てばかりの金曜。

[]アウト

駄目だ。コーヒー飲む気力も無い。

体がダルイ。原因は頭の方にあるようだ。前頭葉部がモヤっとしてクラクラする。

幸い、今日は大学の授業も無いし、明日に集中授業の試験があるが、特に勉強する必要も無いと思っているので当面の問題は無い。

こんな状態では何も出来ない。というわけで、今日は早めに寝ることにしよう。

ああ、情けない。こんな状態になることは予定表にも無いのだから勘弁して欲しい。自分の体調管理不足か。反省。もう少し栄養を考えて食事を取るようにしよう。

今の心境を一言で言うなら、"チキショウメ"だな。

2005-01-20(木) 木曜は1000万。

[]買い物リスト

1月も下旬。2月は色々目白押し。

ファウスト寄りなのは僕の仕様

ハードカバーって買う気がしない。本にしては読みにくいし、インテリアにするのは間違っている。狭い部屋に本棚2つ。床やコタツに積んでいる本も幾つか。出来るだけスペースは上手く使いたい。どうしても早く読みたい(読まなくてはならない)本とか、文庫化は無い本とかは仕方なくハードカバーを購入する。まず、値段が高いです。同じ内容で廉価版文庫が2、3年後に出るのなら待つか、という気持ちになってしまうこともしばしば。

本の高い・低いは出来るだけ内容で決めることにしている。滅多に内容にしては高い本だ、と思わされるような本には出会わない。運が良いのか、どこかでフィルタが自動的に掛かっているのか。

というわけで、西尾維新の遂に出る戯言シリーズ最終章、佐藤友哉の久しぶりの新刊、村上春樹の久しぶりの小説文庫化エッセイは幾つか文庫化してました)、西島大介の「凹村戦争」以来のオリジナル作品、浦沢直樹の何処に向かっているのか分からない漫画の新刊。2月は飽きずに済みそうです。もしかしたら買う本、もうチョット増えるかなあ。立ち読みでパラパラ読んで決めることがよくあるから。

2005-01-19(水) 水曜はトリビア曜日。

[]発表終了

システム開発の発表が終了した。まあ、何と言うか、デモンストレーションが命だったので、そんなに気合入れて行く必要もなかったな。はは。

メンバの一人に実演を任せたのだが、何度もゲームオーバになって笑った(実は計算通り)。後は、感想を各自述べたりして、大団円

まあ、色々過去の日記に書いたこともあったけど、一人では出来なかったかな、と。メンバ全員の力があっての達成かな、と。お前らよくやった、感動した。リーダらしい良いことを言ってみました。

著:稲盛和夫生き方―人間として一番大切なこと』の文、「物事を実現するには、楽観的に発想し、悲観的に計画し、楽観的に実行する。」は実現できたかな。結果的にOKだったわけだし、良しとするか。

2005-01-18(火) 至って普通の火曜日。

[]明日は発表会

明日、システム開発の授業で作ったマインスイーパの発表をするわけで、何かトリビアマインスイーパ歴史でも無いかとGoogleで探したが大して見つからず。

マインスイーパ攻略スゴ技動画とかもあるんだね(笑)。いやあ、人それぞれどんな才能があるか分かりませんね。人間、粘りが大事です。

[]2ちゃんねる報道

報道ステーションに「2ちゃんねる」。何だかよくテレビに出るようになった。もう、アングラじゃ無いね。内容はセンター試験の問題流出の疑いのある書き込みについて。「神キタ━━━━━(゜∀゜)━━━━━ !!!」。・・・・・はいはい(苦笑)。

2ちゃんねるは今のところ無くなる様子は無いですね。いつかは無くなるでしょうが、まだ10年は大丈夫、とひろゆきが言ってたような。板を多く作って住人を分散させることで効率を良くした(一つの板に大人数、よりも、多くの板に少人数ずつ)とか、同じところで言ってたかな。なるほど、考えてるんだなあ、と関心。生きた成功者の意見は参考になります。

何かベンチャ的な事を始めようとする若者は多いが、大部分は失敗する。それは、きっと基本を知らないからでしょうね。会社みたいに経営常識理論を教わらないから結局学校の延長かバイトに毛が生えたようなママゴトしか出来ない。社会を変えようと思うのは大いに結構ですが、今を壊したければ今の構造を学んで、強い部分と弱い部分を見極めないとね。当たって砕けろ、では無駄な行為というものですよ。

ああ、愚痴っぽい。何か嫌なことでもあったんでしょうか。そうでも無いです。

2005-01-17(月) 月曜はゼミ。

[]ゼミあれこれ

先輩が卒論頑張ってます。

50枚がノルマで、僕らの場合「プログラムソース」が使えるわけですから、結構ページ数は稼げる。とは言っても、そう甘いものでもなく、やっぱり論文記述は大変。ご苦労様です。

論文タイトルに「Flash」は使えない。Macromediaの商品ですから。製品宣伝じゃないんですからね。ってわけで、「リッチコンテンツ」とか「アニメーション」とか「Webなんちゃら」とか検討してました。

ブラウザ表示のグラフィカルなユーザーインタフェースFlashで作ったそうですが、他のリッチコンテンツグラフィカルなユーザインタフェースが作れるかな、と思って考えたら、Javaアプレットとかも該当するのかな。フォームのボタンで機器制御も味気ないですからね。お洒落も大事です。

[]DEATH NOTE面白すぎ。


 
 
 
 
 
 





もう大丈夫。全てを任せて良いですね。奴は、ライト(キラver.)は、神ですよ。マジで。竜崎が死神見えるようになるのは予想通り。ただ、夜神パパまで死神が見えるようになったのは・・・死亡フラグ確定?さよなら、ダンディズム担当

レムが見えるようになったって事は、所有権がレムにあるデスノートだったわけで、リューク所有デスノートが埋められている。ここまででは問題無い。ミサノート(切れ端)に触れても記憶が戻らなかったのは、切れ端だったから?ノートの表紙交換説?レムも予想できない展開は、今後のライトの行動計画だろう。来週のジャンプを待ちます。

いつ終わるか全然分からんね。というか、終わって欲しくないです。近年に無かった面白い漫画だ。"ところでスティール・ボール・ランはどうなった?"

2005-01-16(日) 第1段階終了

[]センター試験2日目

国語数学×2、公民。以上4科目。09:30〜16:35。昨日の1日目よりは早く終わる。

一部、試験開始時間を遅らせたり、監督者のミスで再試験が決定した会場があった模様。

さらに、教科書の文章がそのまま国語試験に出たようで、これは問題だろ・・・。教科書の使用不使用で差が出てくる問題を作っちゃいけないし、作ってる時に気づかなかったのだろうか・・・。横着してバレないとでも思ったのかなあ。大岡信なんていう定番過ぎる定番を出したのも気に入らない(私情)。

来年英語試験にはリスニングが入ってくるそうで。来年に初めてリスニングを受ける学生はドキドキものですね。試験問題形式1つ違ってもドキドキですから。

とにかく、受験生は「お疲れ様」ですよ。まだまだ、2次試験が2ヶ月近くあるわけですが、とりあえず一段落、ということで。

大学入ってしまえば日本は楽ですよ。ええ。凄く。遊んでても良い位。勉強したい奴はしてますけど。どう動いても卒業は出来ます。

妹が心配だ(兄バカ3)。

2005-01-15(土) 受験の登竜門

[]センター試験1日目

外国語地理歴史理科×3。トータル09:30〜18:20。

5科目で何時間使ってるんだ、って話ですが、科目の間の休憩時間が長いので試験時間自体は短い。

3年前・・・。英語日本史物理化学を受けた3年前・・・。英語、出来たと思ったんだけどなあ・・・。懐かしい。

解答用紙配布ミスで遅れたり、水漏れがあったりした会場も会ったらしいですが、ま、例年ですね。色々あります。受験生にとっては起こって欲しくないイベントですが。

受験生は、インターネットの速報も見ずに、明日の新聞読まずに2日目の試験に臨んだ方が良いですよ。気が散りすぎて集中できなくなる可能性がありますから。「休み時間は単語帳と公式集をパラパラ程度にしろ」とか「人の顔を見るな」とか、色々言われた記憶があるなあ。当の僕は休み時間「淡路島コーヒー」なるコーヒー牛乳ジョージアを交互に飲んでいたのです。

妹は大丈夫かなあ・・・。泣いてないかなあ・・・。超不安。(兄バカ2)

2005-01-14(金) センター試験前日

[]明日はセンター試験

僕の妹が受験するので僕自身が受けたのは相当前になるが、今回は人事では無い。

実家兵庫なので、神戸受験に行っている。心配だ。まさか、失敗しないとは思うが(兄バカ)。大学東京に行くとか言っていたから、順調に受験をこなして欲しい、と神様に祈ることしか出来ないのでした。

頑張れー。

[]忙しくはない

僕にとって、「時間が無い」の定義は「読書をする時間が無い」状態です。

というわけで、「時間が無い」。

毎年、1月2月は色々とやることが山積みになりやすい。何でこう、学校ってのは最後の方に色々と課題を出すのでしょう。もっと分散して毎週とか毎月とかにしたら良いのに。そりゃあ、評価する方としては一つの成果物を見るだけで済む方が楽でしょうけどね。

というわけで、mixiの方も中々コミュニティに参加できなかったり、しなかったり。

2005-01-13(木)

[]競争に勝つということ

デファクト・スタンダード(De Fact Standard)
公的な標準化機関が認証したか否かにかかわらず、競争によって市場の大勢を占めるに至った規格のこと。

デファクトスタンダード」、つまり「事実上の標準」は市場・領域での競争の結果、大部分に認知されたものがデファクト・スタンダードになる。

例としてすぐに挙げられるのが「Windows」「VHS」「TCP/IP」など。

デジュールスタンダード(De Jure Standard)
標準化機構と呼ばれるISOJISなどの機関によって国際的・国家的に認められたもの。

対して、「デジュールスタンダード」は「公的な標準」になる。

ある規格がデファクト・スタンダードとして認められた後に、公的標準に認められることもある。

松下と米HP、DVD+R/-RAM相互採用など家電とPCの連携戦略を発表 - CNET Japan

やっとDVD規格が統一の方向性が見えてきたと言うか・・・。消費者の悩みを有耶無耶にさせる方法がハッキリしてきたと言うか。

死んでいった技術と言えば、スマートメディアなんてもうデジカメにも使われて無いような・・・。携帯電話コンパクトフラッシュばかりですものね。

VHSに対してベータWindowsに対してMac。あくまでも市場で大部分を確保しただけの話と言えばそうなのだが、競争に勝つということがとても大切だということははっきりと分かる。

Macも決して劣ってはいないのですけどね。市場ってのは生き物ですから。そういえば作家の方はMac使いが多い。DTPとかに理由があるのでしょう。

負け犬でもいいじゃない」は子供ならではの考えで、いつまでも子供心を忘れずにいるのは、それはそれで結構なのですが、社会は大人が大部分だということを忘れないで欲しい。自分の考えを人に押し付けるのは控えましょう。常にディベートしている立場ならば別ですが。

[]睡魔が襲う

もうね、ものすごく眠いの。基本的に昼型人間だから、午前1時〜2時の間には寝ることにしているのだけれど、それでも色々ゴソゴソやっていると時計を見忘れて遅くなって、ああ明日ヤバイだろうなあ、なんて考えながら布団に入るわけです。寝溜めが出来たら良いのになあ。

2005-01-12(水) 週末はセンター試験

[]ブログを書くということ

ブログってのは3種類に分類できる。

ニュース系は、1次か2次か(はたまた3次以上)かの違いはあるが、要するにニュース情報を集めてまとめて書いて、感想をつけたり関連情報リンクを付加したりするブログ

日記系は、現在のブログに一番多いのではないかと思われる、日記を書く人の1日や出来事を面白おかしく、または訴えるように書いたりして、小説家エッセイ風味を出すブログ

専門系は関わっている分野の情報を主に1次の立場として発信するブログ。読む方にもある程度の専門性が問われるので、発信情報毎にジャンル分類が出来る。「Weblog」の言葉の意味を正確に取るならば、この専門系ブログが正しい意味でのブログである。

「Web上のメモ用紙」をどう捉えるかによって、やる事は変わってくるので「正しいブログ」ってのはありませんね。

一応、このブログ日記系と専門系を合わせた感じでいきたいなあ、と。

2005-01-11(火) 急がし、忙し。

[]大詰め

研究室の先輩も卒業論文の大詰めに入って、一生懸命Wordとにらめっこをしている。文字に落とす、という表現が正しいかは分からないが、とにかく、やった事や考えた事を文字にするってのは大変な作業だ。

まあ、先生が前々から「書いておけよ」と言っていたのに延ばしてたのも問題と言えば問題なのだが、僕が当事者になれば同じになるかもなあ、と横目で見ております。

ウチの大学は3年生の段階で研究室に配属されるので、生徒の自由がある程度確保されており、やりたい研究をやれる研究室ですが、主に先生は計測制御ということで、ネットワーク経由のハードウェア制御やアクセス制御をごそごそとやるわけです。そうなると、理論は早めに完了し、実践が主な活動になって、数学科とは違って結構ガテン系風景になりそうですが、そうでもない。ドッチなんだと言われると、実はよく分かっていなかったり。プログラミングが主になればやっぱりホワイトカラー風景です。

鳥人間コンテスト」より「ロボットコンテスト」の研究室、といえば非常に分かりやすい。

2005-01-10(月) 成人の日

[]満足

昨日の夜から、つぼ八で飲んで(日本酒)、僕の部屋で飲んで(日本酒)、ジュース飲んだり、ラーメン食べたり、テレビ見たりしてから、ちょっと睡眠した。

起きたら、新宿に出て、マクドナルドジャンクハンバーガーを食べて、HMVで買おう買おうと思って忘れていたMonty Python Singsを購入。紀伊国屋書店で本を見たり買ったりして、ドトールで喋りながら読んで、早めの夕食としておひつ家でご飯を食べて、別れた。

システム開発の仕事もあるんで、ちょっと早い解散となったが、とても楽しかった。久しぶりに歩いたせいか、少し足が疲れた。情け無い。

[]新成人の皆さん、おめでとう。

僕自身はとっくに成人迎えてて、成人式は出席しなかった人なのですが、一般的に成人になるということはおめでたい事なのであります。

1984年生まれが多いということで、「1984年」といえばジョージ・オーウェルの『1984年 (ハヤカワ文庫 NV 8)』が有名です。

1984年に起こった出来事は「グリコ森永事件」、「ロサンゼルスオリンピック」、「新札発行」などがありました。

中々に濃い年だったようですね。

それにしても毎年報道される成人式馬鹿騒ぎは何とかならないものか。

参考:1984年 - Wikipedia

   1984年[ザ・20世紀]

    1984年 / 昭和59年 | 80年代へようこそ!

2005-01-09(日) 日曜日は体を休める

[][]XML-RPC勉強

no titleを見つけた。Pythonをかなりマスターしている中国の方の例です。他のページもすごく勉強になる。

XML-RPCJavaRMIとの決定的な違いは、XML-RPCHTTPプロトコルを使用していて、RMIはJRMP(Java Remote Method Protocol)を使用している点で、だからこそXML-RPCは比較的容易に記述が出来る、という訳だ。

RMIは今の段階で、Sun自身も見放している、というか、IIOP(Internet Inter-ORB Protocol)を組み入れている。将来、他言語との連携を取りたいならばCORBAを選択すべきである、と言った方が良いのかもしれない。

クライアントからのメッセージを返すサーバ(xmlrpcMesServer.py)

01: import sys
02: import SimpleXMLRPCServer
03: class echoServ :
04:  def sendEcho(self,str) :
05:   return 'Serv>>'+str
06: class ServerProc :
07:  def setServ(self,host,port) :
08:   echoObj=echoServ()
09:   server=SimpleXMLRPCServer.SimpleXMLRPCServer((host,int(port)))
10:   server.register_instance(echoObj)
11:   print 'Listen on '+port
12:   server.serve_forever()
13: if __name__=='__main__' :
14:  if len(sys.argv)==3 :
15:   ser=ServerProc()
16:   ser.setServ(sys.argv[1],sys.argv[2])
17:  else :
18:   print "python xmlrpcMesServer.py <host_name> <port_number>"


例:
>python xmlrpcMesServer.py localhost 10000
Listen on 10000
上のサーバにメッセージを送るクライアント(xmlrpcMesClient.py)

01: import sys
02: import xmlrpclib
03: class CliProc :
04:  def setCli(self,host,port) :
05:   print 'Cli>>'
06:   line=sys.stdin.readline();
07:   server=xmlrpclib.ServerProxy("http://"+host+":"+port)
08:   echo=server.sendEcho(line)
09:   print echo
10: if __name__=='__main__' :
11:  if len(sys.argv)==3 :
12:   cli=CliProc()
13:   cli.setCli(sys.argv[1],sys.argv[2])
14:  else :
15:   print "python xmlrpcMesClient.py <host_name> <port number>"


例:
>python xmlrpcMesClient.py localhost 10000
Cli>>
This is TEST.                 #標準入力
Serv>>This is TEST.           #サーバからのエコー

この程度ならすぐ作れる。さてと実用的なものを作ろう。学期末は試験レポートがあったりして中々趣味に時間が掛けられそうに無いのが、来るべき問題と言えば問題。

[]遅すぎ新年会

今日は友人と2人で飯食ってくる。普段プログラミングやら何やらに時間取られて、正月ですらマトモな飯を食ってなかったのでしっかり食べてきます。

2005-01-08(土) ミーハー

[]ドラマ撮影

朝10時半前、大学に行ったらバスとか2、3台止まってて、人が沢山居て、研究棟入口前付近に群を作ってた。自転車で入りたかったんだけど、手前で警備に止められた。

まさかっ立て篭もりかっ、とか、嗚呼あの先生逮捕されたか、とか考えたけど、レフ板とカメラが見えたんでドラマの撮影だと判断。

サークル活動にしては大げさだな、と思ったら、案の定違って、「不機嫌なジーン」っていうドラマの撮影だったらしい(MILKCAFEで検索した)。凄い題名だな。日本ドラマなのか疑ってしまった。

オフィシャルサイトhttp://www.fujitv.co.jp/gene/かな。役者なんて全く知らない。ドラマ金八先生しか見てませんので。

驚いたのは、撮影関係者だけじゃなく、その後ろに寒い中ボケーっと立ってる学生+近所の人たち。朝から暇な奴らだなあ。

国立大学が法人化して、学長も色々考えてのドラマ撮影許可なんだろうなあ、と大人の考えとガキの考えが入り混じった朝でした。

2005-01-07(金) 明日から3連休

[]滝本竜彦=彼女持ち

メディアファクトリー発行の雑誌ダ・ヴィンチ」2月号、P.55〜の特集「オタクの恋」より。

次のページ開いたらいきなり電車男の紹介下に

オタク暦26年の僕にも彼女が出来ました」滝本竜彦

何だこの自己啓発セミナー参加募集広告のような題名は。

しかし・・・葉鍵系エロゲ好きで、ヒキコモリ小説家で、ハゲのあの"滝本竜彦"が・・・。ぐはあ。だからファウストvol.4の「滝本竜彦のぐるぐる人生相談」サボったのか。暇が無かったというのか。合宿で離れていた時間を取り戻していたというのか。くそ・・・くそう・・・。

ちなみに、ダ・ヴィンチの特集は、滝本竜彦の次に大槻ケンヂ羽生生純と文章が続き、その後の後半は読者投稿、オタク分析(まがい)となっています。後半はオタクの味方なのか敵なのかワケ分からん。

[]集団活動

今日は、学校システム設計の授業で色々あったのであまり時間的余裕が無かった。「グループでのソフトウェア開発を実践する」というのは大変良いのだが各個人のレベルの差がどうしても見逃せない場面もあったりして、そういうときはリーダーとしての対処に悩む。「3人寄れば文殊の知恵」ってのが誰も彼もに当てはまらないことを再認識

と、愚痴を書いていても仕方ないのだが、今日したことと言えばその程度の事柄で、「AIR」のアニメが始まっててもBS-i見れないし、ケーブルテレビ地上波に来るのを悶々と待っています。

2005-01-06(木) 寒い上に雨

[][]今更XML-RPC

XML-RPCHTTPプロトコルを使用しXMLメッセージ媒体として利用して、リモート手続きを呼び出す(Remote Procedure Call)ための非常に簡単な方法である。

詳しいことは、はてなキーワードの[XML-RPC]を見る他、用語辞典を参照。

仕様書no titleにて日本語訳で閲覧できる。

SOAPの基礎となっている他、XML-RPCの簡易性からblogP2Pなど様々な面で使用されている。

PythonXML-RPCを利用するにはxmlrpclib、サーバにSimpleXMLRPCServerを使用する。

クライアント例:郵便番号から住所を取得する(yubin.py)

01: import sys
02: import xmlrpclib
03: def main(postnum) :
04:  serv=xmlrpclib.ServerProxy("http://yubin.senmon.net/service/xmlrpc/")
05:  s_obj=serv.yubin
06:  data=s_obj.fetchAddressByPostcode(postnum)
07:  add=data[0]
08:  print "%s %s %s(%s %s %s)" % (add['pref'],add['city'],add['town'],add['pref_kana'],add['city_kana'],add['town_kana'])
09: if __name__=='__main__' :
10:  if len(sys.argv)==2 :
11:   postnum=sys.argv[1]
12:   main(postnum)
13:  else :
14:   print ">python yubin.py <POST_CODE>"


実行例:
>python yubin.py 1130033
東京都 文京区 本郷(トウキョウト ブンキョウク ホンゴウ)

全国郵便番号一覧 - 郵便専門ネットの[WEBサービス]を利用した。

言語では、

最近でXML-RPCを使っていたと言えば、no titleですな。凄まじく醜く単に「短く書いた」ということだけのPythonコード。

JXTAメッセージの交換はXML形式だし、XMLが万能であるというのではなくて、「ネットワークでやり取りする情報XMLで十分」と言う考えが一般的なのかな。タグが増えてバイト数がcsvなどの形式に比べて遙かに多いが、共通性とか汎用性に優れているのは確か。上から決めるトップダウン式の言語仕様ではなく、下を自由に決められるボトムダウン式の言語仕様を、XML曖昧さ(→拡張性の高さ)によって可能にしている。

参考:404 - エラー: 404

[]大学の授業が始まりました。

今日から大学の授業が再開しました。

社会人仕事始めより2日ほど遅いスタートですが、まあ学生身分は気楽だということです。

2005-01-05(水) 方法は無限・知識は有限

[][]スレッドプール復習

Webファイルメールデータベースなどのサーバで動くプログラムは一般的に処理要求数が多く、各処理時間が短い。

そして、同時要求や割り込みなど様々な要因から、一般的にはスレッドで処理が行われる。

しかし、スレッドを要求を受けるたびにスレッドの生成・破棄を繰り返していると、サーバリソースを大量消費し、効率が悪くなる。

それを解決するために、「スレッドプール」という方法がある。

自作HTTPサーバから抜粋。

for(int i=0;i<numThreads;i++) {
  requestProcessor req=new requestProcessor(dir);
  Thread t=new Thread(req);
  t.start();
}

for文でnumThreads数(通常10前後)だけスレッドを生成・スタートさせて、以降の文で

while(true) {
 try {
  Socket sock=servsock.accept();
  requestProcessor.reqProc(sock);
 }catch(IOException e) {
  e.printStackTrace();
 }
}

とすれば、接続要求を出したクライアントのソケットの情報を持って、サーバ側の処理がスレッド内で行われる。スレッド待ち行列によって管理され、1つスレッドが終了すると次のスレッドが実行されるというサイクルを繰り返す。

Runnableを実装したrequestProcessorクラス内ではsynchronized、wait、notify(notifyAll)などを使って、デッドロックや矛盾を防止する仕組みが必要である。ただし、notifyとnotifyAllについては処理の仕組みによって効率が異なるので注意が必要。

スレッドプールを使用する際の注意点を挙げると、

スレッドプールと同様の方法に「ワークキュー」がある。

参考:no title

普通のアプリケーションを作る時には、スレッドについては1人のユーザ視点の検討で済んだが、サーバプログラムとなるとそうもいかない。もっと「方法」を知らないとヤバイかも。方法を作るのは時間が掛かり過ぎるし、知ってないと使いようが無いからな。

[]寒い

昨日とうってかわって寒かった。結露が怖い。

2005-01-04(火) 仕事始め

[][][]シリアルポートからデータを読む

計測制御系研究室なので、こういったことを扱う機会が多い。

研究室パソコンにはPerlとCと、後Javaランタイムしか入って無いのだが、あえてPythonで書いてみる。今年はPythonインストールしよう。

pySerial*1使用。

01: import wx
02: import serial
03: class SerPanel(wx.Panel) :
04:  def __init__(self,parent,id) :
05:   wx.Panel.__init__(self,parent,-1)
06:   sizer=wx.BoxSizer(wx.HORIZONTAL)
07:   txt=wx.StaticText(self,-1,"COM:")
08:   sizer.Add(txt,0,wx.CENTER|wx.ALL)
09:   self.comtext=wx.TextCtrl(self,-1,"1",size=wx.Size(20,20))
10:   sizer.Add(self.comtext)
11:   self.textbox=wx.TextCtrl(self,-1,"",size=wx.Size(280,20))
12:   sizer.Add(self.textbox)
13:   trigbtn=wx.Button(self,-1,"TRIG",style=wx.BU_EXACTFIT)
14:   self.Bind(wx.EVT_BUTTON,self.TrigButton,trigbtn)
15:   sizer.Add(trigbtn)
16:   self.SetSizer(sizer)
17:   self.SetAutoLayout(True)
18:  def TrigButton(self,event) :
19:   comt=self.comtext.GetValue()
20:   comnum=int(comt)-1
21:   ser=serial.Serial(comnum,9600,serial.EIGHTBITS,serial.PARITY_NONE,serial.STOPBITS_ONE)
22:   ser.timeout=30
23:   ser.rtscts=0
24:   ser.open()
25:   sstr=ser.read(15)
26:   self.textbox.SetValue(sstr)
27:   ser.close()
28: class SerApp(wx.App) :
29:  def OnInit(self) :
30:   frame=wx.Frame(None,1,"SerialPortReader",(-1,-1),(380,30))
31:   SerPanel(frame,-1)
32:   self.SetTopWindow(frame)
33:   frame.Show()
34:   frame.Fit()
35:   return True
36: if __name__=='__main__' :
37:  app=SerApp()
38:  app.MainLoop()

21行目はser=serial.Serial(comnum)でもいいし、23行目は省略可。あえて明示させた。ポート番号は0から始まるので、COM1を開く時には入力窓に「1」と入力させてから1引く(19-20行目)。22行目でタイムアウト30秒、24行目でポートをopenして、25行目で15バイト読み込み、27行目でclose。wxPython*2GUIについては省略。py2exe*3でexeにしてから使う。

ついでに他言語で。

うーん。やっぱりPythonが1番使いやすい。Javaはちょっと神経質な感じ。

[]今日は暖かいですね。

道路の凍ってた雪も溶けちまいました。

何度滑ってコケかけたことか知れませんが、無くなるとちょっと寂しい。

2005-01-03(月) はじめまして

[]西尾維新新刊発売!

[太田の小部屋]

ついに! ついに!! ついに!!! 発売が決定しました!!!! 

西尾維新さんの<戯言シリーズ>最新作、『ネコソギラジカル(上)十三階段』は二月に発売です!

以下略

講談社メールマガジン[ミステリーの館2005年1月号

2ちゃん風に、キタ━━━━━(゜∀゜)━━━━━ !!!ってヤツです。

ファウストvol.3に「9月発売予定!」と載り、約半年。待たされました。

「竹死亡」「太田兄貴が重大ミス」などと噂されておりましたが、やっと出る・・。

細かい日付は未定のようです。

とにかく製作サイドの皆さん、お疲れ様です。そのまま順調に中・下巻と頑張ってください!

始まりです。

本日1/3から「はてなダイアリー」に参加します。

学内サーバ日記を書き続けていたのですが、mixi参加を期にblogも始めてみた次第です。

どうぞ、よろしくお願いします。

2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2017 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
Connection: close