The Rails Changelog

Emmanuel Hayford

Stay in the loop with development news around Ruby on Rails and Ruby. Hosted by Emmanuel Hayford. read less
TechnologyTechnology

Episodes

021: From Active Record Business Logic to DDD & Events with Andrzej Krzywda
Mar 7 2024
021: From Active Record Business Logic to DDD & Events with Andrzej Krzywda
Andrzej Krzywda discusses event sourcing, event-driven architecture, and Domain-Driven Design (DDD) in the context of Ruby on Rails applications. He explains the concept of bounded contexts and how they relate to communication between different modules. He also shares insights on when and why to apply DDD to Rails applications, particularly in cases where the application becomes complex and difficult to maintain. Andrzej explores the challenges and benefits of migrating an existing Rails app to an event-driven architecture and highlights advanced event sourcing concepts such as snapshotting, projections, and versioning. In this conversation, Andrzej Krzywda discusses event sourcing and DDD in Rails applications. He explains the concepts of snapshotting and projection, which are techniques used to optimize performance and retrieve specific data from event streams. Andrzej also delves into the challenges of event versioning and how it can be managed in Rails applications. Additionally, he shares insights about the wroclove.rb conference, its history, and its focus on advanced and deep technical topics.TakeawaysEvent sourcing is a persistence mechanism that persists all the little changes that happen to a specific object, while event-driven architecture is a way of building software modules that communicate with events.DDD involves splitting a system into contexts or domains and using events to communicate between them. It can be applied to Ruby on Rails applications, particularly in cases where the application becomes complex and difficult to maintain.Migrating an existing Rails app to an event-driven architecture can help address issues with large classes, complex associations, and lack of modularity.Advanced event sourcing concepts such as snapshotting, projections, and versioning can be used to optimize performance and manage data integrity in event-driven applications. Snapshotting and projection are techniques used in event sourcing to optimize performance and retrieve specific data from event streams.Event versioning is a challenge in event sourcing, but it can be managed by introducing new event versions and implementing upcasters to convert old events to new versions.wroclove.rb is a Ruby and Rails conference in Wrocław, Poland, that focuses on advanced and deep technical topics.The conference aims to inspire, educate, and challenge the status quo in the Ruby and Rails community.Rails Event Store and Eventide are two libraries that facilitate the implementation of event-driven architectures in Rails applications, each with its own philosophy and approach.wcrolove.rb Ruby and Rails ConferenceRailsEventStoreArkencyRails Architect Masterclass[Video] Event Sourcing Demystified: A Simple-To-Understand Guide
020: Andy Croll & Ufuk Kayserilioglu Uncover RailsConf 2024 Details
Feb 15 2024
020: Andy Croll & Ufuk Kayserilioglu Uncover RailsConf 2024 Details
The conversation covers various aspects of RailsConf, including its mission, organization, and selection process for talks. The chapters delve into the background of the participants, the role of Ruby Central in organizing RailsConf, and the significance of the conference in the Ruby and Rails communities. The discussion also explores the unique features of RailsConf 2024, such as the community day and hack day, as well as the selection process for talks and the responsibilities of the program committee. Additionally, the conversation touches on the criteria for choosing conference locations and the process of selecting keynote speakers. In this conversation, Emmanuel Hayford interviews Andy Croll and Ufuk Kayserilioglu about their experiences with conferences like RailsConf and Brighton Ruby. They discuss the acceptance and rejection process for conference speakers, the origins and purpose of Brighton Ruby, the importance of personal interaction at conferences, the dynamics of partnering with hotels, the sponsorship opportunities for RailsConf, and the benefits of attending conferences for personal and professional growth.TakeawaysRailsConf is a long-running conference that celebrates the Rails framework and brings together the Ruby and Rails communities.Ruby Central plays a crucial role in organizing RailsConf and other Ruby-related projects, maintaining and supporting the Ruby commons that the community depends on.RailsConf 2024 will feature a community day and hack day, providing opportunities for collaboration, learning, and contributing to open source projects.The selection process for talks at RailsConf involves a program committee that ranks and evaluates proposals based on fit, quality, and presentation skills.RailsConf aims to have a diverse range of speakers and topics, with a focus on building with Rails and showcasing different ways of using the framework.The location of RailsConf changes each year, with a focus on accessibility and transportation options for attendees.Keynote speakers at RailsConf are selected based on their relevance to the conference theme and the community's interests.The conference selection process involves a balance of reaching out to potential speakers and reviewing submissions through a call for proposals (CFP). Conference rejections should not be discouraging, as there are limited slots and many applicants. Persistence is key.Brighton Ruby is a single-track, single-day event held in Brighton, UK, that provides a friendly and intimate atmosphere for Ruby and Rails developers.First Ruby Friend is a mentorship program that pairs experienced developers with early-career developers to provide guidance and support.Partnering with hotels allows conferences to secure room blocks for attendees, ensuring convenient and affordable accommodation.Sponsorships for RailsConf offer companies the opportunity to support the Ruby and Rails community while gaining visibility and networking opportunities.Attending conferences like RailsConf and Brighton Ruby provides valuable opportunities for personal and professional growth, including building relationships, gaining insights from talks, and experiencing the sense of community.