Live data from Hacker News

Ask HN: Good books/courses to learn networking essentials for web developers?

news.ycombinator.com

51–60 of 76 posts

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#51
post #50

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?

I think it's more that I've met so few developers who don't end up using Python in any form (scripting or actual application development). So if you never actually do anything in Python then sure it's not going to be relevant.

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#52
post #48

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...

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.

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#53
post #21

Networking 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.

I disagree. I learned the structure of TCP frame in college and that's the last time I've looked at one. 99% of my job is at layer 7. Understanding bits like TLS handshake and http headers is plenty.

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#54

This 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.

I came here looking for exactly this comment, otherwise to make it myself. Book _and_ setting it all up yourself part!

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?

#55
post #21

Networking 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.

The whole point of the internet stack is to abstract away the details of the lower layers.

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?

#56
post #48

Earlier 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.

That's definitely a fair assessment.

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?

#57
post #14

I 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…

Looked to upvote this

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#58
post #21

Networking 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?

I've never been much for following courses and really the best way to learn is practice. Working with a cloud stack like AWS is a great start. Try to setup a an app server behind a load balancer, CDN (Cloudfront) and DNS (Route53). Read up on VPCs, what a CIDR block denotes. The core functions of these kinds of appliances is actually really simple. Just routing, caching and occasionally transforming requests. The ins and outs of specific products (ie CloudFront vs Cloudflare) is going to most useful and you get that from reading product docs. That and learning to use command-line tools like curl, dig and maybe tracert if you're feeling fancy.

Re: Ask HN: Good books/courses to learn networking essentials for web developers?

#59
This is my 2-server infrastructure (network and firewall) as it's in production. I'd start playing with it in two local VMs.

https://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?

#60
Depending on your interests/needs, you might not find yourself actually writing network code, but dealing with it tangentially when things go weird. Programming blogs where people detail one of these weird edge cases and explain how they debugged them are super interesting and might be more relevant to your day-to-day work.

Here's one I really like, you could learn a lot just reading through all the networking-related posts here: https://jvns.ca/#computer-networking

Post reply on HN