242. How to Build a Web App with and without Rails Libraries (shopify.engineering)
How would we build a web application only using the standard Ruby libraries? In this article, I’ll break down the key foundational concepts of how a web application works while building one from the ground up. If we can build a web application only using Ruby libraries, why would we need web server ...
243. Remove Circular Dependencies by Using Dependency Injection and the Repository Pattern in Ruby (shopify.engineering)
There are dependencies between gems and the platforms that use them. In scenarios where the platforms have the data and the gem has the knowledge, there is a direct circular dependency between the two and both need to talk to each other. I’ll show you how we used the Repository pattern in Ruby to re...
244. Capturing Every Change From Shopify’s Sharded Monolith (shopify.engineering)
Shopify is moving from existing query-based CDC (Change-Data Capture) tooling (Longboat) to an immutable, append-only, log-based mechanism. This has required a complete re-platforming, involving a shift to new, open source technology such as Kafka Connect and Debezium.
245. Updates on Shopify’s Bug Bounty Program (shopify.engineering)
For three years we, Shopify’s Application Security team, have set aside time to reflect on our bug bounty program and share recent insights. This past year has been quite a ride, as our program has been busier than ever! We’re excited to share what we have learned, and share some of the great things...
246. 4 Tips for Shipping Data Products Fast (shopify.engineering)
247. Keeping Developers Happy with a Fast CI (shopify.engineering)
Slow CI systems are often responsible for making frustrated developers. Keeping these systems fast requires an ongoing effort. However, before jumping into implementing performance tweaks, it's important to set up a solid monitoring system.
248. Read Consistency with Database Replicas (shopify.engineering)
249. Bound to Round: 8 Tips for Dealing with Hanging Pennies (shopify.engineering)
250. Using Betas to Deploy New Features Safely (shopify.engineering)
For companies like Shopify that practice continuous deployment, our code is changing multiple times every day. We have to de-risk new features to ship safely and confidently without impacting the million+ merchants using our platform. Beta flags are one approach to feature development that gives us ...
251. Technical Mentorship Reimagined: Time-bound and No Awkward Asks Necessary (shopify.engineering)
252. How to Make Dashboards Using a Product Thinking Approach (shopify.engineering)
253. Managing Google Cloud Platform Project-Wide SSH Keys (shopify.engineering)
As a member of the Infrastructure Security team, Cailyn set out to create an application to silently and effectively manage SSH keys that persist inside of Shopify's Google Cloud Platform project-wide metadata.