Loading…
RailsConf 2022: 10 Shopify Tech Talks You Might Have Missed
2023-10-18
- Source
- Shopify
- Published
- Added to Yomu
Summary
Ruby Central has posted videos from RailsConf talks and workshops online, following the 2022 in-person conference where several Shopify Ruby on Rails team members attended and around a dozen gave talks. The collection features ten Shopify sessions on Rails’s state, Ruby’s YARV virtual machine, cache serialization, algorithmic complexity, historical Ruby gems, supply-chain attacks, team trust, GraphQL delivery, and regular-expression denial-of-service attacks. Several talks use concrete technical examples: MessagePack replaced Marshal in the core monolith’s cache, OpenTelemetry is used to diagnose performance issues, and one tutorial demonstrates GraphQL delivery through WebSockets, Webhooks, WebAssembly code, and Bulk Operations. The sessions also connect implementation details with broader engineering practices, including investment in open-source teams, playful problem solving, pair programming, Rubocop, compilers, and examining older code to inform current decisions.
Context
Following RailsConf’s return to an in-person format after two years of COVID restrictions, engineers wanted recordings of the event’s talks. Ruby Central subsequently posted videos from the talks and workshops online.
Approach / What changed
The article presents ten Shopify talks from RailsConf 2022, describing each session’s subject and technical focus, including YARV bytecode interpretation, MessagePack-based caching, OpenTelemetry for performance diagnosis, supply-chain attacks, GraphQL delivery beyond HTTP APIs, and regex denial-of-service attacks.
Takeaways
- The core monolith’s cache was migrated from Ruby Marshal to MessagePack after an internal cache-related incident involving Marshal.
- OpenTelemetry is presented as a toolset for diagnosing and fixing Rails performance problems such as excessive algorithmic complexity.
- The GraphQL tutorial compares GraphQL with REST and examines real-time delivery through WebSockets, Webhooks, WebAssembly code, and Bulk Operations.