今回も、JJUG CCC 2017 Fall の時間別タイムテーブル(セッション一覧)を作りました

11月18日(土) に開催されるJJUG CCC 2017 Fall の「時間別」&「カテゴリ別」タイムテーブル(セッション一覧)が欲しかったので、前回同様にページを作りました! JJUG CCC 2017 Fall - Timetable (非公式) 今回の改良点はお気に入りボタンがわかりやすくな…

Java9 で String クラスがリファクタリングされていました。(replace メソッド編)

前々からこの実装はどうなの!?と言われていた String クラスの CharSequence を引数に取る replace メソッド。 これがついに Java 9 でリファクタリングされていました! 今まであった問題 String クラスの replace (CharSequence target, CharSequence re…

Java9 でも String クラスがリファクタリングされていました (JEP 254: Compact Strings 編)

本日、ついに JavaSE 9 がリリースされました! そこで、かねてから噂になっていた JEP 254: Compact Strings がどのように実装されているのか調べてみました。 Compact Strings の概要 これまで String クラスや StringBuilder クラスなどの内部では、文字…

Java 6, 7 の API ドキュメントを開いた時に、自動で Java 8 のドキュメントにリダイレクトしてくれるツール "JavaAPI-Redirector" を作りました!

たまに検索エンジンなどからリンクを辿って Java API ドキュメント (Javadoc) のページを開くと、古い Java 6 や Java 7 のページが表示されて (´・ω・`) となることがあります。 自分は Java 8 の API ドキュメントが見たいのに…。 そんなときに、自動で J…

Duke 画像の再配布ページを作りました

かつて https://duke.kenai.com/ で配布されていた Duke の画像を再配布するページを作りました! Redistribution of Duke images これは何? Java のマスコットキャラクター "Duke" の画像は、これまで https://duke.kenai.com/ で BSDライセンスのもと配布…

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

JJUG CCC 2017 Spring に行ってきました!(感想をあとで書く)さて、まだ公式で公開されていなかったので、残念ながら時間がかぶってしまって参加できなかったセッションもあったので、あとで読むために現時点で発表者の方が公開されている資料一覧をまとめ…

今回も、JJUG CCC 2017 Spring の時間別タイムテーブル(セッション一覧)を作りました

5月20日(土) に開催されるJJUG CCC 2017 Spring の「時間別」タイムテーブル(セッション一覧)が欲しかったので、前回同様にページを作りました! JJUG CCC 2017 Spring - Timetable (非公式) 新機能「お気に入り登録」 今回から「セッションのお気に入り登…

パソコンのディスクアクセスランプがずっと点きっぱなしになってるときの調査方法

「なんかパソコンが遅いと思ったら、ディスクのアクセスランプがずっと点きっぱなしになってる…。なんでー!?」というときがたまによくあります。 そんなときの調査方法です。 ディスクアクセス原因の調査方法 まずは Process Monitor をダウンロードして起…

各言語での「翌月1日」の求め方

C# で「翌月1日」の DateTime を作るのに、こんなコードを書いてしまいました。 DateTime today = DateTime.Today; DateTime nextMonth = new DateTime(today.Year, today.Month + 1, 1); 結果、12月1日になったら new DateTime(2017, 13, 1) となってしまい…

main メソッドは private クラスに書いても動く?

static なメンバー・クラス*1は、以下のように "private" として宣言できます。 この時、"java Main$Internal" と打ってこの private クラス内の main メソッドを起動できるのでしょうか。 class Main{ private static class Internal{ public static void m…

64bit 版の Windows に Java 1.1 をインストールする

誰得な気がしなくもないですが。 Java 1.1 は、いまでも Oracle Java Archive からダウンロードできます。 Java Archive Downloads - Java SE 1.1 しかし、これを 64bit 版の Windows にインストールしようとすると、インストーラの一部が 16bit アプリケー…

Java API の規模がどれだけ大きくなったか気になったので、コード行数を確認してみました

Java API は、バージョンが上がるごとにどんどん大きくなっています。 でも、「大きくなった」といってもピンとこなかったので、目安としてコード行数を確認してみました。 Java API のコード行数 調べた結果がこちら。 バージョン コード行数 jdk1.1.8 63,4…

C# で、変数に代入したかどうかで値が変わってしまう不思議なコード

C#

この前の Java で NaN や Infinity を int にキャストしたときの値 を C# でやってみたら、面白い挙動になったのでメモ。 C# で NaN や Infinity を int にキャストしたときの値 C# で NaN や Infinity を int にキャストしてみたところ、結果はいずれも "0"…

Java で、NaN や Infinity を int にキャストしたときの値

NaN や Infinity を int にキャストなんて普通はしないと思うのですが、やってみたらこうなりました。 (int)Double.NaN == 0 (int)Double.POSITIVE_INFINITY == Integer.MAX_VALUE (int)Double.NEGATIVE_INIFINITY == Integer.MIN_VALUE public static void …

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)。 いつの間にかこんなに増えてい…