I really like CircleCI 2.0, but wish they had the option for the old caching behaviour. I work on Clojure and ClojureScript projects where it is entirely safe to cache ~/.m2 forever and keep accumulating into the same cache. In CircleCI 2.0 you need to add a bunch of boilerplate to get something that approaches this, but doesn’t quite reach it. I can understand how it’s a boon for some languages, but it has kept us on Circle 1 for now.
I do think you’re probably correct that the simpler your project, the more the 2.0 caching mechanisms get in your way. I personally prefer explicitly defining my caching strategy instead of ‘overriding’ an opinion (the 1.0 version). But they did have some solid opinions for most languages in 1.0 that probably worked great for 80% of the projects out there.
Really liked the article - I also have had a hard time really understanding the points where I’d use currying in the real world. This is a great example though, well done!
I usually have two trees in my redux: ephemeral, resources. Ephemeral hosts ui, session, etc. Resources are where the jsonapi data goes. I’ve even written functions specifically for this kind of structure: https://www.npmjs.com/package/@unction/treeify
You know, I very much do the same. Maybe it’s the case that if you’re focusing on persisting only raw data in the state, you’ll end up with a similar structure. I might add that to the article.
I find it very interesting that normalized state tables are recommended in Redux. Recently, I’ve been hearing a lot of about redux and similar stores that suggests they are becoming very similar to client side databases without persistence needs.
Yes, I do think that is somewhat true. I personally have been thinking of them as very organized caches, but that’s pretty much the same thing that you’re describing.
I’m working on an Elixir / Phoenix site with my wife that explores the history and backgrounds of Japanese words and the kanji characters they use. And always looking for feedback from anyone interested in this kind of stuff, so just let me know!
https://www.romysensei.com/