- Appraisal. Also spoke with the Redondo PD.
- Sololearn. Refresher on details of Lambda, Map (apply func to iterable), Filter (pass args in iterable to function, return item if func returns true), itertools, etc.
- Remember, the three main MUTABLE datatypes in Python are list, set, dict. The others are immutable (str, int, float, tuple, etc). You can mirror another variable to a string, but it actually just copies the value, it doesn’t point to the same id underneath. Better for efficiency, hashing, etc.
- Generators are obviously more efficient. Lower memory footprint. Use when you want to iteratively return from a function.
- PPA = personal package archive. You can add these as repositories and apt-get from them.
- Certs
- Apt updated on the supercontest server because Google changed its Origin.
- TLS-SNI-01 is reaching end of life (at least for Let’s Encrypt support). I updated the Certbot version on the supercontest server (0.28.0 now) and renewed the certs.
- SSH
- AddKeysToAgent yes in .ssh/config means that every key you use will be added to the agent. Very convenient to avoid -i all the time.
- You can also ssh into a hostname, like ssh southbaysupercontest.com.
- You can also create an alias in .ssh/config. Now you can just do `ssh sc`.
- Ran through a whole tutorial of graphql: https://medium.freecodecamp.org/how-to-set-up-a-graphql-server-using-node-js-express-mongodb-52421b73f474.
- Registered with mLab (db-as-a-service for mongo) and created a db.
- Npm for the javascript package.
- Mongoose to connect to the mongo db I created with mLabGr.
- Express as the web framework (like flask).
- Nodemon to start the app in restart-after-changes-mode (debug=True).
- GraphQL allows you to define queries (reads) and mutations (writes). Then the user can add rows, change cols, fetch data, etc! All from the browser.
- GraphiQL is an interactive IDE that runs in the browser, allowing users to explore the db.