UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

Kotlin

【Kotlin】シールドクラス の使い所

JavaにもJava17から シールドクラス が導入されたが、Kotlin にもあることを知った シールドクラスは特定のサブクラスのみが許可され、外部の任意のクラスが継承することができないようにする機能である シールドクラス の概要は知っていたが、そもそもどう…

【Kotlin】when文の関数型プログラミングへの応用

Kotlinを勉強していて、気になったことのメモ 今回はwhen文の使い方について 最新のJavaではできるようになったこともあるが、ちょっと前の Java を触っていた身からすると、すごく柔軟に感じた when文 式として使い、戻り値を返すことができる val x = 2 va…

【Kotlin】build.gradle.kts について

作成したKotlinプロジェクトを見ると、直下に build.gradle.kts というファイルができる これが何か調べた build.gradle.ktsとは? build.gradle.kts は、Kotlin で書かれた Gradle スクリプト 通常の build.gradle ファイルは Groovy で記述されているが、K…

【Kotlin】エルビス演算子と強制アンラップ

Kotlinを勉強している 下の本を読んでて気になったことのメモ Kotlin サーバーサイドプログラミング実践開発作者:竹端 尚人技術評論社Amazon エルビス演算子 末尾に ?: をつけることで、Nullの場合に行う処理を定義することができる演算子 複数のエルビス演…

【Kotlin】Operator overloadingを調べた

Kotlinの関数についてる operator がわからなかったので調べた kotlinlang.org operator はオペレータオーバーロードという機能で、独自のクラスに対して演算子の振る舞いをカスタマイズできるというもの 例えば、プログラミング言語に組み込まれている演算…

【Kotlin】when式ついて

Kotlinを触ってみていて、when式というの調べてみた kotlinlang.org 基本的な書き方 when (x) { 1 -> print("x == 1") 2 -> print("x == 2") else -> { print("x is neither 1 nor 2") } } 分岐条件が満たされるまで、引数をすべての分岐と順番に照らし合わ…

【gRPC】repeatedのfieldのサブフィールドに対してfieldMaskしたい

以前、gRPCの更新の際に、FieldMaskを使って余計なフィールドを更新しないようにする方法を調べた uga-box.hatenablog.com 今度は、repeatedのfield、いわゆる配列の要素のサブフィールドに対してfieldMaskしたい場合はどうするか調べた 例えば、次のような …

【gRPC】KotlinでFieldMaskで無駄なフィールドを更新しないようにする

gRPCでの更新の際、クライアントからEntity情報をサーバーに渡すが、不要なフィールドは更新しないようにしたい 例えば、以下のようなデータのemailだけ更新したい場合 { "user": { "id": "001", "name": "uga", "email": "uga@gmail.com" } } gRPCでは Prot…

【gRPC】KotlinでgRPCチュートリアル

gRPCのお勉強で、KotlinでgRPCチュートリアルをやってみて、わからなかったことを調べた grpc.io ソースコードをcloneしてきて、ビルドして起動してみる $ git clone --depth 1 https://github.com/grpc/grpc-kotlin $ cd grpc-kotlin/examples $ ./gradlew …