REVISION AND PRACTICE
Glossary
- Abandonment: percentage of users who start a flow (e.g. checkout) but do not complete it.
- A/B testing: showing version A to some users and version B to others, and comparing which performs better.
- Bare metal server: physical server hardware that you buy and manage yourself.
- Blue/Green deployment: two production environments; the router switches all users from the old (blue) to the new (green); easy rollback.
- Build tool: software that automates compiling, copying files and creating schemas (Ant, Gradle).
- Cache: a fast store of reusable results in memory.
- Canary deployment: rolling out a new version gradually to a small subset of users first (phased/incremental rollout).
- Clickstream: the sequence of pages a user visits.
- Continuous Integration (CI): automating the integration and deployment of software.
- CI server: a server that monitors the repository and automatically builds and tests each commit (Jenkins, CruiseControl).
- Deployment: placing the software so that users can access it.
- Deployment strategy: a planned way of moving code from staging to production.
- Droplet: DigitalOcean’s name for a virtual machine.
- Dwell time / think time: how long a user stays on a page.
- Environment: a system (or set of systems) that executes a software application.
- Gunicorn: a WSGI server used to run Python web apps (used by Heroku).
- Gzip / Brotli: lossless compression for web resources.
- Hosting: the infrastructure on which an application is deployed.
- IaaS (Infrastructure-as-a-Service): renting virtual machines from a provider (DigitalOcean, AWS, Linode).
- Latency: the time taken for a user to receive a response.
- Lighthouse: Google’s tool for auditing page performance, SEO and accessibility.
- Mainline / master branch: the shared code base in version control.
- Minification: removing unnecessary characters from code to make it smaller.
- Monitoring: capturing and analysing an application’s execution information.
- PaaS (Platform-as-a-Service): a platform that runs your application for you (Heroku, Google App Engine).
- Procfile: a Heroku file stating how to start the app.
- Production environment: the live environment used by real users.
- requirements.txt: a list of Python packages and versions needed by a project.
- Rollback: returning to the previous working version.
- SSH: Secure Shell, an encrypted way to log in to a remote machine.
- Staging environment: pre-production environment that exactly resembles production; runs on a remote machine.
- Task queue (asynchronous work queue): a queue of jobs processed by a pool of workers outside the request–response cycle.
- Testing environment: where integration and system testing are done.
- Tracking code: a JavaScript snippet that sends page-visit data to an analytics tool.
- Versioned deployment: keeping all versions alive and letting users choose which to use.
- Virtual machine (VM): a software-defined computer carved out of a physical server.
- Working copy: a developer’s local copy of the code base.
