A Few of My Favorite Things: 2019

misc

Just a few things I enjoyed using and found helpful in 2019. These all have worked their way into my coding workflow.

Sections


React Hooks

react-table

PostgRest

O'Reilly Learning

React Hooks


React Hooks were released in February 2019. Redux also added hooks in June. They were a much hyped and anticipate new feature. They aren't just hype though. They are a great addition to react eliminating a lot of things I didn't like about React. Hooks cut down on a lot of the boiler plate and make for cleaner, easier to reason about code. No more life cycle methods and class based components that became tricky to deal with in complex components and larger applications. I find them pretty intuitive and easy to use. Redux's hooks allow you to not have to write connected components which cuts down on a ton boiler plate code. There are a lot of articles out there on using hooks if you haven't tried them out for yourself. The docs and this post on useEffect() a are pretty good introduction to them. For a deep dive into useEffect() this is a great article.

Hooks overall are a practical useful addition to React. I think there will be a new wave of libraries that will be a huge improvement over the current generation. Hooks allow library developers to just provide functionality. A couple good examples of this are the new version of react-table and Zeit's swr.

react-table


I've used and made a lot of table components over the years in Angular, Vue, and React. I've never really liked any of components that I used. Usually the styles were hard to override or had some custom behavior that was hard to implement. I've also had one that used experimental css properties that would break every once in a while when chrome would update which was super annoying. react-table is great though. It's new version is considered headless which means the user provides the markup and it provides the functionality through hooks. This is a great use case for hooks and works great for a third party library. It allows me to take care of the look of the tables which is what I always wanted.

PostgRest


PostgRest is a great tool for creating a RESTful API from a Postgres database. It generates the API from your database schema. It also provides a web server to handle the requests. A very handy feature of the web server is that is serves an OpenAPI description at its root.

O'Reilly Learning


Last year I joined ACM. The membership included a print magazine that has a lot of great information as well as a subscription to O'Reilly Learning. Their platform contains a wealth of resources in book, video, and interactive forms. It has online classes that are live as well as recorded. I've taken a number of their online courses it very much varies by the instructor how engaging they are. What's great about is the breadth and freshness of the courses. They pretty much cover everything in tech. They recently launched an interactive playground as well. I tried out a couple of the modules and didn't really like it though. A lot of those kinds of learning experiences don't gel with me. I feel like I end up just click through without really learning much.

I've tried a lot of different online learning platforms. I probably like pluralsight the best but O'Reilly has a ton of content. I especially like that I have access to a huge library of books and like the short course formats.

It's a great value an ACM membership is $99/year. Just getting O'Reilly Learning by itself is $499/year although it may have a few more features.