IPAの非機能要求グレードを使ってみた。

2018年4月25日に更新されて、話題になっていたので。 実は、この非機能要求グレードという資料については私は最近まで全く知りませんでした。https://www.ipa.go.jp/sec/softwareengineering/reports/20100416.html 非機能要求とは そもそも頭に"非"が付いて…

Microsoftのドキュメントの誤訳を報告したら炎上した件について(当事者目線での話)

この件について改善がなされるとの発表がMicrosoft DOCS International Teamからありました。 少なくとも、誤訳の報告についてはやりやすくなるそうです。 ご担当者様及びに尽力してくださった方々には感謝いたします。 https://github.com/dotnet/docs.ja-j…

Eclipse Photonからテストフォルダを分離できるようになりました。

ということで試してみました。以下のようにテストフォルダはグレーアウトされて表示されます。 テストフォルダであるかどうかは「Java Build Path」の「Contains test sources」の値をtrueにすることで指定できます。 mavenの場合はtest配下のフォルダは自動…

Javaのスレッドで発生したキャッチされてない例外をログに出力する

概要 Thread#setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler) を呼び出すことでアプリケーション全体のログ設定を変更することができる。 上の設定をThreadGroupで上書きすることができる。ただし、ThreadGroup自体がUncaughtExceptio…

JPA 2.2のJavaDocを日本語に翻訳した

ガクッhttps://megascus.github.io/jpa-spec/docs/apidocs/

Oracleにjdbcで接続したときのタイムゾーンの設定

以下のような感じらしい。デフォルトではクライアントのユーザーが使用しているタイムゾーンが使用される。=システム環境変数(user.timezone)の値 システム環境変数で指定されているため、実行時のオプションで上書きすることが出来る java -jar XXXX.jar -…

Tomcatのバージョンごとのweb.xmlのヘッダー

それぞれバージョンがあってないと一部使用できない機能があるので注意。 Tomcat 9.X <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> Tomcat 8.X </web-app>

JenkinsのGitプラグインで更新チェックに複数のブランチが引っかかった場合

JenkinsのGitプラグインで更新チェックに複数のブランチが引っかかった場合は複数のブランチに対してそれぞれビルドが走る。ひとつのビルドタスクに以下のような記述が出て、他のはそれに引きずられてビルドされる感じ。 Multiple candidate revisions Sched…

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

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

Java EE 8がそろそろ固まってきたのでJPA 2.2のJavaDocを日本語に翻訳し始めた(2/3完了)

タイトルの通りですが、Java EE 8準拠のJPA 2.2のJavaDocを日本語訳に翻訳し始めてみました。 サブパッケージを残して翻訳できたので変な場所があったら指摘をお願いします。用語類は結構不安だったので、アンケート取ったけど、まあ、こんな感じなのかなぁ…

日本語でのJavaDocの書き方

JavaDocを何で書くの?とか、書き方とかをまとめたページはたくさんありますが、日本語特有の情報が抜け落ちていたり、英語でのJavaDocの書き方を説明するものばかりなので、日本語特有の情報をいくつか書きたいと思います。なお、JDK 8u144あたりでの挙動で…

Java EE 8がそろそろ固まってきたのでservlet-spec 4.0のJavaDocを日本語に翻訳した

ということで、完了しました。 成果物は以下からどうぞ。https://megascus.github.io/servlet-spec/docs/apidocs/今まで英語を読むだけならできると思ってたけどぜんぜん読めてなかったんだなぁという。。。。 ちょっと休んだらもういくつかを勉強もかねて翻…

Windows上のVSCodeのLanguage Support for JavaでJavaDocを見たときに文字化けする

VSCodeのLanguage Support for JavaでJavaDocを参照しようとしたときに文字化けすることがあります。 ファイルのエンコードがUTF-8で書かれている場合などです。WindowsではデフォルトのファイルのエンコーディングがWindows-31Jですが、Language Support fo…

Java EE 8がそろそろ固まってきたのでservlet-spec 4.0のJavaDocを日本語に翻訳し始めた(現在半分完了)

タイトルの通りですが、Java EE 8準拠のservlet-spec 4.0のJavaDocを日本語訳に翻訳し始めてみました。 どうにか半分を越したのでとりあえず公開。 ちまちまやって来月中ぐらいには全部翻訳できそうな感じ。https://megascus.github.io/servlet-spec/docs/ap…

githubで雑にビルド後の成果物を配る

githubではgithub pagesという機能を使ってウェブサイトを公開することができる。 travis-ciというサービスでは無償でビルドを行いgithub pagesにpushをすることができる。ということで。 github pagesとしての公開の仕方は以下からproject siteを選ぶことで…

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の章については安心…