-
To insulate from upstream libraries, we often wrap those libraries in our own implementations. This helps with the principle of least exposure; rely on the narrowest interface possible. I wrote the AbExperiment class to be the wrapper around Field Test. With the wrapper, I allowed for the system to set an ENV variable and thus force all requests to use the same experiment. This helped with running local tests.
-
Judoscale
Save 47% on cloud hosting with autoscaling that just works. Judoscale integrates with Rails, Sidekiq, Solid Queue, and more to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up job queues.
-
The next step came about when I learned more about our use of Flipper; a Ruby gem for dynamically toggling on and off features. I didnāt know when the feature would roll out, but I wanted control over the feature. I also wanted admins of other Forems to have control as well. This was trivial with Flipper. Once I deployed the code, Foremās got the original behavior unless they turned āflippedā on the feature.
-
We then pasted that into Blazer and started looking at the SQL. As we moved around the massive SQL statement, we saw the culprit. A very narrow range for allowed articleās publication dates.