REST vs GraphQL: who decides the shape of the response
You asked for a name and a price and thirty-eight fields came back. Every difference between the two is one trade seen from a different side — and the caching bill is where it comes due.
The engineering questions you get asked, and the bugs you actually hit. Drawn, one mechanism at a time, in the order the videos ship.
You asked for a name and a price and thirty-eight fields came back. Every difference between the two is one trade seen from a different side — and the caching bill is where it comes due.
Every request came back 200 and nobody could buy anything. The last two digits have no categorisation role at all — and an error inside a success is a lie three separate systems believe.
REST is six constraints in one chapter of one dissertation, not a synonym for JSON over HTTP — and the spec's own example of getting it wrong is a link a crawler follows to delete your rows.
A relational database stores facts once and assembles the answer when you ask; a document store keeps the answer assembled and pays when it changes — and joins, schema, sharding and consistency are that one trade seen from four sides.
An isolation level is a list of what is still allowed to happen to you — and the half a ninety-second video has to cut: the retry loop serializable makes you write, the statement that has to come first, the anomaly the standard never named, and what your database's default actually is.
Four promises, one disaster each — and the setting that makes an application less reliable the moment you turn it up, unless you also write the retry loop nobody mentions.
A hundred sub-millisecond queries, a four-second page, and the two cuts the video could not afford: a batched second query is two points in time, and a thousand ids in an IN list is a problem of its own.
The planner never ignored it — it priced it. The two things the video could not say safely, then everything else it cut: index-only scans, partial and multicolumn indexes, trigrams, BRIN, statistics, HOT updates, bloat, and what LIMIT does to a plan.
The padlock proves the line is private and the name is real, and has never had an opinion about whether the site is honest — which is why a phishing page gets exactly the same one.
Three messages before a byte moves, an ACK that isn't a receipt, and the half a ninety-second video has to cut: how fast to send, how much to hold, and where QUIC takes the whole job away.
Four servers, three of which have never heard of the name you asked for, and a cache so you never do it twice — the referral chain in real dig output, plus the CNAME rule that breaks your apex.
Five negotiations run between Enter and the first pixel, and the one nearly every answer skips is that an address and a connection are different things.