Serdar Doğruyol's official blog. About Ruby, Crystal, Kemal, Open Source Software, Programming languages and other software development related topics.
When you spend years building and optimizing high-performance backend infrastructure like the Kemal web framework, load testing becomes second nature. You want to know exactly how your service behaves under pressure.
In late 2015, I sat down to write a blog post, Why Crystal?, about Crystal. At the time, the Ruby community was in a state of flux. Developers were increasingly looking at “Language X” (Go, Rust, or Elixir) to solve performance bottlenecks. As a die-hard Rubyist, I made a claim that felt bold yet inevitable: the “X” should be Crystal.
In the world of high-performance web services, knowing your limits is everything. Whether you are building a microservice in Go, a web app with Kemal (Crystal’s most popular web framework), or a high-throughput API in Rust, you eventually face the same question: How much load can this actually handle?
As we all know that the web is getting bigger and the information is being consumed really fast. Most of the web applications are in need of realtime updates to supply this demand. To achieve this WebSocket technology is a great fit.
As you may already know when you a generate a new resource, model or controller there are bunch of other files that are also being generated for you. Rails has a great way to customize the default generators as you wish. For example let’s assume that we are creating an API for a mobile app. Let call this app sample_api Let’s create a controller for our sample_api