日々常々

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

SpringBoot2.2でJUnit5がデフォルトになったのでbuild.gradleを書き換える

SpringBoot2.2でJUnit5がデフォルトになったー。 他の更新はリリースノート見てくださいまし。 ちなみに私に関係ありそうなのはツイートした。触れてないのは単に使ってないってだけで、重要じゃないってわけじゃないです。 - Spring 5.1 -> 5.2- Jakarta EE…

脱ブランチファースト

あるいは「プルリクエストをやめてみた」 チーム構成とかにもよるんだろうけど。Gitかつフォークされないプロダクトでの話です。OSSとかは全然話は変わります。 問題とアプローチ (2019-10-25T15:20 追加) 表出している問題と、ここでのアプローチを書いてお…

「レガシーコードからの脱却」を読みました

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス作者: David Scott Bernstein,吉羽龍太郎,永瀬美穂,原田騎郎,有野雅士出版社/メーカー: オライリージャパン発売日: 2019/09/19メディア: 単行本(ソフトカバー)この商品…

プルリクエストとマージリクエストと。

short answer プルリクエストとマージリクエストに違いはありません。 同等の機能が別の呼び方をされているだけです。 名前の由来を考えてみる 名前の由来を考えてみるのも面白いと思うんです。 ここに書いているのは私の予想ですが、大外しはしていないはず…

finalを付けるのをやめてみた

Javaの話ね。バージョンは8以降の実質的final(effectively final)があるものとします。7以前は匿名クラス(この呼び方は 匿名クラスとかローカルクラスとか参照)でローカル変数を使うにはfinalが必要なので文脈変わります。 前提の整理 final は色々なと…

JUnit 5の拡張機能を完全にマスターしたぃ

本日9/19の関ジャバ'19 9月度でJUnit 5のExtensionの話をしました。 スライド JUnit 5.5.2 のUser Guide を合わせてご参照ください。なお5.3ならoohiraさんの日本語訳もあります。とても助かってる。 ちなみに表紙で言及してるBtoWは ゼルダの伝説 ブレス オ…

配列引数と可変長引数のクラスファイルでの違い

明日の関ジャバの資料作ってたら気になったので。(全く関係ない) javac 11.0.4 可変長引数のメソッドを持つVaragsクラスとそれを呼び出すInvokerクラスがあってさ。 class Varargs { static void methodX(Object... args) {} static void methodY(Object[]…

SQLアンチパターンを読んだ

SQLアンチパターン作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る 積読--; 1冊減ったところで誤差でしかない……。ちなみ…

SpringBootでのRestTemplateのタイムアウト設定

spring-boot:2.1.7.RELEASE spring-web:5.1.9.RELEASE Short Answer RestTemplateBuilder restTemplateBuilder = ... RestTemplate restTemplate = restTemplateBuilder .setConnectTimeout(Duration.ofSeconds(3)) .setReadTimeout(Duration.ofSeconds(3)) …

nullが嫌い

消したつももりだった下書きが残ってたっぽいので公開しちゃう。なお2015-05-10に書いたもののようです。当時のブログを見ると、Optionalでなんか盛り上がった頃みたい。 ということで以下は編集せずそのまま投稿ー。 前置き nullを安易に使わない 派生のポ…

ArrayListじゃなくListを使うという話

具象型ではなく抽象型で扱え、インタフェースを使え、みたいなお話に対して。 前置き Javaの話。他の言語だと話は変わります。 「こうするのが絶対的に正解」と言うものではありません。私の現在の選択の説明です。明日になったら違うこと言ってるかも。 主…

JavaBeansって言葉に煩わされない

JavaBeansって言葉を目にして、ふと検索してみたらあまりに酷かったので書いておこうかと。対象は「JavaBeansってなんだろ?」と思ってしまった初学者さん。でもそんな人って私のブログ読むんだろうか…… 今後は「このエントリ参照」にするつもりで書いてみる…

レイヤーとレイヤーじゃないのと

レイヤーってあるよね。 下方向に依存するやつね。 中をみたら な感じだと思ってるんだけども。 あ、レイヤー間の依存がどうこうとか、直下以外への依存がどうこう、って話は他でしてください。 で、なぜかよく見るのがこんなのだけど これは違うと思うわけ…

どこでモックを使おうか

モッククラスを使うべきか否か から一歩踏み出してみましょう。 モックを使う選択をした。そこはゴールではありません。 お題 RestTemplate を使用して外部サービスを呼び出す場合を考えてください。 ここでの「外部サービス」はネットワーク越しにアクセス…

モッククラスを使うべきか否か

元ネタ: モッククラス、下から見るか?横から見るか? モッククラスを使うべきか否か、というネタを拾ったので書いてみます。これまでにモックについて殆ど書いてないことに気づいて驚きつつ。 Short Answer 「モックに何をさせたいの?」 質問に質問で返す…

いい名前が思いつかないときは変な名前をつける

プログラミングは名付けの連続です。しかし、いつも「いい名前」が見つかるわけではありません。付けたときはいい名前と思っていても、時間が経って知識が増え、ブレイクスルーが起こると、それまでいいと思っていた名前も途端に微妙に感じたりします。 この…

年末感とか全くないのだけど

2018年が終わろうとしてるのでブログでも書こう。 おしごとがたごと 一昨年の年末に勢いで会社を辞めて、去年の年始から個人事業主という無職になって、2年目が終わりになります。まだ2年か。 良し悪しで言うのも難しいのですが、色々と得られるものが多くあ…

Spring Security研修を受けてみました

カサレアルさんのSpring Security入門を受けてみました。 https://www.casareal.co.jp/ls/service/openseminar/java/j120 とてもよかったです。 受ける前Spring Securityの知識 ベースがPro Spring Securityです。そこにソースと実務経験、Spring徹底入門を…

Javaエンジニアからみた最近のJava事情

5/9(水) 大正GeekNight Vol.1で話しました。 https://taisho-geek.connpass.com/event/85508/ 4ヶ月前のスライドです。 Javaのサポートについては続報も出てきていますし、思い込みで騒がないのが吉です。 いよいよ今月本命のJava11がリリースですね。どうな…

ISBNを記録しておくChrome拡張つくった

GWなのでこんなの作りました。 chrome.google.com 開いたページに載っている「ISBNっぽい数字」を雑に集めます。やってみたらすごく集まりました。慌てて消す機能つけました。 タイトルがわかるだけでもいいのですが、とりあえずAmazonを開けます。(買って…

タブを整理するChrome拡張を作ってみた

TabutlerというChrome拡張を作って、Chromeウェブストアで公開しています。 chrome.google.com Chromeのタブをお片づけしてくれる子。 完全に自分用なので、他の方の役にたつかどうかはわかりませんが、よろしければどうぞ。 作った経緯とか 今月のLT祭りの…

「遅れ」なんてない

「頑張って遅れを取り戻す」 綺麗な言葉ですが、私は嫌いです。その中でも次の言葉が特に嫌いです。 頑張る 遅れ 取り戻す 全部。これらが嫌いな理由をそれぞれ説明していきます。順番は「頑張る」→「取り戻す」→「遅れ」です。 なお、「頑張って遅れを取り…

既存を正解とする減点ゲームへの違和感

オンラインミーティングとか、リモートワークとか、インターネットを介する話のメリットデメリットとかをみていると、「既存になるべく近づけよう」としているところに違和感を感じてる。 電子書籍もそうで、いかに紙をデジタルで表現するかに腐心しているよ…

Tech Deep Dive #2 in Osakaに参加して思ったこと

techdeepdive.connpass.com Tech Deep Dive #2 in Osakaに「ブログ書いてくれる人」の枠で参加したので、書きます。枠空いてたので一般参加枠でもよかったんだけど、なんとなく。 Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか relo…

ベタープログラマ第二部の感想

ベタープログラマを読もう - 日々常々 ベタープログラマの第一部を読んだ - 日々常々 第二部「練習することで完璧になる」を読みました。 読んだのは15,16,17,19,22章。15章は16,17章を読んでたら「我々のチームの三つの規則」として触れられてたので。 15章…

どう書くか迷う正規表現

1文字かつ2種類の文字にマッチさせる正規表現を書こうとする時、 [ab] と (a|b) で毎回迷ってるなーとアンケートとってみた。 [ab] って書くか (a|b) って書くか迷うのだけど、みんなどっちで書いてるんだろう。— irof as a レガシー (@irof) 2018年3月9日 […

「あるエンジニアがプログラムを紡いでいく様を見てみる」ライブコーディング・リプレイ

あるエンジニアがプログラムを紡いでいく様を見てみるでしたライブコーディングで言ったことや言わなかったことを書いてみます。 意識してるのは「コードをどまんなかに」です。 speakerdeck.com ……あ、このスライドのブログ書き忘れてた。 スライド中の「え…

Javaアプリケーションを作るときにまずやってること

DevLOVE関西で実験的なイベントをさせてもらいました。 devlove-kansai.doorkeeper.jp このイベントのおかげで、自分がアプリケーション作るときに最初にどうしてるかを確認できたので晒してみます。誰かの役に立つかどうかは知らない。あ、Macです。ある程…

Spring Boot Gradle Pluginの話(Spring Boot 1.5.x & Gradle 4.5)

Spring Boot 1.5.x とGradle 4.5 の話です。Spring Boot 2.0とGradle4.6が出たので、埋葬がてら書いておきます。 どんな感じで要らない話になったのかは最後に書いてます。 Spring Boot Gradle Pluginの機能 67. Spring Boot Gradle plugin たいだい*1 だい…

SpringBoot2.0がリリースされたのでバージョンアップしてみた

spring.io 待望のSpringBoot2.0がリリースされました。 ので早速バージョンアップだー。 やったことといえば、 build.gradle のビルドスクリプトプラグインのバージョンアップだけ。 Spring Boot Gradle Plugin Reference Guide に書いてる通りですね。 - id…