2012年04月

組込みブローカなActiveMQでJMSの口を設けて色々なアプリからのTweet要求をどばどば受け、こいつがF5攻撃にならぬ用に適当な時間を置いて投稿する寸法。またTwitter鯖はしばしば落ちてるから本処理と影響を分離もしたいし。
まずはアフィ更新アプリに組み込んだ。果たして明日の11時前後にアフィサイトの更新情報が良い感じに投稿されるだろうか*1

ステータス書き込みAPIの回数制限 3時間当たり125回。リセットされるまでの時間は明らかになっていません。Twitter側の都合で、40〜60回程度で規制がかかってしまうこともあるようです。

http://sourceforge.jp/projects/tween/wiki/API%E5%88%B6%E9%99%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

3時間あたり125回か。たまに引っかかる事があるかも知れないな。とりあえずなんというエラーメッセージテキストが返ってくるかログを取っておかないと。んでエラーコードによって50xだったら1時間位スリープするとか401だったら諦めるとか。→この辺のリミットはレスポンスヘッダに入ってるらしい。
この統合Twitterクライアントプロセスがいい感じに枯れた暁には、アフィ情報チャンネル専用アカウントを取得して、日がな一日、更新情報とお勧めとか各機能毎のボットで流しまくりによる所得倍増計画な列島改造論。
…と思ったが…

Twitterプラットフォーム上での広告に関する件については思索中です。私たちは、関心がある製品について話し、促進したいという個人や企業を全力で奨励しサポートしています。と同時に、全てが自動化されたアフィリエイト目的のスパムアカウントも数多く目撃しています。

https://support.twitter.com/articles/237504-

んーむ。はっきりしないが、更新情報専用アカウントだとスパムアカウントっぽくなる気もする。しかし自分のアカウントでやって、何かヘマして凍結されると嫌だし。つか見る方も情報専用のチャンネルの方が便利じゃないのかなー。

*1:5/1の朝は投稿されてなかった模様。ぬぅ。どうもそもそもJMSサーバにリクエストが送られて無い臭い。週末帰宅したら直そう。手元では上手く動いたのでクラスパス設定か何かミスったのだろう。initalcontextあたりも怪しい。切り分けの為に単純なJMSクライアントの定期起動か

このエントリーをはてなブックマークに追加

いや混んでるだろうな、とは思っていたが、混んでいた…。

このエントリーをはてなブックマークに追加

…まぁ…アルバトロス映画。
体長30〜300m位(場面によって適当に変わる)の巨大鮫が魚雷をものともせず戦艦や潜水艦を丸かじりする等で暴れまくり、一方、今回新登場の、どこぞの南方から卵で持ち込まれた体長30〜300m程の巨大鰐が、戦車の砲撃をものともせず人間を食いまくり。
米軍は巨大鰐の卵を餌に、鮫と鰐を同じ運河に誘き寄せて、両雄並び立たず、双方共倒れ…を狙った訳じゃなく、一気に爆撃作戦なんだけど、なんで一気に…。しかも効かないし。
ちなみに作中じゃクロコザウルスなんて単語は出て来ない。メガシャークも最初の一回きりで、登場人物はみんな「鰐!」「鮫!」と呼ぶ。誰も「亀!」と言わないガメラとは大違い。

メガ・シャーク VS クロコザウルス [DVD]メガ・シャーク VS クロコザウルス [DVD]
アレクサンダー・イェレン

アルバトロス 2011-06-03
売り上げランキング : 74767

Amazonで詳しく見る
by G-Tools

このエントリーをはてなブックマークに追加

買い物に出かけ、帰りにラーメン食った。
店員が「こってりとあっさりどちらでしょう?」と異な事を聞くので、何となく「こってり」の方が濃度が高い分だけお得な気がして、私はこってりにしたんだけど、確かにクリームシチューのようなドロリとしたスープだった。
腹持ちが良すぎて晩御飯が喉を通らない。しかも何か今頃おなか痛くなってきた。
それにしても何時の頃からか、ラーメンが高価になってきたな。昔は安い食い物だったんだが、今じゃ定食が食える値段。

このエントリーをはてなブックマークに追加

JavaからC/C++のDLLを呼ぶ規格、JNI(その逆も)。
例によってHello Worldから始まり、文字列の扱いやスレッドの扱いとか気になるポイントが、要を得たサンプルで洩れなく判り易く説明されてるので、JNIに関わりそうな人は必読だろう。
ところで無料のWindows SDKってDLL作れたかしら。私のPCには「Visual Studio 2005 Standard Edition アップグレード」があるが会社PCには無い。

JNI:Java Native Interfaceプログラミング―C/C++コードを用いたJavaアプリケーション開発 (Java books)JNI:Java Native Interfaceプログラミング―C/C++コードを用いたJavaアプリケーション開発 (Java books)
ロブ ゴードン Rob Gordon

ピアソン・エデュケーション 1998-10
売り上げランキング : 308718

Amazonで詳しく見る
by G-Tools

このエントリーをはてなブックマークに追加

で6時間程立ち続け草臥れた。
普通、鯖部屋にはどの会社でも何となく車輪付き事務椅子かパイプ椅子がそこかしこにいい加減に置かれてて適当に引っ張ってきて使うものだが、なんであそこには無いんだ…。整理整頓行き届きすぎ。
そしてサーバルームに長居すると風邪を引きがちだが案の定…最悪。
ちなみに今まで見た一番酷いサーバルームは空調が貧弱で室温40度、何か電源装置(?)っぽいものの温度警告ブザーがブーブー部屋中に鳴り響きっぱなしという凄い所があった。まぁ弊社の某ビルだが。

このエントリーをはてなブックマークに追加

のOPって実は、微妙にしりとりアニメになってね?

このエントリーをはてなブックマークに追加

今日、プロセスのCPU使用率とかメモリ使用量をグラフにしようと、5秒ごとにps auxを取るシェルを作った。

USER PID %CPU %MEM VSZ  RSS  TT  STAT STARTED    TIME COMMAND
-------- 
2012/4/12 23:00:00
hoge 895  2.0  0.1 904 1288  ??  S    11:33PM 0:00.02 /usr/loc
root   1  0.0  0.0 552  208  ??  SLs   7Oct03 0:18.52 /sbin/in
root   2  0.0  0.0   0    0  ??  DL    7Oct03 2:50.83  (pageda
root   3  0.0  0.0   0    0  ??  DL    7Oct03 0:00.32  (vmdaem
root   4  0.0  0.0   0    0  ??  DL    7Oct03 1:19.56  (bufdae
root   5  0.6  0.0   0    0  ??  DL    7Oct03 1:28.35  (syncer
(略)

2012/4/12 23:00:05
hoge 895  2.0  0.1 904 1288  ??  S    11:33PM 0:00.02 /usr/loc
以下略

↑こういう感じのファイルが取れたので、これをエクセルでグラフにする時に便利な様に、特定プロセスのだけ抜き出して

proc=loc
DateTime , #CPU , VZS , RSS , TIME
----------------------------------
2012/4/12 23:00:00 , 2.0 , 904 , 1288 , 0:00.02
2012/4/12 23:00:05 , 2.0 , 904 , 1288 , 0:00.02
以下略

↑こういう形に変形したかった。

# -*- coding: utf-8 -*-
import glob
import sys

procname=""
sampletime=""

def parce(line,fw):
  #print(procname+" "+line)
  global sampletime
  if line.find("2012/")>=0:
    sampletime = line.strip()
    #print(sampletime,line)
  else:
    if line.find(procname)>0:
      items = line.split()
      # 時刻 , #CPU , VZS , RSS , TIME
      outtext = sampletime+" , "+items[2] +" , "+items[4]+" , "+items[5]+" , "+items[9]
      print(outtext)
      fw.write(outetext+"\n") #<-----ここ20行目outtextをoutetextとタイプミスしてる


def exec1file(filename):
  outfilename=procname+"_"+filename+".csv"
  print("inputfile= "+filename+" outputfile="+outfilename)
  fw =open(outfilename,"w")
  fw.write("proc="+procname+"\n")
  fw.write("DateTime , #CPU , VZS , RSS , TIME\n")
  fw.write("----------------------------------\n")
  f = open(filename)
  for line in f.readlines():
    parce(line,fw)
  f.close()
  fw.close()

#メイン
#global procname
argvs = sys.argv 
procname = argvs[1]
print("prcname="+procname)
filenames = glob.glob( "*.txt" )
for filename in filenames:
  try:
    print( "file="+filename )
    exec1file( filename )
  except:
    print( "Error="+file )
    traceback.print_exc()

というPythonファイルを作った。

      fw.write(outetext+"\n") #<-----ここ20行目outtextをoutetextとタイプミスしてる

タイプミスしてな。
で、実行するとエラーが出るんだが、

prcname=loc
file=input.txt
inputfile= input.txt outputfile=loc_input.txt.csv
2012/4/12 23:00:00 , 2.0 , 904 , 1288 , 0:00.02
Traceback (most recent call last):
  File "test.py", line 45, in <module>


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 47, in <module>

表示されるエラー行が、問題の20行目にはかすりもしない。結構print入れて探し回ってしまった。
Javaなら実行時どころか、Eclipseで入力する傍からoutetextの部分に赤く下線が引かれて検出される所。
まぁJavaだと手元で作ってjarにして…と面倒は面倒だが。

このエントリーをはてなブックマークに追加

黒岩知事と言えば「知っているか!」

このエントリーをはてなブックマークに追加

セーターがむしろ暑い
だがしかしまだ風邪ひいてる。

このエントリーをはてなブックマークに追加

↑このページのトップヘ