Java

TypeLiteralでParameterizedTypeを取得する

Jersey2ソースコードリーディングの旅、第二弾。前回は、型の旅をしてました。bufferings.hatenablog.com TypeLiteral ということでTypeLiteralに戻ってきたんだけど、Jersey2ソースコードリーディングといいつつ、こいつはHK2のソースですね。Jersey2はDIコ…

Jersey2のソースを読みながらJavaのジェネリクスの旅

Jersey2がどんな風にHK2を使って、DIをコントロールしてるんだろう?って気になって。なので、Jersey2のソースコード読んでみることにしました。何か分かんないことがあっても、うらがみさんがいるから、安心(๑•̀ㅂ•́)و✧ApplicationHandlerのinitializeとapp…

Java: ステータスをあらわす Enum に isXxx() メソッドを持つのが好き

こんなEnum public enum InsideHead { JOY, SADNESS, FEAR } こんなクラスで使うとして。 @Accessors(fluent = true) @Getter @ToString @EqualsAndHashCode public class Bufferings { private InsideHead insideHead = InsideHead.JOY; public void eatCho…

値オブジェクトを作るのに Lombok で楽ができそう?

ぼけーっとLombok眺めてて。Valueって便利そうかもなぁって思った。 @Value projectlombok.org 全部のフィールドが private & final になるよ。 クラスも final になるよ。 setterは生成されないよ。 getterメソッドは生成されるよ。 フィールド初期化用のパ…

やっぱりJavaが好きです ( JJUG CCC 2015 Fall に行ってきた )

JJUG CCC 2015 Fall に行ってきた。JJUG CCC 2015 Fall(11月28日開催) | 日本Javaユーザーグループ面白かったヽ(=´▽`=)ノ到着早々携帯の電池が切れて、QRコード出せなかったんだけど 受付の、よこなさんの笑顔が天使やった。受付で「電池切れたんですけど・…

「Javaでアプリを書きたい!」

@irof よし。呑みにいこう。今月中の平日に。— Mitsuyuki.Shiiba (@bufferings) 2015, 10月 30今月中って話をしたら、@bufferings 今日梅田20時なら……— いろろろらろろらろふ (@irof) 2015, 10月 30当日だなんていろふさんったら!(ありがとうございます)と…

「Java 8徹底再入門」で Lambda式 & StreamAPI に入門してきた編

昨日に引き続き。今日は「きつねさんと学ぶLambda式&StreamAPIハンズオン」の方。【Date and Time API】Java 8徹底再入門【ラムダ式ハンズオン】(大阪,7/11) - connpass全然難しく感じなかったので。すごいなーと思いました。 順を追って丁寧にワンステップ…

「Java 8徹底再入門」で "Date and Time API" に入門してきた編(「再」じゃねーし

【Date and Time API】Java 8徹底再入門【ラムダ式ハンズオン】(大阪,7/11) (2015/07/11 14:00〜)kanjava.connpass.comこの勉強会、めっちゃ良かった。 前半は @khasunuma さんの「JSR 310 "Date and Time API" への招待 III」。 後半は @bitter_fox さんの…

JavaのBinary Literalsが空気を読んでくれたりくれなかったり

byte配列の値を確認する - tomoTakaの日記d.hatena.ne.jp を読んで。面白いなーと思って。 プリキュア見ながら実際にコードを書いて確かめてみてる間に解決してたようで良かった。 んでも、byteへのキャストが必要な原因はどこだろう?って思って。 Stream<Byte> s</byte>…

Date and Time API を ThreeTen と呼びたいなー

JSR310だからThreeTenって呼ばれてるみたい。会社で「ThreeTenがさー」て言ったらうざがられそうだけど積極的に使っていきたい! 「Date and Time APIとラムダ式ハンズオン」な関ジャバの勉強会を7/11(SAT)に楽天大阪で開催しますよ! 【Date and Time API】…

まとめ:僕の好きなコードの書き方

々々と続いてきたけど。やっと終わり。まとめるー! 道のり 僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々々:僕の好きなコードの書き方 - Mitsuy…

続々々々々々:僕の好きなコードの書き方

これの続きー。もう何がなんだか!僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々々々:僕…

Java8のインターフェイスのデフォルト実装の情報をあさって面白かった!

きっかけ @yy_yank 基本的にJava8であっても「インタフェースにはデフォルト実装を持たない」と決めたほうが良いと思っています。 インタフェースにデフォルト実装を持つのは、やむなく後方互換性を保つ場合のみ、という位置づけとして。— CEROMETAL (@cero_…

続々々々々:僕の好きなコードの書き方

これの続きー。僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々々々:僕の好きなコードの書…

続々々々:僕の好きなコードの書き方

これの続きー。ぞくぞくしてきたぞー。僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 今日はこ…

続々々:僕の好きなコードの書き方

これの続きです!僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 続々:僕の好きなコードの書き方 - Mitsuyuki.Shiiba 注意点 ゴールが決まってるわけじゃなくて、試行錯誤しながら進むので、その途中で「こ…

続々:僕の好きなコードの書き方

これの続きです! レビューしてもろた! おぉ。メソッドわけない前提で、price

続:僕の好きなコードの書き方

投げっぱなしで終わってた、これの続きね。 ここからスタート 詳細設計書をそのまま書き起こしました!的な。 そしてゴールが見えてないところから手探りで変えていってみます! Gist 先に貼っとくね。 https://gist.github.com/bufferings/9414995751687177…

僕の好きなコードの書き方

僕は「パッと見て何をしてるかが伝わってくるコード」が好きです。なので「名前重要」。DDDとかじゃなくて、TransactionScript前提で話をしますが。手続きの中から、意味のある塊を見つけて、それに名前をつけてメソッド化してあげる感じ。メソッドのサイズ…

#EffectiveJava独書会まとめ その1

一回読み終わったので。次は自分なりに消化したく。まとめてみる。 前提 Effective Javaは主に「APIやライブラリを作って保守する人」の目線で書かれている。 でも、僕自身はそんなAPIやライブラリを使って「アプリを作って保守する人」なので。 そっちの目…

#EffectiveJava独書会 を開催しました!

しばらくJavaの基礎勉強をお休みして EffectiveJava独書会をしてました。たぶん5年くらいずっと積まれてたのを この年末年始に読み終わったのだ。疲れた。 ログ まとめなんてもんじゃ全然ないけど。#EffectiveJava独書会 ログ - Togetterまとめ 必読の一冊 …

じゃんけんあそび3

その1 その2 年末に EffectiveJavaを読んでたのだけど。 こんな感じに書いてしまって。もう何がなんだか。でも。。。嫌いじゃない。 Reference さくらばさんとこがさすが綺麗な実装だなー。 RockPaperScissors/JudgeFactory.java at master · skrb/RockPaper…

じゃんけんあそび2(きろーさん、みうみうありがとう)

前回のブログ。その時のきろーさんとの話。今日のみうみうとの話。(省略)で。こうなった。なるほどなぁ。 ordinalから結果のEnumを取るときに、配列をぐるぐる回して、判別しなきゃって思ってしまっていたので、配列の0番目がordinalの0だって気づいてなかっ…

じゃんけんあそび

追記 続き書いたよ。(´・ω・`)ノ*******************************これ読んで。面白いなーと思って。面白そうな部分だけごにょごにょ書いてみたけど。 enumの勉強になったなぁ。あと日本語名クラスとかメソッドの勉強にもなったかな。 じゃんけんとはいえ色々考…

Javaの勉強10 ちょい寄り道とFilesとEnvironment

昨日デブサミの応募してみた。ので、勉強再開という感じで。 今月はあれやね、アドベントカレンダーで色んな知識が飛び交うね。 全部ちゃんと読もうとするとしんどいので、適当につまみ食いで。 JavaEE JCPとかJSRとかに興味を持ち始めたので。またタイムリ…

Javaの勉強9 NIO.2 Filesやろう!ってWatchableとちょこっとラムダ

昨日の続き。次はFilesについてメモろうと思うんだけど。 その前にPathが実装してるWatchableインターフェイスを見てみよっと。知らないから。 Path - Watchable Watchable (Java Platform SE 7 )あ、Path用に1.7で導入されたインターフェイスなのか。 ファ…

Javaの勉強8 におつー Path

Java7で導入されたNIO.2(java.nio.file, java.nio.file.attribute)File I/O (Featuring NIO.2) (The Java™ Tutorials > Essential Classes > Basic I/O)からのひしだまさん。Javaファイル関連メモ2(Hishidama's Java Files Memo)これで満足。なのだけど、折…

Javaの勉強7 (I/O Streams) CommandLine / Data Streams / Object Streams

今日はここから。 おさらい Type Interface Buffered Format Byte Streams8bit bytes InputStreamOutputStream BufferedInputStreamBufferedOutputStream PrintStream Character Streams16bit characters ReaderWriter BufferedReaderBufferedWriter PrintWr…

Javaの勉強6 (Basic I/O) Formatting

妖精本を読み終わって戻ってきました。Java基礎勉強。 直近ではBasicIOやってたすね。 おさらい Type Note Interface Buffering Byte Streams 8bit bytes InputStream/OutputStream BufferedInputStream/BufferedOutputStream Character Streams 16bit chara…

Javaエンジニア養成読本 特集3 を読んだ

現場で役立つ Java EE Java EEの概要、Servlet、JSF、JAX-RS、JPA、CDI、EJB、チュートリアル。の流れ。 んむー。やっぱり俺得だった。Java EEよく分かってなくて。 ServletとJAX-RSとJPAは知ってて。 CDIは興味があって。EJBはよく分かってなくて。 JSFはち…