Top 10 Quick Rails Performance Wins
We've been using and deploying Rails applications since 1.0. In the beginning, Rails performance was really looked down on and wasn't really defended.
FizzBuzz with pattern matching (in Ruby)
Tom Dalling recently (re)posted a blog post about playing with FizzBuzz in Ruby, to get a grasp of different approaches to problem solving. I decided to create a small addition to this topic: how to do FizzBuzz in Ruby using pattern matching techniques.
How to write an MVC framework in Ruby
Hey guys! What if we wrote a web application similar to a typical rails-application? I.e. it will have MVC, routing, migrations, some configs, all in all, everything like it's supposed to be (or purposed, whatever you like). But all this will be a very-very simplified version of our favorite framework.
Free Book Learn how to set up CI and CD to AWS
In this eBook you will learn how to set up Continuous Deployment to Amazon Web Services (AWS) for your Docker Apps. We'll talk about EC2, ECS, ECR, Elastic Beanstalk and CodeDeploy.
Ruby exceptions are 4400 times faster than ActiveRecord::Base#create
How slow are Ruby exceptions as compared to other frequent actions we may be doing in Rails apps. Like for example, as compared to ActiveRecord::Base#create
Bring clarity to your monolith with Bounded Contexts
Monolithic applications are great when you start building your company, but as time progresses, they become difficult to maintain. These codebases, as they grow, easily become Big Balls of Mud.
7 Design Patterns to Refactor MVC Components in Rails
In our previous post, The Basics of MVC in Rails, we discussed theoretical aspects of the MVC design pattern. We defined what MVC stands for, identified what each MVC component is responsible for, addressed what happens when a component contains redundant logic, and, most importantly, we introduced the concept of refactoring. In this article, as promised, we’ll show you each design pattern at work.
Rails Docker App: Setup
In this paper will document the process of upgrading this standard monolithic rails app to be managed by Docker & Compose. In the next article, document how to update a more complicated modern SOA rails app to Docker and then deploy to production with Kubernetes.
Microservice Communication with Queues
Microservices are small programs that handle one task. A microservice that is never used is useless though — it’s the system on the whole that provides value to the user. Microservices work together by communicating messages back and forth so that they can accomplish the larger task.
How do Native Extensions Manage Memory? Part 1: Ruby (MRI)
One of the most interesting design challenges in a programming language interpreter or VM is what kind of memory management API to offer to native extensions.
This issue is more or less invisible unless you’re writing a native extension. When you are simply writing a program in Ruby, Python, Lua, etc., you don’t usually care how the memory management is implemented.