日々常々

ふつうのプログラマがあたりまえにしたいこと。

「現場で役立つシステム設計の原則」の目次流し

本日発売された @masuda220 さんの「現場で役立つシステム設計の原則」が気になってる方へ。 紙の本。 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア…

"ふつうのJavaコーディング"を話しました

2017/5/20にあったJJUG CCC 2017 Springで登壇させていただきました。 8回目の参加です。 毎回パワーアップしているなーと言うのは前回のブログでも書きましたが、今回は目に見えて参加人数が増えたんだなーと体感しました。 入れないセッションもありました…

Agile Japan 2017 京都サテライト おいでやす〜のメモ #AgileJapanKyoto

Agile Japan 2017 京都サテライト おいでやす〜 の参加/運営メモです。 「ブログを書く かつ 現場で実践するまでがAgile Japan 2017 京都サテライトです。」 って言わせれたので。 ちなみに元々は「ブログを書く または 現場で実践する」ってなってました。 …

Java本格入門を読みました

ゴールデンウィークの間に圧倒的成長をしたい若手プログラマさんに丁度いいんじゃないでしょうか。 Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで作者: 谷本心,阪本雄一郎,岡田拓也,秋葉誠,村田賢一郎,アクロクエストテ…

DIコンテナのインジェクション方法の使い分けについて

DIコンテナを使う時にどのインジェクションを使うかって話です。 たぶん誰かがどこかで同じようなことを書いているだろうけれど、気にせず書くよ。 「他の誰かが書いている」なんてのを書かない理由にしてると何も書けなくなるし。 コンテナ DIコンテナのこ…

ことしのふりかえり

2016年12月31日です。 最近の日付表記のマイブームだと 2016-12-31T22:11 です。 大晦日ですね。 さて、今年を振り返ってみよう。 来年になったら忘れる、と言うかもう忘年会してるから忘れちゃってるんですが、なんとか引っ張り出して。 今年もなんだかんだ…

多くの人は忘れてるCoinの一つ

Java SE 7がリリースされたのは2011年7月。 さらに、パブリックアップデートが2015年4月で終了している子です。 5年も経てば一定の評価はできるでしょう。 さて、以下のコードをコンパイルしたらどうなるか。 void method() { try { throw new Exception(); …

#jjug_ccc 2016 FallでJUnit5の話をしてきた

今年の目標を「1ヶ月に1エントリ以上のペースでブログを書く」にします。 これで9エントリになるので後3ですね。2012年12月は1ヶ月で34エントリ書いてるので、今の私と彼が同一人物なら余裕なはず。 さて、2016-12-03のJJUG CCC 2016 Fallで話させてもらいま…

JaCoCoとMavenと何か

JaCoCoとMavenでカバレッジを取ろうってやつ。 Java: 1.8.0_102 Maven: 3.3.9 JaCoCo: 0.7.6.201602180812 いろいろ地味に古いけど気にしない。 普通の手順 設定 丁寧な解説ありますけど、もっと雑なの。 pom.xmlのproject/build/pluginsに入れるだけ。 <plugin> <groupId>org</groupid></plugin>…

「Javaの新定石」でJava EEについて書きました(WEB+DB PRESS vol.94)

WEB+DB PRESS Vol.94作者: 藤原俊一郎,朽木拓,八木俊広,吉田太一郎,うらがみ,のざきひろふみ,うさみけんた,水嶋淳貴,佐々木健一,柴崎優季,前島真一,伊藤直也,遠藤雅伸,ひげぽん,海野弘成,はまちや2,竹原,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売…

WEB+DB PRESS vol.93のJavaの新定石は"マルチスレッド/GCとの付き合い方"です。

2016-06-24に発売してました。1ヶ月経ってるので、だいたい読んでくれてると信じてます。まだの方は是非。 WEB+DB PRESS Vol.93作者: 原田騎郎,吉羽龍太郎,松浦隼人,須藤涼介,生沼一公,森下雅章,前島真一,鍛治匠一,伊藤直也,のざきひろふみ,うらがみ,高山温,…

WEB+DB PRESS vol.92から「Javaの新定石」って連載、はじめました。

連載はじまります。よろしくおねがいします。 イメージは高速道路。知識の高速道路とか言うアレです。 ワープや発生ではないです。いきなり新しいものが出てくるのではなく、昔から繋げつつ駆け抜ける感じ……になるのかな。 そんな風なことを書いていきたいな…

Kotlinに手を出してみる

Kotlinをはじめてみよう。 と思って、こんなことをした。 インストールする はろわをかく javapして眺める Kotlinに依存しない形(javaコマンド)でkotlincでコンパイルしたクラスを動かす GitHubのほうに同じのをあげてるます。 https://github.com/irof/sa…

EC2のAmazonLinuxにPayaraを放流してみた

前置き EC2さん。便利ですよね。使ってますか?私はあまり使ってないです。別にほかのサービス使ってるとかでもないです。(ドヤ顔で目線を逸らしながら たまに思い出したように触っては、ある程度使えるつもりになって。 しばらくしたら使い方を綺麗さっぱ…

コンストラクタのメソッド利用で注意すること

Java入門ではさらっと以下のように書いた、コンストラクタでインスタンスメソッドを実行することについて掘り下げてみます。 コンストラクタからインスタンスメソッドを使用することは可能ですが、避けたほうが無難です。 コンストラクタの実行中はインスタ…

バージョンアップ時に互換性を損ねてしまう変更

あるいは、利用者にバージョンアップをためらわせる変更の手引き。 前置き うっかり互換性を損なってしまう変更について書いてみます。 知ってたらやらかさないし、なんてことのない事なのだけれど、 知らなかったら何が駄目なのかわかりづらいし、 原因を突…

Javadocに何を書こうか

これは Java Advent Calendar 2015 の 16 日目の記事です。 昨日は @yukung さんの Java で引数の null チェックで迷った話 でした。明日は @mdstoy さんです。 ちなみに過去のJavaアドベントカレンダーで書いたもの。 2014年: Javaであまりしないコーディン…

ハンズオンイベントに潜む悪魔(黒猫)

11/15に「Javaでwebアプリケーション入門」というイベントのお手伝いをいたしました。 #javajok で関西Java女子部さんのイベントです。 http://javajok.connpass.com/event/22044/ イベントページ http://backpaper0.github.io/2015/11/15/javajok.html 一緒…

#AsiyanAutomationAlliance をやりました

6月27日 Asiyan Automation Alliance 2015 ~JI・DO・U・KAッ!(2015/06/27)(兵庫県)kokucheese.com 第一回 AsiyanAutomationAlliance をや っています。現在進行中です。 りました!第二回AAAです。 運営なんですが、超寝坊しました。開始には間に合ったけ…

MavenSurefirePluginのバージョンのメモ

前置き プラグインのバージョンとかは上げるタイミングがあれば最新にする私ですが、設定によっては動かなくなったりして、一気に上げるのは厳しいこともあります。でもどこまで下げたらいいかわからなくて、やりたいことができるギリギリでお茶を濁すなんて…

WeldとJava SEとGradleとIDEAと

Weldを使ってみようと思いました。普段DIはSpring一本槍なのですが、それもどうかと思ったので。 opengl-8080さんやKazuhiraさんのようないつもの方々が既にやられていることだし、すぐできるだろうと思ってました。 JavaEE - JavaSE 環境でCDI(Weld)を使…

jBatchをgradle使ってSE環境で動かしてみる

JSR352-Batch Applicationを試してみた(Batchlet編) - しおしお(´・ω・`) jBatch(JSR-352) on Java SE 環境 | 寺田 佳央 - Yoshio Terada しおしおさんの書いたブログを見て、jBatch触ってみるかーという気になりました。 おれもそろそろjbatchかな— いろふ…

TimeUnitという物体

小ネタ。 java.util.concurrent.TimeUnit というクラスはご存知だろうか。ご存知?なら回れ右してください。お疲れさまでした。またの機会によろしくお願いします。 ... さて、読み進めているならばご存知でないはずなので、まずJavadocのリンクをば。 TimeU…

Calendar.Builderとやらを触ってみた

知らなくても生きていけるけど、知ってるとちょっと便利っぽいもの。 みんな知ってるのかもしれないけど、私は今日まで知らなかったから書いておきます。 もともとは今日 @khasunuma さんがされていた一連のツイートからです。その中で紹介されたスライドに…

匿名クラスとかローカルクラスとか

Java入門では割愛としていたローカルクラスと、ついでに関連の強い匿名クラスについて書いておきます。ネストしたクラスとかインナークラス(内部クラス)とかはそこそこしっかり書いたつもりなので、読んでいただけると嬉しいです。 Javaエンジニア養成読本…

JAX-RS ClientでBasic認証してみる

背景 REST APIにアクセスする必要がある。BASIC認証がかかっている。JAX-RSのClientAPIを使ってアクセスしたい。 とりあえずHTTPヘッダに直接AuthorizationとBase64エンコードしたのを突っ込んでやってたんだけど、なんかイマイチな感じがした。で、うらがみ…

カテゴリ「Java入門+α」を作ってみた

ブログにカテゴリ「Java入門+α」を作ってみた。 Java入門+α カテゴリーの記事一覧 - 日々常々 カテゴリ名の通り「Javaエンジニア養成読本のJava入門を読んだ人」に対して、+αになりそうなものを分類しております。 Javaエンジニア養成読本 [現場で役立つ最新…

Optionalの取り扱いかた

JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメ…

リストを項目ごとに集計する - Java8ばーじょん

4年前に書いたリストを項目ごとに集計するというエントリを見つけたので、なんとなく今風にStream使って書いてみた。 Collection<Output> summary(List<Input> data) { return data -> { Map<String, List<Input>> collected = data.stream() .collect(groupingBy(Input::getKey)); return colle</string,></output>…

JUnit4.12に追いつこう(周回遅れで)

JUnit4.12がでました!……2014/12/4に。なんと6ヶ月経ってる。まぁいいや。 JUnit 4.12の新機能紹介まとめ / うさぎ組(2014/8/5) JUnit 4.12から入ったTestRuleを軽く見てみる / 裏紙(2015/2/28) JUnit4.12時代のParameterized Test / mike-neckのブログ(2015…