⚠️ Note 2023-01-21
Some things have changed since I originally wrote this in 2016. I have updated a few minor details, and the advice is still broadly the same, but there are some new Cloudflare features you can (and should) take advantage of. In particular, pay attention to Trevor Stevens' comment here from 22 January 2022, and Matt Stenson's useful caching advice. In addition, Backblaze, with whom Cloudflare are a Bandwidth Alliance partner, have published their own guide detailing how to use Cloudflare's Web Workers to cache content from B2 private buckets. That is worth reading,
# | |
# Github Actions for Serverless Framework | |
# | |
# Create AWS_KEY and AWS_SECRET secrets in Github repository settings | |
# If you're using env.yml file, store its content as ENV Github secret | |
# | |
# Master branch will be deployed as DEV and every new tag starting with "v**" (e.g. v1.0, v1.2, v2.0, etc) will be deployed as PROD | |
# | |
# Learn more: https://maxkostinevich.com/blog/how-to-deploy-serverless-applications-using-github-actions/ | |
# |
Photo by Ricardo Gomez Angel on Unsplash
This gist is a collection of common patterns I've personally used here and there with Custom Elements.
These patterns are all basic suggestions that could be improved, enriched, readapted, accordingly with your needs.
module.exports = { | |
format(parts) { | |
return new URL(parts).href; | |
}, | |
parse(url) { | |
const parsed = new URL(url); | |
parsed.query = parsed.search ? parsed.search.substring(1) : null; | |
parsed.auth = parsed.username + ':' + parsed.password; | |
return parsed; | |
}, |
#!/bin/bash | |
if [ -z "$1" ]; then | |
echo "waiting for the following arguments: username + max-page-number" | |
exit 1 | |
else | |
name=$1 | |
fi | |
if [ -z "$2" ]; then |
In 2002, the Help America Vote Act required (among other things) that states must maintain a "computerized statewide voter registration list". These lists (henceforth "voterfiles") contain information about every registered voter and their voting history.
When people who have not worked with voterfile data before hear about voterfiles, their first response is almost always "But in my 8th grade civics class, I learned that a critical component of American democracy is the secret ballot! How can states have a list of how you vote?" Voterfiles do NOT include information about how an individual voted. They report whether an individual voted in a specific election.
The exact format and contents of a publicly available voterfile differ from state to state. At a minimum, a file will contain:
Moved to Shopify/graphql-design-tutorial
// Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication | |
// http://creativecommons.org/publicdomain/zero/1.0/ | |
// HTML files: try the network first, then the cache. | |
// Other files: try the cache first, then the network. | |
// Both: cache a fresh version if possible. | |
// (beware: the cache will grow and grow; there's no cleanup) | |
const cacheName = 'files'; |
#!/bin/sh | |
start_timer () | |
{ | |
STARTTIME=$(date +%s); | |
} | |
end_timer () | |
{ | |
ENDTIME=$(date +%s); | |
} |
class FloatingPointCursorPagination(CursorPagination): | |
__rounding_down = decimal.Context(prec=14, rounding=decimal.ROUND_FLOOR) | |
__rounding_up = decimal.Context(prec=14, rounding=decimal.ROUND_CEILING) | |
def _get_position_from_instance(self, instance, ordering): | |
field_name = ordering[0].lstrip('-') | |
if isinstance(instance, dict): | |
attr = instance[field_name] | |
else: | |
attr = getattr(instance, field_name) |