bindata
mongrel
Our great sponsors
bindata | mongrel | |
---|---|---|
4 | 2 | |
572 | 173 | |
- | - | |
5.9 | 10.0 | |
24 days ago | over 14 years ago | |
Ruby | Ruby | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 or later |
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.
bindata
-
How to Track Down Memory Leaks in Ruby | AppSignal Blog
I recently ditched bindata for a self written solution because I couldn't figure out why exactly it leaks memory. According to count objects it creates a shit ton of classes if you read a lot of data and idk why
-
Help Finding Material for Decoding Hex Files
"Writing an entire custom program" is the best way. Ruby has a nice package called bindata (https://github.com/dmendel/bindata) that works well for this purpose.
-
Newb here: have you written your own web server? Seeking advice
For example, I enjoy sim racing, and some of my games provide a network API for things like telemetry data. So I wrote a simple telemetry logger that I use to gather data, which I then mess around with using R Studio. Ruby worked exceptionally well for this because of a cool little library called BinData.
-
Ruby Structs with type specifications for the properties
These projects always remind me of binary formats. I've used bindata to work with binary formats coming from UDP streams over a network, and it's very handy to have a layer that encapsulates your expectations about the data you're receiving, combined with an exception handling apparatus.
mongrel
-
Newb here: have you written your own web server? Seeking advice
The other major thing you'll run into is performance. WEBrick's HTTP parsing code may look hairy but it is fast. Mongrel was the first Ruby HTTP server to implement it's HTTP parser in C using Ragel, which Thin, Unicorn, and Puma all copied; although there's a bug in the original Mongrel HTTP parser where it does not combine the values duplicate HTTP headers (yes, HTTP Header names can actually be repeated).
What are some alternatives?
config.cr - Easy to use configuration and parser.
Thin - A very fast & simple Ruby web server
HAR - HAR (HTTP Archive) parser in Crystal
EventMachine - EventMachine: fast, simple event-processing library for Ruby programs
maxminddb.cr - MaxMind DB Reader for Crystal
Puma - A Ruby/Rack web server built for parallelism
Crystalizer - (De)serialize any Crystal object - out of the box. Supports JSON, YAML and Byte format.
Rack - A modular Ruby web server interface.
crinder - Class based json renderer in Crystal
Tokamak - SwiftUI-compatible framework for building browser apps with WebAssembly and native apps for other platforms
JSON tools - An implementation of RFC-6901 and RFC-6902 in Crystal Lang
tracks - A bare-bones Ruby HTTP server that talks Rack and uses a thread per connection model of concurrency.