Java
元になった記事はこれ。 Java 8 Streamの挙動を調べたった - mike-neckのブログmike-neck.hatenadiary.com パイプライン一つ一つがリンクドリスト状のStreamのインスタンスで構成されているということで、どれくらいの長さのストリームパイプラインを書くとO…
あまり火に油を注ぐようなことはしたくないし、議論されていることの内容が僕の頭で理解できるレベルを超えているので、あまり書きたくはないけど、まあ雑感という感じで。 「ScalaでできることJavaでできること以上のことはできない」的なツイートの後、ま…
表記の件について、JavaのListから作るStreamは操作中に変更をするとその後の挙動についてなんら結果を保証しないので、ListからStreamを作った場合は、変更をしないか、あるいは不可変なListに変換してから作るのが良いです。 と、書いておいてからなのです…
『ふつうのHaskell』を読んでて竹内関数というのが出てきたので、それをJavaでやってみようと思った。 ちなみに竹内関数とは 竹内関数(たけうちかんすう)は、プログラミング言語処理系のベンチマークなどに使われる、再帰的に定義された関数である。 Wikip…
JUnitに追いつこう(2周回遅れ、男子一万メートルだと2分近くの差、箱根駅伝なら4分40秒の差)という趣旨のエントリーです。 要約はこっちを見るほうが早かった JUnit 4.12の新機能紹介まとめ - うさぎ組kyon-mm.hatenablog.com JUnit4.12に追いつこう(周回遅…
表記のとおりです。 Java8のFunctionalInterface群は使い勝手がよくて、そっちを主に使っていましたが、GroovyもJava8の言語仕様対応を進めてて、Groovy2.4.3から(それ以前から?)は def func = [apply: {s -> s.size()}] as Function<String, Integer> などと書かなくてもClo</string,>…
昨日のJJUG ナイトセミナーで出題されて正解者が少なかったAnniversary.javaの問題をjavapして、どのようにコードが実行されているか見てみようというだけのエントリーです。 なお、 さくらばさん「実はこれてらだよしおも間違えました」 #jjug #てらだよし…
上記のとおりです。 【東京】【初学者向け】JJUG ナイトセミナ 「Javaのプログラムはどうやって動いているの?」jjug.doorkeeper.jp ツイートが下記の通りまとめられています。 【東京】【初学者向け】JJUG ナイトセミナ 「Javaのプログラムはどうやって動い…
この前こんな記事書いた。 WildFlyでh2データベースを使う - mike-neckのブログmike-neck.hatenadiary.com 早速JPA使ったアプリを載せたところ(今頃!?遅っ)、次のようなよくわからんメッセージが… [2015-04-23 08:55:32,221] Artifact web: Error during a…
本文が長いので、結論に急ぎたい人はこちら 経緯 JSFがよくわからんので、適当なサンプルを書いてglassfishで実行しようとしたら、 $ bin/asadmin start-domain sample Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 JVM failed to start: com.sun.enterp…
GS Collections code kataは一回やったら終わりという感じではなくて、何度もやるみたいなことが書いてあったけど、毎回ダウンロードしてきて、解凍して、IDEで取り込んでってやるのが煩わしかったので、表記のスクリプトというか何度でもやり直しのできるや…
表記の通り。 StringJoinerでtoString()を作るテンプレートが欲しかったので作った。 テンプレートは次のような感じ public String toString() { #set($i = 0) #foreach($m in $members) #if($i == 0) return new StringJoiner(", ", "$classname:[", "]") #…
こんなのがあったから、マジクソレス。 眠いだけなので、害意はありません。 Kotlinの話と見せかけてJUnitの話をあげとく/ 【JUnit】出来るの?かもしれない@Aftrer処理をメソッド単位でSkipする方法 http://t.co/5YBT6r3M70— やんく (@yy_yank) 2015, 3月 2…
数日前になぎせさんがツイッターで 型引数からその型のオブジェクトを作りたいときにはSupplierを渡すのがおすすめです 的なことをつぶやいていたので、試しにやってみた。 (どのツイートだったか探してたけど見つからなかったことは秘密です) 【2015/03/11 …
表記のとおりです。 java.util.StringJoinerはString.join(CharSequence, CharSequence...)などで用いられているクラスですが、そのまま使ってもなかなか便利そうです。 StringJoiner.metaClass.define { leftShift = {Object o -> delegate.add(o.toString(…
こんにちわ、みけです。 Servlet3.0のファイルアップロードを触ったことがなかったので、ためしにさわってみました。 作ろうとしたもの ファイルをアップロードできる 送信できるファイルのサイズは1Mまで 送られてきたファイルの名前はyyyy-MM-dd-hh-mm-ss-…
こんにちわ、みけです。 つい先日に二章の書評を書きましたが、『Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング』の全体の書評です。 前提 書評というのは書くのが難しいと思っています。というのも、書評を書く人のコンテキストと書…
こんにちわ、みけです。 表題の件ですが、すでにOpenJDKにバグ登録されて、ステータスがfixedになっているのですが、 まあしらなかったのでハマってしまいました。 JDK-8054210 NullPointerException when compiling specific code. バグの出るコード例 タイ…
こんにちわ、みけです。 JavaOne 2014 サンフランシスコ報告会 Tokyoが 昨日(2014/10/18)開催されたので行ってきました。 詳細な内容は@kikutaro_さんが書いていますし、togetterにツイートのまとめなどがありますので、僕は適当なポエムを綴ります。 基調講…
こんにちわ、みけです。 数々の技術書の翻訳で有名な柴田芳樹さんが 『Java SE8 実践プログラミング』 の書評を募集していたので、応募しました。 現在の進捗はこんな感じですが、 1章「ラムダ式とは」(未読) 2章「ストリームAPIの使い方」(読了) 3章「ラム…
こんにちわ、みけです。 表題、何言ってるかわかりませんね。 ファイルを読み込んでStream<String>を扱うときに、 try-with-resourcesでStream<String>を宣言しておかないと、 リソースリークがあるかもしれないということです。 具体的には return Files.lines(path, Standa</string></string>…
こんにちわ、みけです。 2014/10/10のScala勉強会に向けてScalaをやってたら、 Optional<T>の自分でもいいと感じる書き方がわかってきたつもりなので、 メモ書きしておきます。 Optional<T>を使うときの自分的なベストプラクティス。 #isPresentは使わない 極力#ma</t></t>…
こんにちわ、みけです。 だんだん寒くなってきて、一日の半分ほどは寝てるような状態です。 ここ数週間(!!!)、JavaFXをサーブレットから叩くアプリケーションを作っているのですが、 最初は単純にwarファイルを作って、 jetty-runnerで走るようにするだけの…
こんにちわ、みけです。 最近、ずっとJava8のDate and Time APIをいじってきましたが、 多分、これでおわりです。 今日は新APIと古いAPIの相互変換についてです。 java.time.Instant 新APIと古いAPIでの相互変換はjava.time.Instantを経由して行います。 @Ru…
こんにちわ、みけです。 ここ最近さわってるJava8 Date and Time APIですが、 今日はLocalDateTimeとZonedDateTimeの相互変換についてです。 LocalDateTimeとZonedDateTimeの変換 ZonedDateTimeからLocalDateTimeへはゾーン情報を取り除くだけなので、 変換…
こんにちわ、みけです。 前回、前々回に引き続き、Java8のDate and Time APIをさわります。 今日は、文字列から日付を取得する方法です。 DateTimeFormatterクラス 文字列とTemporalAccessorとを変換するクラスです。 DateTimeFormatter#format(TemporalAcce…
こんにちわ、みけです。 前回に引き続き、Java8のDate and Time APIについて書いていきます。 今回はZonedDateTimeについて書きます。 ZonedDateTimeクラス ZonedDateTimeクラスは日時情報に加えて、時差情報をもつクラスです。 最初、よくわからずLocalDate…
こんにちわ、みけです。 わけありで、LocalDateTimeとかZonedDateTimeを 触っててわからんところいっぱいあったので、 メモってみました。 Java8のData and Time Apiはこれだけではないけど、 はじめて触る人がハマるだろう箇所にとことんはまっています。 L…
こんにちわ、みけです。 タイトルからして明らかにネタなのですけど、 独自の日本語フォーマットで仕様を記述すれば、 プログラミングレスでJAVAソースコードを出力できるような アノテーションプロセッサーを作ってみました。 とはいっても、ネタで数時間で…
こんにちわ、みけです。 アノテーションプロセッサーからソースコードを自動生成する際に、 ASTでソースコードを記述するのも魅力的なわけですが、 自分にあったライブラリー(学習コストが低い奴)を探すの面倒だったので、 mustacheのJava実装、 mustache.ja…