2015-01-01から1年間の記事一覧
抽象クラスを作成して、http://d.hatena.ne.jp/matasaburou/20151003/1443882557を作成。 Python3で動作確認済み。 Python2で動かす場合は下記が必要。 「from http.server」ではなく「from BaseHTTPServer」にする styleの違いでエラーが出るので、ABCとabs…
Gmailサーバー経由でメール送信。 2段階認証を有効にしていない場合、安全性の低いアクセスを許可してもうまくいかなかった。 2段階認証を有効にしている場合、パスワードは2段階認証時のパスワード。python2.7からau(ezweb.ne.jp)への送信確認済み。 # codi…
レスポンスから取得したJSONを出力 import sys import json from http.server import BaseHTTPRequestHandler, HTTPServer # #リクエストからJSONを取得し、整形して出力します。 # class JsonResponseHandler(BaseHTTPRequestHandler): def do_POST(self): …
pythonは標準でhttpサーバーが入っているということで、触ってみた。 必要なソフトウェア インストール、設定方法は割愛。 Python3.3.0 curl curlはHTTPリクエスト送信用。 送信するJSON {"user" : "test", "type" : "test", "params" : {"id" : 1234, "data…
snmptrapコマンドのインストール、設定については割愛。 snmptrapコマンド snmptrap -v 2c -c community 127.0.0.1 '' .1.3.6.1.6.3.1.1.5.3 .1.3.6.1.6.3.1.1.5.3.1 s "test message" 「1.3.6.1.6.3.1.1.5.3」はlinkDown。 v2cではオプションとして送信先し…
クエリログを出力する。いずれも設定はmy.cnfにて設定する。 MySQLのバージョンは5.6.19。 結合テスト環境でログ出力でき、ロールバック前のクエリがどこまで発行されているか確認することができた。 ログファイルに出力 [mysqld] log=/var/log/mysql/query.…
mockito(1) スタブ的に使う - 基礎からのjavaの続き。 verifyメソッドで呼び出し回数のチェック。 例外を発生させ、キャッチした例外が想定通りかチェック。 (@Test(expected=XXX.class)では型のチェックしかできないのでキャッチしています)あわせてテス…
テスト環境にて、システムからクエリが発行されているか不明だったため、tcpdumpでパケットをキャプチャしてクエリがシステムから飛んできているか確認した。手動実行したバッチ以外にクエリ発行するプログラムがいない環境だったため、DBサーバーで以下のコ…
ボタンを押して時刻を取得するサンプル。 初回アクセスで時刻を表示して、ボタン押下時にjsonから取得したデータで時刻を更新する。 jsonの生成には、struts2のjsonプラグインを使用。アクションをそのまま利用してjson作成できるのが便利。(とりあえず時刻…
DAO依存のクラステストが面倒 テスト対象のクラスAがDAOクラスBに依存しているような場合、テストデータをDBにあらかじめ登録する必要がある。 dbunitのようなファイルからレコードを読み込むフレームワークはあるが、DAOではないクラスAのテストのためにレ…
データベース処理テスト用のdbunitですが、エクセルからの読み込みがうまくいかずハマる。 ハマりポイントは以下の4つ。 データの間に空白があるとダメ 以下のように、空白のセルがあると「NullPointerException」となる。 no name age 1 tarou 20 2 (空) 2…
アクション呼び出し前のFilterDispatcherあたりでNullPointerException アクション呼び出し前の事前処理でNullPointerExceptionが発生し、 アクションのexecuteメソッドが呼び出されない問題。基本的な設定やファイル名について確認しても解決しなかったので…
web.xmlにを追加する。 パラメーターの単位は[分]。
独自のインターセプタを作成し、アクションの処理に移る前に処理を横取りする。 独自インターセプタでは、セッションに情報を入れて結果画面に遷移する。(1)struts.xmlでインターセプタを定義。 interceptor-stack内でmyInterceptorを後に定義。逆の順番では…
SessionMapを使ってセッションを扱う。
xmlでバリデーション設定をする。 アクションクラスにはvalidateメソッドは実装しない。(1)struts.xmlには必須。 <struts> </struts>
サーバーサイドでバリデーション。 具体的にはアクションクラスにvalidateメソッドを実装する。(1)バリデートした結果、問題があれば"input"が返ってくるため、 struts.xmlに記述を追加。(遷移先は入力画面)
アクションクラスのオブジェクトが持つメンバに値を渡す。(1)アクションクラスにアクセサを追加 import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport { private InputModel model = new InputModel(); @Override …
リスト構造のデータをまわして取得する。 ついでにifタグも使ってみる。(1)リストに挿入するInputModelオブジェクトにメンバ追加 import java.io.Serializable; public class InputModel implements Serializable{ private String username; private String …
フォームから受け取ったパラメータのアクセサをModelDrivenで分離する。 アクション内にはmodelのアクセサだけでよくなる。(1)パラメータを保持するクラスを作成する(InputModel.java) import java.io.Serializable; public class InputModel implements Ser…
テキスト入力フィールドに入力された文字を送信すると、 結果画面で入力された文字を表示するサンプル。 (1)struts.xmlにアクション定義を追加。 <struts> </struts>
仕事で触るtomcatはtomcat7が多いので、tomcat7でいろいろやってみる。 内容的には公式チュートリアルを見るのが間違いないと思います。 (1)動的webプロジェクト作成 「web.xmlデプロイメント記述子の生成」にチェック (2)WebContent/WEB-INF/libに以下のフ…
・crontabエラー出力 通常だと、cronのエラーが記録されないため、明示的に記述する。 0 0 0 0 0 test.sh 2>log.txt・ログのローテート logrotate・コマンドを探す which・環境変数 printenv