さっしーブログ

埼玉県在住のシステムエンジニアです。基本的には技術的な内容を中心に発信していきます。

Java

SpringBootでControllerのユニットテストを行う

目次 目次 1.実装概要 2.実装内容 1.実装概要 SpringBootで開発を行ったときにコントローラーの単体テストをしたかったため、MockMvcBuildersとMockMvcRequestBuilders、PowerMockを利用してコントローラーのテストを行ったときのメモ。 基本的にはテストデ…

Java入門者向け!アクセス修飾子について

目次 目次 1.アクセス修飾子とは 2.なぜアクセス修飾子を使うのか 3.アクセス修飾子について 3-1.public 3-2.protected 3-3.private 4.アクセス修飾子の使い方 5.最後に 今回は入門者向けにアクセス修飾子について説明を行っていこうと思います。 1.アクセス…

Java入門者向け!例外処理について

目次 目次 1.例外処理とは 2.なぜ例外処理を行うのか 3.検査例外と非検査例外について 3-1.検査例外とは 3-2.非検査例外 4.例外処理の実践的なやり方 5.ExceptionとRuntimeExceptionの実践的な使い方 6.最後に 1.例外処理とは プログラムの処理中に何らかし…

【OpenID Connect】公開されているJWKを使用してIDTokenを検証するやり方

目次 目次 1. IDTokenを取得する 2.IDTokenを解析する 3.JWKへアクセスして公開鍵情報を取得する 4.実装の流れ 5.最後に 1. IDTokenを取得する 例えば、googleの場合を例に解説していきます。 まずはIDTokenを取得しましょう googleでログインして、 https:/…

SpringBootでアプリケーション起動時と停止時に処理を行う方法

目次 目次 1.概要 2.実装手順 2-1.起動と停止時に呼び出されるメソッドを定義したクラスを作成する。 2-2.Config用のクラスに設定する。 1.概要 Webアプリを開発している際に、アプリ起動時と停止時になんらかしらの処理を入れたいと思うときがあります。(…

OpenSSLでJavaで扱える鍵を生成をしてみる

目次 目次 1.インストール 2.今回生成する鍵のアルゴリズム簡易説明 2-1.【RSASSA-PKCS1-v1_5 using SHA-256(RS256)】 2-2.【HMAC using SHA-256(HS256)】 2-3.【ECDSA using P-256 and SHA-256(ES256)】 3.鍵生成コマンド 3-1.【RSASSA-PKCS1-v1_5 us…

Javaの標準APIでXMLをparseしてみる

目次 目次 1.XMLをJava標準のAPIでparseした時のメモ 1-1.環境 1-2.サンプルコード 1-3.出力結果 1.XMLをJava標準のAPIでparseした時のメモ DocumentBuilderFactoryとDocumentBuilderを使用して読み込んだXML文書を解析してみました。 1-1.環境 Java8 1-2.サ…

Javaで安全にパスワードをハッシュする方法

目次 目次 1.Javaでソルトを使用して安全にパスワードを暗号化させる。 1-1.サンプルコード 1.Javaでソルトを使用して安全にパスワードを暗号化させる。 DBにパスワードを登録する際に、平文のまま保存するのではなくハッシュ化して保存するのが一般的かと思…

Dom4Jを使用してXMLを組み立てる方法

目次 目次 1.Dom4Jを使用してプログラム上でXMLを作成する際のメモ 1-1.サンプルコード 1-2.出力結果 1.Dom4Jを使用してプログラム上でXMLを作成する際のメモ 1-1.サンプルコード org.dom4j.Document doc = DocumentHelper.createDocument(); org.dom4j.Elem…

JVMのプロセス、メモリ、スレッドについて

目次 目次 1.プロセスについて 2.メモリについて 3.スレッドについて 3-1.スレッドセーフとは 再度勉強し直します。 ざっくばらんにまとめました。 1.プロセスについて 実行するアプリケーション単位。 JVMは起動時に1つのプロセスを起ち上げて、そのプロセ…

JavaSEでJPAを使う

目次 目次 1. まずJPAとは 2. エンティティマネージャについて 3. データベース接続部分 4.上記クラスを継承して作成したMySQL操作を行うクラス 5.シングルトンでMySQLのコネクターを管理する 6.設定ファイル(persistence.xml) 7.エンティティクラスの作成…

Eclipseで開発する際にgit管理対象とすべきファイル(設定関連)の話

目次 目次 1.事の発端(経緯) 2.ある開発者の一言 3. .classpathを修正したところ 4. Eclipseで開発する際にgitで管理した方がよいファイルとは? 5.逆にgit管理しなくて良いファイル つまらないところで少々ハマりました。 というのもチームで開発する際に…

秘密鍵を使用して暗号化を行う

目次 目次 1.環境 2. OpenSSLのインストール 3.今回の対象の暗号化アルゴリズム 3-1.【RSASSA-PKCS1-v1_5 using SHA-256(RS256)】 3-2.【HMAC using SHA-256(HS256)】 3-3.【ECDSA using P-256 and SHA-256(ES256)】 4. 暗号化アルゴリズムを用いた暗…

RFC3986に準拠したURLエンコードを行う方法

目次 目次 1.概要 2.サンプルコード 3.最後に 1.概要 Java標準のURLEncoderだと、「+」「*」がエンコードされない、且つ「~」が「%7E」にエンコードされてしまうため、 RFC3986に準拠したエンコードを行いたいときのやりかたをメモ ちなみに下記がRFC3986仕…

javaでプロパティ読み込みをシングルトン実装してみる

目次 目次 1.概要 2.サンプルコード 3.最後に 1.概要 今回は、アプリケーションのエラーメッセージプロパティファイルを読み込みする際に、一度読み込めばどこでも使用できるようにPropertiesLoderクラスを実装したかったのでシングルトン化を検討して実装し…

Spring Boot 入門 備忘録

1.環境 windows7 32bit Eclipse 4.6 java8 2.ソースコード 2-1.起動クラス SaikiApplication.java @SpringBootApplication public class SaikiApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplicati…