A distilled example of a problem to solve#3
A distilled example of a problem to solve#3akantsevoi wants to merge 5 commits intoSysDesignMeetup:mainfrom
Conversation
|
Good progress! Here are my major thoughts, in no particular order. (I'm in the mode of focusing on alignment between us two and @AdamEther, not in the mode of reviewing this change to merge it in yet. That is, I want to merge it, but not until we agree what the clean solution should look like, first conceptually, and then in code.) First of all, I think the good old OOP ideas are alive and well, and doubly so if we are eventually looking in the direction of CRDTs. So the code snippet that uses "get" followed by "modify" and "put" reads ... not modern enough to my taste. What would read better if we have the data type defined for the persisted object (a "data class" if you wish), that has:
In a way, you have exactly this: Secondly, I understand the difference between "API endpoints" and maroon daemons, as well as their relative priority. But here's the thing: an "API call" may well require some "maroon" processing! My understanding (and yes, we did not talk about this in detail, and I'm happy to be convinced otherwise) is that the distinction should not be as clear. In a way, kicking off migration is also calling an API endpoint :-) For have O(1) guarantees, I was just thinking of some |
+100500 I touched it slightly on:
We will come here! I was thinking about it as a "more advanced" scenario. Wanted to clarify the easier one first.
I think that's really good. Haven't thought about it. I mean that "just" a syntax sugar. BUUUUT, it might make the code way more readable and easier to analyze and build some guarantees. |
No description provided.