しおしお

IntelliJのあれやこれや

Java

JSR352-Batch Applicationを試してみた(Chunkステップ編)

JSR352-Batch Applicationを試してみた(Batchlet編) - しおしおの続編です。今回は、chunkステップを試してみます。chunkステップは、ItemReaderでデータベースやファイルなどから読んだデータをItemProcessorで変換(ビジネスロジックで色々導出したりしてIt…

JSR352-Batch Applicationを試してみた(Batchletをテストしてみた)

JSR352-Batch Applicationを試してみた(BatchletでDBアクセス-JPA編) - しおしお(´・ω・`)で作ったBatchletをArquillianでテストしてみた。とりあえず、BatchletでJPA使ってるのでhttp://arquillian.org/guides/testing_java_persistence/あたりを見ながら…

JSR352-Batch Applicationを試してみた(BatchletでDBアクセス-JPA編)

JSR352-Batch Applicationを試してみた(Batchlet編) - しおしお(´・ω・`)の続編です。今回は、Batchletでデータベースにアクセスしてみようかなと。データベースへのアクセス方法は、JPA使ってもいいし、素のJDBCやオープンソースのライブラリを使ってもい…

IntelliJ IDEA12ででJPQLの補完する

NetBeans 7.2.1でJPQLの補完するー — 裏紙のIntelliJ IDEA版。メソッド名の補完。NetBeansと同じ感じですね。しおしお的には、「c」すら入力するの面倒なんで、「Q」で補完したりもするかな。 では、JPQLの補完の数々を・・・ fromも・・・ Entity名も・・・…

ソートマップ(TreeMap)のキーの等価性

ソートマップ(java.util.TreeMap)を使用した場合、キーの等価性の判断にはequalsではなくComparable#compareToの結果が使われます。 *1 これは、 Map (Java Platform SE 6) の規約に違反していますが、TreeMapのドキュメントにはMapの規約に違反していること…

IntelliJのStructural Searchでfail文のない異常系テストコードを抽出

IntelliJのStructural Searchを使用してJunitの異常系のテストコードでfail文が無いコードを検索してみました。TDDやってたら、そんなことにならなくね???との意見があるかもしれないけど、残念ながら現実はそうはなっていないもので・・・ 現実がこうな…

Bouncy Castle Crypto APIsを使って電子署名付きメール送信

Bouncy Castle Crypto APIs(The Legion of the Bouncy Castle Java Cryptography APIs)というOSSを使って、電子署名つきのメール送信を試してみました。以前OracleのSMIMEでもで試した時の記事はこちら→OracleSMIMEとJavaMailで電子署名つきメールの送信 - …

IntelliJ12でJDK8のlambda

IntelliJ12 EAP(build:122.202)でJDK8のInspectionが使えるようになったみたいなのでお試ししてみました。 Check lambda support in IntelliJ IDEA 12 EAP build 122.202 | JetBrains IntelliJ IDEA Blogの内容を試してみただけとも言いますが。。。 環境準…

OracleSMIMEとJavaMailで電子署名つきメールの送信

Oracleセキュリティ開発ツールなるものの存在を知ったので、OracleSIME機能を使って電子署名付きメールを送信ししてみました。このセキュリティ開発ツールは、Oracleデータベースにも同梱されてるんですけど、ライセンスってどうなってるんでしょうかね? ド…

デジタル署名の作成と検証

証明書から秘密鍵と公開鍵を取得してデジタル署名の作成と検証をおこなうサンプルコード。

Intellij IDEA12では、IDE上でバイトコードが見れるように

Intellij IDEA12(build no:120.11)には標準で、byte code viewerなるプラグインがついてきます。11の頃は、外部ツールにjavapを登録したりしてバイトコードを見たりしていたけど、標準でついてくれたのはありがたいです。ちなみに、私はバイトコードを読め…

SimpleDateFormatを使って日付精査してやらかした

SimpleDateFormatで日付精査をしていて見事にバグを埋め込んでいた。。。精査のロジックはSimpleDateFormatに指定したformatで文字列がDateにパースできるかで精査していました。 実際にバグのあったコードと、バグの内容です。(Java書くのが面倒だったので…

Class.newInstance()は、宣言されていないチェック例外を送出できてしまう

Javaセキュアコーディングスタンダードを読んでいて、Class.newInstance()は使うべきではないことを知りました。 理由は、チェック例外を宣言なしに送出できてしまうからのようです。もちろん、チェック例外をthrows宣言なしに送出できるわけで、コンパイラ…