Java

JMeter WebDriver Plugin を使ってみた

はじめに http://jmeter.apache.org/index.htmlApache JMeterは主にWebアプリの負荷テストで使用されるツールです。 基本的にはシナリオにしたがってリクエストを投げて、想定どおりのレスポンスが戻るまでの時間を測定し、集計するというツールですが、ユー…

java.util.TreeMapとjava.util.Comparatorの罠

ちょっと職場で引っかかったコード。java.util.TreeMapのコンストラクタにはjava.util.Comparatorを渡すことが出来て、エントリの並び順を細かく制御することができるけど、それでハマったのでメモ。環境はjava8 import java.util.Comparator; import java.u…

SwaggerでREST APIドキュメントを生成する

2016/06/24 追記 www.itmedia.co.jp今のところまだこの脆弱性の対策版がリリースされていないので注意。 だいぶ昔にJersey(JAX-RS参照実装)についての記事を書いてからずっと気になっていたんですが、せっかくアノテーションを使ってURLとメソッドとの間に…

JmxHeapWatchDogで出来ること

前回の続き。ka-ka-xyz/JmxHeapWatchDog · GitHubJmxHeapWatchDogでどんな設定を行えば良いのか、どんなことが出来るのか、サンプル的にまとめ。サンプルとして、JmxHeapWatchDogのJavaVM自体を監視してみる。 1. JmxHeapWatchDogのインストール GitHubから…

Jmxで取得したJavaVMメモリ使用状況をcsvに出力するWindowsサービス(中の人はJava)を書いた

前回の続き。ka-ka-xyz/JmxHeapWatchDog · GitHub Windowsサービスとして常駐してcsvファイルへひたすらJvmの使用状況を書き込んでいく。まあ、家で仕事後の僅かな時間を使いつつ一週間程度の突貫工事で書き上げたんで(今のところ)品質はお察し状態。バイ…

JmxでリモートJVMからMxBeanを取得するサンプル

追記 2014-03-30 取り敢えず作ってみた。 Jmxで取得したJavaVMメモリ使用状況をcsvに出力するWindowsサービス(中の人はJava)を書いた - ka-ka_xyzの日記 最近PHPの泥沼(いやPHPをDisっているわけではなく、PHPで書かれたレガシーコードが激しく腐海と言う…

Jetty 9.0.3でWebSocket

Jetty 9 – Updated WebSocket API | Jetty & Cometd Blogsを基にWebSocketサンプルを作成したものの、微妙にAPIのパッケージ名が変わっていたりして混乱したので、ちょっとメモしてみる。とりあえずpom.xml(maven v2.0.9で動作確認)

Java6と7でPropertyDescriptorの動作が微妙に違う互換性バグ

PropertyDescriptorはJavaBeansのsetter/getterメソッドを扱うクラスです。PropertyDescriptor (Java Platform SE 6)使い方については以下を参照。Javaリフレクションメモ(Hishidama's Java Reflection Memo) 一言で言うと、JavaのBeanクラス(に限らず、POJ…

C#の敷居の高さ・低さについて補足

(本当なら大問題)高木浩光先生による「遠隔操作ウィルス事件の容疑者が、C#での開発経験が無かった可能性」に関する考察 - Togetter について、こんなかんじのブクマコメントを書いたけど書ききれない部分について補足 @ka_ka_xyz: C#は元々学びやすく、慣…

継承関係を持つクラスで流れるようなインターフェイス

(AA記法の問題については別エントリにまとめました。) 流れるようなインターフェイス(fluent interface)とは setterで戻り値をvoidじゃなくてthisを戻すようにするとメソッドチェーン出来て便利ですねという話。Martin Fowler's Bliki in Japanese - 流れ…

WindowsサービスでWebmail Notifierを制御するユーティリティを作ったけど半年以上忘れてたので紹介

ka-ka-xyz/JavaUsbNotifierUtility · GitHubjava6以降で動作。Windowsサービスとして常駐し、configファイルの内容を見てUSBランプ(Webmail Notifier)を制御します。詳細はreadme参照。たとえばCScriptでheadlessなIEプロセスを起動してWebアプリケーショ…

至高のORMを求めて放浪

まえがき この記事はオブジェクト関係マッピング(ORM)を実装する方法がどうこうという話ではなく、単に愚痴です。 事の起こり 社内の新規プロジェクトで 「具体的な機能要件もUIも決まっていないが、新規公開サービスについてある機能(といってもそれなり…

JerseyでFreeMarkerを使うには(その2 jersey-freemarkerモジュール改造)

前回、jersey-freemarkerモジュールでデフォルトエンコーディングが指定されていないため、文字化けおよび例外が発生することを確認しました。では修正してみましょう。とりあえず公開ソースを見る限りGPLまたはCDDLのデュアルライセンスなので改変はOKと。 …

JerseyでFreeMarkerを使うには(その1 jersey-freemarkerモジュールがダメな件)

FreeMarkerはJava製のテンプレートエンジンです。Javaのテンプレートエンジンというとapache velocityがメジャーですが、記述の仕方はFreeMarkerの方がすっきりしています。 また、jerseyの公式がmavenリポジトリに公開しているjersey-freemarkerモジュール…

ClassLoader#loadClassのよく分からない非互換?問題

Javaは過去バージョンからの互換性を重視しており、まあ普通のコードを書いていれば滅多に互換性が問題になることはありません。リリースノートの互換性事項をチェックしていれば、普通は大丈夫です。Oracle Technology Network for Java Developers Java SE…

RhinoでjQuery

Htmlパーサーとか、Javaでゴリゴリ書くよりも明らかにJavaScript(+jQuery)で書いたスクリプトファイルをRhinoで実行したほうが楽そうなので、Rhino上でjQueryを実行する方法を調べてみました。 前提条件 JVM組み込みのRhinoではなく、MozillaのRhino実装(現…

JavaからUSBランプを光らせてみる(DL100B Dream Cheeky Generic Controller編)

2013/2/14追記: WindowsサービスでWebmail Notifierを制御するユーティリティを作ったけど半年以上忘れてたので紹介 - ka-ka_xyzの日記 前回、単色でしか発光しないWebMail Notifierを掴んでしまい、あわてて三色発光するタイプのものを買ったのですが、新た…

JavaからUSBランプを光らせてみる

続編あります。2013/2/14追記: WindowsサービスでWebmail Notifierを制御するユーティリティを作ったけど半年以上忘れてたので紹介 - ka-ka_xyzの日記 Webmail windowというUSB接続のLEDランプを制御するプログラムを作りました - ashelの日記 ↑を読んでて、…

CassandraのクライアントAPI Hectorを触ってみた。

前回に引き続き、6割仕事4割趣味なタスクでCassandraを扱う必要が出てきて、どうせなら生のAPIじゃなくてHectorを使ってみようかと思ったのでメモ。 日本語文献がないどころか英語でも詳細な解説が少ないので、説明不足な部分もあるかと思います。というかAP…

あざといなさすが○racleあざとい

注:タイトルは○racleへの批判では無いです。(参照)職場で使ってるHudsonをもうそろそろJenkinsに移行しようかなあと情報収集してて気付いたことのメモ。Hudson Change Log Hudsonが4/21付けでv1.398からいきなりv2.0.0へバージョン番号が大スキップ。 Cha…

SimpleとJAXBの使いどころ

前回、JavaクラスとXMLを簡単に相互変換するためのライブラリとして"Simple"を取り上げたが、良く考えないでもJAXB実装を使えば同じようにアノテーションをベースにした相互変換ができる。 じゃあ、そもそもSimpleなんて使う意味が有るのか?とツッコまれそ…

XMLシリアライズ・デシリアライズライブラリ"Simple"

職場で"XML設定ファイルの仕様+実物を作って欲しい、もちろん急ぎで。"とか言われたものの、スキーマ定義書くのも面倒だしテキストエディタでXML書くのも冗長でめんどくさい。JavaのオブジェクトをそのままXMLに落し込みたいなあ・・・と思って色々とライブ…

Automatic Resource Managementについて

Java7で導入される新機能"Automatic Resource Management"(自動リソース管理?)について、InfoQに記事が上がっていたので、試してみた。InfoQ記事: Automatic Resource Management in Java Automatic Resource Managementって何? Java7で追加される新構文…

Jerseyに触ってみる

せっかくの夏休みなんで、JerseyでRESTfulなWebサービスとか作る練習とかしてみようといろいろ調べ中。 Webアプリケーションの作成 とりあえずは Jersey, Jetty and Maven: HelloWorldに従ってEclipse上でアプリケーションを作成。こういう時にpom.xmlを写せ…

javaからGmailにアクセス

java上からGmailにアクセスしたいと思ってちょっと調べてみたのでメモ。 まず初めに見つけたのがこのライブラリg4j - GMail API for Java http://g4j.sourceforge.net/ (ライセンスはGPL)で、試してみたものの、現行の最新バージョン(0.3.11)を使って動…

Elapsed timeとLatencyって何が違うのさ

最近JMeterを使ってて気になった部分をメモ。 JMeterはJava製のWeb向け負荷テストツール。この手のフリーなツールとしては代表的なもので、日本語での解説も多い。JMeter(高機能/フリーなテストツール)第1回:JMeterの基本 -Java Apache/Jakarta Project- TE…

"ポリモーフィズム==ガチャピンチャレンジ"説

コラム「システムエンジニア 生き残りの極意」でちょっとした祭りになっている件 - babydaemonsの日記 ポリモーフィズム(多態性)を知らずにオブジェクト指向という単語を口にするなー!!! という悲痛な叫びを読んでふと思い出したのでメモ。 以前、会社…

SJC-P認定取った

Sun認定Javaプログラマ資格(SJC-P)をゲト。今更という気もするが、まあ持たないより持ってた方がいいか。インセンティブも出るっぽいし。 それにしても、通ったは良いが微妙な点数だなあ。悪くは無いが良くもなし。そこそこ。次は何を齧ろうか。Scalaあた…