きり丸の技術日記

技術検証したり、資格等をここに残していきます。

2022-05-01から1ヶ月間の記事一覧

Javaでメソッド参照を使ったまま、ラムダ式で条件否定をする(Predicate.not)

私はラムダ式での可読性を上げるため、メソッド参照を使用することが多いです。ただ、メソッド参照を使用したまま条件否定する方法を知らなかったため、無名関数を使用して条件を否定していました。または、内部で条件否定をしたメソッドを別に用意している…

PythonでJSONを比較したい(I want assert JSON by Python)

環境 Python 3.9 ユースケース PythonでAPI開発を行い、レスポンスのJSONを比較したい。 次のJSONが等価であることを期待する。 { "id": 100, "name": "kirimaru" } { "name": "kirimaru", "id": 100 } できていないこと ソート順を無視したJSONの配列の比較…

Javaで日付の差が何ヵ月かを計算する。あまりは切り上げる (LocalDate, ChronoUnit)

閏年等を考慮しだしたら混乱したのでメモ残します。 環境 Java 17 対応 対応自体は簡単で、ChronoUnit.MONTHESで月の差分を取得できます。今回は、1ヵ月に満たない日付がある場合は切り上げるので+1するだけです。 LocalDate start; LocalDate end; ChronoUn…

Pythonでインスタンスが自作型ではなく、組込み型(built-in types)であることを判別する(isinstance)(primitive types)

Pythonにて処理する際のインスタンスが組込み型(built-in types)であることを判別したかったのですが、簡単にはできませんでした。もし、簡易にできるようになったら、教えてください。 なお、組込み型(built-in types)とは、Pythonが定義しているstr, i…

Lombokで自動生成されるGetterのprefixを変更したかった(Accessor prefixが使いたかった)

うまくいかなかったことのメモ。 環境 IntelliJ IDEA 2021.3.3 (Ultimate Edition) 2022/05/07時点 きっかけになったツイート なるほど。APIでyyyymmddのフォーマットを期待するrequest date型を用意してたけど、そこからlocaldateに変換するときにメソッド…

IntelliJ IDEAのLive Templatesでよく使うコードを登録して生産性アップする(テストのNestedクラスを生成する)

IntelliJ IDEAでは「Generate code」という機能があります。「Alt + Insert」等のショートカットキーで呼び出すことができます。 この機能を呼び出すと、「@Test」「@BeforeEach」等々のよく使用されるコードが生成されます(公式によると、このよく使用する…