Java 【Tips】ソフトウェア設計 関数の返り値は極力小さく これは今のためではなく、将来的にもコードをきれいに保つために非常に重要です。特に多数の人が利用する基盤要素のクラスでは。 関数の返り値が多くの要素にアクセス可能なラッパークラスであればあるほど、意図し... 2022.08.03 Java
Kotlin 【Kotlin】google.api.client.http.HttpResponse.parseAsの例外unable to create new instance of class xx because it has no accessible default constructor 原因 KotlinのDataクラスではdefault constructorが生成されないのが原因です。 対策 一般に言われている対策は以下 Data classにデフォルトバリューを付与して、すべてvarにするD... 2022.07.24 Kotlin
Java 【Java】Google Http Clientライブラリの使い方 google-http-java-client 抽象化することで低層のライブラリに依存することなく、統一的な操作がHttp操作が可能です。 使用時にすることは使用したい環境・低層ライブラリに応じた具象HttpTra... 2022.07.23 Java
Java 【Java】permutation 改善の余地しかないですが、以下で実装できます。srcは{1,2,3}のような順列を取得してほしい値の配列で、返り値がそのすべての順列結果を含んだ配列です。 ちなみに、自分の環境だとsrcの配列数が11になった時点でOutOfMemo... 2022.07.22 Javaアルゴリズム
Java 【Java】配列操作 Javaで配列を使用するのは、よっぽど性能が求められる場面に限られており、むしろ型安全が保障されない場合があるので基本的にListを使用した方がいいです。そもそも配列の標準ライブラリが貧弱で、Listでは簡単に実現できるような操作をするの... 2022.07.21 Java
Java 【Java】Genericsまとめ 何度か書籍で読んで、何度か作成したこともあって分かった気になっていたが、全然細かいところまで理解できていなかったので、自分でまとめてみる 総論 単語 単語説明 例Generic Type Genericな型 List... 2022.07.20 Java
Java 【Lombok】@Accessorsではなく、lombok.configを使う Lombok Javaに使用される汎用ライブラリで、@Getter, @Setter等のannotationを使用することで、getter/setterをコンパイル時に自動生成してくれるので、コードベースが非常にシンプルになります。... 2022.07.05 JavaLombok
Android 【Kotlin】init内での非同期処理ミスケース ①init内で発火するCoroutineでasyncして、他のsuspend関数でawaitする場合の実装ミス タイミング問題で表面化しない可能性があるので厄介です。 initはsuspend関数ではないため、coroutin... 2022.06.14 AndroidKotlin
Android SharedFlow(StateFlow)かObserverパターンか SharedFlow, StateFlowの違いについて StateFlowはSharedFlowの特殊版。 初期値を有する新しいSubscriberには最新の値をemit最新値以外のCacheはしないresetReplayC... 2022.06.12 AndroidcomposeKotlin
Android Module with the Main dispatcher had failed to initialize. For tests Dispatchers.setMain from kotlinx-coroutines-test module can be used 原因 Main Threadでの実行が必要なAPIを使用している。 対策 公式の回答がこちら DispatcherをMainに置き換える 基本的にこちらの方法で問題ありません。ベストプラクティスで... 2022.05.31 AndroidJUnit5Kotlin