昨日の日記(id:torutk:20121019)で、nativeメソッドSystem.nanoTime()のWindowsでの実装を調べ、その実装で使用しているWindows API QueryPerformanceCounterをC/C++コードで動かすことで分解能(周波数)とAPIの処理時間を取得しました。 そのためには、Windows APIを呼び出せるC/C++開発環境*1をセットアップする必要があります。また、Javaにはネイティブコード(C/C++)を呼び出すためのJNIという仕組みが標準装備されていますが、これもC/C++開発環境が必要となります。 そこで、既存のCライブラリ(Windows APIなど)をJavaから直接呼び出すことができるJNAライブラリを使用してみました。JNAを使えば、JNIのようにC/C++コードを書かなくて済みます。 JNAライブラリの入手 JN
jnr-ffiとは? JavaからCを呼び出す、と言えばJNIだが、C側にJNI固有の処理を書いたりするので結構めんどい。 jnr-ffiというフレームワークを使うと、C側の関数をそのままJavaにマッピングして呼べるらしい。 具体的には、C側に int length(char *s) のような関数があると、Java側から int length(String s) というほぼそのままのメソッドで呼び出せてしまう! という訳で、今回はこのjnr-ffiを実際に試してみる。 jnr-ffiをダウンロードする jnr-ffiを使うには、jffiやasmも必要だ。 mavenなどを使わず手動でダウンロードする場合は、以下からダウンロードできる。 http://search.maven.org/#artifactdetails|com.github.jnr|jnr-ffi|2.0.3|jar htt
JNA supports a direct mapping method which can improve performance substantially, approaching that of custom JNI. Method signatures are the same as they would be in a JNA interface mapping, but they can be any static or object methods. You only need register them within the static initializer of the defining class, as in the example below. The Native.register() method takes the name of your native
これはJavaFX Advent Calendar 2014の4日目の記事です。 昨日は@boochnichさんのScene Builder 2.0.1をビルドするです。 明日はsoutokuさんのJavaFXでWYSIWYGエディタを作るです。 JavaFXアプリケーションを作るときに、FXMLを用いると比較的見通しがよく、メンテナンスしやすいアプリケーションが作れると思います。 これはSwingなどでアプリケーションを作ったことがある方なら、だいたいわかると思います。 ただ、アプリケーションが大きくなり始めると、FXMLファイルが複雑になって、メンテナンスが難しいものになってしまうのではないかと思います。 というわけで、僕がJavaFXアプリケーションを作るとき(めったに作らないけど…)は、FXMLを極力小さく作るようにしています。 例 ここでは例としてドラクエXでくじ引きした時にカウ
Android アプリ開発をやり初めてから Java にまた慣れてきたこともあって、今度は Jenkins の Plugin を作ってみたくなった。 Jenkins のプラグインを開発するためには何が必要か調べてみた。だいぶ前に調べたときは maven が必須だったはずだけど、いまは Gradle を使ってビルドできるそうだ。 具体的な方法はこの Wiki のページに書いてある。その内容を適当に訳したものを以下に書いておく。 必要条件 Gradle 1.0 milestone 6 以上 プラグインが Jenkins 1.420 以上を対象にビルドされること 初期化 プラグイン用のプロジェクトディレクトリは、プラグイン名が foo だったら、foo または foo-plugin にする必要がある。そして、build.gradle に次の内容を書く: apply from:"https://r
$> cd /your/git/repo $> git bugspots -d 500 .. example output .. Scanning /git/eventmachine repo Found 31 bugfix commits, with 23 hotspots: Fixes: - Revert "Write maximum of 16KB of data to an SSL connection per tick (fixes #233)" for #273 - Do not close attached sockets (fixes #200) - Write maximum of 16KB of data to an SSL connection per tick (fixes #233) - Merge branch 'master' into close_sched
One behalf of the Spring Boot team, and everyone that has contributed, I am pleased to announce that Spring Boot 1.3.0 has been released and is available now from repo.spring.io, Maven Central and Bintray. This release adds a significant number of new features and improvements and builds on the latest release of the Spring Framework. For full upgrade instructions and "new and noteworthy" features
Spring Bootは単体テスト機能もついてます。 35. Testing Spring Bootでコントローラの単体テストをするには、まず単体テストのクラスをアノテーションでいろいろ飾ってやる必要があります。 package okazuki.validationEdu; import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnit; import org
おしゃれに関してさらにこだわりが出てきた夏生さん。最近では、着心地にもこだわるような発言も出てきました。そんな夏生さんが気に入っている靴がニューバランスです。春頃から履いていた、別メーカーのスニーカーが少しきつくなってきて、「新しいスニーカー買わなきゃ!今度はまたニューバランスがいいなぁ。」と言うので、探しにでかけてみました。 そして、夏生さんが一目見て気に入ったのが、こちらの「ニューバランスKS574」です。「お母さんの履いてるのと似てるし、色もかっこいいよ!」と目をキラキラさせる夏生さんに「だめだめ、このスニーカーはひもを結ぶんだよ。ひもは面倒だから、もうちょっと大きくなってからにしようよ。」と言ったものの、よく見るとひもの結び目がない!伸び縮みするゴム素材の紐が使われている、スリッポンのように楽に履けるスニーカーでした。 タンの裏には太めのゴムが入っていて、足にぴったりフィットするよ
(注:2015/11/18、記事およびタイトルを一部修正いたしました。) CNN.com で働いていた2012年6月に、大統領選挙投票日の夜のユーザエクスペリエンス(以後UX)のデザインを任されました。私はそれからの6カ月間を投票日の夜のための仕事に専念しました。しかし、仕事が成功するかしないかは、選挙結果に関係はありませんでした。私が懸念していたのは、情報の見つけやすさやデータの見やすさ、canvasでのオブジェクトの変形、そして一体どのようにしたら、iPhoneでマウスオーバーのフライアウトが動作するのかでした。CNN.com史上初めてWebデザインをレスポンシブにすることにしたのです。さらに史上初めて私が、その デザイン を担当することになったのです。 大きな賭けでした。CNN.comにとって大統領選挙投票日の夜と言えば、スーパーボウル(プロアメリカンフットボールの優勝決定戦)の日曜
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く