並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 80件

新着順 人気順

AssertJの検索結果1 - 40 件 / 80件

  • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

    Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

      Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
    • 新規事業開発での技術選定の意思と意図 (バックエンド編) - Sansan Tech Blog

      こんにちは、新規事業開発室に所属するソフトウェアエンジニアの加藤です。私は関西支店でBill Oneという新規サービスの開発に携わっています。 弊社にはSansanのカタチという企業理念があり、働く人々が体現すべきValuesの1つに「意思と意図をもって判断する」があります。ソフトウェアエンジニアとして、意志と意図をもって利用する技術を選定することは当然かもしれませんが、細部までそれを徹底するのは難しいこともあります。本稿では、私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきたいと思います。 などと硬めのことを書きましたが、他所のチームでは普通に使われているライブラリを意外と知らなかったりするので、似たような記事を読みたいなと思って、技術選定を公開してみる次第です。まずはバックエンド編です。 前提 私たちのチームで開発しているBill Oneは今年の

        新規事業開発での技術選定の意思と意図 (バックエンド編) - Sansan Tech Blog
      • Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics

        アクロクエスト アドベントカレンダー 12月9日 の記事です。 普段は Java, Python でバックエンドの開発をしている大塚優斗です😃 最近は Spring フレームワークのメジャーアップデートなどで盛り上がっていますね! 10月にこんな記事を見かけて、Spring Modulith がとても気になっていたので、手元で試したことを書いていきます✍️ Spring Modulith とは Spring Modulith でできること 0. Spring Modulith でのパッケージの扱いについて 1. モジュール構造の検証 循環参照の検知 別モジュールへのアクセス違反の検知 2. モジュールに閉じた結合テスト 単一のアプリケーションモジュールで結合テストができること Bootstrap モードによって、結合テスト時に他モジュールの Bean 生成ができること 3. イベントによ

          Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics
        • テスト自動化関連ツール・ライブラリまとめ - Qiita

          分類については独断です。また、こつこつ「ひとこと説明」を追加していく予定です。 Selenium関連については Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita が参考になります。 FAQ なんで***を除いているのか 恣意的に除いていることはないので、編集リクエストかコメントをください GUIテスト自動化ツール モバイル・デスクトップアプリ・ブラウザのうち複数の対象のGUIを操作できるテスト自動化ツール。 有料 インストール型 UFT One QTP(Quick Test Professional)→UFT(Unified Functional Testing)→UFT One Silk Test UFT Oneと同じくMicroFocus製で、UFT Oneのほうがメジャーな印象(筆者主観) Ranorex TestComplete W

            テスト自動化関連ツール・ライブラリまとめ - Qiita
          • Modern Best Practices for Testing in Java

            Philipp Hauer's Blog Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development Posted on Sep 9, 2019. Updated on Dec 18, 2022 Maintainable and readable test code is crucial to establish a good test coverage which in turn enables implementing new features and performing refactorings without the fear of breaking something. This post contains many best practices that I collect

              Modern Best Practices for Testing in Java
            • GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現 - タケハタのブログ

              4月に発売した書籍「Kotlin サーバーサイドプログラミング実践開発」なのですが、この中で途中まで作っていてボツネタにした内容がありました。 gihyo.jp それが「Gradleのマルチプロジェクトでオニオンアーキテクチャを実現する」というものです。 第2部で作成していたbook-managerというアプリケーションは、もともとこれを使って作成していましたが、途中でやめて現在の形になりました。 github.com ボツネタにした理由としては、一回実践で導入してみていくつか微妙な点があったことと、紙面上の説明が複雑になるのでベーシックな内容としては外していいかなと思ったためです。 ただせっかく途中まで作っていたので、試して微妙と感じた点も含めて、今回紹介したいと思います。 サンプルとしてこのbook-managerの内容をマルチプロジェクト化したアプリケーションを使い、オニオンアーキテ

                GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現 - タケハタのブログ
              • ユニットテストの自動作成ツールを調べてみた(2019年末版) - Qiita

                こんにちは。もうすぐ2019年も終わりですね。この記事はソフトウェアテスト Advent Calendar 2019 の25日目の記事です。 前日の記事は、同僚の@ozhiro sanのあなたが自動テストを行う目的は何ですか?でした。感動した! さて、今日はユニットテストの自動作成ツールの現状について調べてみました。 なぜ、調べようと思ったのか? ユニットテストって大切ですよね? ソフトウェアを日々開発、修正していく中で、ユニットテストは開発したソフトウェアの品質を確保するテストツールです。また、テスト実行は自動化できるので、テスト工数も削減できます。 しかし、ユニットテストを実行するためにはテストコードの開発が必要で、それなりに開発工数を必要とします。より網羅性などを求めると、テスト対象のソフトウェア開発と同じくらい時間がかかったりする場合もあります。 そのような背景もあり、開発工数や期

                  ユニットテストの自動作成ツールを調べてみた(2019年末版) - Qiita
                • Kotlin Fest 2024 参加レポート - エムスリーテックブログ

                  Kotlin Fest 2024 こんにちは! マルチデバイスチームの小林(@bakobox)とデジスマチームの荒谷(@_a_akira)と大和(@daiwahome0)です。 Kotlinに関する技術カンファレンス「Kotlin Fest 2024」が6月22日に開催されました!*1 エムスリーはひよこスポンサーとして協賛させていただき、弊社社員も何人か参加したので振り返りを行いたいと思います! (Kotlin Festスタッフとして星川(@oboenikui)も参加していました) ブース セッション もっとKotlinを好きになる! K2時代のKotlin Compiler Plugin開発 Jetpack Compose: 効果的なComposable関数のAPI設計 K2のKotlin IDEプラグインの中を覗いてみよう♪ 2024年に公開するに相応しいKotlin Multipl

                    Kotlin Fest 2024 参加レポート - エムスリーテックブログ
                  • Javaのテストにおけるモダンなベストプラクティス - Qiita

                    本記事はModern Best Practices for Testing in Java の日本語訳です。元記事の著者から許可を得て翻訳、公開しています。 翻訳は不慣れなので変なところもあると思いますが、ご容赦ください。 なお、はてなブログにも同じ記事を投稿しています。 https://dhirabayashi.hatenablog.com/entry/2020/04/21/190009 メンテナンスしやすくて読みやすいテストコードは良いテストカバレッジを確立するために重要で、それにより何かを壊すことを恐れずに新機能の実装やリファクタリングが可能になります。この記事には、私がJavaでユニットテストや統合テストを長年に渡って書いて得られた多くのベストプラクティスが含まれています。それにはJUnit5やAssertJ、Testcontainers、Kotlinといったモダンな技術も含みます

                      Javaのテストにおけるモダンなベストプラクティス - Qiita
                    • Testcontainersを利用したSpring Bootアプリのテスト - Qiita

                      今参画している案件でMySQL、Kafka、Cloud Pub/Sub、AWS SQS/SNSあたりを使ったアプリケーションを作成することになりそうなので・・・Testcontainersを利用してSpring Bootアプリケーションのテストをしようかな〜と考えています。今回はすご〜く簡単なデモアプリケーションを作ってみました。 今参画している案件では使わないけど・・・ PostgreSQL MockServer(擬似HTTP Server) を使ってテストするデモアプリケーションも作ってみました。 利用するもの Spring Boot 2.4.5 Testcontainers 1.15.3 JUnit 5 Docker MySQL in Docker PostgreSQL in Docker Apache Kafka in Docker Cloud Pub/Sub Emulator i

                        Testcontainersを利用したSpring Bootアプリのテスト - Qiita
                      • Kotlin + SpringBoot で構築したアプリケーションの構成をbuild.gradleに沿って紹介 - エムスリーテックブログ

                        こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 この記事は エムスリー Advent Calendar 2019 の11日目の記事です。 昨日は大垣の 行動ログデータからのユーザーアンケート予測モデルを作り、ユーザーの嗜好分類をする でした。 今回も中村の記事で宣言した 「医師版Stack Overflow」(仮名)の技術的チャレンジのうち、 Kotlin + SpringBoot でのアプリケーション構成例を build.gradle に沿ってご紹介します*1。 山中湖交流プラザ きららは山梨県山中湖村にある総合公園。本文には特に関係ありません。 DBフレームワーク MyBatis3 data classにマッピングしたい Vueのビルド 静的解析 コンパイル時の警告もエラー扱いにする ktlint detekt OWASP Dependency C

                          Kotlin + SpringBoot で構築したアプリケーションの構成をbuild.gradleに沿って紹介 - エムスリーテックブログ
                        • JavaでAES(ECB/CBC)を使う - CLOVER🍀

                          これは、なにをしたくて書いたもの? こちらのエントリを書いていて、「JavaでAESを使う時のコードを全然覚えてないな」と思いまして。 MessageDigestに"SHA"とか、Cipherに"AES"とだけ指定した場合、どうなるの? - CLOVER🍀 メモしておこうかな、と。 環境 今回の環境は、こちらです。 $ java --version openjdk 11.0.9.1 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing) $ mvn --version Apache Maven 3.6.3 (cec

                            JavaでAES(ECB/CBC)を使う - CLOVER🍀
                          • Gaugeを使ってMarkdownで書いたテスト仕様を動かしてみる - ContractS開発者ブログ

                            こんにちは。Holmesでエンジニアをしている山本です。 社内でATDDの話題が出たことがありました。受け入れテストと言えばCucumber、というイメージがあったのですが、他にないか調べたところ、Gaugeという、Markdownを仕様としてテスト実行できるツールがあったので、試してみました。 実行環境 Gaugeの概要 なぜGaugeを試そうと思ったのか 環境構築 Gaugeのインストール Intellij IDEAにGaugeプラグインを追加 Intellij IDEAからGaugeプロジェクトの作成 Visual Studio CodeにGaugeプラグインを追加 Visual Studio CodeからGaugeプロジェクトの作成 Gaugeの実行確認 Intellij IDEAでのプロジェクトインポート 実装 テスト仕様の記述 テスト実装の記述 実行と結果の確認 感想 最後に

                              Gaugeを使ってMarkdownで書いたテスト仕様を動かしてみる - ContractS開発者ブログ
                            • KotlinアプリケーションをGoogle Cloud Functionsにデプロイする - Sansan Tech Blog

                              Bill One事業部の山邊です。 2020 年 5 月に Google Cloud Functions が Java11 に対応した。それによって JVM 言語で Cloud Functions を記述することができるようになった。 私も開発に携わっているクラウド請求書受領サービスの 「Bill One」(https://bill-one.com/) ではサーバーサイド言語として主に Kotlin を使用してる。しかし、これまでは Cloud Functions を記述する際は主に JavaScript を利用していた。最近になって Kotlin(JVM 言語)の方が都合が良い要件があったため、 Kotlin で Cloud Functions を記述した。 その際、Kotlin 且つ日本語のドキュメントで全体を通して書かれている記事がなかったため、基本的な実装とテストコードの記述につい

                                KotlinアプリケーションをGoogle Cloud Functionsにデプロイする - Sansan Tech Blog
                              • Javaソースコードのアーキテクチャーをチェックするテストが書ける、ArchUnitを試す - CLOVER🍀

                                これは、なにをしたくて書いたもの? ArchUnitというものを試してみたいな、ということで。 ArchUnit ArchUnitは、Javaソースコードのアーキテクチャーをチェックするためのユニットテストフレームワークです。 ArchUnit is a free, simple and extensible library for checking the architecture of your Java code using any plain Java unit test framework. Unit test your Java architecture - ArchUnit ArchUnitを使うことで、パッケージやクラス、レイヤーやスライスの依存関係、循環参照などをチェックできます。 That is, ArchUnit can check dependencies betw

                                  Javaソースコードのアーキテクチャーをチェックするテストが書ける、ArchUnitを試す - CLOVER🍀
                                • あなたの知らない Gradle の kotlin-dsl プラグイン - mike-neckのブログ

                                  やんくさんに頼まれたので、誰かが書くだろうと思って待ってたけど誰も書かない Gradle の kotlin-dsl プラグインについて書きます。 @mike_neck mikeさんアドベントカレンダー書くネタあったりしませんか?👉👈https://t.co/ZDwmyBpbC0— やんく (@yy_yank) 2020年12月12日 まず、先日(2020/12/11)開催された JJUG ナイトセミナーにて、時間がないのでほぼ飛ばしてしまった、こちらの話題について解説します。 build.gradle(build.gradle) の中で if 文(Kotlin だと式ですね)とか for 文(こっちは式だったっけ?)を書くと、宣言的なコード(例えば依存ライブラリーの宣言など)と命令的なコードが混在してしまいます。そのため、ビルドスクリプトを読むために頭の切り替えが必要になるのでメンテナ

                                    あなたの知らない Gradle の kotlin-dsl プラグイン - mike-neckのブログ
                                  • mockito で static メソッドの mock を使ったテストをしたい - おおくまねこ

                                    はじめに 内容としては「mockito と使った、static メソッドを mock 化する方法」です。 業務の異動の関係で、Java の利用頻度は少なくなりましたが、 みつけられたことは共有していこうと思います。 static メソッドの mock 化するモチベーション mock 化したいのは、おもにユニットテストを書く際に、依存モジュールを好きな値をかえす、mock/stub を使ってテストしたいとなると思います。 Java で実装を行う場合、自分たちで static メソッドを作る場合もあると思います。 自分たちで作らない場合でも外部モジュールで実装された static メソッドを使ったりする場合もあると思います。 そういったものに依存するクラスを開発することになった場合、 ユニットテストを書こうとした際、mock 化するには どのようにすると良さそうかということを考えます。 pow

                                      mockito で static メソッドの mock を使ったテストをしたい - おおくまねこ
                                    • AssertJ - fluent assertions java library

                                      A core module to provide assertions for JDK types (String, Iterable, Stream, Path, File, Map, …​) A Guava module to provide assertions for Guava types (Multimap, Optional, …​) A Joda Time module to provide assertions for Joda Time types (DateTime, LocalDateTime) A Neo4J module to provide assertions for Neo4J types (Path, Node, Relationship, …​) A DB module to provide assertions for relational data

                                      • Spring Boot/Spring Frameworkのテストに関するドキュメントをざっくり眺めてみる - CLOVER🍀

                                        これは、なにをしたくて書いたもの? Springに関するテストの話について、あまり知らないのでちょっと見ておこうかな、と思いまして。 さらっと、Springのテストに関するドキュメントを眺めてみます。 Springのテストに関する話 今回扱うのは、Spring Bootのテストに関する話とSpring Frameworkのテストに関する話(Spring Test)について見ていこうかなと思います。 対象のバージョンは、以下とします。 Spring Boot 2.6.6 Spring Framework 5.3.18 Spring Bootのテストに関するドキュメントはこちら。 Core Features / Testing Spring Frameworkのテスト(Spring Test)に関するドキュメントは、こちら。 Testing それぞれ見ていきますが、今回は単体テストについて S

                                          Spring Boot/Spring Frameworkのテストに関するドキュメントをざっくり眺めてみる - CLOVER🍀
                                        • MockMvcでAssertJを使用しSpring MVCで作成したREST APIのレスポンスJSONをテストする - Qiita

                                          Help us understand the problem. What are the problem?

                                            MockMvcでAssertJを使用しSpring MVCで作成したREST APIのレスポンスJSONをテストする - Qiita
                                          • Database Riderを試してみる - CLOVER🍀

                                            これは、なにをしたくて書いたもの? 以前、DbUnitを使ってエントリーを書いてみました。 DbUnitを試してみる - CLOVER🍀 この時にも少し触れていたのですが、今回はDatabase Riderというものを試してみたいと思います。 Database Rider Database Riderは、DbUnitとJUnitを統合してデータベースのテストをしやすくするものです。 Database Rider integrates DBUnit and JUnit in order to make database testing a breeze! Database Rider 機能としては、以下のようですね。 アノテーションを使ってJUnit Ruleと統合 インターセプターによるCDI統合 JSON、YAML、XML、XLS、CSVデータフォーマットをサポート アノテーションまた

                                              Database Riderを試してみる - CLOVER🍀
                                            • JUnitのAssertJの使い方

                                              import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.within; import static org.assertj.core.api.Assertions.tuple; 文字列の検証はisEqualToメソッド 文字列はassertThat(“文字列”).isEqualToメソッドで検証します。 package jp.co.test; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test;

                                                JUnitのAssertJの使い方
                                              • 【JUnit 5】Spring Bootでバリデーションのテストを書くよ!【パラメータ化テスト】 - Qiita

                                                はじめに こんにちは!ゼロからJavaであそぶシリーズ第5弾です。 今回は、前回作ったバリデーションのテストクラスを製作します。 ネタバレすると、最初に失敗例があるタイプのQiita投稿です。さくっとパラメータ化テストの実例が見たい方は【◎良い例】まで飛んでください(笑) 前回までの記事はこちら↓ macでSTSの環境構築 Spring BootでHelloWorld Spring Bootでエコーアプリケーション作成 Spring Bootでフォームバリデーション作成 前回までのあらすじ 現状のバリデーション要件は以下の通りです。フォームクラスにアノテーションを付与して以下の文字種チェック、文字数チェックを行っています。 使用可能文字種:半角英数のみ 文字数制限:4文字以上 使用環境とバージョン macOS Catalina jdk14.0.1 JUnit 5 Maven 3.6.3_1

                                                  【JUnit 5】Spring Bootでバリデーションのテストを書くよ!【パラメータ化テスト】 - Qiita
                                                • Java 11で文字を数える - CLOVER🍀

                                                  これは、なにをしたくて書いたもの? Javaで文字数を数える時に、String#lengthではサロゲートペアがうまく数えられないことは有名だと思うのですが。 Unicode - Wikipedia 結合文字というものを踏まえた数え方をちゃんと知らなかったので、今回見てみることにしました。 タイトルは、確認したバージョンがJava 11なだけです。 注)BreakIteratorではうまく数えられない絵文字があるので、その場合はJava 17へ Java 17で文字を数える - CLOVER🍀 BreakIterator 結合文字は、基底文字と組み合わせて文字を作ることができる文字のことを言います。 Unicodeにおける、異体字セレクタも該当します。 異体字セレクタ - Wikipedia 異体字セレクタは、このサイトで確認するのがよさそうですね。 異体字セレクタセレクタ 異体字セレク

                                                    Java 11で文字を数える - CLOVER🍀
                                                  • MapStruct を用いて高速に Bean Mapping を行う - Qiita

                                                    http://mapstruct.org/ MapStruct は Annotation Processor という仕組みを用いて、クラスに定義したアノテーション情報などをヒントとしてコンパイル時にコードを自動生成することで Bean Mapping を手軽にかつ高速に行うことを目的としたライブラリです。 Awesome Java ( https://github.com/akullpp/awesome-java/blob/master/README.md#bean-mapping ) にも紹介されているライブラリですが、コンパイル時に静的で堅実なコードを生成してくれるというアプローチが個人のユースケースに合致したこと、Swagger などのツールで使われているなど理由で、こちらを開発現場では使っています。 Hello World 的に 蛇足な気もしますが、いちおう。 以下のような記述をす

                                                      MapStruct を用いて高速に Bean Mapping を行う - Qiita
                                                    • JUnit4とセットで使うライブラリ~環境構築編~ | Casley Deep Innovations株式会社 技術ブログ

                                                      JUnitのアサーションライブラリAssertJ ~環境構築編~ 作成日:2018/05/02 更新日:2018/06/29 技術ブログ テスト こんにちは。 キャスレーコンサルティングLS(リーディング・サービス)部の梅津です。 今回より、「JUnitのアサーションライブラリAssertJ」をテーマに、三回に分けてご紹介いたします。 第一回目は、「AssertJを使うための環境構築手順」についてです。 ※AssertJの詳細につきましては、次回のブログにてご紹介予定です。 JDK8とApach Mavenのインストール まずは、JDKとApache Mavenのインストールを行います。 使用OSは、Windowsです。 JDK8 下記より、必要なファイルをダウンロードします。 http://www.oracle.com/technetwork/java/javase/downloads/

                                                      • Microservices for Java Developers: Testing - Java Code Geeks

                                                        Andrey RedkoJanuary 29th, 2019Last Updated: December 11th, 2023 1. IntroductionSince Kent Beck coined the idea of test-driven development (TDD) more than a decade ago, testing became an absolutely essential part of every software project which aims for success. Years passed, the complexity of the software systems has grown enormously so did the testing techniques but the same foundational principl

                                                          Microservices for Java Developers: Testing - Java Code Geeks
                                                        • Spring Web MVCアプリケーションのテスト方法を見ていきたい(+モックでBeanのテスト) - CLOVER🍀

                                                          これは、なにをしたくて書いたもの? Spring Web MVCのテスト方法を、ドキュメントをしっかり眺めて見たことないなぁと。 時々扱っている時もかなり雰囲気で使っていたので、ちょっと見てみることにしました。 あと、オマケでモック(Mockito)でふつうにBeanのテストをするものもつけておきます。 このエントリーは、こちらの続き的な感じですね。 Spring Boot/Spring Frameworkのテストに関するドキュメントをざっくり眺めてみる - CLOVER🍀 参照するドキュメントとSpring Web MVCのテスト 今回、Spring Web MVCのテストを見ていくにあたり、参照するドキュメントは主に次の2つです。 Spring Bootのテストに関するドキュメント。 Core Features / Testing さらに絞り込むと、Spring Boot Appli

                                                            Spring Web MVCアプリケーションのテスト方法を見ていきたい(+モックでBeanのテスト) - CLOVER🍀
                                                          • Spring Boot × Bean Validationで、自作Validator+メッセージファイルを組み込む - CLOVER🍀

                                                            これは、なにをしたくて書いたもの? Spring Boot(Spring Framework)を使って、Bean Validationのメッセージを変更したりするのをどうやるのかをよく覚えて いなかったので、確認してみることに。 結局、Bean Validationの復習的な感じになりましたけど。 せっかくなので、自分でValidatorを作り、対応するメッセージをプロパティファイルに定義して組み込むことをやってみたいと 思います。 あと、プラスで既存メッセージの上書きも。 Bean Validationで自作のValidatorを作成する これについては、Hibernate Validatorを見るのがよいでしょう。 Creating a simple constraint バリデーションで使うアノテーションを作成して、 The constraint annotation 対応するVal

                                                              Spring Boot × Bean Validationで、自作Validator+メッセージファイルを組み込む - CLOVER🍀
                                                            • Jacksonで、JSONをコンテナ型(ListやMapなど)のような型引数を持ったクラスにデシリアライズする - CLOVER🍀

                                                              これは、なにをしたくて書いたもの? Jacksonを使ってJSONをデシリアライズする時に、ObjectMapper#readValueをよく使うわけですが。そういえば、自分で 書いている時にListやMapといったジェネリックな型にデシリアライズしたことがないな、と思い。 工夫が要りそうだなと思い、ちょっと調べてみることに。 デシリアライズ時に型情報を与える まずは、ObjectMapper#readValue(第2引数がClassクラスの方)のJavadocを見てみます。 readValue(JsonParser p, Class valueType) よくよく見ると、こんなことが書いてあります。 Note: this method should NOT be used if the result type is a container (Collection or Map. The

                                                                Jacksonで、JSONをコンテナ型(ListやMapなど)のような型引数を持ったクラスにデシリアライズする - CLOVER🍀
                                                              • Truth (Java / Android 用アサーションライブラリ) の使い方 - proudust.github.io

                                                                Truth とは Hamcrest や AssertJ と同じアサーションライブラリの一つ。Google 製。 拡張ライブラリが作りやすいらしく、AssertJ の Android 向け拡張だった AssertJ Android でもその代替として挙げられている。 また同じ Google 製ライブラリである Google Guava を標準でサポートしており、専用の検証メソッドが用意されていたり、検証メソッドの引数として用いることができたりする。 一方、メソッドチェーンが使えないので Java だと若干冗長なこと、gg ラビリティの低い名前なので google truth や java truth などで検索しないと出ないことが欠点。 2019 年 7 月 8 日に正式リリースされ、2020 年 3 月時点での最新バージョンは 1.0.1。 入門 JUnit4 はインストール済みとする。

                                                                • SansanアプリにおけるKotlin Multiplatform導入の効果とアーキテクチャ紹介 - Sansan Tech Blog

                                                                  こんにちは! 技術本部 Sansan Engineering Unit Mobile Applicationグループの桑原です。 この度、Sansanモバイルアプリでは開発スピードを加速させるため、実プロダクトにKotlin Multiplatform(以下、KMP)を導入しました! まずは1画面の導入から始めましたが、今後は既存の画面も順次KMPに移行していく予定です。 この記事では、Androidエンジニアの視点から、SansanアプリにKMPを導入した背景やその成果、さらにKMPの設計についても簡単に紹介します。 KMPの導入背景と成果 導入した理由 導入で感じたメリット 導入で感じたデメリット KMPの基本設計 AndroidでのKMPモジュールの取り込み方法 採用したアーキテクチャ KMPモジュールの構成 エラーハンドリング テスト KMPで使用しているその他ライブラリ 最後に

                                                                    SansanアプリにおけるKotlin Multiplatform導入の効果とアーキテクチャ紹介 - Sansan Tech Blog
                                                                  • JavaでULIDを使いたい(Sulky ULIDを使う) - CLOVER🍀

                                                                    これは、なにをしたくて書いたもの? JavaでULIDを1度使っておきたいな、と思いまして。 ULID ULIDは、Universally Unique Lexicographically Sortable Identifierの略です。辞書的にソート可能でユニークなID、ですね。 ULIDについては、こちらのGitHub Organizationにまとまっているようです。 ULID · GitHub 仕様はこちらのリポジトリにあり、 GitHub - ulid/spec: The canonical spec for ulid README.mdに書かれています。 https://github.com/ulid/spec/blob/master/README.md README.mdの内容ですが、ULIDはUUIDの以下を課題として提案されたもののようです。 128ビットのランダム性をエ

                                                                      JavaでULIDを使いたい(Sulky ULIDを使う) - CLOVER🍀
                                                                    • Red Hat Enterprise Linux 8 Considerations in adopting RHEL 8

                                                                      Red Hat Enterprise Linux 8 Considerations in adopting RHEL 8 Key differences between Red Hat Enterprise Linux 7 and Red Hat Enterprise Linux 8 Last Updated: 2024-08-09 Red Hat Enterprise Linux 8 Considerations in adopting RHEL 8 Key differences between Red Hat Enterprise Linux 7 and Red Hat Enterprise Linux 8 Legal Notice Copyright © 2024 Red Hat, Inc. The text of and illustrations in this documen

                                                                      • JavaでUUIDを扱えるライブラリーを調べる - CLOVER🍀

                                                                        これは、なにをしたくて書いたもの? JavaでUUIDを使おうと思ったら、java.util.UUID#randomUUID#toStringでバージョン4のUUIDを使っていると思います。 UUID (Java SE 17 & JDK 17) でも、UUIDってバージョン4以外にも種類がありましたよね、ということで、Javaでバージョン4以外のUUIDを扱えるライブラリーを 調べてみました。 UUIDのバージョン そもそも、UUIDについて少し見ておきましょう。UUIDのRFCはこちらです。 RFC 4122: A UUID URN Namespace UUIDは128ビットの数字で、一意の識別子となるものです。以下のような感じですね。 jshell> java.util.UUID.randomUUID().toString() $1 ==> "a3240b70-d32d-4551-86

                                                                          JavaでUUIDを扱えるライブラリーを調べる - CLOVER🍀
                                                                        • ThreadPoolExecutorの設定項目を確認する - CLOVER🍀

                                                                          これは、なにをしたくて書いたもの? 今までConcurrency Utilitiesで提供されるスレッドプールを使ってきたことはあったのですが、その設定内容をちゃんと 見てきていなかったので今回見てみようかなと。 具体的には、ThreadPoolExecutorを見ていこうと思います。 ThreadPoolExecutor (Java SE 11 & JDK 11 ) Executorsとスレッドプール Javaでスレッドプールを使うとなると、登場するのがExecutorsです。 Executors (Java SE 11 & JDK 11 ) Executorsが提供する、以下のスレッドプールの中から使うことが多いでしょう。 Executors#newFixedThreadPool … 固定サイズのスレッドプール Executors#newSingleThreadExecutor … ス

                                                                            ThreadPoolExecutorの設定項目を確認する - CLOVER🍀
                                                                          • @DataJpaTestでRepositoryのテスト|りょ

                                                                            テスト書いてますか?私は好きです!嫌いな人は多いみたいですけど... Springのテスト部分のリファレンス読んで忘れないうちにまとめよう精神が働いたので書きます。 今回は、@DataJpaTestというレポジトリのテストを書くためのアノテーションを紹介します。 @DataJpaTestアノテーションは、デフォルトでインメモリDBの設定をしたり、@EntityがついたクラスをBean登録したり、@RepositoryついたクラスをBean登録するなどSpring Data JPAレポジトリの設定してくれたりします。 @DataJpaTestのソースコードをのぞいてみるとこんな感じの設定が行われているようです。 ... @AutoConfigureDataJpa @AutoConfigureTestDatabase @AutoConfigureTestEntityManager ... da

                                                                              @DataJpaTestでRepositoryのテスト|りょ
                                                                            • Apache Ignite上で、SQLを動かして遊ぶ - CLOVER🍀

                                                                              Apache Igniteはインメモリ・データグリッドの一種ですが、SQL(ANSI-99)をサポートしています。 What is Ignite? / Complete SQL Support Overview なんとまあ、JDBCドライバまであるわけですよ。 JDBC Driver ちょっと面白そうだったので、試してみることにしました。 Apache IgniteのSQLサポート ここを見ればよいのですが、 Overview ANSI-99に準拠している、分散SQLデータベースをApache Igniteをサポートしています。 DMLおよびDDLをサポートし、さらにDistributed JOINが可能です。データの配置(collocated and non-collocated)に関わらず、 JOINを行うことができます。 データをインメモリにのみ持つか、ディスクも含めて永続化するかに

                                                                                Apache Ignite上で、SQLを動かして遊ぶ - CLOVER🍀
                                                                              • Java 17で文字を数える - CLOVER🍀

                                                                                これは、なにをしたくて書いたもの? 前に、Java 11でこんなエントリーを書きました。 Java 11で文字を数える - CLOVER🍀 この時の主なテーマはBreakIteratorだったのですが、BreakIteratorではうまく扱えない絵文字があることがわかりまして。 その後、Java 13以降であればUnicode拡張書記素クラスタ境界(正規表現)を使うと扱えることがわかり、今回こちらを試してみることに しました。 BreakIteratorでうまく扱えない絵文字 たとえば、以下のようなものです。 絵文字 数値文字参照 👆🏼 👆🏼 🇦🇿 🇦🇿 🏴󠁧󠁢󠁥󠁮󠁧󠁿 🏴󠁧󠁢󠁥󠁮󠁧󠁿 👨‍

                                                                                  Java 17で文字を数える - CLOVER🍀
                                                                                • MySQL Connector/JとCharacter Set/Character Set Results/Connection Collationとの設定、関係がよくがわからなかったので調べてみる - CLOVER🍀

                                                                                  これは、なにをしたくて書いたもの? MySQLのJDBCドライバー、Connector/JのcharacterEncoding、characterSetResults、connectionCollationあたりの説明を見ていて、 不思議な感じがしたので調べてみることにしました。 MySQL :: MySQL Connector/J 8.0 Developer Guide :: 6.3.3 Session どう指定したらいいか、よくわからなくなるんですよね。 Connector/Jの説明を読む characterEncoding、characterSetResults、connectionCollationの説明を、それぞれ見てみます。 MySQL :: MySQL Connector/J 8.0 Developer Guide :: 6.3.3 Session なお、このドキュメントを見

                                                                                    MySQL Connector/JとCharacter Set/Character Set Results/Connection Collationとの設定、関係がよくがわからなかったので調べてみる - CLOVER🍀