2016年にやってきたことを振り返ってみました

もう間もなく2016年が終わります。 その前に、今年一年間でやってきたことを振り返ってみたいと思います。 JJUG CCC 2016 - Timetable (非公式) ふと思いついて、飲み会から帰ってきて2時間ぐらいの突貫作業でリリースした代物。 その後、スピーカーの方の情…

Java 8 Update 102 で、java.lang.VerifyError: Bad local variable type が発生するクラスファイルが生成されてしまうバグが修正されていました

Java 8 Update 102 のリリースノートを見ていたら、[JDK-8066871] java.lang.VerifyError: Bad local variable type - local final String - Java Bug System というバグがあったので調べてみました。 どんなバグ? バグが起きるのは、ローカル変数が "final…

Windows のバルーン表示は、右クリックで消せる

Windows の通知領域に出てくるバルーン表示が邪魔な時ありますよね。 でも、いちいち×ボタンで閉じるのはめんどくさい…。 そんなときは、バルーン上で右クリック! これで消せます。 お試しあれ。

Java 8 Update 102 で、JAXB で XML を unmarshal したときの挙動が変わっていました。

Java SE 8 Update 92 では動いていたのに、Update 102 にしたら JAXB で XML を unmarshal したときにプロパティに値がセットされなくなるパターンがあるというお話。 自分は、RSS のパースではまりました。 どんなコード? 下記のようなデフォルト名前空間…

JJUG CCC 2016 Fall ( #jjug_ccc ) - セッション資料の一覧へのリンク

JJUG CCC 2016 Fall に行ってきました! 今回のセッションの中で一番気になったのが id:irof さんの「どうしようJUnit5」。 まだ、正式リリース前ですが次の JUnit はどうなっていく予定なのか、JUnit4 との関係はなどがコンパクトにまとまっていとても参考…

JJUG CCC 2016 Fall の時間別タイムテーブル(セッション一覧)を勝手に作りました

JJUG CCC の「時間別」タイムテーブル(セッション一覧)が欲しかったので、前回同様に調整したページを作りました。JJUG CCC 2016 Fall - Timetable (非公式) GitHub のページとして公開していますので、もっとこうした方がいいよ!というのがありましたら…

技術系の勉強会のスライドをツイートするbot @tech_slideshare を作りました!

勉強会スライドbot @tech_slideshare を作りました! ぜひ、ご利用ください! なにこれ? 技術系の勉強会だと、大変ありがたいことにたくさんの方があとでスライドを公開してくれています。 そこで、そんなスライドをまとめてツイートしてくれる bot があっ…

JJUG ナイト・セミナーで、飛び入りLT「AtCoderで始めるテスト駆動開発」をやってきました!

JJUG ナイト・セミナー「ビール片手にLT大会&感謝祭」に、飛び入りで「AtCoderで始めるテスト駆動開発」というLTをやってきました! AC Unit Test という自作ツールを使ってもらうための宣伝ですw AC Unit Test :: Add-ons for Firefox AC Unit Test - Chro…

Javaのメソッド名の長さは、65535文字まで(正確には、UTF8でコード化したときの長さが65535byteまで)

Java のメソッド名の最大長は、以下のように規定されていました。 *1 アルファベットのみだと65535文字、日本語だとその半分以下になるようです。結構長いですね…。 フィールド名、メソッド名、フィールド・ディスクリプタ、メソッド・ディスクリプタ、その…

JJUG CCC 2016 Spring ( #jjug_ccc ) - セッション資料の一覧

JJUG CCC 2016 Spring に行ってきました! 今回は、改善系のネタを中心に聞いていました。 この手の話はやっぱり、勉強会っぽくて、そして自分の世界が広がる(そんなやり方があったのか!っておどろく)のでとても好きです。 最近、自分の仕事がプロジェク…

JJUG CCC 2016 Spring の スマートフォン用 タイムテーブル(セッション一覧)を勝手に作りました

JJUG CCC のタイムテーブル(セッション一覧)が、スマートフォンだと見づらかったので、スマートフォン用にレイアウトを調整したページを作りました*1。 JJUG CCC 2016 Spring - Timetable (非公式) GitHub のページとして公開していますので、もっとこうし…

エンジニアとしてプロとして、今年読んだ本(2015年)

自分はエンジニアであり、プロでありたいと思っているので、定期的に技術書を読むように心がけています。読むのと理解するのが遅いため冊数は少なめですが、それでも少しでも身につくものがあればと思って読んでいます。 エンジニアとしてプロとして、今年読…

「Java でマサカリ投げてみた」の解説

JJUG CCC 2015 Fall の懇親会の LT で発表し、おかげさまで大好評をいただきました「Java でマサカリ投げてみた!」。 しかし、かなり早口で、しかも説明を端折っていたため、発表をご覧いただいた方に疑問を抱かせてしまいました。 Masakari は本当に投げら…

JJUG CCC 2015 Fall ( #jjug_ccc ) - セッション資料の一覧

JJUG CCC 2015 Fall に行ってきました! 今回は、ちょうどJava 8 と 9 のちょうど間、ということで Java 自体の話よりもその周辺の話、特にライブラリの話が多かった気がします*1。 こういう話がきけるのが Java らしい(ライブラリが豊富な Java ならでは)…

AtCoder の問題ページからユニットテストを作るツール「AtCoder Unit Test」を作成しました!

AtCoder (アットコーダー) で問題解くときに、毎回入出力例をコピペして動作確認するのめんどくさい…、ということで、問題ページからさくっとユニットテストを生成するツールを作成しました! AtCoder Unit Test AtCoder の問題ページから、ユニットテストを…

Apache プロジェクトって今いくつあるの?

Apache プロジェクトって今いくつあるのか気になったので、調べてみました。 結果:497プロジェクト(2020年11月2日更新) このうち、107プロジェクトが開発終了(in the Attic)、24プロジェクトが受け入れ準備中(Incubating)。 いつの間にかこんなに増えてい…

2015年7月12日リリースのHudson最新版を起動してみました

2015年7月12日に*1Hudson最新版がリリースされたとのことなので、さっそく起動してみました! Hudsonの今 HudsonってJenkins名前に変わったんじゃなかったけ?と思う人のために解説を。 そもそも、JenkinsはHudsonの名前が変わったものではなく、プロジェク…

GL-04PをSoftbankの回線で使う

旧イー・モバイルから発売されていた SIM フリーの WiFi ルータ GL-04P*1。 これを、Y! Mobile のシェアプランで契約した SIM (回線は Softbank です)で使うことができたので、その接続手順まとめです。 (ネットに成功例がなかったのですが、ダメもとで試…

Java で C# の out パラメータみたいなことをやってみる

Java で C# の out パラメータみたいなことができないかということを考えてみたので、ざっとまとめてみます。 そもそも、C# の out パラメータって? C# の out パラメータは、戻り値だけでなく、引数から値を返したいときに使います。例えば、文字列を数値…

Jenkins のちょっと変わった機能のURL一覧

Jenkins には /thredDump (スレッドダンプの表示) などのちょっと変わった機能が用意されています。 そこで、ほかにもそういうURLがないか、ソースコードを検索して調べてみました*1。 URL 機能 /threadDump スレッドダンプの表示*2 /legend アイコンの解説 …

JJUG CCC 2015 Spring ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

JJUG CCC 2015 Spring に行ってきました! 今回、印象的だったのが「Java 8、私たちはこういう風に使っています!」という話が多数出てきたこと。 去年の JJUG CCC Spring だとまだ言語仕様の紹介程度だったので、この一年で一気に広がったんだなぁというの…

Java SE 8 の日本語 Java doc (API) のURLが変わっていました。

Java SE 8 の日本語 Java doc (API) のページが変更になっていました。 変更前 https://docs.oracle.com/javase/jp/8/api/ 変更後 http://docs.oracle.com/javase/jp/8/docs/api/ いつごろかわからないのですが、Twitter で検索してみた限り2015年3月7日頃?…

Java SE 8 Update 31 で、ByteArrayOutputStream のサイズ上限が拡大していました

ByteArrayOutputStream は、配列を出力ストリームとして扱うクラスです。 なので、このストリームのサイズ上限はシステムの配列サイズの上限に等しい…、はずでした。 しかし、Java SE 8 Update 25 まではそうなっていなかったようです。 [#JDK-8055949] Byte…

エンジニアとしてプロとして、今年読んだ本(2014年)

自分はエンジニアであり、プロでありたいと思っているので、定期的に技術書を読むように心がけています。読むのと理解するのが遅いため冊数は少なめですが、それでも少しでも身につくものがあればと思って読んでいます。 エンジニアとしてプロとして、今年読…

JJUG CCC 2014 Fall ( #jjug_ccc ) - セッション資料の一覧

JJUG CCC 2014 Fall に行ってきました! 今回は、前回とちょっと変わって、技術的な話だけでなくビジネス的な話もあってすごい面白かったです! (JJUG CCC なのに、Javaの話はあんまりないですよーw っていうお断りをたびたび聞きましたw)ちょっと意外でし…

「質問」ができない? それなら「確認」をすればいいと思う!

たまに後輩と話をすると、「分からなければ質問をしろと言われるんですが、まず何を聞けばいいかわかりません…」ということを言われたりします。 そこで、自分が社会人なりたての頃*1どうしてたかなーと振り返ってみたんですが、不思議なことに、頑張って質…

チケットのタイトルやステータスを常時表示する「Redmine Fixed Header plugin」を公開しました。

Redmine を使っていて、ちょっと不便だったところを改善してみました! Redmine Fixed Header plugin Redmine のチケットページに、常時タイトルやステータスを表示するプラグインです。 このプラグインをインストールすると「このチケットのタイトルなんだ…

Java8 で java.lang.Object#hashCode() の生成アルゴリズムが変更されていました。

java.lang.Object#hashCode()の性質という記事で書いたのですが、Java の Object#hashCode() の値はただの乱数となっています。 この乱数のアルゴリズムが、Java SE 8 で「線形合同法」から「XORシフト方式」に変更になっていました。 といっても、変更され…

「Windows 8.1のインストールを完了できませんでした」が表示される場合の対処方法

Windows 8.1 をインストールしようとしたところ、何度やっても「Windows 8.1のインストールを完了できませんでした」が表示されて進まなくなってしまいました。 試行錯誤の末、結局こんな手順で直りました。 パソコンを再起動する 画面左下(タスクバーの左…

Windows 8 から Windows 8.1 にアップグレードした環境で、PCのリフレッシュを実行する方法

結論としては、できないそうです(笑) ただ、手元に Windows 8 をインストールしたときに使った DVD があったので、それを使ってPCのリフレッシュと似たようなことができました。 手順 Windows 8 のインストールDVDを入れた状態でPCを再起動します。 「Wind…