Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 57 additions & 57 deletions lesson11.slide
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ https://github.com/RedHatOfficial/GoCourse
- package `encoding`

- encodes the receiver into a binary form and returns the result
.code lesson11/BinaryMarshaler.go
.code lesson11/1_BinaryMarshaler.go

- encodes the receiver into UTF-8-encoded text and returns the result
.code lesson11/TextMarshaler.go
.code lesson11/2_TextMarshaler.go

- can be implemented by any structure (where needed)

Expand All @@ -68,10 +68,10 @@ https://github.com/RedHatOfficial/GoCourse
- package `encoding` as well

- must be able to decode the form generated by MarshalBinary
.code lesson11/BinaryUnmarshaler.go
.code lesson11/3_BinaryUnmarshaler.go

- must be able to decode the form generated by MarshalText
.code lesson11/TextUnmarshaler.go
.code lesson11/4_TextUnmarshaler.go

- can be implemented by any structure (where needed)

Expand All @@ -80,121 +80,121 @@ https://github.com/RedHatOfficial/GoCourse

- "universal" container for moving data around

.code lesson11/Reader.go
.code lesson11/Writer.go
.code lesson11/5_Reader.go
.code lesson11/6_Writer.go


* JSON

- `encoding/json` package

.code lesson11/JsonMarshal.go
.code lesson11/JsonMarshalIndent.go
.code lesson11/JsonUnmarshal.go
.code lesson11/7_JsonMarshal.go
.code lesson11/8_JsonMarshalIndent.go
.code lesson11/9_JsonUnmarshal.go



* JSON marshaling

.play lesson11/json_marshal_struct.go
.play lesson11/10_json_marshal_struct.go



* Indenting the JSON output

.play lesson11/json_marshal_struct_indent.go
.play lesson11/11_json_marshal_struct_indent.go



* Attribute names in JSON

.play lesson11/json_marshal_struct_names.go
.play lesson11/12_json_marshal_struct_names.go



* Skip attribute(s)

.play lesson11/json_marshal_struct_names_skip.go
.play lesson11/13_json_marshal_struct_names_skip.go



* Marshaling array

.play lesson11/json_marshal_array.go
.play lesson11/14_json_marshal_array.go



* Array of any values

- `any` is an alias for `interface{}`

.play lesson11/json_marshal_array_any.go
.play lesson11/15_json_marshal_array_any.go



* Map

.play lesson11/json_marshal_map.go
.play lesson11/16_json_marshal_map.go



* Floating point numbers

.play lesson11/json_marshal_floats.go
.play lesson11/17_json_marshal_floats.go



* Floating point special values 1/2

.play lesson11/json_marshal_floats_specvalues.go /^package main/,/^func main/
.play lesson11/18_json_marshal_floats_specvalues.go /^package main/,/^func main/



* Floating point special values 2/2

.play lesson11/json_marshal_floats_specvalues.go /^func main/,/^}/
.play lesson11/18_json_marshal_floats_specvalues.go /^func main/,/^}/



* Floating point special values with error checks 1/2

.play lesson11/json_marshal_floats_specvalues_err.go /^package main/,/^func main/
.play lesson11/19_json_marshal_floats_specvalues_err.go /^package main/,/^func main/



* Floating point special values with error checks 2/2

.play lesson11/json_marshal_floats_specvalues_err.go /^func main/,/^}/
.play lesson11/19_json_marshal_floats_specvalues_err.go /^func main/,/^}/



* Unmarshalling 1/2

.play lesson11/json_unmarshal.go /^package main/,/^func main/
.play lesson11/20_json_unmarshal.go /^package main/,/^func main/



* Unmarshalling 2/2

.play lesson11/json_unmarshal.go /^func main/,/^}/
.play lesson11/20_json_unmarshal.go /^func main/,/^}/



* Unmarshalling with error checking

.play lesson11/json_unmarshal_error.go
.play lesson11/21_json_unmarshal_error.go



* Unmarshalling struct with lowercase item 1/2

.play lesson11/json_unmarshal_lowercase.go /^package main/,/^func main/
.play lesson11/22_json_unmarshal_lowercase.go /^package main/,/^func main/



* Unmarshalling struct with lowercase item 2/2

.play lesson11/json_unmarshal_lowercase.go /^func main/,/^}/
.play lesson11/22_json_unmarshal_lowercase.go /^func main/,/^}/



Expand All @@ -205,33 +205,33 @@ https://github.com/RedHatOfficial/GoCourse
- root node name specification
- sub-nodes support

.code lesson11/XMLMarshal.go
.code lesson11/XMLMarshalIndent.go
.code lesson11/XMLUnmarshal.go
.code lesson11/22_XMLMarshal.go
.code lesson11/23_XMLMarshalIndent.go
.code lesson11/24_XMLUnmarshal.go



* XML marshalling

.play lesson11/xml_marshal_struct.go
.play lesson11/25_xml_marshal_struct.go



* Indenting

.play lesson11/xml_marshal_struct_indent.go
.play lesson11/26_xml_marshal_struct_indent.go



* Specific node names

.play lesson11/xml_marshal_struct_names.go
.play lesson11/27_xml_marshal_struct_names.go



* Root node name specification

.play lesson11/xml_marshal_xml_name.go
.play lesson11/28_xml_marshal_xml_name.go



Expand All @@ -241,55 +241,55 @@ https://github.com/RedHatOfficial/GoCourse

* XML and JSON specifiers 1/2

.play lesson11/xml_and_json.go /^package main/,/^func main/
.play lesson11/29_xml_and_json.go /^package main/,/^func main/



* XML and JSON specifiers 2/2

.play lesson11/xml_and_json.go /^func main/,/^}/
.play lesson11/29_xml_and_json.go /^func main/,/^}/



* Controlling XML tree shape: subnodes

.play lesson11/xml_marshal_control_1.go
.play lesson11/30_xml_marshal_control_1.go



* Controlling XML tree shape: attributes

.play lesson11/xml_marshal_control_2.go
.play lesson11/31_xml_marshal_control_2.go



* Controlling XML tree shape: combination

.play lesson11/xml_marshal_control_3.go
.play lesson11/32_xml_marshal_control_3.go



* Special types and values in XML 1/2

.play lesson11/xml_marshal_special_types_1.go /^package main/,/^func main/
.play lesson11/33_xml_marshal_special_types_1.go /^package main/,/^func main/



* Special types and values in XML 2/2

.play lesson11/xml_marshal_special_types_1.go /^func main/,/^}/
.play lesson11/33_xml_marshal_special_types_1.go /^func main/,/^}/



* Nested structures in XML 1/2

.play lesson11/xml_marshal_special_types_2.go /^package main/,/^func main/
.play lesson11/34_xml_marshal_special_types_2.go /^package main/,/^func main/



* Nested structures in XML 2/2

.play lesson11/xml_marshal_special_types_2.go /^func main/,/^}/
.play lesson11/34_xml_marshal_special_types_2.go /^func main/,/^}/



Expand All @@ -314,31 +314,31 @@ https://github.com/RedHatOfficial/GoCourse

* MessagePack: serializing `nil`

.play lesson11/msgpack_nil.go /^package main/,/^func main/
.play lesson11/35_msgpack_nil.go /^package main/,/^func main/

* cont.

.play lesson11/msgpack_nil.go /^func main/,/^}/
.play lesson11/35_msgpack_nil.go /^func main/,/^}/

* MessagePack: serializing small integer

.play lesson11/msgpack_small_int.go /^func main/,/^}/
.play lesson11/36_msgpack_small_int.go /^func main/,/^}/

* MessagePack: serializing single float

.play lesson11/msgpack_single.go /^func main/,/^}/
.play lesson11/37_msgpack_single.go /^func main/,/^}/

* MessagePack: serializing a map

.play lesson11/msgpack_map.go /^func main/,/^}/
.play lesson11/38_msgpack_map.go /^func main/,/^}/

* MessagePack: serializing map of any 1/2

.play lesson11/msgpack_map2.go /^func main/,/Encoder created/
.play lesson11/39_msgpack_map2.go /^func main/,/Encoder created/

* MessagePack: serializing map of any 2/2

.play lesson11/msgpack_map2.go /Encoder created/,/^}/
.play lesson11/39_msgpack_map2.go /Encoder created/,/^}/

* gob

Expand All @@ -349,39 +349,39 @@ https://github.com/RedHatOfficial/GoCourse

* gob marshalling 1/2

.play lesson11/gob_marshal_struct.go /^package/,/^func main/
.play lesson11/40_gob_marshal_struct.go /^package/,/^func main/

* gob marshalling 2/2

.play lesson11/gob_marshal_struct.go /^func main/,/^}/
.play lesson11/40_gob_marshal_struct.go /^func main/,/^}/

* BSON

- "binary JSON"

* BSON serialization 1/2

.play lesson11/bson_serialize.go /^package/,/^func main/
.play lesson11/41_bson_serialize.go /^package/,/^func main/

* BSON serialization 2/2

.play lesson11/bson_serialize.go /^func main/,/^}/
.play lesson11/41_bson_serialize.go /^func main/,/^}/

* BSON deserialization 1/2

.play lesson11/bson_deserialize.go /^package/,/^func main/
.play lesson11/42_bson_deserialize.go /^package/,/^func main/

* BSON deserialization 2/2

.play lesson11/bson_deserialize.go /^func main/,/^}/
.play lesson11/42_bson_deserialize.go /^func main/,/^}/

* Size comparisons

.play lesson11/size_comparison.go
.play lesson11/43_size_comparison.go

* Size comparisons

.code lesson11/sizes.txt
.code lesson11/44_sizes.txt


#last slide
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.