Oracle JDBC DriverのJava 8対応版が出ました!(Java 7以前のJDBCドライバは配られなくなった模様)

ついに、Oracle Database 12.2.0.1 からjdbcドライバにJava 8対応版が出ました。(今更かよ) 今まではJava 8から増えたjdbcの新しいメソッド類が実装しなくてもよい(実装されない場合、SQLFeatureNotSupportedExceptionが投げられることがドキュメント化され…

Tomcat 8にantからリモートデプロイする

今更antかよ!というつっこみは置いておいて、 Webに残っているドキュメント類がことごとく古くて使用できなかったので更新メモとして。1. antのフォルダにTomcatから以下のライブラリをコピーする。 catalina-ant.jar tomcat-util.jar 2. Tomcatのconf/tomc…

SpotBugs 3.1.0 RC2を使用してみた。

けっこうはまったのでメモとして。SpotBugsはfindbugs本体の開発がアレな状態なのでフォークして生まれたツールです。 生まれてまだ日が浅いため、FindBugsとの互換性がけっこう高いです。 なので、FindBugsを使用していた人がSpotBugsに乗り換えられるよう…

セキュリティさくら分科会(仮称)第二回に参加してきた

なにやってたかの全容は以下の記事を参照。 http://calmery.hatenablog.com/entry/2017/05/14/221218Docker上でStruts2アプリケーションを動かしたけど、そもそもTomcatってなによ?ってところの説明が抜けていたので、後ろのほうのメンバーは完全に????…

Javaの文字列変換にどれくらい時間がかかってるかを測定してみる

前回の記事で、文字として扱わない状態で改行コードで分割することでパラレル実行向けに最適化されたようだと書きましたが、そういえば、Javaのバイトからの文字列への変換にどれくらいコストがかかるのかを調べたことがなかったので、調べました。なお、環…

Java 9でjava.nio.Files#linesがパラレル実行向けに最適化されたと聞いたので試してみた

さくらばさんから以下のような話を聞いたので。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https:…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

Java 8でのProcess#destroyとProcess#destroyForciblyの環境差異について

Java 8のJavaDocでProcess#destoryとProcess#destroyForciblyメソッドを調べてみるとすごい怪しい記述がされています。https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Process.html destroy サブプロセスを終了します。このProcessオブジェクトが…

log4jdbcで設定したはずなのに有効にならない場合

log4jdbcのjarを依存ライブラリに入れて、jdbc urlにlog4jdbcを入れたのにlog4jdbcが有効にならない場合がある。 DriverManagerがDBへのコネクションを作成するときにlog4jdbcで使用されているロガー類がすべて無効化されている場合にはlog4jdbcがラッパーを…

Java EE Webアプリケーションをモジュール化して組み合わせる

これはJava EE Advent Calendarの9日目の記事です。完全に市民権を得た感じのあるSpring Bootですが、機能は複数のjarに分けて固められており、jarを追加するだけで機能を追加することが出来ます。 それと同じ事をJava EEでもやってみようというお話です。た…

どこからも使用されてないクラスを列挙する

これはJava Advent Calendarの2日目の記事です。さて、Javaで開発をしているといつの間にかどこからも使用されていないクラスというものが出てきてしまいます。 リファクタリングや仕様変更の結果、呼び出されてなくなったクラスです。それら、どこからも使…

Go言語を完全にマスターする

これはさすかめアドベントカレンダーの一日目です。○○を完全にマスターしたという言葉はチョットデキルに対抗してさすかめ先生が提案した概念です。 各言語でhello worldが出力できた状態を示します。ということで、Go言語を完全にマスターしました。 package main…

JDBCでOracleのchar型のカラムを検索する。

char型は桁数に足りない場合、スペースで勝手に埋められます。*1検索する場合は、空白スペースを埋めた状態で検索してあげる必要があります。ここで、OracleのJDBCドライバに入っているPreparedStatementの実装、OraclePreparedStatementのメソッドsetFixedC…

Class#forNameはファイルシステムが大文字小文字の区別をしない場合にNoClassDefFoundErrorを投げることがある

タイトルのとおり。 通常、Class#forNameでクラスが見つからない場合はClassNotFoundExceptionが発生するが、 Windows上では以下のJUnitのテストコードのような挙動を示す。 package test; import org.junit.Test; public class TestMain { @Test public voi…

パーフェクトJava EEを読み始めた(パラ見した感想)

ポケモンに飽きてきたのでさて、こそこそっとパーフェクトJava EEを読み始めてみました。 とはいってもまだ1章のみ。以前からパーフェクトJava EEが発売されるという話は聞いていて、JPAの章についてはレビューにも参加しているので、 JPAの章については安心…

Java Day Kumamotoやってきた #JDK

ということで、紆余曲折ありながらも、Java Day Kumamotoという名前でカンファレンスを開催してきました。昨日のJDKの様子 #JDK pic.twitter.com/foK5JKe2jg— y_yoneyama (@ynym) 2016年6月26日なんと、36名登録してくれて、そのうち36名が全員来るという快…

Java 8から増えてたExplicit receiver parameters

Java 8からこういう書き方が出来るようになっていたようです。(初めて知った) public class Main { public String getString(Main this) { // thisで自分自身が引数になっている return this.toString(); } public static void main(String[] args) { Main m…

基礎からのWebアプリケーション開発入門がなかなかよさそう。

もらったわけではないですが、買ったので。Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門 (Software Design plus)作者: 前橋和弥出版社/メーカー: 技術評論社発売日: 2016/06/07メディア: 大型本この商品を含むブログ (1件) を見るこれ…

JJUG CCC 2016 Springに参加してきた。

ということで、秋に行かなかったので1年ぶりのJJUG CCCでした。JJUG CCCは1年に2回やっててすごい華やかなので、そこでやってる人ばかりが注目されがちだけれども、 実際は毎月やっているナイトセミナーの準備のほうも同じように大変だし、 受付の時間を考え…

熊本で被災してます。

カンパは以下から受け付けてます! http://kampa.me/t/ish

Java 8u92から増えた -XX:+CrashOnOutOfMemoryErrorと-XX:+ExitOnOutOfMemoryErrorを試してみた

※91だと思ってたら増えたのは92からでした。 試したのはWindowsで。OOM発生時にJVMを確実に落とすオプションらしい。 -XX:+CrashOnOutOfMemoryError >java -XX:+CrashOnOutOfMemoryError Main Aborting due to java.lang.OutOfMemoryError: Java heap space …

アノテーション入門勉強会を開催してきた。

DoorKeeper https://kumamotojava.doorkeeper.jp/events/42272当日の資料 https://github.com/megascus/annotation-handson ちょっと間が空いてしまった*1けれども、先日熊本にてアノテーション入門という名前で勉強会を開いてきた。最近のJavaのフレームワ…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

spring bootハンズオンを開催してきた。

DoorKeeper https://kumamotojava.doorkeeper.jp/events/39944当日資料 https://github.com/megascus/spring-boot-handson-for-buginners巷にあるspring bootのハンズオン資料が今までJavaでの開発をバリバリにやってきた人向けだったりして、 そもそもmaven…

ITエンジニアも労働安全衛生法を学んでみよう

労働安全衛生法は、労働基準法と相まって、労働災害の防止のための危害防止基準の確立、責任体制の明確化および自主的活動の促進の措置を講ずる等その防止に関する総合的計画的な対策を推進することにより職場における労働者の安全と健康を確保するとともに…

Java EE 7徹底入門を読んだ(JSFあたり)

新年あけましておめでとうございます。 今年もよろしくお願いします。さて、期間が空いてしまいましたが、JSFあたりを読みました。 JSFは2,3,4章が割り当てられており、この本の1/3近くを占めています。JSFについてはこの本の中で一番良く書かれていると思い…

Java EE 7徹底入門を読んだ(JAX-RSあたり)

次はJSFを読むと約束したな。あれは嘘だ。JAX-RSは9章ですね。 RESTとSOAPの目指すべきところ この本では違うと言ってますがたぶん一緒。 歴史的に見て、RESTよりもSOAPの方が先に出てきました。 しかし、SOAPはHTTPを使用する場合はすべてのアクセスをGETも…

Java EE 7徹底入門を読んだ(jBatch)

アンケートとったら次はjBatchを読めという話になったので、今日はjBatchです。jBatch自体はJava EE 7から新しく増えた仕様で、現時点ではアプリケーションサーバーでjBatch自体の実装は行われていますが、jBatchを開発するツール類はまったくというほど整備…

Java EE 7徹底入門を読んだ(CDI/EJBまわり)

ということで、昨日に引き続き。CDIは5章、EJBは6章ですね。作者は何かCDIについて非常に大きな思い違いをしているのではないかという印象でした。 あと、これらの章を書いた人は多分信用が置けない。 CDIとEJBのどちらを使うか? この質問が出てくる時点でC…

Java EE 7徹底入門を読んだ(JPAだけ)

一通りは読むのだけれども、たぶんJPAだけは一部の人に期待されている気がするので、先に読んだ感想だけ書いておきます。JPAについては7章、8章に書いてありました。とりあえず、JPAについては読まないほうが良いかなと。 いろいろなところで、書いている…