bindata
Puma
Our great sponsors
bindata | Puma | |
---|---|---|
4 | 40 | |
572 | 7,583 | |
- | 0.3% | |
5.9 | 8.7 | |
21 days ago | 5 days ago | |
Ruby | Ruby | |
BSD 2-clause "Simplified" License | BSD 3-clause "New" or "Revised" License |
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.
Puma
-
Breaking the 300 barrier
As we use Puma as our webserver for our rails application, I quickly went to Puma's config file which typically resides in config/puma.rb. The config was set as
-
Would you consider Rails as stable nowadays ?
They do! It's in the first section of the readme on the repo:
-
Hosting Rails App on AWS
Start with service with systemd
- Recommended way to implement Puma plugin configuration
-
Could not detect rake tasks
# Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" # Build JSON APIs with ease [https://github.com/rails/jbuilder] # gem "jbuilder" gem 'rack-cors' gem "devise" gem "jsonapi-serializer" gem 'devise-jwt' gem 'active_model_serializers' gem 'followability' gem 'dotenv-rails', groups: [:development, :test, :production] gem 'sprockets' # Use Redis adapter to run Action Cable in production # gem "redis", "~> 4.0" # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] # gem "kredis" # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] # gem "bcrypt", "~> 3.1.7" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" # Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible # gem "rack-cors" group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem "debug", platforms: %i[ mri mingw x64_mingw ] end group :development do gem "sqlite3", "~> 1.4" # Speed up commands on slow machines / big apps [https://github.com/rails/spring] # gem "spring" end group :production do gem 'pg' end
-
Dusting off my rails knowledge, need some tips / guidance on rails 7 and production
source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "3.1.0" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.0.4", ">= 7.0.4.2" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" # Use sqlite3 as the database for Active Record gem "sqlite3", "~> 1.4" # Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem "importmap-rails" # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem "turbo-rails" # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem "stimulus-rails" # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" gem "mongoid" gem "mongoid-grid_fs" gem 'bootstrap', '~> 5.2.2' #sourced from https://github.com/twbs/bootstrap-rubygem gem 'rack-cors' # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false
-
Write your own Domain Specific Language in Ruby
That doesn't mean one excludes the other. Gems like Puma use the instance_eval method for their configuration file.
- Welcome to Puma 6: Sunflower
-
puma 6.0 released
Anyway I did it: https://github.com/puma/puma/issues/3003 It's quite more complicated: https://github.com/puma/puma/issues/2999 A fix is in progress: https://github.com/puma/puma/pull/3002
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
falcon - A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
maxminddb.cr - MaxMind DB Reader for Crystal
Phusion Passenger - A fast and robust web server and application server for Ruby, Python and Node.js
Crystalizer - (De)serialize any Crystal object - out of the box. Supports JSON, YAML and Byte format.
Iodine - iodine - HTTP / WebSockets Server for Ruby with Pub/Sub support
crinder - Class based json renderer in Crystal
Goliath - Goliath is a non-blocking Ruby web server framework
JSON tools - An implementation of RFC-6901 and RFC-6902 in Crystal Lang
Unicorn - Unofficial Unicorn Mirror.