torutkのブログ

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

RubyMineでRedmineプラグイン開発をする(Windows環境)

はじめに これまでは、Windowsマシン上でRedmineプラグイン開発環境を用意するのに、仮想マシン(Hyper-Vなど)にLinuxを入れてその上でLinuxベースの開発環境を整える方法を取っていました。ただしCUI環境が主です。Hyper-VでGUI環境を動かすとかなり動作が…

今月のJava読書会は「The Java Module System(洋書)」を読みます

Java読書会の新しい本 毎月1回川崎市でJavaに関する技術書籍の読書会を開催しているJava読書会BOFでは、 先月で「Java 11 and 12 - New Features」が読了し、新しい課題図書のWeb投票を実施ました。 その結果得票数4票(!)で第1位となったのがThe Java Mod…

ResultSetがStreamになったら嬉しいかも

はじめに JDBCでデータベース検索のプログラムを書いていると、テーブル毎に似たような、そしてちょっとずつ異なるコードを書くことになります。 異なる部分は、カラム名、データ型、そして取り出したバラバラの値をJavaのデータクラス(ドメインクラスであ…

グラフ表示アプリケーション作成時のトピック

はじめに 次の記事の続きです。 torutk.hatenablog.jp データベース利用グラフ表示アプリケーションを作成している過程で生じた問題解決のメモです。 RDBMSのスキーマにおいて、 外部キーでエンティティ間に関連を持たせる場合 自動採番するIDを主キーとする…

データベースを利用するアプリケーション(データベース接続)

はじめに 次の記事の続きです。 torutk.hatenablog.jp データベースの作成が終わったら、いよいよアプリケーションからデータベースへ接続してデータの読み書きをします。 JDBC API Java SEではRDBMSを利用する標準APIとしてJDBC(Java DataBase Connectivit…

データベースを利用するアプリケーション(データベース作成)

はじめに 続きです。 torutk.hatenablog.jp 今回は、データベースにテーブルを定義し、アプリケーションから利用できるようにします。 利用するデータベースは先の日記に記載のとおり、SQL Serverです。 データベースの作成ツール SQL Server Express Editio…

Microsoft SQL Server JDBCドライバーにmodule-info定義を追加してモジュール対応

はじめに Microsoft SQL Server JDBCドライバーのモジュール対応(module-info.classの組み込み)を試みました。経過をメモします。 経緯 SQL Server JDBCドライバーは、自動モジュール対応までしており、モジュールアプリケーションから利用できます。自動…

データベースを利用するアプリケーション(作成準備編)

動機 先月から折れ線グラフで表示するプログラムをJavaFXで作っています(自宅や出張中の宿で細々とです。出張先では通勤時間とか家事とかがないので捗りました)。 torutk.hatenablog.jp スペクトラム・アナライザのデータをファイルから読み込む機能を持た…

JavaFXでGUI全体のフォントをCSSで指定

はじめに 前回のブログの続きです。 torutk.hatenablog.jp 画面の国際化対応で日本語プロパティを追加してみました。その際使用される日本語のフォントはJavaのコードやCSSでコントロール毎に指定可能ですが、全体を変更することも可能です。 CSSのrootセレ…

JavaFXのグラフの凡例部分を操作可能にする

はじめに 先週書いた次のブログの続編です。 torutk.hatenablog.jp 一つのグラフ表示領域に、複数のグラフ(Series)を重畳表示した際に、簡単な操作でそれぞれのグラフを非表示にしたり表示したりとできると使い勝手が向上します。 グラフに凡例を表示した…

JavaFXで折れ線グラフを出そうとしてみた

はじめに(お題) 電気信号を時間領域から周波数領域に変換し、周波数に対するエネルギー量を解析できる測定器にスペクトラム・アナライザがあります。今回、このスペクトラム・アナライザで解析した結果をファイルに保存し、別な場所にあるPC上でその結果を…

インターネットとつながらないソフトウェア開発環境で使うツール

前提 ソフトウェア開発環境がインターネットと隔離されていることは、昨今のセキュリティ事情からよくあることと思います*1。ソフトウェアエンジニアの場合、事務作業で使うPC環境とは別にソフトウェア開発用のPC環境があり、それは事務作業で使うネットワー…

JavaFXアプリケーションでユーザーが編集可能なCSSファイルを置くには

問題 JavaFXアプリケーションを作成する際に、画面のレイアウトをFXMLで記述、色やフォントなどの見栄えをCSSファイルに記述し、FXMLのルートノードにCSSファイルを指定しました。模式的なソースファイル構成は次のようになります。 myapp +-- src +-- mypac…

gitのリリースタグをアプリケーションのバージョン表記に使う

はじめに JavaとJavaFXで小さなスタンドアロン・アプリケーション(ユーティリティ)を作成、使用するマシンに配置し、使い勝手を見ながら改善しています。使用しているJavaの種類は、JavaFXを内蔵しているAzul Systems社のOpenJDKであるZuluFX 11で、モジュ…

Java読書会BOF「Java 11 and 12 New Features」(洋書)を読む会を開催して

「Java 11 and 12 New Features」(洋書)を読む会を開催 昨日6月15日(土)に、Java読書会BOFは書籍「Java 11 and 12 - New Features」を読む会(第1回)を開催しました。あいにくの雨模様でしたが、10名を超える参加者が集まりました。Javaの最新技術、と…

JavaFXの入力部品でエラー時に色を変える

GUIでユーザーが入力した値が範囲外などのエラー時に、エラーとなった箇所が分かるよう色を変える方法を模索しました。今回はTextFieldを題材とします。 CSSの疑似クラスでエラーを定義 JavaFXで、CSSファイルを使って見栄えを定義している場合、CSSファイル…

Javaプログラムへの初期設定の与え方を悩む

Javaプログラムに初期設定を外部から渡す方法として、プログラム起動時のコマンドラインオプション、設定ファイル、システムプロパティ、リソースバンドル、プリファレンスAPI(java.util.pref)辺りが候補に挙がります。 今回、PCからシリアル通信でセンサ…

Java読書会BOFは6月から「Java 11 and 12 - New Features」を読み始めます

Java読書会BOFは、6月から新しい書籍「Java 11 and 12 - New Features」(洋書)を読み始めます。Java SE 9が2017年9月にリリース後、この2019年5月末時点までに、Java SE 10(2018年3月)、Java SE 11(2018年9月)、Java SE 12(2019年3月)とリリースされ…

Java読書会6月からの本の投票

Java読書会BOFの書籍選定 Java読書会BOFでは、月1回の読書会を開催しており、5月で「Effective Java第3版」をほぼ読了し、6月からは新しい本の読書会を開始します。現在読書会のWebサイトでWeb投票実施中(5月26日〆切)です。 Javaの技術動向は変化が大きく…

さくらVPSのOS更新

さくらVPSのOSをCentOS 6からCentOS 7へ更新 さくらVPSのサーバーは利用開始時から長らくCentOS 6でしたが、このGWで時間が取れたのでやっとCentOS 7へ更新してみました。OSの再インストールをするので、データのバックアップ、設定のバックアップを取ってか…

GPSの高度と標高

GPSの高度と標高 GPSを使った測位では、地球を回転楕円体(WGS84回転楕円体)としたときの緯度・経度および高度を取得します。ここで、GPS測位で得られる高度は回転楕円体面からの距離として算出されるので、実際の標高(海面からの距離)とは異なります。回…

JDKのアップデート(2019年4月)

Java SE Development (JDK) の2019年4月アップデート JDKは、現在年に2回のバージョンアップと年に4回のセキュリティとバグ修正のアップデートが行われています。バージョンアップの時期は3月と9月、アップデートは1月、4月、7月、および10月です。そして、…

Java読書会BOF「Effective Java第3版」を読む会(第5回)を開催して

Java読書会開催のデータ 昨日4月13日(土)は、Java読書会BOF主催の「Effective Java第3版」を読む会(第5回)を開催しました。 Java読書会BOF Effective Java第3版~amazon 1998年12月にJava読書会が始まってから通算241回目、36冊目の書籍となります。 Eff…

Liberica JDK 12でJavaFXアプリケーションをIntelliJ IDEA上で作成

Java SE 12がリリース 先月3月20日にJava SE 12(Oracle JDK 12およびOracleがビルドしたOpenJDK 12)がリリースされました。Java SE 12は半年毎のフィーチャーリリース(機能のアップデート)となります。Oracle JDKは、Java SE 11から運用に使用する場合は…

IntelliJ IDEAでJavaFXアプリケーションのProject Template作成

動機 IntelliJ IDEAでJavaFXアプリケーションを作成する際に、FXMLファイルで画面レイアウト定義、CSSファイルで見栄え定義、プロパティファイルでリソース定義をする場合に用意するファイルと毎度のコードを生成するプロジェクトテンプレートを作成します。…

Windows 7プリインストールマシンの購入はもう‥

お題 Windows 7は、新機能の追加およびセキュリティ以外の修正を行うメインストリームサポートが2015年1月に終了しています。そして、セキュリティ修正を行う延長サポートは2020年1月に終了の予定です。 何らかの理由によりWindows 7でないと動作しない機能…

Windows OSまわりのあれこれ

Windows 10 October 2018 Update(1809)を適用する 自宅PCの1台(デスクトップPC)はWindows 10 OSですが、なかなか バージョン1809のアップデートが来ません。設定から更新とセキュリティでWindows Updateを手動で実行しても1809は出てきませんでした。 こ…

JavaFXアプリケーションのJDK11対応(Windowsインストーラー作成編)

はじめに JDK 10までは、JavaFXアプリケーションを配布する際に、ネイティブ・インストーラー形式にするjavapackager機能を使ってOS固有のインストーラーを作成することができました。Windowsネイティブなインストーラーを作成する際には、外部ツールとしてW…

Java読書会BOF 満20年

今月12月22日(土)に、Java読書会BOF主催の「Effective Java 第3版」を読む会(第1回)を開催しました。Effective Java 第3版作者: Joshua Bloch,柴田芳樹出版社/メーカー: 丸善出版発売日: 2018/10/30メディア: 単行本(ソフトカバー)この商品を含むブロ…

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

はじめに JDK 8でのJavaFXアプリケーションは、javapackagerコマンドを使ってアプリケーションとアプリケーションの実行に必要なJava実行環境をまとめて固めて配布することができました。固め方には、zipアーカイブの他、Windows、Linux、MacOSそれぞれのソ…