Hanami 2.2-beta2 is relased, which finally becomes a complete, fullstack framework. Let's make a blog in Hanami taking a closer look at its basic features.
Working with templates is a hard job and eliminating the logic out of them is absolutely not trivial. In this episode we'll use Hanami tools to implement…
Showing flash messages in Hanami is trivial, and it is even shown in the official guides. In this episode though, we make this future-proof, testable, and…
Probably any web app nowadays requires font icons to be loaded this or other way. In this episode, I'm showing the integration of Font Awesome icons in…
There is a famous video about the IT skill iceberg - but thankfully, there is an alternative. If you ever wondered if you can build entire websites without HTML…
With the release of Hanami 2.1, the view layer is fully integrated with our Hanami applications. Let's check how to make use of a form helper to send a contact…
If you're a developer, you know GitHub. And if you don't know Hanami, you definitely should. In this episode, I'll show you how to make them both to know…
In the world of amazing technology pace, integrations between services are the key to success and the same applies to ruby projects. In this episode, we integrate…
In Hanami, you can reduce technical debt and keep fast development when the application grows. For that, slices is the key feature to revolutionize the way you…
Handling exceptions is one of the most needed features for any applications that can scale. If you are wondering, how to handle errors in Hanami 2 applications,…
Semantic versioning is a useful approach to version your projects or gems - and that will be necessary at some point if you seriously think about ruby career.
There are plenty of popular ways to handle pagination in Ruby apps. But did you know, that ROM supports Pagination out of the box? And so Hanami does?…
Understand data mapping in ROM, on all levels! In this episode we go through examples of simple to complex data mapping with ROM, with real usecases…
Sidekiq is probably the most known background processing engine for Ruby projects. In this episode I'll show you how to integrate it in Hanami applications!
Do you measure your test coverage? Do you know that everything below 80% is irrelevant? Here I list 7 levels of test coverage, check out where you are!
Rubocop recently managed to be listed as one of the most loved and most frustrating ruby gems which is quite an achievement. In this episode, I'll show…
Routing is one of the basic components of any web application. In this episode I'll dig a bit into the Hanami router from the usage point of view, covering why it's…
dry-schema is an extremely powerful validation engine for Ruby applications and as it's a built-in validation solution for Hanami projects, It is important to get…
Hanami actions are one of the richest building blocks in terms of available features and in this episode I want to go over them, showing how to validate…
Dependency injection brings you great power, but comes with its own headaches. If you can get rid of them, You're left with the power only. In Ruby, with dry-system,…
Dependency Injection is an extremely useful programming technique and can be easily implemented in Ruby! Mastering it is an important skill to leverage the…
Authorizating your API applications can be trivial, if you have proper tolls to do it. Here I showcase how authorization with JWT can be done effortless in any ruby…
A struct with static type check for all attributes is a pretty useful thing in Ruby and all other languages. Here are 3 examples of useful applications for…
When I've started with learning Hanami, I've struggled a lot because of the different concepts Hanami has over Rails. In this episode of Hanami Mastery I'm…
Configuring projects and components is one of the most common features in programming in general. dry-configurable is a standalone gem providing you…
In this episode I explain the Hanami architecture related to view rendering, by using Hanami View, Hanami Actions, and templates, to list articles for a blog…