聞こえないJavaエンジニアが適当に書き連ねていく

つらつらとメモしたり日頃の溜まっている想いを吐き出す場所です。

プログラミングと執筆

プログラミング言語とあるのだからJavaもCOBOLもC言語も日本語や英語と同じ言語と言える。文法が違うだけ。 言語なので、プログラミングイコール執筆、または作文と同一なのではないか。 文章にするときは起承転結や全体の構成が大事。それはプログラミング…

Effective Java 第3版を買いました

Effective Java 第3版を溜まってた楽天ポイントで買ったので実質無料でゲットなのです。 1ページめくるたびに、わかるような、わからないような、そんな気分を味わう。でも、それでいいのです。載っている90個全てがすぐに完全に理解できるわけがないので、…

Spring Boot 2.0.6で日時を固定したテストを書きたいとき

断り書き 個人的な覚書です。 バージョンアップで動かなくなる可能性があるので検索でヒットして、真似る時は気を付けてください。 前提 以下に書かれている記述が動いた時のバージョンは以下の通り。 Java 1.8 Spring boot 2.0.6 JUnit Platform 1.3.1 JUni…

“ゴミ記事” について考えてみた

最近、エンジニアはブログを書けとかゴミ記事は書くな、という話題をシステム開発界隈で見かけるので個人的に思うことを書いてみる。 まず、ブログを書けという論調、これには同意する。個人的なメモでも、1ヶ月後の自分、1年後の自分にとって役にたつことが…

今更ながらJavaでプレミアムフライデーを求めるロジックを考えた

www.waenavi.com これを読んで、Javaだとどうやって書けばいいか考えてみた。 まず、Java8以降は日付は LocalDate を使うようなのでAPIを読む。 LocalDate (Java Platform SE 8) 月末日をまず求めて、その日が金曜日じゃなかったら1日ずつ遡って曜日をチェッ…

オリジナルのmaven archetype を作った

これは何? デフォルトでmavenコマンドからJavaプロジェクトを作成すると、Java5+JUnit3.8.1のプロジェクトが出来る。 流石に古いので最新バージョンのプロジェクトが出来るようにオリジナルのarchetypeを作成したときのメモ。 作成手順 Maven – Guide to C…

"git configをプロジェクトによって使い分ける" 導入メモ

"git configをプロジェクトによって使い分ける" 導入メモ Gitアカウントを使い分ける必要が生じたので qiita.com を見ながら作業しようとしたら上手くいかなかったのであれこれ試行錯誤したときの個人的なメモ。 うまくいかなかったところ gitconfigを見なが…

コツコツとプレイする

モンスターストライクというゲームが好きで毎日コツコツ遊んでいる。 このゲームは、極論を言えばクエストをクリアしてゲットできるモンスターを99体集めて運極にするゲームなんである。 99体集めるためには、コツコツとプレイしないといけないし、クエスト…

Java9で意外なものが非推奨(Deprecated)になっていた

new Double(99.999)とかnew Integer(1)とかの書き方はJava9でDeprecatedになっていたことを今更ながら知った。Double.valueOf(99.999)とかInteger.valueOf(1)と書けってことらしい。— つりーべる (@tada_suzu) 2018年7月9日 Java10を使って勉強のため、本を…

Eclipse Photonをzipでダウンロードしたいとき

Eclipse Photonがリリースされています。 www.eclipse.org ですが、Eclipseのトップページからだと実行ファイル形式しかダウンロードできないようなので、Packagesを選んでダウンロードしたいとき用にURL直リンク。 www.eclipse.org

Mavenプロジェクトをオフラインで使うときの手順メモ

お仕事で調べたのでメモしておく。 雛形となるプロジェクトは既にオンラインで作成済で、そのプロジェクトをオフライン環境に持ってくるケースを想定している。 IDEはeclipseを前提にしている。 事前作業 ダウンロード 作成済のプロジェクトがあるフォルダ上…

#JavaDayTokyo 2018に参加した

JavaDayTokyo 2018に参加して今時のJavaについて触れてきた。 Javaのリリースのやり方が変わったり、Java EEがEclipseに移管されてJakarta EEになった最初のJava Day Tokyoだったからか、それ系のセッションが非常に人気があって、立ち見も出ているほど。 Ja…

社会人17年目がスタート

2002年入社組なので、働き始めて17年目。 新卒入社してからずっと同じ会社で働き続けているので、ちょっと飽きも感じてはいるわけですが… かといって、他のところで通用する技術を持っているわけでもないので、引き続き今のところで無駄な足掻きを続ける所存…

Java10での文字列結合のパフォーマンスを測定してみた #Java10

これは何? 2018/3/21にJava10が正式にリリースされました。 Java9での比較で使ったプログラムを使ってJava10でどうなったか確認してみます。 前提 これと同じプログラムを使ってテストしました。 qiita.com Java9での比較結果はこちらです。 tadashi.hatena…

Spring.ioで作成した #Kotlin + #Spring の雛形を動かそうとすると java.lang.ClassNotFoundException: kotlin.reflect.KotlinReflectionInternalError が出る対応

これは? ”Kotlin Webアプリケーション 新しいサーバサイドプログラミング” を写経しつつKotlinを勉強していて、はまったのと日本語の記事がヒットしなかったのでメモを兼ねて記録しておく。 前提 https://start.spring.io/ を用いて雛形を作成した。 Spring…

新元号に備えて最低限、何をすべきなのか

先日、新元号の発表は2019年2月以降になる見込みとの報道があった。これに対する反応を見ると、システム対応時期が遅れるのが困る、という意見が多数を占めているように思う。 これについては、政府に対して言いたいことと、システム側に対して言いたいこと…

『ろう者の祈り』を読んだ

朝日新聞出版から出ている、『ろう者の祈り』を読み終えた。 読む前は”ろう者の祈り”とはかなり主語がでかいなぁと思ってたのだけど、読み終えてみるとこのタイトルにした理由はわかる気がした。 自分は幸い、日本語の読み書きは小さい頃に厳しく躾けられた…

三菱東京UFJ銀行のウイルス対策ソフトのお知らせを消すたった一つの方法

Moneytreeなどのツールを使っていると、銀行からの重要なお知らせが来ているために口座情報が取れなくてエラーになってイラッと来てしまうことがあります。 本当に重要なお知らせの時もあるので仕方ないのですが、三菱東京UFJ銀行の場合は大抵がウイルス対策…

環境構築スクリプトはサボってはダメ

今日から週2回、他部署の応援です。 今日は環境構築をしてたんですが、一番苦戦したのが単体テスト用DBの作成。 コマンドを打たないといけない箇所があったんですが、一部コマンドが正しい構文のものが用意されておらず… 有識者に何回も助けてもらってどうに…

人間ドックで胃カメラ検査を受けた

今年の人間ドックで胃カメラ検査を初めて受けた。 流れは以下の通り。 1. 看護師から説明を受ける。カメラが入ったら飲み込む動きはしてはいけないとのこと。まぁそうだよね。 2. スプレータイプの麻酔を喉にかけられる。 3. ベッドに寝転がり、胃カメラを口…

2017年11月時点の自分の思考を整理

ただの思考整理メモです。 ●何が好きなのか? ニーズに合わせて、新しい仕組みを考えて、実際に組み立てる。 うまく行かないとき、あれこれ試行錯誤して原因を究明する。 →うまく動いた時は嬉しいけど、大抵は誰も褒めてくれない。 →すぐに他人に頼ろうとす…

Eclipse Oxygen.1a (4.7.1a) でJava9+JUnit5を試したよ

導入 このツィートを見たので早速試してみた。 最近のeclipseはトップページからだとインストーラをダウンロードさせようとするが、以下ツィートのリンク先は昔からのユーザーにはおなじみの選択制zipなので嬉しい。 New Release - #Eclipse Oxygen.1a is no…

JavaOne2017に日本から参加した方々のブログ記事まとめ

個人的なメモです。 gihyo.jp に掲載されているレポート http://gihyo.jp/news/report/01/JavaOne2017 Publickey(@Publickey) http://www.publickey1.jp/blog/17/javaone_2017_keynote.html http://www.publickey1.jp/blog/17/javaproject_amberjavaone_2017…

Java9のモジュール化について考えてみた #java9

これは何か モジュール化のメリットがよくわからなかったので、実際に手を動かしながら考えてみた。 seasar2時代から発展していない時代遅れの脳だと、以下の構成がしっくり来た。 モジュールの分け方 actionModule、formModule、serviceModuleの3つに分けて…

java.util.ObjectsクラスにcheckIndex()なるメソッドが増えてた話 #java9

序章 Java1.8とJava9のArrayListのソースを比較していたところ、set(int index, E element)/get(int)メソッドの中身が変わっていることに気づきました。 setメソッド Java1.8 public E set(int index, E element) { rangeCheck(index); E oldValue = element…

#Java9 #String 文字列結合のパフォーマンス向上について

相変わらず謎は解けていない。 www.baeldung.com www.sitepoint.com で載っているテストコードを読むと、半角数字の結合結果だけのように読める。 確かに、半角数字だとパフォーマンスはよくなっているのだが、半角英字だとパフォーマンスが悪くなった。 半…

2017年9月にリリースされたJava絡みの公式チュートリアルまとめ

これは何の記事? いつかやってみるかもしれないチュートリアルをまとめておく。 一覧 JUnit 5 User Guide 2017/9/10リリース。 PDFへのリンクあり JUnit 5 User Guide Java Shell User’s Guide 2017/9/21リリース Java Platform, Standard Edition Java She…

半角英字の結合をしたらJava8より遅くなった件の調査【原因不明】 #Java9 #String

これの続編です。 結論から言うと謎が深まっただけです。 tadashi.hatenablog.com LATIN1/UTF16 の判定が追加になっている、と書いてあるので、判定用の値を取得する coder()メソッドの結果を見てみることにしました。 d.hatena.ne.jp ソースはこちらです。 …

正式版Java9で文字列の結合の速度を確認する #Java9 #String

これは何? 2017/9/21にJava9が正式にリリースされました。 Java9ではStringのあれこれが変わったと聞いていますが、そんなことはどうでもいいのです。 維持屋にとっては、バージョンアップ後のパフォーマンスがどうなるのか、が重要なのです!!(極論) 前…

JasperReportsを使うときのライブラリについて

クラスメソッド様のブログにはいつもお世話になっております。 dev.classmethod.jp 2013年に出たブログですが、今でもたまにたどり着くこのページ。 依存ライブラリの部分がmavenだと若干古くなっているようなのでメモとして残しておく。 JasperReports Libr…