Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4

概要(お前は何を言っているんだ) コードレビューしていると、__Java8のfeature(Stream APIとかOptionalとか)を使ってるんだけど、Java7以前と大差ない書き方をされているコード__をよく見かける。 もっと皆に__Java8っぽいコード__を書いて欲しい。そうじゃないともったいない。 (*"Java8っぽい"の基準は割りと(かなり?)私見が入っている) 言葉を尽くしても伝わりづらいので、例を作ろう。 ← これ ついでに、「無理してJava8のfeature使うことで、逆に悪くなってしまっている例」も作ろう。 対象読者 Java8でコード書いてるけど、Java7以前の書き方が染み付いちゃっていてなかなか抜け出せない人 「forやnullチェックは絶対使うべきでない」という思いが強すぎて、何でもかんでもStream APIやOptional使ってる人 Notice
Java8でBDDスタイルのテストをする J8Specライブラリ J8Specは、(RSpec)[http://rspec.info/]や(jasmine)[http://jasmine.github.io/]のように、 Java8でBDDスタイルを使ってテストを記述することができるようになるユニットテストライブラリです。 JUnit runnerを使っているので、IDEから使用することも可能です。 環境 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.10.5 Java : 1.8.0_51 Gradle : 2.5 J8Specのサンプル作成 1.プロジェクト作成 ではJ8Specを使ってみます。gradle用プロジェクトを作成後、 下記 のようにbuild.gradleを記述し、j8specライブラリを追加します。 defaultTasks 'clean',
Today's issue みなさん、新しいプログラミング言語を覚えるときってどうしてますか? 私はコンソールバージョンの オセロゲーム リバーシを実装することが多いです。 一通りの文法要素を試すことができる ルールが決まっているため仕様決めに悩まず、実装に専念できる そこそこのボリューム 凝ろうと思えば色々凝れる 今回も java8 勉強用にリバーシを実装し、せっかくなので 公開する ことにしました。java初心者のみなさん、よろしければ勉強の土台にでも、反面教師的なネタとしてでも、いかがですか。 [2016/1/1追記:細かなバグ修正等を行い、v1.0.0として正式版をリリースしました。] [2016/2/3追記:入門者向けの紹介サイト を作りはじめました。] ゲームとしても遊べます。モンテカルロ・シミュレーションを使ったAIプレーヤーは結構強いですよ! AIプレーヤーを自作して対戦さ
Java 8 Date and Time API の実践的なチートシートできたよ~ Java8 を使いこなそうとすると、やはり Date and Time API も使いこなす必要がでてくる。 我々 Perl 畑出身の人間からすると、Perl の世界では DateTime/Time::Piece というモジュールが一般的に日付の計算に使われており、iandeth.さんのブログエントリがチートシートとしてよく知られている。このいつも見慣れたエントリの体裁で、一般的な日時の操作を実用的に教えてくれるエントリが欲しくて書いた。 junit のテストケースとして書いてあるので、適当にコピペして QuickJUnit で動作確認するとよい(assertはしてないけど)。 なにかあれば教えていただけるとありがたいです。 Published: 2014-11-28(Fri) 08:09
[java] SecureRandom のアルゴリズムの選択について 前提 Java SE 8 + Linux 前提です。 Java で暗号的に安全な乱数をえる Java で暗号的に安全な乱数を得るには SecureRandom クラスを利用します。 SecureRandom ではいくつかの乱数生成アルゴリズムをサポートしています。 各プラットフォームでもっとも安全な SecureRandom の実装は ${JAVA_HOME}/jre/lib/security/java.security の securerandom.strongAlgorithms という項目に書いてあります。 SecureRandom#getInstanceStrong() で取得できるのはこれです。 インスタンスの取得方法 new SecureRandom() でデフォルト実装が得られます OSX や linux
Java 8 で例外を投げていることをテストしたい 特定の条件で例外を投げるコードを書いたときに、それをテストしたい。なんてときがある。 このクラスの例外があがってるってことだけ判断できればいいんだけどな、ぐらいのゆるい条件のとき。 そんな時は以下のようなユーティリティを定義すればいい。 public static void assertThrows(Class<? extends Exception> exceptionClass, Code code) { boolean thrown = false; try { code.run(); } catch (Exception ex) { System.out.println(ex); assertTrue(exceptionClass.isInstance(ex)); thrown = true; } assertTrue(throw
Java 8から、jdepsというクラスの依存関係を解析するツールが増えたそうです。 Java class dependency analyzer. http://download.java.net/jdk8/docs/technotes/tools/unix/jdeps.html http://download.java.net/jdk8/docs/technotes/tools/windows/jdeps.html ちょっと興味があったので、試してみることにしました。 使ってみる まずは、スケープゴート的なソースを用意してみます。 PrintLoop.java import java.util.stream.IntStream; public class PrintLoop { public static void main(String... args) { IntStream .r
そろそろJDK 8のLambdaをちょっとは勉強しなくてはと思いつつ、Eclipseとかが無いと何も出来ない程度には惰弱なJavaプログラマ勢なので、環境を作って勉強できるように試みた。 やること Trying Out Lambda Expressions in the Eclipse IDEという「Eclipse IDEでLambda式を試そうぜ」な大変有り難い記事があるのでコレを読んでサンプルコードを試す。また、Eclipse IDE with JDK 8 supportのリンクからJDK8対応のEclipseがダウロードできるようになっている。この記事用に用意されたEclipseだと思われるが、ちょろっと試す分にはコレで充分そうであるのでコレを使う。 2014/06/11 追記 Eclipse Kepler SR2のJava 8サポートのパッチ - kagamihogeの日記 201
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く