theScore Tech Blog

Things We Learn While Building the Ultimate, Personalized Mobile Sports Experience

Timezones in Python

Datetimes in Python can either be Naive or Aware. A naive datetime is a datetime that is unaware which timezone it is in. It could be in UTC, it could be in US/Eastern, but it doesn't know. All it knows is which date and time that it has.

2 min read
pythontimezonesnaive

Respect HTTP Caching

API developers put a lot of time and effort to ensure that their API can scale. One effective way to mitigate load is to use HTTP caching. As developers we need to respect HTTP caching to not waste efforts.

7 min read
httpcaching

Faster RSpec Regression Testing

Explore two approaches for testing along with a suggested workflow. The goal is to improve the time spent during regression testing. The described technique can apply to other testing frameworks, assuming they have similar mechanisms to RSpec's `it` blocks.

7 min read
rspectesting

One Repo to Rule Them All

Should you build a Monolith, a series of Microservices, or is there a third way which combines some of the best things from both approaches?

5 min read

Database Transactions With pytest

The pytest library for Python is a modern and capable testing framework for Python and we've come up with some good patterns to use with regards to database transactions.

5 min read

Reducing WatchKit Traffic With View Models

To improve the speed and responsiveness of WatchKit apps it’s important to limit the amount of data sent from the phone to the watch. In this post I will outline how to achieve this through the use of View Models.

13 min read

Share Your Bag of Tricks

Everyone has a bag of tricks in the form of tips and shortcuts that they use throughout their lives. In general, there is no harm in sharing this knowledge. This post encourages sharing ones bag of tricks to others, as well as discusses various benefits.

5 min read
self-improvement

No Excuses: Verifying RSpec Test Doubles

RSpec 3.0 introduces new verifying doubles that offer the ability to verify received messages against the underlying class/object. Learn how using verifying doubles offer more robust tests with little effort.

8 min read
rspectesting

Mutate your Rack middleware's env!

Rack middleware is a powerful pattern to follow, however, there are some 'gotchas' that you need to keep in mind when developing new middleware. This post explains how you should be using Rack's env.

5 min read

Are Your Cache-Control Directives Doing What They Are Supposed to Do?

Cache-Control directives are pretty straightforward to understand. They're easy to use as well if you assume that all the caches between your end user and application correctly implement the spec. Unfortunately, as with any spec, you can't make that assumption.

8 min read

‹ Newer Older ›