[HN Gopher] Ask HN: Resources for learning networking for back e...
___________________________________________________________________
Ask HN: Resources for learning networking for back end development
Hello everyone, I am a frontend developer and I am trying to shift
to backend development. I am studying directly from Node JS docs
but I have realised that most of their networking modules are hard
to understand without have a knowledge of networking . So searched
google for resources but didnt find a single resource. All
resources were in depth covering those OSI layers that a backend
developer would not need. So anyone please suggest me some
resources(videos, books, articles anything) for studying networking
but for a level of backend engineer.
Author : tusharvaswani
Score : 7 points
Date : 2022-08-20 21:23 UTC (1 hours ago)
| robcohen wrote:
| Go get CompTIA Network+ certified. There's plenty of material
| (prof Messer in particular). After that, play around with
| simulated network with GNS3 or similar software. Learn to SSH
| tunnel through multiple hosts. Play with socat and other low
| level networking tools. Implement some basic apps with your
| language of choice. Learn wire shark doing wire shark CTFs.
| Finally, reimplement a networking protocol from a spec.
|
| Congrats you know networking now.
| Nextgrid wrote:
| For a web frontend dev switching to backend I'd assume you still
| want to stay within the web space rather than let's say systems
| programming - in this case I wouldn't worry too much about the
| lower-level details yet and instead focus on what's relevant for
| the web:
|
| HTTP - headers, the concept of forward/reverse proxies, etc
|
| TLS - not necessarily the underlying cryptographic primitives but
| the high-level overview, how certificates are obtained/managed,
| the data they encode, how are they validated, etc
|
| DNS - the types of records, etc
|
| The best way IMO would be to learn by doing - set up a basic
| server-side rendered application (you can add a JS frontend
| later, this will come with its own challenges such as serving it
| from another domain and setting up CORS, etc) purely on a
| dedicated server or even self-hosted hardware. It's not that the
| cloud is _always_ a bad idea (though it can be in some cases),
| but doing it by hand from scratch will teach you plenty of things
| that the cloud otherwise abstracts away from you.
|
| Get yourself a Linux VPS from a provider offering fixed, capped
| pricing (so a mistake can't cause a huge bill) and serve that web
| app from it, doing everything yourself - no S3, no Cloudflare/AWS
| ELBs, etc.
|
| You won't learn anything _in depth_ , but you'll get a good high-
| level overview of how all these concepts fit together and will be
| able to know how to dig further and where to dig.
| isbvhodnvemrwvn wrote:
| I would still learn at least basics of TCP and IP, so that you
| are aware e.g. what firewalls do and how this shows up on the
| client side (vs when nothing is listening on the port but the
| port is otherwise open), what private IP ranges are, or what a
| timeout look like. These are the basics which are going to be
| extremely relevant when you start troubleshooting. Especially
| if they slap a docker image on their VPS. There's a frightening
| number of people who can't tell DNS resolution failure from a
| timeout, think they are going to get HTTP 500 if server breaks
| the connection, or don't take those failures into account (and
| it shows up in how they design their code).
___________________________________________________________________
(page generated 2022-08-20 23:02 UTC)