4 Harsh Truths About Life
1. Relationships that come naturally are the strongest
2. You can not reach all your goals
3. You can not know everything, although you should
4. You need to sacrifice yourself to make the world care about you
@javascript_resources
#motivation
1. Relationships that come naturally are the strongest
2. You can not reach all your goals
3. You can not know everything, although you should
4. You need to sacrifice yourself to make the world care about you
@javascript_resources
#motivation
â¤2
Top 10 best docs you can read in 2024 as a software developer đ¨âđģđŠâđģ. đ
-Python Documentation đ
-JavaScript MDN Docs đ
-React Official Documentation âī¸
-Django Documentation đ
-Vue.js Guide đ
-Git Documentation đ
-SQLAlchemy Documentation đ ī¸
-TensorFlow API Docs đ¤
-Java API Documentation â
-Docker Documentation đŗ
-Python Documentation đ
-JavaScript MDN Docs đ
-React Official Documentation âī¸
-Django Documentation đ
-Vue.js Guide đ
-Git Documentation đ
-SQLAlchemy Documentation đ ī¸
-TensorFlow API Docs đ¤
-Java API Documentation â
-Docker Documentation đŗ
đ2
đ Essential Shortcuts in Visual Studio Code:
đž Save: Ctrl + S
âŠī¸ Undo: Ctrl + Z
đ Redo: Ctrl + Y
âī¸ Cut: Ctrl + X
đ Copy: Ctrl + C
đ Paste: Ctrl + V
đ Find: Ctrl + F
đ Replace: Ctrl + H
đ Go to Line: Ctrl + G
đ Toggle Sidebar: Ctrl + B
đ Toggle Full Screen: F11
to open the terminal Ctrl + `
đž Save: Ctrl + S
âŠī¸ Undo: Ctrl + Z
đ Redo: Ctrl + Y
âī¸ Cut: Ctrl + X
đ Copy: Ctrl + C
đ Paste: Ctrl + V
đ Find: Ctrl + F
đ Replace: Ctrl + H
đ Go to Line: Ctrl + G
đ Toggle Sidebar: Ctrl + B
đ Toggle Full Screen: F11
to open the terminal Ctrl + `
đ1
Learn JavaScript by playing gamesđđđģ
1. CodeCombat
⊠https://codecombat.com
2. Screeps
⊠https://screeps.com
3. Code Wars
⊠https://codewars.com
4. JS Robot
⊠https://lab.reaal.me/jsrobot/
5. Untrusted
⊠https://alexnisnevich.github.io/untrusted/
1. CodeCombat
⊠https://codecombat.com
2. Screeps
⊠https://screeps.com
3. Code Wars
⊠https://codewars.com
4. JS Robot
⊠https://lab.reaal.me/jsrobot/
5. Untrusted
⊠https://alexnisnevich.github.io/untrusted/
CodeCombat
CodeCombat: Learn to Code by Playing a Game
Learn programming with a multiplayer live coding strategy game for beginners. Learn Python or JavaScript as you defeat ogres, solve mazes, and level up. Open source HTML5 game!
IP Address in a nutshell:
- What is an IP Address?
An IP address, or Internet Protocol address, is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.
It serves two main purposes: host or network interface identification and location addressing.
IP addresses are crucial for devices to communicate over a network, allowing data to be sent and received between them.
When you access a website, send an email, or perform any online activity, your device is identified by its IP address, allowing data to be routed to the correct destination.
For example,
Imagine a large city with many houses.
Each house has a unique address that allows mail and packages to be delivered to the correct location.
In this analogy:
1. City represents the internet or a network.
2. Houses represent devices (like computers, smartphones, servers) connected to the network.
3. Address represents the IP address.
Now, let's say you want to send a letter (data) to your friend who lives in this city.
You need to write the recipient's house address on the envelope for the postal service to deliver it to the correct location.
Similarly, when devices communicate over the internet or a network, they use IP addresses as their unique identifiers. Each device has its own IP address, allowing data to be sent to and received from the right destination.
For example, consider a device with the IP address 192.168.0.1.
If another device wants to send data to this device, it uses this IP address to ensure the data reaches the correct location on the network, just like a postal address ensures a letter reaches the right house in the city.
These IP addresses are assigned by IANA(known as Internet Corporation For Internet Assigned Numbers Authority).
- Working of IP addresses
The working of IP addresses involves a systematic process of identification and communication within a network.
Here's how IP addresses work:
1. Devices connected to a network, such as computers, smartphones, or servers, are assigned unique IP addresses.
These addresses can be static (manually configured) or dynamic (assigned automatically by a service like DHCP - Dynamic Host Configuration Protocol).
2. When a device wants to communicate with another device on the same network or a different network (like accessing a website), it needs to send data.
The data is divided into packets, and each packet is labeled with the source and destination IP addresses.
3. Routers and switches in the network play a crucial role. Routers examine the destination IP address in each packet and determine the best path for the data to reach its destination.
They use routing tables to make these decisions.
4. If the destination is on a different network, the data may pass through multiple routers, including those operated by ISPs.
ISPs manage the global routing of data between different networks on the internet.
5. The data packets are transmitted over the physical network infrastructure, such as Ethernet or Wi-Fi.
Each device on the network reads the destination IP address to determine whether the packet is intended for it.
6. The receiving device examines the destination IP address on the incoming packets.
If the address matches its own, it processes the data.
If the destination is on a different network, the process of routing continues until the data reaches the correct device.
7. The destination device may send a response, and the process repeats.
This communication happens seamlessly, allowing devices across the world to exchange information.
In summary, IP addresses serve as unique identifiers for devices in a network.
Routers and other networking devices use these addresses to efficiently route data from the source to the destination across the internet or any network infrastructure.
- Types of IP Addresses
IPv4:
- What is an IP Address?
An IP address, or Internet Protocol address, is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.
It serves two main purposes: host or network interface identification and location addressing.
IP addresses are crucial for devices to communicate over a network, allowing data to be sent and received between them.
When you access a website, send an email, or perform any online activity, your device is identified by its IP address, allowing data to be routed to the correct destination.
For example,
Imagine a large city with many houses.
Each house has a unique address that allows mail and packages to be delivered to the correct location.
In this analogy:
1. City represents the internet or a network.
2. Houses represent devices (like computers, smartphones, servers) connected to the network.
3. Address represents the IP address.
Now, let's say you want to send a letter (data) to your friend who lives in this city.
You need to write the recipient's house address on the envelope for the postal service to deliver it to the correct location.
Similarly, when devices communicate over the internet or a network, they use IP addresses as their unique identifiers. Each device has its own IP address, allowing data to be sent to and received from the right destination.
For example, consider a device with the IP address 192.168.0.1.
If another device wants to send data to this device, it uses this IP address to ensure the data reaches the correct location on the network, just like a postal address ensures a letter reaches the right house in the city.
These IP addresses are assigned by IANA(known as Internet Corporation For Internet Assigned Numbers Authority).
- Working of IP addresses
The working of IP addresses involves a systematic process of identification and communication within a network.
Here's how IP addresses work:
1. Devices connected to a network, such as computers, smartphones, or servers, are assigned unique IP addresses.
These addresses can be static (manually configured) or dynamic (assigned automatically by a service like DHCP - Dynamic Host Configuration Protocol).
2. When a device wants to communicate with another device on the same network or a different network (like accessing a website), it needs to send data.
The data is divided into packets, and each packet is labeled with the source and destination IP addresses.
3. Routers and switches in the network play a crucial role. Routers examine the destination IP address in each packet and determine the best path for the data to reach its destination.
They use routing tables to make these decisions.
4. If the destination is on a different network, the data may pass through multiple routers, including those operated by ISPs.
ISPs manage the global routing of data between different networks on the internet.
5. The data packets are transmitted over the physical network infrastructure, such as Ethernet or Wi-Fi.
Each device on the network reads the destination IP address to determine whether the packet is intended for it.
6. The receiving device examines the destination IP address on the incoming packets.
If the address matches its own, it processes the data.
If the destination is on a different network, the process of routing continues until the data reaches the correct device.
7. The destination device may send a response, and the process repeats.
This communication happens seamlessly, allowing devices across the world to exchange information.
In summary, IP addresses serve as unique identifiers for devices in a network.
Routers and other networking devices use these addresses to efficiently route data from the source to the destination across the internet or any network infrastructure.
- Types of IP Addresses
IPv4:
IPv4, or Internet Protocol version 4, is characterized by its use of four numerical segments separated by dots.
Each of these segments can range from 0 to 255 in decimal notation.
However, computers process information in binary, using only 0s and 1s.
Consequently, the decimal range of 0 to 255 translates to the binary range of 00000000 to 11111111.
To accommodate this binary representation, each number (N) within an IPv4 address is expressed as a series of 8 binary digits.
Consequently, the entire IPv4 address is composed of 32 bits of binary digits.
In IPv4, a distinct sequence of these bits is assigned to each computer, allowing for a total of approximately 4,294,967,296 unique addresses (2^32).
The rapid growth of the internet and connected devices has led to IPv4 address exhaustion, as the number of available IPv4 addresses is limited.
IPv4 addresses are written as four sets of numbers separated by periods, like this: (e.g., 192.168.0.1).
With approximately 4.3 billion IPv4 addresses in existence, attempting to manage this vast pool without any systematic organization is an impractical endeavor.
To illustrate this, consider the analogy of searching for a word in a language dictionary.
When the words are arranged in alphabetical order, you can efficiently locate a specific word in less than 5 minutes. Contrastingly, if the dictionary lacked any form of sequence or order, the task of finding the word would be seemingly eternal.
The challenges associated with handling 4.3 billion addresses become evident in the absence of a structured scheme.
To streamline the management and allocation of IP addresses, a numeric order is imposed.
These addresses are further categorized into five classes, offering a systematic framework for more efficient organization and assignment.
The IP address 0.0.0.0 is categorized as a non-routable address, indicating an invalid or inapplicable end-user address.
A loopback address constitutes a reserved range within the IP address space, commencing at 127.0.0.0 and concluding at 127.255.255.255.
Notably, 127.255.255.255 serves as the broadcast address for the 127.0.0.0/8 network.
These loopback addresses are an inherent part of the IP domain system, facilitating devices in the transmission and reception of data packets.
Specifically, the loopback address 127.0.0.1 is commonly recognized as "localhost."
Each of these segments can range from 0 to 255 in decimal notation.
However, computers process information in binary, using only 0s and 1s.
Consequently, the decimal range of 0 to 255 translates to the binary range of 00000000 to 11111111.
To accommodate this binary representation, each number (N) within an IPv4 address is expressed as a series of 8 binary digits.
Consequently, the entire IPv4 address is composed of 32 bits of binary digits.
In IPv4, a distinct sequence of these bits is assigned to each computer, allowing for a total of approximately 4,294,967,296 unique addresses (2^32).
The rapid growth of the internet and connected devices has led to IPv4 address exhaustion, as the number of available IPv4 addresses is limited.
IPv4 addresses are written as four sets of numbers separated by periods, like this: (e.g., 192.168.0.1).
With approximately 4.3 billion IPv4 addresses in existence, attempting to manage this vast pool without any systematic organization is an impractical endeavor.
To illustrate this, consider the analogy of searching for a word in a language dictionary.
When the words are arranged in alphabetical order, you can efficiently locate a specific word in less than 5 minutes. Contrastingly, if the dictionary lacked any form of sequence or order, the task of finding the word would be seemingly eternal.
The challenges associated with handling 4.3 billion addresses become evident in the absence of a structured scheme.
To streamline the management and allocation of IP addresses, a numeric order is imposed.
These addresses are further categorized into five classes, offering a systematic framework for more efficient organization and assignment.
The IP address 0.0.0.0 is categorized as a non-routable address, indicating an invalid or inapplicable end-user address.
A loopback address constitutes a reserved range within the IP address space, commencing at 127.0.0.0 and concluding at 127.255.255.255.
Notably, 127.255.255.255 serves as the broadcast address for the 127.0.0.0/8 network.
These loopback addresses are an inherent part of the IP domain system, facilitating devices in the transmission and reception of data packets.
Specifically, the loopback address 127.0.0.1 is commonly recognized as "localhost."
đ1
IPv6:
IPv6, or Internet Protocol version 6, serves as the successor to IPv4 and introduces a different format for representing IP addresses.
In contrast to IPv4's use of four numerical segments separated by dots, IPv6 employs a hexadecimal notation with eight groups of four characters separated by colons.
While IPv4 relies on a 32-bit address space, IPv6 adopts a larger 128-bit address space.
This expanded capacity addresses the limitations posed by the finite number of IPv4 addresses, providing an almost limitless pool of unique identifiers for devices connected to the internet.
Consequently, IPv6 addresses are significantly longer and can be expressed as sequences like "2001:0db8:85a3:0000:0000:8a2e:0370:7334."
In terms of binary representation, each character in the hexadecimal notation of an IPv6 address corresponds to 4 bits.
This results in a total of 128 bits for the entire IPv6 address, emphasizing its vast address space compared to IPv4.
The adoption of IPv6 is driven by the need for more available addresses to accommodate the growing number of devices connected to the internet.
- IP addresses can be categorized into different types:
1. Public IP Address:
Dynamic IP Address: Changes each time you connect to the internet.
Static IP Address: Permanent and provides location details.
2. Private IP Address:
Internal address not routed to the internet;
no data exchange with the internet.
3. Shared IP Addresses:
Used by multiple websites to reduce costs, often by smaller sites with controllable traffic.
4. Dedicated IP Addresses:
Used by a single entity for specific benefits.
Offers a private SSL certificate.
Allows access via IP address instead of domain name.
Enhances website performance during high traffic.
Provides protection from blacklisting associated with shared IP addresses.
IPv6, or Internet Protocol version 6, serves as the successor to IPv4 and introduces a different format for representing IP addresses.
In contrast to IPv4's use of four numerical segments separated by dots, IPv6 employs a hexadecimal notation with eight groups of four characters separated by colons.
While IPv4 relies on a 32-bit address space, IPv6 adopts a larger 128-bit address space.
This expanded capacity addresses the limitations posed by the finite number of IPv4 addresses, providing an almost limitless pool of unique identifiers for devices connected to the internet.
Consequently, IPv6 addresses are significantly longer and can be expressed as sequences like "2001:0db8:85a3:0000:0000:8a2e:0370:7334."
In terms of binary representation, each character in the hexadecimal notation of an IPv6 address corresponds to 4 bits.
This results in a total of 128 bits for the entire IPv6 address, emphasizing its vast address space compared to IPv4.
The adoption of IPv6 is driven by the need for more available addresses to accommodate the growing number of devices connected to the internet.
- IP addresses can be categorized into different types:
1. Public IP Address:
Dynamic IP Address: Changes each time you connect to the internet.
Static IP Address: Permanent and provides location details.
2. Private IP Address:
Internal address not routed to the internet;
no data exchange with the internet.
3. Shared IP Addresses:
Used by multiple websites to reduce costs, often by smaller sites with controllable traffic.
4. Dedicated IP Addresses:
Used by a single entity for specific benefits.
Offers a private SSL certificate.
Allows access via IP address instead of domain name.
Enhances website performance during high traffic.
Provides protection from blacklisting associated with shared IP addresses.
đĨ1