さっしーの技術関連備忘録

技術的な内容を忘れないようにメモ....

JAVA

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

Webアプリを開発している際に、アプリ起動時と停止時になんらかしらの処理を入れたいと思うときがあります。(たとえば、DBのコネクションを破棄したりなど。。。) 今回はSpringBootを使用してこれを実現するやり方をまとめました。 んで、やり方としては複…

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

1.インストール OpenSSLインストール http://slproweb.com/products/Win32OpenSSL.html 「Win32 OpenSSL v1.1.0d Light」をダウンロード 2.今回生成する鍵のアルゴリズム簡易説明 ①【RSASSA-PKCS1-v1_5 using SHA-256(RS256)】 ※RS256は非対称アルゴリズム…

XMLをparseしてみる

Tweet XMLをJava標準のAPIでparseした時のメモ String XMLString = "[XML文書]" DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(XMLStrin…

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

Tweet DBにパスワードを登録する際に、平文のまま保存するのではなくハッシュ化して保存するのが一般的かと思いますが、その際のハッシュ化する処理を以下にまとめました。 ※コピペでそのまま使用可能 public static String getSafetyPassword(String passwo…

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

Tweet Dom4Jを使用してプログラム上でXMLを作成する際のメモ org.dom4j.Document doc = DocumentHelper.createDocument(); org.dom4j.Element root = doc.addElement("SAMPLE_ROOT_ELEMENT"); root.addElement("SAMPLE_CHILD_ELEMENT".setText(test1)); root…

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

Tweet 再度勉強し直します。 ざっくばらんにまとめました。 1.プロセスについて 実行するアプリケーション単位。 JVMは起動時に1つのプロセスを起ち上げて、そのプロセス上でJavaを動かす。 メモリ管理などをすべて行うため、1つのプロセス上でないといけ…

JavaSEでJPAを使う

バッチアプリケーションをJavaSEで開発した際に、 JDBCでごちゃごちゃ書きたくなかったので、JPAの導入を試みた。 1. まずJPAとは 以下、wikipediaの一部を引用させていただきます https://ja.wikipedia.org/wiki/Java_Persistence_API > 関係データベースの…

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

つまらないところで少々ハマりました。 というのもチームで開発する際に先行してプロジェクト作成から開発を行う経験がなかったもので、 最初のコミット時にgit管理対象とすべきでないファイルをミスって後続の実装者に迷惑をかけてしまいました。 リモート…

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

1.環境 Windows7 32bit Java1.8 2. OpenSSLのインストール 以下のOpenSSLのサイトにアクセスして、インストーラーをダウンロードしてインストールを完了させる。 http://slproweb.com/products/Win32OpenSSL.html 「Win32 OpenSSL v1.1.0d Light」をダウンロ…

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

Java標準のURLEncoderだと、「+」「*」がエンコードされない、且つ「~」が「%7E」にエンコードされてしまうため、 RFC3986に準拠したエンコードを行いたいときのやりかたをメモ ちなみに下記がRFC3986仕様書 https://www.ietf.org/rfc/rfc3986.txt /** * URL…

プロパティファイルをシングルトン実装してみる

今回は、アプリケーションのエラーメッセージプロパティファイルを読み込みする際に、一度読み込めばどこでも使用できるようにPropertiesLoderクラスを実装したかったのでシングルトン化を検討して実装してみた。 参考にしたサイトは以下 http://code.yamaro…

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…