-
- React for bmahlstedt.com.
- Modified to use hooks instead of class syntax, added my images after making svg and transparent backgrounds.
- Read about how to serve a dockerized react app. Changed bmahlstedt.com to use this instead of my static flask app. https://github.com/brianmahlstedt/bmahlstedt.com/issues/1.
- That `serve` tool is pretty cool, but remember it’s for static sites. This is fine for bmahlstedt.com in its current state, but the supercontest would need node/express as the dynamic framework to serve it properly (can still use nginx and docker, node/express just replace flask).
- Remember, my nginx reverse proxy expects every prod container to serve its content on 8080. The dev container just forwards 5000 child to 5000 host.
- Had to restart the docker service because of that shimd issue. Had to rm the containers (kept the images, networks, and volumes), then docker-compose up on all of them.
- Added the react devtools extension to chrome.
- Productionized it. Set up a multistage docker build. First, it creates a container with my src and then builds a bundle with webpack from it (npm run build, which is built into create-react-app). Then, it copies the build output dir (and ONLY that) to a new container and serves it, deleting the intermediate previous container.
- React for southbaysupercontest.com.
- Trying to integrate react with an existing flask app.
- Did some exploration but decided that I don’t need to have react in the supercontest app at this moment.
- One thing I’m still not sure about. You can have react routes served with express. You can have content rendered and returned by flask. When you use them together, it seems to get a little gray. Why have two apps, two servers? I guess the more common case is that the react frontend is bundled then simply served by flask, rather than having two concurrent applications, one on frontend and one on backend.
- Remember, react router is the module that allows you to have multiple routes (in what would otherwise be a SPA). You can have separate bookmarkable urls within your domain.
- You can even have nested subroutes.
- Shareworks has had internal errors in serving documents (tax docs, shareholder notices, etc) for days now.
- YouTube started as a dating app lol.
- HN was pretty underwhelming this week.
- Python 3.8 comes with the walrus operator := which is a conditional assignment.
- Vectorization is almost required for web images. Looks so much cleaner unless the image is superrrrrr high resolution.
- “Github pages” is a pretty cool tool. You can serve static content directly from a repo. You can have a website built automatically from the react app or whatever is in the repo. https://help.github.com/en/articles/what-is-github-pages.
- The new corvette (c8) is actually sick. It doesn’t look like the classic corvettes, it’s much closer to a regular supercar frame. It is also allegedly selling for under 60k.
- Restarted the droplet for the first time (ever, I think).
- FYI, the letsencrypt docker composition I use for cert takes about 30 seconds once the containers are spun up for the first time until the certs are created and recognized.
- An Orioles OUTFIELDER pitched in the 16th inning of a 6 hour game and won it lol. He was throwing 50-60mph the whole time.
- Marshmallow is a python package that allows serialization/deserialization between complex datatypes (like full objects) and standard python datatypes. flask-marshmallow is a shim that allows use in the web framework, making it easier to hook up to sqlalchemy, etc.
- HATEOAS = hypermedia as the engine of application state.