At Revelry, we believe in sharing and learning from one another (beliefs that are rooted in our Core Values). Among the many things we do to encourage internal knowledge exchange is to have a different team member present at each week’s Engineering Meeting. These presentations don’t have to be lengthy, formal, or complicated; in fact, many are brief, but also powerful in that they teach our Revelers something new, inspire conversation, and encourage collaboration.
In the spirit of sharing, we share our This Week I Learned presentations (aka RevTWILs”) here. We hope you find them helpful.
THIS WEEK: We offer an assortment of shared learnings from our engineering team.
- In Postgres, a SQL NULL value is different from a json null value.
- Is React mad at being updated? Not to fear! There’s an npm package you can install and run to rewrite your code for you! https://github.com/reactjs/react-codemod#react-proptypes-to-prop-types
- Styler does not like piping straight from an if statement into a function, and will instead assign an if_result, then call your function.
Response from another team member: Looks like it’s done by this bit of code here: https://github.com/adobe/elixir-styler/blob/main/lib/style/pipes.ex#L117-L138
- Don’t forget tests. TWIL, again, about tests. It feels much faster when you work without tests. You’re in a hurry! There’s no need! Until, of course, you find yourself solving the same fiddly little issue backwards and forwards – and you think to yourself, “If only there was a way I would push this and be sure of no regressions!”
- GitHub environments can be used to control which branches can use secrets and environment variables, so that e.g. somebody without privileges can’t come along and make a PR to steal secrets (because their branch won’t have access to the environment).
- You can also use GitHub’s OIDC provider instead of API tokens to authorize your GitHub actions into other services (e.g. AWS), and the tokens it creates will include the environment in the sub claim. So if the platform supports it (AWS does) you can lock the permissions down to only grant access if the token came from the correct GitHub environment.
- Here’s an example of one way to rebuild a clean commit history from a dirty one, not necessarily great in every case, but kind of interesting: https://render.com/blog/git-organized-a-better-git-flow
Want to learn more about Revelry and our collaborative approach to building custom software? Connect with our team.
We're building an AI-powered Product Operations Cloud, leveraging AI in almost every aspect of the software delivery lifecycle. Want to test drive it with us? Join the ProdOps party at ProdOps.ai.