torutkのブログ

ソフトウェア・エンジニアのブログ

Java

Androidアプリケーションプログラミングを5年振りに

はじめに Androidアプリケーションのプログラミングは5年前に半年ちょっと程の期間取り組んで以来となります。 2015年初頭のAndroid開発環境は、最新OSがAndorid 4.4(KitKat)から 5.0(Lollipop)になった頃で、開発環境はそれまで主流のEclipseからAndroi…

jlinkのオプション指定でカスタムJREのサイズ削減

jlinkのオプション指定でカスタムJREのサイズ削減 はじめに 先週のJava読書会BOF主催「The Java Module System」を読む会(第10回)では、jlinkコマンドで実行イメージを生成する章を主に読みました。 そこには、生成する実行イメージのサイズを小さくする幾…

JavaアプリケーションのJPMSモジュール化をGradleで

Javaアプリケーションをモジュール化し、Gradleでビルドするようにした 先日のブログの続きです。 torutk.hatenablog.jp いろいろな問題点に直面してしまいました。その後の紆余曲折を書いていきます。 使用するIDE Gradleプロジェクトとして作ったディレク…

Javaアプリケーションのモジュール化でGradleを使おうとしたら色々と

Javaアプリケーションをモジュール化する際の様々な障害 以前、JavaFXでちょっとしたデスクトップガジェットプログラムを作ってみました。 これは、ちょっとしたユーティリティライブラリ(次の日記)と、 torutk.hatenablog.jp それを使ったガジェット風ア…

IntelliJ IDEAでGradleを使ってJPMSプロジェクトの作成

IntelliJ IDEAでGradleを使ってJPMS(モジュールシステム)対応のプロジェクトを作成 JavaのビルドツールGradleが、まもなくリリースされるバージョン6.4で、Java SE 9で導入されたJava Platform Module System(略称JPMS)に対応します。Java SE 9がリリー…

mavenリポジトリからjarファイルの取得

はじめに インターネットと常時接続が維持できない環境でプログラミングをする場合、ローカルにライブラリファイル等を保持し、ビルドスクリプトからはローカルのライブラリを参照すれば作業が可能になります。 NetBeans等のIDEでライブラリを利用して開発す…

JavaFXアプリケーションのJDK 11対応(NetBeans編)

はじめに これまでにNetBeans 8.2/JDK 8のAntプロジェクト(種類はJavaFXアプリケーション)で作成したJavaFXアプリケーションを、JDK 11に対応させようと試みました。 NetBeans は間もなくリリース予定のNetBeans 10のテストバージョン(vc4)で、OpenJDK 1…

JDK 11の環境設定

JDK 11から、Oracleが提供するWindows OS向けのJDKは、Oracle JDKとOpenJDKの2種類になりました。Oracle JDK 11は、有償で技術サポートが含まれ、LTS(長期サポート版)となる商用製品となりました。なお、開発・試験・デモ用など使用用途に制限のあるOTNラ…

5月の土曜日は・・・

今日は子供の小学校の運動会でした。うちの子の小学校はだいたい5月後半の土曜日に開催されます。近所の小学校だと先週の土曜日に開催されるところもありました。今日は日本Javaユーザーグループ主催のカンファレンスJJUG CCC 2018 Springの開催日であり、さ…

Javaの変質、どこに向かうのか

昨年9月にJava SEのメジャーバージョンアップとなるJava SE 9がリリースされました。このJava SE 9のリリースまでは、メジャーバージョンアップがおよそ2〜3年毎に行われてきました*1。しかし、Java SE 9を基点として、今後は半年ごとにリリースする、という…

launch4jを使ってexe化したJavaプログラムが、あるWindows機で実行できない

衛星の位置と軌道を表示するプログラムJSatTrak - torutkのブログで、同じくlaunch4jでexe化したJavaプログラム(JSatTrak)が起動しないというエラーがありました。同じマシンで、FreeMindを起動しようとしたときに、同じエラーが発生しました。FreeMindも…

衛星の位置と軌道を表示するプログラムJSatTrak

TLE形式のデータを読み込むライブラリがないかと探していたところ、TLEから衛星の位置と軌道を表示するプログラム[JSatTrak」が公開されているのを見つけました。 http://www.gano.name/shawn/JSatTrak/TLE形式の軌道情報を読み込み、衛星の位置と軌道を2次…

Java SE 9で小さなプログラムを動かすためのJavaVMオプション指定

先日、アナログ時計表示プログラムをJava SE 9のモジュール化対応をしました。 AnalogClockプログラムをJava SE 9のモジュール化 - torutkの日記 次は、Java SE 9での実行です。 Java SE 9からは正式リリースに32bit版が含まれず、64bit版のみとなっています…

AnalogClockプログラムをJava SE 9のモジュール化

既存のJavaプログラムを、Java SE 9モジュール対応させてみることにします。 対象は、次のリポジトリにある、デスクトップにアナログ時計を表示するJavaFXプログラムです。 https://github.com/torutk/AnalogClockGadget作業開始時点では、JDK 8でビルド・実…

JavaOne 2017セッションの動画鑑賞中

Modular Development with JDK 9 ライブデモ中心ではなく、説明中心だったのでちょっと追うのが大変でした。 モジュール機能の全体を把握するセッションです。モジュールの意義を再利用の観点で説明しています。ソースコードをコピぺするのではなく、コード…

Automatic Moduleを(続)

Automatic moduleを - torutkのブログで、JavaOne 2017のセッション"Migrating to Modules"の動画を見ながらデモのtweetsumを倣って作ってみたところ、モジュールのコンパイルでjacksonのJARファイルが参照できないエラーが発生したことを書きました。この件…

Automatic moduleを

JavaOne 2017の公開動画「Migrating to Module」を見ながらWindows上のJDK 9でAutomatic moduleの例を実行してみました。しかし、なぜかエラーになってしまいました。 D:\work\jigsaw\tweetsum>javac -J-Duser.language=en -d mods --module-path lib\ --mod…

JavaOne 2017の動画

JavaOne 2017のセッション動画がいくつか公開されています。今日はModule(Jigsaw)関係を2つほど見てみました。JavaOne 2017の興味あるセッションの動画・資料へのリンクを次にまとめています。 http://www.torutk.com/projects/swe/wiki/JavaOne_2017_SF M…

Java Magazine(オンライン誌)の最新号もJava 9特集

米Oracleがオンラインで出しているJavaの技術誌Java Magazineの2017年9・10月号が公開されました。 http://www.oracle.com/technetwork/java/javamagazine/index.html今号の特集名は「More Java 9」で、前号に続きJava 9特集となりました。 前号では扱えなか…

Java SE 9のライフサイクル

次のURLに、Java SE 9のサポートプランが掲載されています。 http://www.oracle.com/technetwork/jp/java/eol-135779.htmlこれによると、Java SE 8のアップデート(公開)は2018年9月迄(それ以降に延長となる可能性あり)です。 一方、Java SE 9 は2018年3…

Java SE 9リリースのニュース記事で気になった互換性について

米国時間で9月21日、日本では9月22日の早朝、Java SE 9がリリースされました。リリースのニュースがいくつか流れていますが、その中で次の記事にちょっと気になる表現がありました。 [速報]Java 9が正式リリース、Javaをモジュール化するProject Jigsawが…

JMH - Javaマイクロベンチマークハーネス(枠組み)

Javaプログラムにおいて、ある処理にかかる時間を計測したいということがあります。 Javaの実行環境(JavaVM:Java Virtual Machine)では、JITコンパイルやガベージコレクションがプログラム動作中に併せて動作し、プログラムの実行性能に少なからず影響を…

Java読書会「Javaで作って学ぶ暗号技術」を読む会(第1回)を終えて #javareading

今月から、新しい図書Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまでの読書会が開始です。本日は第1回を開催しました。本日は、通算222回目、34冊目となります。参加人数は11名、申込人数は9名なので参加率は122%! 平均参加人数は11.8人なのでほ…

Java読書会BOF「Javaで作って学ぶ暗号技術」を読む会開催 #javareading

Java読書会BOF 開催のJava読書会では、投票の結果今月23日(土)から始まる新しい書籍「Javaで作って学ぶ暗号技術」を読み始めます。Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまで作者: 神永正博,山田聖,渡邊高志出版社/メーカー: 森北出版発売…

JavaFX 3Dの座標系とカメラの向きについて

JavaFX 3Dの座標系があやふやでしたので、整理をするためにいろいろ調査・実験をしています。 JavaFX 2D、3Dの座標系の定義 JavaFX 2Dの座標系 JavaFX 2Dの座標系は右の図のように、画面左上隅を原点とし、横方向がX軸(右向きが正)、縦方向がY軸(下方向が…

JJUGナイトセミナー「Java O/Rマッパー特集」に参加 #jjug

開催案内ページは次です。 【東京】JJUG ナイトセミナー 「Java O/Rマッパー特集」 7/26(水)開催 - 日本Javaユーザーグループ/Japan Java User Group | Doorkeepertogetterまとめ 【東京】JJUG ナイトセミナー 「Java O/Rマッパー特集」 7/26(水)開催 #jjug …

JavaFX 3DのテクスチャマッピングとAffine変換

(7/17 勘違いがあり、文章を大分修正しています)JavaFX 3Dの座標系は、画面の横方向がX軸、画面の縦方向がY軸、画面の奥行き方向がZ軸となっており、X軸の正は右方向、Y軸の正は下方向、Z軸の正は画面の奥方向となっています。最初左手系の座標系と思って…

NetBeans IDEのFindBugs IntegrationプラグインをSpotBugsに差し替える

今年の5月に開催された JJUG CCC 2017 Spring のLTにおいて、FindBugs をフォークした SpotBugs の紹介を見ました。この場で、初めてSpotBugsの存在を知りました。https://speakerdeck.com/eller86/ji-efindbugsmasuta-spotbugs-3-dot-1-0-rc2-falsekoshao-j…

JavaFXでウィンドウが閉じるときの処理はsetOnCloseRequestよりshowingPropertyがよい(改題)

この日記は朝の時点では setOnCloseRequest でウィンドウが閉じるときの実装について書いていました。次のツイートで、もっとよいやり方を教えてもらいましたので、showingPropertyを使う方法を追加しました。@boochnich WindowのshowingPropertyに対してadd…

JavaFXでガジェット風プログラムのサポートクラス作成 #jjug_ccc #ccc_m6

はじめに 先月5月20日(土)に、JJUG CCC 2017 Springで「JavaFXでデスクトップガジェット風プログラムを作る」のセッションを行いました。セッションのスライドは次です。 https://www.slideshare.net/torutk/jjugccc2017spring-m6-javafxこのセッションで…