ElementalController
cyanide
ElementalController | cyanide | |
---|---|---|
2 | 9 | |
11 | 11 | |
- | - | |
3.4 | 3.2 | |
about 1 year ago | 11 months ago | |
Swift | Elixir | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ElementalController
-
Minimizing the size of JSON by using CodingKey
A couple of other people have mentioned it - it looks very cool. I'm not sure if it was around when I wrote my own networking framework (https://github.com/robreuss/ElementalController) but I think they are very similar. My framework supports data exchange of primitive types (such as floats and doubles) so I could definitely be moving raw data but serializing structs into JSON just makes the code cleaner. If I decide it's insufficiently performance, I could implement raw data exchange within the structures without huge effort.
cyanide
-
Would you recommend JSON/CSV/Other for data storage in games?
No, it stands for "Binary JSON".
-
What is MongoDB ?
BSON specification
-
MUON: Compact and simple binary format, that uses gaps in Unicode encoding for markup
I recommend looking at https://ubjson.org and https://bsonspec.org , this will answer most of your questions.
-
I need a json file that includes all or most of the data types supported by MongoDB.
or https://bsonspec.org/
-
Minimizing the size of JSON by using CodingKey
BJSON Binary JSON, with a Swift Library here and should be one for your other end
-
Basics of MongoDB
Starting this tutorial we specified that data in MongoDB is stored in collections. We also specified that in MongoDB we use syntax similar to JSON. That syntax is called "Binary JSON" or BSON. BSON is similar to JSON; but it's more like an encoded serialization of JSON. We can find useful information in the BSON website.
-
It's Time to Retire the CSV
> I'm saying that when you decode an Avro document, the result that comes out (presuming you don't tell the Avro decoder anything special about custom types your runtime supports and how it should map them) is a JSON document.
Semantic point: it's not a "document".
There are tools which will decode Avro and output the data in JSON (typically using the JSON encoding of Avro: https://avro.apache.org/docs/current/spec.html#json_encoding), but the ADT that is created is by no means a JSON document. The ADT that is created has more complex semantics than JSON; JSON is not the canonical representation.
> By which I don't mean JSON-encoded text, but rather an in-memory ADT that has the exact set of types that exist in JSON, no more and no less.
Except Avro has data types that are not the exact set of types that exist in JSON. The first clue on this might be that the Avro spec includes mappings that list how primitive Avro types are mapped to JSON types.
> Or, to put that another way, Avro is a way to encode JSON-typed data, just as "JSON text", or https://bsonspec.org/, is a way to encode JSON-typed data
BSON, by design, was meant to be a more efficient way to encode JSON data, so yes, it is a way to encode JSON-typed data. Avro, however, was not defined as a way to encode JSON data. It was defined as a way to encode data (with a degree of specialization for the case of Hadoop sequence files, where you are generally storing a large number of small records in one file).
A simple counter example: Avro has a "float" type, which is a 32-bit IEEE 754 floating point number. Neither JSON nor BSON have that type.
Technically, JSON doesn't really have types, it has values, but even if you pretend that JavaScript's types are JSON's types, there's nothing "canonical" about JavaScript's types for Avro.
Yes, you can represent JSON data in Avro, and Avro in JSON, much as you can represent data in two different serialization formats. Avro's data model is very much defined independently of JSON's data model (as you'd expect).
-
Sending 😀 in Go
For me, this exploration started when I was attempting to improve handling of Unicode surrogate pair values in the MongoDB Go driver's Extended JSON unmarshaler. The Extended JSON format is an extension to the standard JSON format that adds type information and allows deterministic conversion to and from BSON.
What are some alternatives?
BSONMap - Elixir package that applies a function to each document in a BSON file.
naya - A fast streaming JSON parser written in Python
json - Strongly typed JSON library for Rust
json - JSON for Modern C++
ndjson.github.io - Info Website for NDJSON
csvz - The hot new standard in open databases
Mongoose - MongoDB object modeling designed to work in an asynchronous environment.
awesome-embedded-swift - ⚡️🛠🧰 A curated list for Embedded and Low-Level development in the Swift programming language.
go - The Go programming language
swift-bson - pure Swift BSON library
HomeBrew - 🍺 The missing package manager for macOS (or Linux)
VirtualGameController - Software-based game controllers for iOS, tvOS, OS X and watchOS in Swift 4.2.