Decrusting the serde crate

Channel:
Subscribers:
97,800
Published on ● Video Link: https://www.youtube.com/watch?v=BI_bHCGRgMY



Duration: 1:51:21
36,293 views
935


In this stream, we peel back the crust on the serde crate — https://github.com/serde-rs/serde/ — and explore its interface, structure, and mechanisms. We talk about Serialize/Deserialize, Serializer/Deserializer, and the Visitor trait. We also get into the serde data model, and in particular the separation between data types, serde data values, and data formats.

For more details about serde, see https://serde.rs/.

I use `cargo expand` extensively in this video, which you can find here: https://github.com/dtolnay/cargo-expand

The streaming calendar is at https://calendar.google.com/calendar/u/0?cid=NzE5YjZjZjA4YTlmMTFkYTRhNzMyMDgzYTQzYWEwMGE2MWE3OTQzZWE4NjRhNTc0MTdiNWRhMTNiMWZjOGNjYkBncm91cC5jYWxlbmRhci5nb29nbGUuY29t, with some other formats listed in https://twitter.com/jonhoo/status/1602067723986513920.

0:00:00 Introduction to "decrusted"
0:01:51 Regular streaming schedule
0:02:43 serde
0:04:28 The serde data model
0:14:51 Exploring serde's derived impls
0:17:05 Derived impl Serialize
0:27:56 Derived impl Deserialize
0:53:55 serde derive attributes
1:02:50 (De)serializing enum variants
1:07:31 Enum variant representations
1:24:32 Variant attributes
1:25:54 serde(borrow)
1:38:43 Writing data formats
1:49:48 Closing thoughts

Live version with chat: https://youtu.be/9oVIyNiAiss







Tags:
rust
live
serde
crate
deep-dive