@ -178,7 +178,7 @@ The final step in becoming a front-end developer is to build an online portfolio
- Open source contributions code.
- Open source contributions code.
- Code examples to demonstrate your problem-solving skills.
- Code examples to demonstrate your problem-solving skills.
Once you've built a solid portfolio, it's time to apply for a front-end developer job. This process includes writing a cover letter and resume and preparing for interviews. This roadmap.sh guide will help you prepare for these interviews: [Top](https://roadmap.sh/questions/frontend) [Front End Developer Interview Questions](https://roadmap.sh/questions/frontend).
Once you've built a solid portfolio, it's time to apply for a front-end developer job. This process includes writing a cover letter and resume and preparing for interviews. This roadmap.sh guide will help you prepare for these interviews: [TopFront End Developer Interview Questions](https://roadmap.sh/questions/frontend).
But remember, front-end development is a continuous learning process. So, it's essential to keep learning during and after a job search to keep up with new tools and trends.
But remember, front-end development is a continuous learning process. So, it's essential to keep learning during and after a job search to keep up with new tools and trends.
@ -238,6 +238,7 @@ It involves several steps, like:
- Animated dropdown menus for easy-to-use web navigation.
- Animated dropdown menus for easy-to-use web navigation.
## Frequently asked questions (FAQ): Becoming a front-end developer
## Frequently asked questions (FAQ): Becoming a front-end developer
![Frequently asked questions: Becoming a front-end developer](https://assets.roadmap.sh/guest/frontend-developer-faqs-zhhns.jpeg)
![Frequently asked questions: Becoming a front-end developer](https://assets.roadmap.sh/guest/frontend-developer-faqs-zhhns.jpeg)
The process of becoming a front-end developer may pose some questions to you. The following are some answers to common questions to get you started:
The process of becoming a front-end developer may pose some questions to you. The following are some answers to common questions to get you started:
Given below is the demonstration of a sample production environment for a web application that consists of two different components, application server and database server.
Given below is the demonstration of a sample production environment for a web application that consists of two different components, application server and database server.
Application server has both a public and private IP address. It is accessible from the internet. Database server has only a private IP address and is accessible only from the application server.
Application server has both a public and private IP address. It is accessible from the internet. Database server has only a private IP address and is accessible only from the application server.
@ -39,7 +39,6 @@ For example, you might have this infrastructure on AWS, where you have a custom
Let's say that the application server is in the public subnet and the database server is in the private subnet.
Let's say that the application server is in the public subnet and the database server is in the private subnet.
> If you want to learn more about AWS VPC, check out this [detailed guide about AWS VPC](https://cs.fyi/guide/up-and-running-with-aws-vpc), Subnets and everything else you need to know about AWS VPC.
> If you want to learn more about AWS VPC, check out this [detailed guide about AWS VPC](https://cs.fyi/guide/up-and-running-with-aws-vpc), Subnets and everything else you need to know about AWS VPC.
> Also, have a look at [this guide on AWS EC2 instances](https://cs.fyi/guide/up-and-running-with-aws-ec2) which covers all the important concepts about EC2 instances and how to launch them.
> Also, have a look at [this guide on AWS EC2 instances](https://cs.fyi/guide/up-and-running-with-aws-ec2) which covers all the important concepts about EC2 instances and how to launch them.
We can easily SSH into the application server from the internet i.e.
We can easily SSH into the application server from the internet i.e.
Our last guide was about the [basics of authentication](/guides/basics-of-authentication), where we discussed authentication, authorization, types of authentication, authentication factors, authentication strategies, and so on.
Our last guide was about the [basics of authentication](https://roadmap.sh/guides/basics-of-authentication), where we discussed authentication, authorization, types of authentication, authentication factors, authentication strategies, and so on.
In this guide today, we will be learning about basic authentication, and we will see how we can implement Basic Authentication in Node.js. We have a [visual guide on the basic authentication](/guides/basic-authentication) and an illustrative video, watch the video below or continue reading:
In this guide today, we will be learning about basic authentication, and we will see how we can implement Basic Authentication in Node.js. We have a [visual guide on the basic authentication](https://roadmap.sh/guides/basic-authentication) and an illustrative video, watch the video below or continue reading:
OpenAI has been a major contributor to this space in the past few years with their models and research. However, there are other players in the market as well e.g. Meta with their [OPT](https://huggingface.co/facebook/opt-66b), [OPT-IML](https://huggingface.co/facebook/opt-iml-30b) and [LLaMA](https://ai.facebook.com/blog/large-language-model-llama-meta-ai/) models, Google released [FLAN-T5](https://huggingface.co/google/flan-t5-xxl) and [BERT](https://huggingface.co/google-bert/bert-base-uncased), [StableLM](https://github.com/stability-AI/stableLM/) by Stability AI, [Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html) at Stanford and there are many [other opensource models as well](https://github.com/Hannibal046/Awesome-LLM).
OpenAI has been a major contributor to this space in the past few years with their models and research. However, there are other players in the market as well e.g. Meta with their [OPT](https://huggingface.co/facebook/opt-66b), [OPT-IML](https://huggingface.co/facebook/opt-iml-30b) and [LLaMA](https://ai.facebook.com/blog/large-language-model-llama-meta-ai/) models, Google released [FLAN-T5](https://huggingface.co/google/flan-t5-xxl) and [BERT](https://huggingface.co/google-bert/bert-base-uncased), [StableLM](https://github.com/stability-AI/stableLM/) by Stability AI, [Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html) at Stanford and there are many [other opensource models as well](https://github.com/Hannibal046/Awesome-LLM).
@ -182,7 +182,7 @@ Design patterns are proven approaches to solving specific design challenges and
As the popular saying goes, "a tree cannot make a forest." While it might be tempting to work in isolation and tackle all development tasks alone, it's essential for you to join communities that encourage collaboration, peer learning, and staying updated on the latest developments.
As the popular saying goes, "a tree cannot make a forest." While it might be tempting to work in isolation and tackle all development tasks alone, it's essential for you to join communities that encourage collaboration, peer learning, and staying updated on the latest developments.
A great community to join is the [r](https://roadmap.sh/discord)[oadmap.sh](https://roadmap.sh/discord) [Discord community](https://roadmap.sh/discord), where you can connect with like-minded individuals who share your passion for development.
A great community to join is the [roadmap.sh](https://roadmap.sh/) [Discord community](https://roadmap.sh/discord), where you can connect with like-minded individuals who share your passion for development.
### Soft skills
### Soft skills
@ -192,7 +192,7 @@ In addition to technical expertise, soft skills play a vital role in the develop
Frameworks, libraries, technologies, modes of adoption, and business requirements will continue to evolve. It is important you stay curious, continuously learn, and keep up with the latest developments in the Java ecosystem, which is huge.
Frameworks, libraries, technologies, modes of adoption, and business requirements will continue to evolve. It is important you stay curious, continuously learn, and keep up with the latest developments in the Java ecosystem, which is huge.
While staying informed about changes in the ecosystem can be overwhelming, especially with information from various sources like blogs, online training, bootcamp courses, etc., there's a reliable and regularly updated platform for Java resources: [Java developer’s](https://roadmap.sh/java) [r](https://roadmap.sh/java)[oadmap.sh](https://roadmap.sh/java).
While staying informed about changes in the ecosystem can be overwhelming, especially with information from various sources like blogs, online training, bootcamp courses, etc., there's a reliable and regularly updated platform for Java resources: [Java Developer Roadmap](https://roadmap.sh/java).
@ -90,7 +90,7 @@ Once the three-way handshake is completed, the data sharing between the client a
However, some implementations of `HTTP/1.0` tried to overcome this issue by introducing a new header called `Connection: keep-alive` which was meant to tell the server "Hey server, do not close this connection, I need it again". But still, it wasn't that widely supported and the problem still persisted.
However, some implementations of `HTTP/1.0` tried to overcome this issue by introducing a new header called `Connection: keep-alive` which was meant to tell the server "Hey server, do not close this connection, I need it again". But still, it wasn't that widely supported and the problem still persisted.
Apart from being connectionless, `HTTP` also is a stateless protocol i.e. server doesn't maintain the information about the client and so each of the requests has to have the information necessary for the server to fulfill the request on its own without any association with any old requests. And so this adds fuel to the fire i.e. apart from the large number of connections that the client has to open, it also has to send some redundant data on the wire causing increased bandwidth usage.
Apart from being connection-less, `HTTP` also is a stateless protocol i.e. server doesn't maintain the information about the client and so each of the requests has to have the information necessary for the server to fulfill the request on its own without any association with any old requests. And so this adds fuel to the fire i.e. apart from the large number of connections that the client has to open, it also has to send some redundant data on the wire causing increased bandwidth usage.
@ -28,7 +28,7 @@ I'll be using a [Debian ISO](https://cdimage.debian.org/debian-cd/current/amd64/
## Finding peers
## Finding peers
Here’s a problem: we want to download a file with BitTorrent, but it’s a peer-to-peer protocol and we have no idea where to find peers to download it from. This is a lot like moving to a new city and trying to make friends—maybe we’ll hit up a local pub or a meetup group! Centralized locations like these are the big idea behind trackers, which are central servers that introduce peers to each other. They’re just web servers running over HTTP, and you can find Debian’s at http://bttracker.debian.org:6969/
Here’s a problem: we want to download a file with BitTorrent, but it’s a peer-to-peer protocol and we have no idea where to find peers to download it from. This is a lot like moving to a new city and trying to make friends—maybe we’ll hit up a local pub or a meetup group! Centralized locations like these are the big idea behind trackers, which are central servers that introduce peers to each other. They’re just web servers running over HTTP, and you can find Debian’s at `http://bttracker.debian.org:6969/`.
![illustration of a desktop computer and laptop sitting at a pub](/guides/torrent-client/trackers.png)
![illustration of a desktop computer and laptop sitting at a pub](/guides/torrent-client/trackers.png)