2015-01-01から1年間の記事一覧

AWS LambdaのPython版をいまさらながら使ってみた

ので、導入の時に迷った点を残しておく。 pythonで用意するエントリポイントのファイル名や関数名は自由 (ただし、Configuration#Handlerで"ファイル名.エントリポイント関数名" で指定する必要がある) エントリポイントの関数の第一引数は基本dict形式でイ…

Amazon Linux上のOpenJDKをアップデートするとTimeZoneのデフォルトがおかしくなったというお話

はじめに Amazon Linuxで動作するJavaのWebアプリケーションを動かしていたんだけれど、アップデートをするとどうにもログの出力日付がおかしい。 ということで色々調査してみてた結果、以下のTimeZoneのデフォルト値(取得方法は下記のソースコードを参照)が…

Eclipse BIRTのレンダリング時にReport Parametersによって読み込む固定ファイルを変更する

シナリオ レポート生成ツールとしてEclipse BIRTを利用している 多数のCSVファイルが存在する BIRT Serverへのリクエスト時に引き渡す値によって異なるCSVファイルを読み込んで出力したい CSVを読み込むには 以下、BIRT用のEclipse Designerを利用しているこ…

Amazon SQSでVisibility Timeout中のメッセージを消す方法

AWS

Amazon SQSのキューからメッセージを取得した場合、Visibility Timeoutという期限が設定されてこの間にはメッセージを受信した時に取得したReceiptHandleを利用しない限りVisibility Timeoutの再設定およびメッセージの削除を行うことができない。Visibility…

matplotlibで円グラフを書く

タイトル通りだが、実際にやってみると幾つかうまく行かないところがあったのでメモ。 そもそも円グラフを書くには plot.pie あるいは axes.pie関数を利用する。http://matplotlib.org/examples/pie_and_polar_charts/pie_demo_features.html

commons-codecのBase64に改行が入ってくる

紆余曲折、うまく行かないことを調査していくとBase64.encodeの結果に改行が入っているというところに行き着く。Javaでcommons-codecのBase64クラスを使ってたんですが、このencodeBase64Stringメソッドがバージョンによって戻ってくる文字列のフォーマット…

Amazon Linux で yum に失敗する

Amazon Linuxを仕事で使っていると、誰もが一度は通る道。インターネットには接続できるのに、Amazon Linux上でyumコマンドのどれを実行してもタイムアウトになってしまうことがある。yumが使えないという場合の大半の事象がこれで良く聞かれる上に結構汎用…

AWSCLIではまったこと

AWS

awscliを普通のbashとかと同じ感覚で使ってはまったのでメモ。一般に、bashとかだと . とか .. がパスの間に挟まってもそれを解釈した上で処理してくれる。これは、srcやdestとして使ってもおんなじ。 # 以下の2文は同じ結果を返す ls /var ls /var/./log/..…

DynamoDBのテーブル存在チェック

DynamoDBのテーブルの存在チェックをする方法。 ListTableを利用する 一番簡単なのはListTableを実施して、その中にお目当てのテーブルがあるかどうかを見ればよい。 def exists_table(table_name, connection): return table_name in connection.list_table…

SQSでメッセージ受信回数による処理切り分けをしたい

SQSのVisibility Timeoutを使って再実行をするのはいいんだけれども、無効な命令が投げられてたりした場合には有限で終了して欲しいので、それを実現するにはどうすればいいのかというお話。幾つか方法はあるけれども、主に考えられるのは2つ。 MessageのAtt…

FirefoxをverupするとSeleniumが動作しなくなった

Windows7/Firefox36/Python2.7/Selenium2.39で発生。昨日まで動いていたプログラムがFirefoxのバージョンを上げた結果、以下のようなエラーメッセージを発して失敗するように。 ... File "C:\lib\Python27\lib\site-packages\selenium-2.39.0-py2.7.egg\sele…

matplotlibでうまく行かなかったこと

グラフを生成するライブラリとして、matplotlibを利用してみた。かなりやりたい事が手軽にできたのだが、1つのプログラム内で大量の画像を生成しようとすると以下のような警告がでる。 /usr/lib/pymodules/python2.7/matplotlib/pyplot.py:412: RuntimeWarni…