Hi again!
This time I'm back with something I have always failed to understand in even one bit, no matter how many times the subject has reappeared in school - networking.
And I haven't learned it during my career, because I didn't have to, so the topic has always been haunting me ๐
.
The good news is, I'm starting to feel confident about the basics I had contact with during my Journey.
There is one mindset difference I have acquired lately, definitely a soft skill worth having!
If some atomic concept I'm trying to understand seems too complex (I'm not talking about some complicated equations here!) then most likely I'm overcomplicating things.
You can completely skip this part
And that changed a lot - completely unrelated matter - weight loss - for quite some time I've tried to lose some weight, so as everyone I was looking for some miraculous diets, foods to eat or avoid etc.
In fact, that is an extremely simple thing - supply less energy than I'm using - and it worked big time - I didn't even have to stop eating my favorite foods - just cut back a little ๐
But - and it's a BIG BUT - it also works for more technical things - one more example before we continue with the main topic.
I think everyone who has started learning a programming language with pointers can agree that they had issues with them.
Okay, so first you learn that it's basically a variable that stores location of other variables - manageable, right?
But... then it's also an array?
As long as you KISS (Keep It Simple, Stupid) it, it doesn't get complicated, we are just using the basic knowledge of pointers and their properties to create more abstract concepts - in its essence it still just points to a single point.
Oh, also I might need a name for that "rule", would be too bad if it already existed somehow ๐
The biggest difference now is that I'm learning not because I have to, but because I want to ๐ค.
During my school years, I've struggled with even the most basic stuff like private/public IP - I knew the private address classes, but how and why does that work? No idea, just learned it by the heart, and forgot it by the heart.
And guess what, my "rule" here is right again - it's nothing special at all.
Using simple terms, a router just looks at the IP address, checks if it's local or not and decides where to send it.
There is also NAT involved - but it's translating the IP, not really changing the definition of what is an IP address.
Oh, and during writing this text, I've learned the IP Classes are kind of a thing of the past - addresses within the range are just private.
There is also CIDR [Classless Inter-Domain Routing] that defines the size of the subnet - regardless of whether it's private or public
Firewall isn't a level 5 Wizard spell, it's as simple as a rule - is port closed? Then we just don't open the way for packets.
ISO/OSI is a weirder case of mine - as I like to compare it to how a certain cybersecurity stack works.
We use an interface to say we want to communicate something, it gets packed [multiple times, in fact!] along the way, sent.
Someone receives it, unpacks it [also multiple times], and it gets delivered to the application it was supposed to. Magic? No - it works's the same as sending a letter, you take it, pack it into envelope [that's your "layer" you are responsible to], then send it to the next layer - which is post office, and you are free of worries, neither you nor the receiver needs to know what happens when other layers are working.
But there are some more binary concepts such as TCP vs UDP - one is reliable but slower, the other one is unreliable but fast.
Which one is which? I like to think of T like Trusted, U like Unreliable
Subnet masks are also very simple - binary ones show which part is related to the net, zeroes to hosts in the subnet - which in turns are just sliced up parts of the private net.
Some work with Elasticsearch and my own mini web app (nothing too fancy just taking requests and sending some data depending on the path) - made me understand REST API - it's not some dark knowledge, you basically take the path in the app, parse it how you like it, and return data. Like a big switch statement.
This time the journey wasn't about failing, but rather overcoming failures of the past, so it definitely hasn't been the most satisfying read, sorry for that!
See you in the next one!
Top comments (0)