リフレクションで取得した例外クラスをスローする方法

リフレクションで例外クラスの取得してスローする方法のサンプルコードです。 今回生成するクラスでキャストはしたくなかったので、 キャストせずに書く方法を考えたわけですが、ぱっと書き方がわからず。 結局調べて解決したんですが、ほしい情報になかなか…

「Java」ジェネリックなインタフェースを実装した抽象クラスの作成方法

ジェネリクスを利用したインタフェースを実装する抽象クラスの作成についてつまずいたのでメモ。 下記の感じのジェネリックなインタフェースがあったとします。 package com.example; public interface SampleInterface<E> { public E test(E e); } 上記を実装</e>…

「Java」JacksonでJavaオブジェクトのJSON表現を得るコード

Jackson を利用して Javaオブジェクトの JSON 表現を出力するサンプルコードを書いたのでメモとして残しておきます。 ObjectToJson.java package com.example.jackson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.ja…

「Gradle」Spring Bootアプリケーションをビルドしてみる

前々から使ってみたいと思っていた Spring Boot やっと触りました。 今回は Gradle 使って簡単なアプリケーションをビルドするところまでをやります。 下記のガイドに従って進めました。(ほぼそのままの内容・・・) ・Building Spring Boot 2 Applications w…

「Gradle」jar ファイルの生成方法

Gradle で jar ファイルを作成する際のメモ書きです。 利用するプロジェクトは下記のエントリーで作成した basic-demo を使います。 ・「Gradle」インストール、プロジェクト作成、アプリの実行など build.gradle の修正 プロジェクト直下にある build.gradl…

「Gradle」インストール、プロジェクト作成、アプリの実行など

前々から使ってみなくてはと思っていた Gradle。昨日新バージョンがリリースされたというアナウンスを Twitter で拝見したのでさっそく使ってみました。 Gradle Releases インストール 今回は Windows 上に環境を構築します。 下記からバイナリの zip をダウ…

「Docker」ユーザ定義ネットワークを使ってみる

Docker のコンテナ間信を調べている中で ユーザ定義ネットワーク なる存在があることを知りました。ちょっとごにょごにょやってみたのでその結果をメモに残しておきます。 network コマンドを使う — Docker-docs-ja 17.06.Beta ドキュメント ・ユーザ定義ネ…

「Jenkins」Jenkins API で別フォルダにジョブを一括コピーする

Jenkins API を使ってあるフォルダに存在するジョブを別フォルダに一括コピーするスクリプトのサンプル。 #!/bin/bash # get job list under folder curl --user jenkins:112fceef147dfee13be6f161d883b029fd "http://172.20.10.5:8080/job/Folder1/api/json…

「Docker」コンテナとホスト間でファイルをコピーする

Docker でコンテナ起動時に -v オプションを指定してボリュームをマウントしておくとコンテナ終了後もファイル等をホスト側に残すことができますが、うっかり忘れちゃうとコンテナ終了とともに必要だったファイル等が消し飛んでしまいます。こんな時、docker…

「Jenkins」Jenkins APIでジョブ情報取得やジョブ登録をやってみる

Jenkins API の使い方メモ。API の利用には API Token が必要なようでして、これは Jenkins の画面右上に見えているユーザの [下矢印クリック] - [設定] - [APIトークン] - [APIトークンの表示...] から確認可能です。 後述のコマンド例では以下の通りになっ…

「Jenkins」Dockerイメージを使ってJenkinsの環境を構築する

Jenkins の環境構築メモ。 といっても Docker イメージ使ってるのでさくっとできます(Docker 超便利)。 Official Jenkins Docker image 1. コンテナにマウントするためのディレクトリを作成 Jenkins の設定等が保存されるディレクトリはコンテナ停止後も保…

「Docker」Net-SNMPとApache HTTP ServerをインストールしたDockerイメージを作成してみる

今回は Dockerfile を使って Net-SNMP と Apache HTTP Server をインストール、起動した状態のイメージを作成してみようと思います。 1. Dockerfile の作成 Docker のイメージは docker build で作成するようです。どのようなイメージにするかを Dockerfile …

「Docker」コンテナにApache HTTP Serverのインストール、イメージの保存

前回エントリーで CentOS イメージからコンテナ起動までやってみました。 今回は、コンテナに Webサーバとして Apache HTTP Server をインストールしてコンテナ外からアクセスして使ってみたいと思います。あと、コンテナに対して加えた変更をイメージに保存…

「Docker」CentOSイメージからコンテナを起動してみる

前回 Docker のインストールから hello-world イメージを実行するところまでやったので、 今回は CentOS7 のイメージ動作させるあたりをやってみたいと思います。 イメージのインストール、起動 ローカルにイメージが存在しない場合、勝手に pull してきてく…

Windows Subsystem for Linux(WSL)上でDockerを動作させる

Dockerを使ってみようかなと思い立ち、今やるなら「Windows Subsystem for Linux(WSL)上で動かそう」と意気込んだものの、いろいろはまったので備忘録を残しておきます。 動作させるための手順だけ残そうか迷いましたが、はまった箇所も残しておこうかと。 …

「Java」ラムダ式のサンプル(備忘録)

久しぶりの更新。 避けに避け続けたラムダ式。とうとうお仕事で読む、書く必要に迫られたのでお勉強。 といっても今回は備忘録的にサンプルコードを。ラムダだ式はざっくり言うと「メソッド一つしかないインタフェースの実装をより簡単に書けるようにしまし…

「JNA」イベントログのログファイルのパスを取得する

JNAを利用してイベントログのログファイル(.evtx)のパスを取得するサンプルを書いたのでメモ。※「ログファイルのパス」は、イベントビューアの[ログのプロパティ] - [ログのパス] のこと。 public class Test { ..... private static final Wevtapi wevtapi …

データの存在有無を確かめてINSERTする

PostgreSQL で「対象のデータが存在しない場合のみINSERTする(既にデータが存在する場合にINSERTしない)」SQLのメモ。 BEGIN; INSERT INTO test.t1 (id, name) SELECT 1, 'aaa' WHERE NOT EXISTS (SELECT id FROM test.t1 WHERE id = 1); COMMIT; 上記のよ…

EclipseLink のキャッシュの中身を表示するサンプル

EclipseLink で L2 レベルのキャッシュ(Persistence Unit Cache という言うみたいです。persistence unit 単位のキャッシュですね)の中身を表示するサンプルです。EclipseLink では JpaCache というインタフェースが用意されていて、こいつがキャッシュの…

「Java」ProcessBuilderの環境変数について

ProcessBuilder の環境変数についてのメモです。・ProcessBuilder (Java Platform SE 8) https://docs.oracle.com/javase/jp/8/docs/api/java/lang/ProcessBuilder.htmlProcessBuilder が利用する環境変数については、ドキュメントに このプロセス・ビルダー…

sudo コマンドの "-i" オプションと "-E" オプションについて

sudo コマンドの "-i" オプションと "-E" オプションについてメモ。・Man page of SUDO https://linuxjm.osdn.jp/html/sudo/man8/sudo.8.html ■ -i オプションについて ドキュメント曰く パスワード・データベースの変身対象ユーザの項目でログイン・シェル…

「Git」リポジトリのクローン、ファイルの追加、コミットからプッシュまで

git

職場ではソース管理は SVN で行っているので、Git に触れる機会がなかなかありません。でもさすがにこの仕事をしてて Git は使えないのはまずいよなぁと思い、とりあえず、基本的なリポジトリのクローンからプッシュまでをやってみました。継続的に勉強する…

「Java」MXBeanのサンプル

MXBeanのサンプルを書いてみたのでメモを残しておきます。 参考にしたのは以下のオラクルのページ(というかページに記載のサンプルほぼそのままです・・・)・MXBeans https://docs.oracle.com/javase/tutorial/jmx/mbeans/mxbeans.html まず、MXBean のイ…

wevtutil でイベントログを取得する(超簡易メモ)

wevtutil でイベントログを取得するコマンドのメモです(超簡易メモです・・・)・Application チャネル ・EventRecordID が 5668 ・text形式でフォーマット C:\Windows\system32>wevtutil qe application /f:text /q:*[System[(EventRecordID=5668)]] Event…

「JNA」 Event Logging API を使ってイベントログを出力する

Event Logging API を使ってイベントログを出力するサンプルを書いてみたのでメモを残しておきます。・Event Logging API https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa363652.aspx 以下サンプルです。・WindowsEventReporter.java package …

「Java」ProcessBuilderで環境変数を設定してバッチファイルを実行する

ProcessBuilder で環境変数を設定してバッチファイルを実行するサンプルのメモです。といいましても、ProcessBuilder#environment で取得したマップに対して、設定したい環境変数を put してやるだけでいいみたいです。ProcessBuilder (Java Platform SE 8 )…

JCIFSを使ってみる(ファイルの読み込み)

JCIFS なる Java の SMB クライアントの実装があるということを知ったので、ちょっと使ってみました。JCIFS今回は読み込みのサンプルを。■ JCIFSTest.java package com.example.jcifs; import java.io.ByteArrayOutputStream; import java.io.IOException; i…

「JNA」intとDWORDのマッピングについて

JNA で Windows API を呼び出す際の int と DWORD のマッピングについてメモしておきます。 DWORD については以下のドキュメントに記載の通り、32bit の符号なし int (0 ~ 4294967295) になります。Windows Data Types (Windows) A 32-bit unsigned integer…

JNAからWindows Event Log APIを呼び出してイベントログを取得してみる(EvtFormatMessage関数を利用)

以下のエントリーでは EvtRender関数を利用してイベントログのレンダリングを行っていましたが、EvtFormatMessage関数というのもあるみたいなので、こちらの関数を使うサンプルを書いてみました。a4dosanddos.hatenablog.com以下のドキュメントのコードを参…

JNAからWindows Event Log APIを呼び出してイベントログを取得してみる(ブックマーク利用その2)

以下のエントリーでブックマークを利用したサンプルを書いてみましたが、このサンプルだとブックマークが存在しない、かつ、EvtQuery関数に渡すクエリにマッチするイベントログが存在しなかった場合にブックマークが作成されません(「//ブックマーク保存処…