The Architecture of Open Source Applications
aosabook.org
aosabook.org
[0] https://hn.algolia.com/?q=Architecture+of+Open+Source+Applic...
[1] https://news.ycombinator.com/item?id=24332485
(Just saving @dang a step or two ;-)
---
I wonder how to take this? Is it good to use these as a recommended approach? I would bet that there could be good examples and bad? Is any of these the leader in terms of approach used for their domain? (Graph databases for example).
Could it be that these are `just interesting` but not authoritative?
Some people prefer to allow http as well, so as to not shut out ancient browsers that can't upgrade to modern security standards. I think that's unsafe, but I can understand the argument, our throwaway culture / planned obsolescence is a threat to life on this planet, and supporting antique hardware is one way to fight back.
When I look at architecture patterns I feel so much of it is aimed at enormous projects, in which case I think you need actual experience of working in an enormous project alongside others from whom you can learn rather than just reading it from a book.
And there's so much difference between them.. which is the "right" one? Is Robert C. Martin's "Clean Architecture" approach right in condition X, or some other approach in condition Y?
Each chapter is just a breakdown of how a programmer/s structured a given application. It's not really about comparing good/bad approaches, or recommending specific approaches. It pops up repeatedly as a recommendation because it's informative and useful but relatively uncommon (compare game development, where detailed post-mortems are a lot easier to find).
Edit: takes a bit more digging, but gamedev.net can be good for this. Particularly when there is a long running thread where a developer documents their progress -- the thread documenting the development of the "Return of the Obra Dinn" is the kind of thing I have in mind
Edit: wasn't gemdev.net, it was the Tig forums for Obra Dinn -- here's them collected on Reddit:
https://www.reddit.com/r/themakingofgames/comments/34qogp/_/
Curious why you think it is needed in this case.
There are plenty of reasons to use HTTPS [0] relating to privacy, security, UI, and browser features, and there are virtually no good reasons not to. There are just 2 real exceptions I know of, neither of which apply here:
1. Using unprotected HTTP enables caching. In the context of something like an apt repo, or Steam, this could be a compelling advantage. (apt provides its own checksum-based security, and doesn't really aim for privacy.)
2. Very old smartphones might not support modern TLS. In some parts of the world this can be a real concern. Even here, HTTPS should be offered, just not required.
asdffdsa mentioned plain old MITM. I listed several other applicable reasons in my linked comment:
1. It allows an unscrupulous ISP to more easily track your browsing
2. Modern browsers will rightly warn users not to trust the site. This makes the site look bad.
3. It prevents MITM injection of ads, trackers, and most importantly malware. There will always be browser exploits, so they're worth blocking.
Not only encryption is important, authentication too, you want to know to which party you are talking.
I think HTTPS is all well and good, but I've yet to hear a compelling reason why pages of text and images need it.
#1 SQLITE
#2 ProseMirror
#3 V8
#4 WebKit
#5 Kubernetes
There are some components running on top of this to provide networking, DNS, logging, etc, which simply run as containers on all machines.
Of course there are many types of objects, many possible addons for logging/network/..., and the API authentication is quite complex, but the overall concept is quite simple and builds directly on Etcd.
(I was about to say that Sqlite was already covered, but no, I was confused, it was the old BerkeleyDb!)
See my "Idiomatic Redux" blog post series [0] for info on how Redux was designed, why it works the way it does, and the implementation details of both the Redux core, React-Redux, and our new Redux Toolkit package.
I also recommend the post "Build Yourself a Redux" [1] as the best "build a mini Redux" post I've seen.
Rodrigo Pombo's "Didact" series [2] does the same process but for React, showing how to build a miniature reconciler that even includes hooks.
I also have links to further articles about React's implementation [3] as well.
Finally, I specifically recommend reading my post "A (Mostly) Complete Guide to React Rendering Behavior [4] and Dan Abramov's extensive article "A Complete Guide to `useEffect`" to better understand how React behaves and how to use it correctly.
[0] https://blog.isquaredsoftware.com/series/idiomatic-redux
[1] https://zapier.com/engineering/how-to-build-redux/
[2] https://github.com/pomber/didact
[3] https://github.com/markerikson/react-redux-links/blob/master...
[4] https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-...