Workshops
In this workshop, you will learn about developing serverless applications with Ruby on AWS. We will demonstrate building web APIs, event-based functions, and how to build, test, deploy, and monitor serverless applications. You will also learn how you can use serverless applications as lightweight web frameworks, as well as how serverless applications can augment your existing Ruby on Rails applications. No experience with AWS necessary.
We use git every day and yet for many of us it remains a black box. We use a collection of memorized commands to interact with our repos and GitHub, but when things don't go exactly as planned, we're lost. Thankfully, git can absolutely be mastered, and we only need to dig just a bit deeper than our day to day interactions take us to get there.
If you're familiar with git but still occasionally troubled by rebase, "detached heads", and similar convoluted git-speak, then this is the ideal workshop for you. We'll start with an overview of the core concepts the make up the foundation of how git works, and then move on to a series of hands-on examples to solidify the new ideas. You'll leave with the knowledge and confidence to tackle anything git throws your way.
Do you ever feel like your coworkers, and other folks in the wider industry, were born knowing how to use the Unix command line? You’re not alone! Bash, Zsh, and friends can be daunting, but they can also make your job a lot easier, both with small efficiencies and by helping you improve your understanding of how your computer works.
In this workshop, you’ll build command-line skills that’ll change the way you work day to day. From readline and environment variables, to permissions and searching, all the way to pipes and process control, you’ll get hands-on practice with the most useful commands and features for Rails developers.
The agile manifesto cites customer collaboration as one of its main tenants. However, very few teams even consider this part of their agile process. In this hands on workshop we will learn a number of design thinking exercises to quickly and effectively:
- Provide a better understanding of the entire domain.
- Provide a clearer path towards a domain language, through context bounding and ubiquitous language capture.
- Establish a shared understanding of complex or nuanced problems.
- Get first hand exposure to domain experts wisdom.
- Cleary prioritize work to be completed.
- Create focused problem solutions.
You will leave this workshop ready to apply design thinking methodologies to a variety of task in your day to day work, including:
- Domain modeling.
- Retros.
- Scrum planning.
- Project scoping.
- User story expansion.
- Prototyping.
- User interviews.
- Task prioritization.
Opinionated web frameworks like Rails allow us to focus on what’s unique to our domain, rather than reinventing the wheel. But under deadline pressures, we often find ourselves with a codebase that works in the short term, but takes more and more effort over time to extend, test, and maintain.
To speed our development back up and make coding fun again, we need to be able to recognize issues and refactor them away. In this workshop, we will explore some strategies for identifying common code smells in production Rails apps, and get hands-on practice in cleaning them up.
Are you a web developer who doesn't know much about web security? It's okay to admit it, you're not alone. It seems like every month there's another massive breach of millions of email addresses, usernames and passwords. This is because most developers are simply unaware of the most common security threats, and how to neutralize them.
In this workshop we'll go over the famous OWASP top ten security vulnerabilities and fix them in a Ruby on Rails project. We'll learn about security precautions and penetration testing, then we'll even try to stump our neighbor by injecting our own vulnerabilities.
Upgrading Rails is easy, right? Sure, as long as you are upgrading your patch version. A Rails upgrade in a big application is not a trivial project: It took GitHub a year and a half to upgrade from Rails 3.2 to 5.2.
While upgrades have become easier with every new Rails version, your application has only become more complicated with every new dependency you added.
In this workshop you will learn a proven Rails upgrade process for major and minor version changes of Rails. You will leave this workshop with a roadmap to upgrade your Rails application.
Running applications is not trivial. Even a simple Rails application has many requirements that need to be set up and maintained. Imagine a world in which you can package your application and run it wherever you want. All without going through the hassle of installing and setting up its dependencies. This world exists! In this workshop, you will learn how to harvest the power of a container technology called Docker to streamline your development process. Whether you are already using Docker or not - you will acquire the necessary skills to integrate Docker into your own applications.
Rails "magic" comes from Ruby metaprogramming tricks. Each piece of magic makes sense once you see how Ruby lets you do it. If you want to really understand those tricks, then build them. Join me as we build a Ruby web framework, using Rails' same dependencies. By the end you'll understand some very deep Rails metaprogramming tricks. You'll also be able to build your own web framework, whether it works like Rails or not.
Sometimes you need to have something happen in the browser. You don’t need a Single Page App, but you do want some client-side interactions. Rails 6 has great tools for simplifying the complex JavaScript ecosystem. We’ve got Webpacker, the default asset pipeline for JavaScript tooling, and Stimulus, a small library from Basecamp that brings Rails convention over configuration to JavaScript tools. As a result, it’s easier than ever to build user interactions with Rails-friendly tools. In this hands-on workshop, you’ll take a simple Rails app, and use Webpacker and Stimulus to add some front-end flair. No prior knowledge of Webpack or Stimulus is required.
We’re told that contributing to open source is good for our careers and a great way to level up our skills. Let’s face facts. Getting into open source is intimidating, often unfriendly, and hard to find a place to get started. Come to this workshop and learn the basics of contributing to open source. We’ll discuss things like claiming issues, writing good commit messages, and finding great projects to contribute to. Don’t forget your laptop because every attendee will leave with a pull request on an open source project that is being used in production by organizations like women's shelters, diaper banks, and other organizations doing meaningful work! Come learn new skills and make a difference in the world!
Learn how to organise your integration tests for scalability and drive out functionality in a modern rails based web app with multi-layered outside-in Behaviour Driven Development, BDD. Along with an overview of testing for frontend components, APIs, external integrations and everything in between, we will run you through the layers of integration testing that matter - from "system flow" specs through "page mechanics" specs that take an individual component through its paces.
All the while building a fun app with Rails and ReactJS.