Serialization mengubah objek menjadi format yang dapat disimpan atau dikirim. Kotlin memiliki kotlinx.serialization yang compiler-aware dan aman.
Pelajari konsep dasar serialisasi: mengubah object menjadi bytes dan sebaliknya, tiga use case utama (persistence, network, cache), dan strategi skema evolusi.
Buka → # kotlinx.serializationPelajari kotlinx.serialization: anotasi @Serializable, compiler plugin yang menghasilkan serializer otomatis, dan penggunaan Json.encodeToString / decodeFromString.
Buka → # JSON SerializationPelajari JSON serialization dengan kotlinx.serialization: anotasi @SerialName, @Transient, @Optional, konfigurasi Json (prettyPrint, ignoreUnknownKeys), dan nested object.
Buka → # Custom SerializersPelajari cara menulis KSerializer`<T>` kustom untuk tipe kompleks seperti LocalDate, BigDecimal, dan Color yang belum didukung bawaan kotlinx.serialization.
Buka → # Polymorphic SerializationPelajari polymorphic serialization: sealed class dengan beberapa subclass, discriminator field, dan anotasi @JsonClassDiscriminator untuk kontrol nama discriminator.
Buka → # JSON Schema ValidationPelajari validasi JSON terhadap schema: cek tipe field, required, range, format (email/date), enum, dan deteksi field tidak dikenali sebelum diproses aplikasi.
Buka → # CSV ProcessingPelajari parsing dan penulisan CSV di Kotlin: compliance RFC 4180, type-safe mapping ke data class, dan streaming reader untuk file besar.
Buka → # XML ProcessingPelajari XML processing di Kotlin: parser DOM yang membangun tree, streaming parser SAX-like untuk file besar, escaping entity, dan trade-off DOM vs streaming.
Buka → # Binary FormatsPelajari format binary ProtoBuf: encoding field tag + wire type, varint compression, schema evolution (backward dan forward compatibility), dan perbandingan ukuran dengan JSON.
Buka → # Serialization SecurityPelajari risiko keamanan serialization: polymorphic RCE, DoS via payload besar, billion laughs, gadget chain; serta pola defensif—validasi input, batasi ukuran, tolak field tidak dikenali.
Buka →