Ractors, Sinatra 2.1, and getting symbol names more efficiently

about 2 years ago - Direct link

#518 — September 10, 2020

Read on the Web

Ruby Weekly


Go to article →

Links in this thread

Ruby Weekly Issue 518: September 10, 2020
Writing a Ractor-Based TCP Server — Ractor is an actor-like mechanism for getting true parallel execution support in Ruby without any thread safety concerns. An initial implementation has been merged into the main Ruby branch and people are starting to play such as with this attempt at creating an HTTP server. Richard Schneeman’s Twitter thread about ractors is also interesting. The future is coming!

Writing a Ractor-based web server
Ractor, the new concurrency primitive in Ruby, has been merged to the upstream few days ago. I’ve been following that PR and watching the author’s talk at RubyKaigi, which got me excited to try Ractor myself.

The Ruby Programming Language [mirror]. Contribute to ruby/ruby development by creating an account on GitHub.

Actor model - Wikipedia
The actor model in computer science is a mathematical model of concurrent computation that treats actor as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other indirectly through messaging (removing the need for lock-based synchronization).


Sinatra v2.1.0
Today we would like to inform you that we have released Sinatra v2.1.0. It’s a big milestore for us and contains some bug fixes and new features.

Classy web-development dressed in a DSL (official / canonical repo) - sinatra/sinatra

Create Account — RedisGreen

Access symbols internal strings without duplicating them - Shopify/symbol-fstring

These Rails apps are overpacking their JavaScript bundles
A case study of Rails applications making a common Webpacker mistake of rendering modules multiple times on a single page. We'll describe why the problem happens and present a Webpacker Packing Checklist for proper code-splitting.

Rails and have been released
Hi everyone! Rails and have been released! These releases contain an important security fix, so please upgrade when you can.

Sign in - Google Accounts

Back-end Ruby on Rails
Você que é Back-end Ruby on Rails, com experiência prática em Docker, Kubernetes e Continuous Delivery* se liga aqui nesta oportunidade! Ter vivência com Arquitetura de Microsserviços e Princípios do DDD são diferenciais que contam muitos pontos! Se interessou?Então, é só clicar em MAIS SOBRE e ter acesso a todas as infos.

Snapdocs, Inc. - Senior Software Engineer
Snapdocs is an early-stage, rapidly growing company backed by investors like Sequoia, F-Prime Capital, SV Angel, and YCombinator looking for an empathetic Senior Software Engineer to build the next generation of our products. Are you interested in bringing an industry into the future? Then this role is for you. We're a small team tackling the absolutely massive mortgage market. We're bringing modern, elegant software to a field that still relies on fax machines and manila envelopes. We bring security, efficiency and joy to a paper-based pillar of the US economy. The type of problems we focus on involve workflow, product design, and data. Monolith vs microservices is an ongoing debate. We are working to find a good authentication pattern that allows for people to work across companies in multiple roles (which is trickier than you might think!). Domain Driven Design is our guiding light. We trust our team members to make smart decisions. This means we value both independent work as

Grow your tech career
Thousands of startups and companies use Vettery to grow their tech and product teams. Sign up today and let your next role find you.

Get your job listings in front of over 400,000 software developers via our JavaScript, Web operations, front-end development, Ruby, Node.js, and other e-mail newsletters.

The difference between let, let! and instance variables in RSpec - Code with Jason
The purpose of let and the differences between let and instance variables RSpec’s let helper method is a way of defining values that are used in tests. Below is a typical example. require 'rspec' RSpec.describe User do let(:user) { User.new } it 'does not have an id when first instantiated' do expect(user.id).to be nil end …

Episode 258 - GitHub Actions
Drifting Ruby Screencasts is a collection of short tutorial screencast videos and documentation for accomplishing functional concepts in web development.

Protecting Your Apps From Link-based Vulnerabilities: Reverse Tabnabbing, Broken-Link Hijacking, and Open Redirects
Links are so fundamental to web development that they're almost invisible. When we link to a third-party page, we hardly ever consider how it could become an opportunity to exploit our users. In this article, Julien Cretel introduces us to three techniques that bad actors can use to target our us...

A Q&A with Sandi Metz
We talk to the author of Practical Object-Oriented Design in Ruby and 99 Bottles of OOP.

Ruby Weekly Issue 516: August 27, 2020
📝 At the end of this week's issue we have a great interview with prolific Rubyist and author of '99 Bottles of OOP', Sandi Metz. Be sure to scroll down and check it out.

Integrating Chargebee subscriptions and recurring billing with a Rails app
Chargebee is an awesome subscription management and recurring billing product. In this post I will show how I have integrated it with my Rails SaaS DynaBlogger.

Querying paginated API endpoints the Rails way · Jesal Gadhia
Recently I was working on querying an API that didn’t have a Ruby SDK. So I had the opportunity to write a thin service wrapper for it. This API allowed requesting a specific page and the total number of records to include per page. So say for example, the API...

tomrothe.de - Behavior-Driven Test Data
When running behavior tests, we seed the database with a defined snapshot called fixpoint. We do run the behavior test and save the resulting database state as another fixpoint. This method allows testing complex business processes in legacy applications without having to implement fixtures/factories upfront. By building one fixpoint on top of another, we can ensure that the process chain works without any gaps. Comparing each resulting database state at the end of a test with a previously recorded state ensures that refactoring did not have unintended side effects.

Best Practices for Optimizing Postgres Query Performance
DBAs and developers use pganalyze to identify the root cause of performance issues, optimize queries and to get alerts about critical issues. Sign up for free!

Elixir Is Not Ruby. Elixir Is Erlang
Try to remember the first time you heard about this fascinating language called Elixir. Chances are, you had by the time been developing software using Ruby. If that's the case, Elixir seems to have appeared out of nowhere until suddenly, it became the solution for all your previous problems. It

Website for Elixir

RSpec and Minitest matchers to prevent N+1 queries problem - palkan/n_plus_one_control

Active Admin | The administration framework for Ruby on Rails
Active Admin is a Ruby on Rails plugin for generating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort.

Release 2.8.0 · activeadmin/activeadmin
The administration framework for Ruby on Rails applications. - activeadmin/activeadmin

The administration framework for Ruby on Rails applications. - activeadmin/activeadmin

Working with zonefiles (RFC 1035 section 5 and RFC 1034 section 3.6.1) in Ruby - craigw/dns-zonefile

The simplest way to group temporal data. Contribute to ankane/groupdate development by creating an account on GitHub.

ngrok for VSCode - Visual Studio Marketplace
Extension for Visual Studio Code - A VSCode extension to control ngrok from the command palette.

ngrok - secure introspectable tunnels to localhost
ngrok secure introspectable tunnels to localhost webhook development tool and debugging tool