Earlier quoted context omitted.
As luck would have it, my blog on Github pages is down. So here's the post describing the four in markdown. Tldr; Designing Data Intensive Applications, Effective Python, The Google SRE book, and High Performance Browser Networking. https://github.com/eatonphil/notes.eatonphil.com/blob/master...
You said Effective Python is one of the books you'd recommend to "every developer," are the topics covered broadly applicable rather than tied to language features specific to Python?
Ask HN: Good books/courses to learn networking essentials for web developers?
51–60 of 76 posts
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#52Earlier quoted context omitted.
As luck would have it, my blog on Github pages is down. So here's the post describing the four in markdown. Tldr; Designing Data Intensive Applications, Effective Python, The Google SRE book, and High Performance Browser Networking. https://github.com/eatonphil/notes.eatonphil.com/blob/master...
Since you mention the Google SRE book, I'm curious if you've read the Google SWE book (and if so, what your thoughts are). https://abseil.io/resources/swe-book has a link to a PDF copy. I've read through about... half of it; at least from my perspective (as a current software engineer at Google with experience with most of the systems / processes outlined in the book), a lot of it is philosophical about the "why" of…
So ultimately I don't think it will break my top list even when I finish it.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#53Networking is probably not what you're looking for. You are probably more interested in DevOps and architecture. Topics like DNS and edge caching. Reverse proxies are typically web servers (ie nginx) or cloud services like API Gateways. Things like TCP are rarely relevant unless you're doing serious micro optimization.
On the contrary, I’d say the details of TCP/IP are inseparable from the design, implementation, and practical understanding/configuration of these elements.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#54This is an oldie but goodie: “ TCP/IP Network Administration (3rd Edition; O'Reilly Networking)” by Craig Hunt. However, I think nothing teaches networking better than making your own network devices from open source components, for example, creating routers/firewalls/access points from barebones Linux/Unix machines.
To be fair, there is probably more up to date literature nowadays especially if you want to try and do it in 'condensed' format but this is how I first grasped this whole networking thing. I'm getting old, that was probably more than 20 years ago by now.
I always wonder why many if not most of the devs I work with don't seem to actually understand even simple IPv4 and how their computer connects to the Internet. IP addresses, ports, firewalls, NAT, DNS, email, routing.
I definitely don't know as much about this any longer as I used to, when I ran all this stuff at home/did networking admin at my company on the side but just knowing that something like STP and BGP exist and still underpin this all helps if you ask me, even if you totally forgot how BGP actually works in detail.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#55Networking is probably not what you're looking for. You are probably more interested in DevOps and architecture. Topics like DNS and edge caching. Reverse proxies are typically web servers (ie nginx) or cloud services like API Gateways. Things like TCP are rarely relevant unless you're doing serious micro optimization.
On the contrary, I’d say the details of TCP/IP are inseparable from the design, implementation, and practical understanding/configuration of these elements.
A web developer does not need to know TCP. They need to know HTTP. Even if they did know stuff about lower level networking the browser completely locks you out of that level.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#56Earlier quoted context omitted.
Since you mention the Google SRE book, I'm curious if you've read the Google SWE book (and if so, what your thoughts are). https://abseil.io/resources/swe-book has a link to a PDF copy. I've read through about... half of it; at least from my perspective (as a current software engineer at Google with experience with most of the systems / processes outlined in the book), a lot of it is philosophical about the "why" of…
I've read through half of it as well. I think it's pretty good but poorly edited somehow because of how long it's taken me to get through even just the first half. So ultimately I don't think it will break my top list even when I finish it.
It reads like a lot of self-contained chunks (~15-20 pages per chapter, for most chapters), but right around the halfway mark, there's 100 pages on testing philosophy, which is a slog. Don't get me wrong -- testing is a fundamental aspect of modern software engineering! But I suspect that's why I got to that point and then put it down for a few months.
To harp on the testing section some more, there's some amount of redundancy across the sections. For instance, the unit testing chapter has a page on testing state rather than interactions, and then it's followed by 5 more pages expanding on the same subject at the end of the next chapter (test doubles).
It's a shame, really, since I think chapters 20+ contain some of the more technically interesting topics (yes, including another testing section -- CI!).
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#57I think Beej's Guide to Network Programming is IMO hands down the best resource I've come across: https://beej.us/guide/bgnet/ It also doubles as a very great introduction to C, if that something you're interested in. It's funny because both C and socket level programming are often a barrier, or at least they were for me. It's an attestant to the quality of Beej's guide that he introduces both simultaneously, and mak…
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#58Networking is probably not what you're looking for. You are probably more interested in DevOps and architecture. Topics like DNS and edge caching. Reverse proxies are typically web servers (ie nginx) or cloud services like API Gateways. Things like TCP are rarely relevant unless you're doing serious micro optimization.
IDK about OP but this is exactly what I'm looking for. Do you have some good books/courses for the same?
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#59https://blog.uidrafter.com/engineering/freebsd-jails-network...
As for books, Ivan Ristić's ModSecurity, although old, is full of tips for setting up reverse proxies.
Re: Ask HN: Good books/courses to learn networking essentials for web developers?
#60Here's one I really like, you could learn a lot just reading through all the networking-related posts here: https://jvns.ca/#computer-networking