概要 Java で Web アプリケーションを開発する際は、一般にビルド結果および必要なリソースファイルなどを WAR (Web application ARchive) 形式のファイルにパッケージングします。JAR ファイルと同様に実行可能 WAR を作ることもできますが、通常は Servlet コンテナとよばれるアプリケーションの上で動かします。Servlet コンテナとしては 2017-05-24
概要 Eclipse はフリーの統合開発環境です。v4.4 (Luna) の Windows への導入方法と基本操作についてまとめます。 インストール Eclipse Luna SR2 Packages にアクセスして Eclipse IDE for Eclipse Committers 4.4.x を開きます。右サイドバーの Download Links から使用している OS のものをダウンロードして解凍します。例えば ~/bin/eclipse に配置します。なお、Eclipse は 2017-05-24
概要 Spring は様々なフレームワークを提供する、Java のプロジェクト群です。Spring Batch、Spring Security、Spring Loaded といったプロジェクトがあります。Spring Boot は、これら Spring フレームワークを内部的に利用するフレームワークです。効率的なアプリケーション開発が可能になります。環境構築の手順を把握できるサンプルコードをまとめます。一通り把握できたら、次回以降は雛形を 2017-05-22
ラムダ式 (Java 8) import java.util.Arrays; import java.util.List; import java.util.function.Function; class Main { public static String myFunc(Function<String, String> callback) { return callback.apply("hi"); } public static void main(String args[]) { // コールバック関数 System.out.println(myFunc(s -> s + "!")); //=> hi! // Scala のようなコレクション操作 List<String> list = Arrays.asList("aaa", "bbb"); list.forEach(s -> System.out.println(s)); for(String s: list) { // Java 7 までのよくある書き方 System.out.println(s); } // 変数に代入 Function<String, String> func = (String s) -> { return s + "!"; }; Function<String, String> func2 = (String s) -> s + "!"; // 一行記法 Function<String, String> func3 = s -> s + "!"; // 型の省略 System.out.println(func.apply("hi")); //=> hi! System.out.println(func2.apply("hi")); //=> hi! System.out.println(func3.apply("hi")); //=> hi! } } 2017-05-13
概要 Java SE 5 から導入されたアノテーション機能に関する基本事項をまとめます。アノテーションは @Xxx の形式で、Java の言語機能としては表現できない補足情報を注釈 (annotation) として記述するための仕組みです。クラス、インターフェース、メソッド、メンバ変数、メソッド引数などの定義箇所に記述します。 2017-05-13
概要 Maven, sbt, cmake, make 等と同様に、ビルドツールとして有名な Gradle の基本的な使い方を、特に Java をビルド対象としてまとめます。2017/05/08 現在、Android における標準のビルドツールです。 参考ドキュメント 環境構築 Installation Creating New Gradle Builds 2017-05-13
設定値を表示および設定 グローバル変数を一覧表示 $ mysql -uroot -p -e 'SHOW GLOBAL VARIABLES' 状態を表示 $ mysql -uroot -p -e 'SHOW GLOBAL STATUS' グローバル変数を個別表示 mysql> SELECT @@innodb_flush_log_at_trx_commit; ← InnoDBにおいて、コミット毎にディスク書き込みを行うかどうか 2017-05-13
概要 JDK でインストールされる keytool コマンドの利用方法を、『オレオレ (サーバ/クライアント) 証明書の発行』で利用する openssl コマンドと対比してまとめます。keytool コマンドは、こちらのページで hello world チュートリアルを記載した Android Studio のドキュメント 2017-05-12
概要 証明書は認証局 (CA) が公開鍵 (をもとに情報を付加した証明書署名要求 (CSR; certificate signing request)) に署名をしたものです。一般的に証明書は公開鍵を内包しています。 証明書とか認証局についての簡単なまとめ: CA, X.509, PKI, 証明書ディレクトリ, 証明書破棄リスト(CRL) 2017-05-10
概要 Android アプリケーションは一つ以上の Activity、Service を含みます。インテントは Activity、Service 間でやり取りされるメッセージオブジェクトです。例えば、ある Activity から別の Activity や Service を起動するための情報をインテントに含めて Android システムに渡します。Android システムはインテントの内容から適切な Activity や Service を起動して、インテントを渡します。インテントには Explicit intents と Implicit intents の二種類があります。基本的なサンプルコードをまとめます。 2017-05-05