chore: update roadmap content json (#6571)

Co-authored-by: arikchakma <arikchakma@users.noreply.github.com>
pull/6575/head^2
github-actions[bot] 3 months ago committed by GitHub
parent 442969c9d9
commit e806072336
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 62
      public/roadmap-content/android.json
  2. 897
      public/roadmap-content/angular.json
  3. 2
      public/roadmap-content/blockchain.json
  4. 2
      public/roadmap-content/computer-science.json
  5. 167
      public/roadmap-content/cyber-security.json
  6. 15
      public/roadmap-content/data-analyst.json
  7. 2
      public/roadmap-content/devops.json
  8. 25
      public/roadmap-content/devrel.json
  9. 4
      public/roadmap-content/frontend.json
  10. 2
      public/roadmap-content/full-stack.json
  11. 1273
      public/roadmap-content/git-github.json
  12. 32
      public/roadmap-content/ios.json
  13. 62
      public/roadmap-content/javascript.json
  14. 17
      public/roadmap-content/nodejs.json
  15. 20
      public/roadmap-content/python.json
  16. 129
      public/roadmap-content/react.json
  17. 2
      public/roadmap-content/server-side-game-developer.json
  18. 1039
      public/roadmap-content/sql.json
  19. 4
      public/roadmap-content/terraform.json
  20. 10
      public/roadmap-content/vue.json

@ -220,8 +220,14 @@
}, },
"2iDJrxjXOt7o2fPp2HfRl": { "2iDJrxjXOt7o2fPp2HfRl": {
"title": "Fragments", "title": "Fragments",
"description": "", "description": "A `Fragment` represents a reusable portion of your app's UI. A fragment defines and manages its own layout, has its own lifecycle, and can handle its own input events. Fragments can't live on their own. They must be hosted by an activity or another fragment. The fragment’s view hierarchy becomes part of, or attaches to, the host’s view hierarchy.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Android Developers: Fragments",
"url": "https://developer.android.com/guide/fragments",
"type": "article"
}
]
}, },
"boMz0HZlMAsLdCZlpUo-H": { "boMz0HZlMAsLdCZlpUo-H": {
"title": "EditText", "title": "EditText",
@ -230,13 +236,25 @@
}, },
"Mtx0bY0drmaTw8sCM5YTl": { "Mtx0bY0drmaTw8sCM5YTl": {
"title": "Dialogs", "title": "Dialogs",
"description": "", "description": "A `DialogFragment` is a special fragment subclass that is designed for creating and hosting dialogs. Although you don't need to host your **dialog** within a fragment, doing so lets the `FragmentManager` manage the state of the dialog and automatically restore the dialog when a configuration change occurs. Learn more from the following resources:",
"links": [] "links": [
{
"title": "Android Developers: Dialogs",
"url": "https://developer.android.com/guide/fragments/dialogs",
"type": "article"
}
]
}, },
"WhfzFOUpm0DFEj7Oeq21R": { "WhfzFOUpm0DFEj7Oeq21R": {
"title": "Buttons", "title": "Buttons",
"description": "", "description": "A `button` consists of text or an icon, or both, that communicates what action occurs when the user taps it.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "Android Developers: Button",
"url": "https://developer.android.com/develop/ui/views/components/button",
"type": "article"
}
]
}, },
"BVgO9n7tGlVdiS72-hFSd": { "BVgO9n7tGlVdiS72-hFSd": {
"title": "Toast", "title": "Toast",
@ -306,18 +324,40 @@
}, },
"pSU-NZtjBh-u0WKTYfjk_": { "pSU-NZtjBh-u0WKTYfjk_": {
"title": "MVVM", "title": "MVVM",
"description": "", "description": "The `Model-View-ViewModel` (MVVM) pattern is a software architectural pattern commonly used in UI development. It is designed to separate the concerns of an application, making the code more modular, testable, and maintainable.\n\nComponents:\n\n* `Model`: Refers either to a domain model, which represents real state content (an object-oriented approach), or to the data access layer, which represents content.\n* `View`: The view is the structure, layout, and appearance of what a user sees on the screen.\n* `View model`: The view model is an abstraction of the view exposing public properties and commands. The view model has been described as a state of the data in the model.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Android Developers: View Model",
"url": "https://developer.android.com/topic/libraries/architecture/viewmodel",
"type": "article"
},
{
"title": "Wikipedia",
"url": "https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel",
"type": "article"
}
]
}, },
"aF_xFIqTjQbENtC7pkXvJ": { "aF_xFIqTjQbENtC7pkXvJ": {
"title": "MVP", "title": "MVP",
"description": "", "description": "The MVP `Model View Presenter` pattern is a derivative of the well-known MVC `Model View Controller` pattern and is one of the most popular patterns for organizing the presentation layer in Android applications.\n\nMVP is divided into three components:\n\n* `Model`: Responsible for managing the data input to the app. This can often be an Interactor or UseCase, handling the business logic and data operations.\n* `View`: Takes care of updating the graphical part of the application. It acts as a passive view, only receiving data and requesting actions to be performed.\n* `Presenter`: Handles all the logic related to the graphical interface that the View requests. It provides the View with the data it needs to display on the screen.\n\nThis structure helps to create a clear separation of concerns, making your codebase more modular and easier to maintain.",
"links": [] "links": []
}, },
"w1A6wPKSd3Yh2luuHV-aE": { "w1A6wPKSd3Yh2luuHV-aE": {
"title": "MVC", "title": "MVC",
"description": "", "description": "MVC or `Model View Controller` is a software design pattern commonly used for developing user interfaces that divides the related program logic into three interconnected components.\n\nComponents:\n\n* `Model`: The internal representations of information. This can often be an Interactor or UseCase\n* `View`: The interface that presents information to and accepts it from the user\n* `Controller`: The controller contains logic that updates the model and/or view in response to input from the users of the app.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "MVC",
"url": "https://developer.mozilla.org/en-US/docs/Glossary/MVC",
"type": "article"
},
{
"title": "Model–view–controller",
"url": "https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller",
"type": "article"
}
]
}, },
"ZF5XgO7I_J9928bD3CVXo": { "ZF5XgO7I_J9928bD3CVXo": {
"title": "Repository Pattern", "title": "Repository Pattern",

File diff suppressed because it is too large Load Diff

@ -1233,7 +1233,7 @@
] ]
}, },
"tvk1Wh04BcFbAAwYWMx27": { "tvk1Wh04BcFbAAwYWMx27": {
"title": "Centralized Storage", "title": "Decentralized Storage",
"description": "Decentralized storage is where data is stored on a decentralized network across multiple locations by users or groups who are incentivized to join, store, and keep data accessible. The servers used are hosted by people, rather than a single company. Anyone is free to join, they are kept honest due to smart contracts, and they are incentivized to participate via tokens.\n\nVisit the following resources to learn more:", "description": "Decentralized storage is where data is stored on a decentralized network across multiple locations by users or groups who are incentivized to join, store, and keep data accessible. The servers used are hosted by people, rather than a single company. Anyone is free to join, they are kept honest due to smart contracts, and they are incentivized to participate via tokens.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {

@ -1347,7 +1347,7 @@
}, },
{ {
"title": "Breadth-first search in 4 minutes", "title": "Breadth-first search in 4 minutes",
"url": "https://www.youtube.com/watch?v=hz5ytanv5qe", "url": "https://www.youtube.com/watch?v=HZ5YTanv5QE",
"type": "video" "type": "video"
} }
] ]

@ -367,8 +367,34 @@
}, },
"BqvijNoRzSGYLCMP-6hhr": { "BqvijNoRzSGYLCMP-6hhr": {
"title": "CISSP", "title": "CISSP",
"description": "The Certified Information Systems Security Professional (CISSP) is a globally recognized certification offered by the International Information System Security Certification Consortium (ISC)². It is designed for experienced security professionals to validate their knowledge and expertise in the field of information security.\n\nWho Should Obtain the CISSP Certification?\n------------------------------------------\n\nThe CISSP certification is ideal for security consultants, managers, IT directors, security auditors, security analysts, and other professionals who are responsible for designing, implementing, and managing security for their organization. This certification is aimed at professionals with at least five years of full-time experience in two or more of the eight CISSP domains:\n\n* Security and Risk Management\n* Asset Security\n* Security Architecture and Engineering\n* Communication and Network Security\n* Identity and Access Management (IAM)\n* Security Assessment and Testing\n* Security Operations\n* Software Development Security\n\nCertification Process\n---------------------\n\nTo obtain the CISSP certification, candidates must meet the following requirements:\n\n* **Experience:** Possess a minimum of five years of cumulative, paid, full-time work experience in two or more of the eight domains of the CISSP Common Body of Knowledge (CBK).\n \n* **Exam:** Pass the CISSP examination with a minimum scaled score of 700 out of 1000 points. The exam consists of 100 to 150 multiple-choice and advanced innovative questions that must be completed within three hours.\n \n* **Endorsement:** After passing the exam, candidates must submit an endorsement application to be reviewed and endorsed by an (ISC)² CISSP holder within nine months of passing the exam.\n \n* **Continuing Professional Education (CPE):** To maintain the CISSP certification, professionals must earn 120 CPE credits every three years, with a minimum of 40 credits earned each year, and pay an annual maintenance fee.\n \n\nBenefits of CISSP Certification\n-------------------------------\n\nObtaining the CISSP certification comes with numerous benefits, such as:\n\n* Enhanced credibility, as the CISSP is often considered the gold standard in information security certifications.\n* Increased job opportunities, as many organizations and government agencies require or prefer CISSP-certified professionals.\n* Improved knowledge and skills, as the certification covers a broad range of security topics and best practices.\n* Higher salary potential, as CISSP-certified professionals often command higher salaries compared to their non-certified counterparts.\n* Access to a network of other CISSP-certified professionals and resources, enabling continuous learning and professional development.", "description": "The Certified Information Systems Security Professional (CISSP) is a globally recognized certification offered by the International Information System Security Certification Consortium (ISC)². It is designed for experienced security professionals to validate their knowledge and expertise in the field of information security.\n\nWho Should Obtain the CISSP Certification?\n------------------------------------------\n\nThe CISSP certification is ideal for security consultants, managers, IT directors, security auditors, security analysts, and other professionals who are responsible for designing, implementing, and managing security for their organization. This certification is aimed at professionals with at least five years of full-time experience in two or more of the eight CISSP domains:\n\n* Security and Risk Management\n* Asset Security\n* Security Architecture and Engineering\n* Communication and Network Security\n* Identity and Access Management (IAM)\n* Security Assessment and Testing\n* Security Operations\n* Software Development Security\n\nCertification Process\n---------------------\n\nTo obtain the CISSP certification, candidates must meet the following requirements:\n\n* **Experience:** Possess a minimum of five years of cumulative, paid, full-time work experience in two or more of the eight domains of the CISSP Common Body of Knowledge (CBK).\n \n* **Exam:** Pass the CISSP examination with a minimum scaled score of 700 out of 1000 points. The exam consists of 100 to 150 multiple-choice and advanced innovative questions that must be completed within three hours.\n \n* **Endorsement:** After passing the exam, candidates must submit an endorsement application to be reviewed and endorsed by an (ISC)² CISSP holder within nine months of passing the exam.\n \n* **Continuing Professional Education (CPE):** To maintain the CISSP certification, professionals must earn 120 CPE credits every three years, with a minimum of 40 credits earned each year, and pay an annual maintenance fee.\n \n\nBenefits of CISSP Certification\n-------------------------------\n\nObtaining the CISSP certification comes with numerous benefits, such as:\n\n* Enhanced credibility, as the CISSP is often considered the gold standard in information security certifications.\n* Increased job opportunities, as many organizations and government agencies require or prefer CISSP-certified professionals.\n* Improved knowledge and skills, as the certification covers a broad range of security topics and best practices.\n* Higher salary potential, as CISSP-certified professionals often command higher salaries compared to their non-certified counterparts.\n* Access to a network of other CISSP-certified professionals and resources, enabling continuous learning and professional development.\n\nLearn more from the following resources",
"links": [] "links": [
{
"title": "ISC2 CISSP",
"url": "https://www.isc2.org/certifications/cissp",
"type": "article"
},
{
"title": "ISC2 CISSP - Official Study Guide",
"url": "https://www.wiley.com/en-us/ISC2+CISSP+Certified+Information+Systems+Security+Professional+Official+Study+Guide%2C+10th+Edition-p-9781394254699",
"type": "article"
},
{
"title": "Destcert - CISSP Free Resources",
"url": "https://destcert.com/resources/",
"type": "article"
},
{
"title": "CISSP Exam Cram 2024",
"url": "https://youtube.com/playlist?list=PL7XJSuT7Dq_XPK_qmYMqfiBjbtHJRWigD&si=_wSeCkvj-1rzv0ZF",
"type": "video"
},
{
"title": "CISSP Prep (Coffee Shots)",
"url": "https://youtube.com/playlist?list=PL0hT6hgexlYxKzBmiCD6SXW0qO5ucFO-J&si=9ICs373Vl1ce3s0H",
"type": "video"
}
]
}, },
"lqFp4VLY_S-5tAbhNQTew": { "lqFp4VLY_S-5tAbhNQTew": {
"title": "CISA", "title": "CISA",
@ -438,10 +464,10 @@
}, },
"4frVcjYI1VlVU9hQgpwcT": { "4frVcjYI1VlVU9hQgpwcT": {
"title": "Linux", "title": "Linux",
"description": "Linux is an open-source operating system (OS) that is widely popular due to its flexibility, stability, and security features. As a Unix-based OS, Linux has a command-line interface, which allows users to perform various tasks through text commands. However, graphical user interfaces (GUIs) can also be installed for ease of use.\n\nKey Features\n------------\n\n* **Open-source**: Anyone can view, modify, and distribute the Linux source code, promoting collaboration and continuous improvement within the OS community.\n* **Modular design**: Linux can be customized for various computing environments, such as desktops, servers, and embedded systems.\n* **Stability and performance**: Linux is well-known for its ability to handle heavy loads without crashing, making it an ideal choice for servers.\n* **Strong Security**: Linux has robust security mechanisms, such as file permissions, a built-in firewall, and an extensive user privilege system.\n* **Large Community**: Linux has a vast, active user community that offers a wealth of knowledge, user-contributed software, and support forums.\n\nPopular Linux Distributions\n---------------------------\n\nThere are numerous Linux distributions available, catering to specific user needs and preferences. Some popular distributions include:\n\n* **Ubuntu**: A user-friendly distribution suitable for beginners, often used for desktop environments.\n* **Fedora**: A cutting-edge distribution with frequent updates and innovative features, ideal for developers and advanced users.\n* **Debian**: A very stable distribution that prioritizes free software and benefits from a large, active community.\n* **Arch Linux**: A highly customizable distribution that allows users to build their system from the ground up, suited for experienced users.\n* **CentOS**: A distribution focused on stability, security, and manageability, making it a popular choice for server environments.\n\nSecurity Best Practices for Linux\n---------------------------------\n\nWhile Linux is inherently secure, there are best practices to enhance your system's security further:\n\n* Keep your system updated: Regularly update your kernel, OS packages, and installed software to ensure you have the latest security patches.\n* Enable a firewall: Configure and enable a firewall, such as `iptables`, to control incoming and outgoing network traffic.\n* Use strong passwords and user accounts: Create separate accounts with strong passwords for different users and grant them only the required privileges.\n* Disable unused services: Unnecessary services can be potential security risks; ensure only required services are running on your system.\n* Implement a Security-Enhanced Linux (SELinux) policy: SELinux provides a mandatory access control (MAC) system that restricts user and process access to system resources.\n\nBy understanding Linux's features and best practices, you can leverage its powerful capabilities and robust security features to enhance your computing environment's performance and safety.", "description": "Linux is an open-source operating system (OS) that is widely popular due to its flexibility, stability, and security features. As a Unix-based OS, Linux has a command-line interface, which allows users to perform various tasks through text commands. However, graphical user interfaces (GUIs) can also be installed for ease of use.\n\nKey Features\n------------\n\n* **Open-source**: Anyone can view, modify, and distribute the Linux source code, promoting collaboration and continuous improvement within the OS community.\n* **Modular design**: Linux can be customized for various computing environments, such as desktops, servers, and embedded systems.\n* **Stability and performance**: Linux is well-known for its ability to handle heavy loads without crashing, making it an ideal choice for servers.\n* **Strong Security**: Linux has robust security mechanisms, such as file permissions, a built-in firewall, and an extensive user privilege system.\n* **Large Community**: Linux has a vast, active user community that offers a wealth of knowledge, user-contributed software, and support forums.\n\nPopular Linux Distributions\n---------------------------\n\nThere are numerous Linux distributions available, catering to specific user needs and preferences. Some popular distributions include:\n\n* **Ubuntu**: A user-friendly distribution suitable for beginners, often used for desktop environments.\n* **Fedora**: A cutting-edge distribution with frequent updates and innovative features, ideal for developers and advanced users.\n* **Debian**: A very stable distribution that prioritizes free software and benefits from a large, active community.\n* **Arch Linux**: A highly customizable distribution that allows users to build their system from the ground up, suited for experienced users.\n* **CentOS**: A distribution focused on stability, security, and manageability, making it a popular choice for server environments.\n\nSecurity Best Practices for Linux\n---------------------------------\n\nWhile Linux is inherently secure, there are best practices to enhance your system's security further:\n\n* Keep your system updated: Regularly update your kernel, OS packages, and installed software to ensure you have the latest security patches.\n* Enable a firewall: Configure and enable a firewall, such as `iptables`, to control incoming and outgoing network traffic.\n* Use strong passwords and user accounts: Create separate accounts with strong passwords for different users and grant them only the required privileges.\n* Disable unused services: Unnecessary services can be potential security risks; ensure only required services are running on your system.\n* Implement a Security-Enhanced Linux (SELinux) policy: SELinux provides a mandatory access control (MAC) system that restricts user and process access to system resources.\n\nBy understanding Linux's features and best practices, you can leverage its powerful capabilities and robust security features to enhance your computing environment's performance and safety.\n\nRecommended resources include:",
"links": [ "links": [
{ {
"title": "Linux from scratch- Cisco", "title": "Linux from scratch - Cisco",
"url": "https://www.netacad.com/courses/os-it/ndg-linux-unhatched", "url": "https://www.netacad.com/courses/os-it/ndg-linux-unhatched",
"type": "course" "type": "course"
}, },
@ -561,8 +587,14 @@
}, },
"dJ0NUsODFhk52W2zZxoPh": { "dJ0NUsODFhk52W2zZxoPh": {
"title": "SSL and TLS Basics", "title": "SSL and TLS Basics",
"description": "Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols designed to provide secure communication over a computer network. They play a vital role in protecting sensitive information transmitted online, such as login credentials, financial information, and private user data.\n\nSecure Sockets Layer (SSL)\n--------------------------\n\nSSL is the predecessor to TLS and was first introduced in the 1990s. It creates an encrypted connection between a client (typically a web browser) and a server to ensure that any data transmitted remains private and secure. SSL uses a combination of symmetric and asymmetric encryption methods, as well as digital certificates, to establish and maintain secure communication.\n\nTransport Layer Security (TLS)\n------------------------------\n\nTLS is an improved and more secure version of SSL, with TLS 1.0 being released as an upgrade to SSL 3.0. The current version, as of this guide, is TLS 1.3. TLS provides a more robust and flexible security framework, addressing many of the vulnerabilities present in SSL. While many people still refer to SSL when discussing secure web communication, it's important to note that SSL has been deprecated, and TLS is the best-practice standard for secure communication.\n\nKey Components\n--------------\n\n* **Encryption**: SSL and TLS use powerful algorithms to protect data through encryption, ensuring it's unreadable by anyone without the proper decryption keys.\n* **Authentication**: SSL/TLS digital certificates verify the identities of clients and servers, providing trust and authenticity.\n* **Integrity**: These security protocols use message authentication codes to ensure that the data sent between clients and servers has not been tampered with during transmission.\n\nHandshake Process\n-----------------\n\nSSL and TLS follow a series of steps, known as the \"handshake process,\" to create a secure connection:\n\n* **Client hello**: The client initiates the handshake process by sending a message with supported cryptographic algorithms, random numbers, and session information.\n* **Server hello**: The server responds with its chosen cryptographic algorithms, random numbers, and its digital certificate. Optionally, the server can request the client's certificate for mutual authentication.\n* **Client verification**: The client verifies the server's certificate and may send its own if requested. It then creates a pre-master secret, encrypts it with the server's public key, and sends it to the server.\n* **Key generation and exchange**: Both the client and server generate the master secret and session keys using the pre-master secret and shared random numbers. These keys are used for encrypting and decrypting the data transmitted.\n* **Secured connection**: Once the keys are exchanged, the client and server can now communicate securely using the established encryption and keys.\n\nSecure communication is critical for any organization handling sensitive data. SSL and TLS serve as the backbone for protecting data in transit and play a significant role in ensuring the confidentiality, integrity, and authenticity of online communications.", "description": "Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols designed to provide secure communication over a computer network. They play a vital role in protecting sensitive information transmitted online, such as login credentials, financial information, and private user data.\n\nSecure Sockets Layer (SSL)\n--------------------------\n\nSSL is the predecessor to TLS and was first introduced in the 1990s. It creates an encrypted connection between a client (typically a web browser) and a server to ensure that any data transmitted remains private and secure. SSL uses a combination of symmetric and asymmetric encryption methods, as well as digital certificates, to establish and maintain secure communication.\n\nTransport Layer Security (TLS)\n------------------------------\n\nTLS is an improved and more secure version of SSL, with TLS 1.0 being released as an upgrade to SSL 3.0. The current version, as of this guide, is TLS 1.3. TLS provides a more robust and flexible security framework, addressing many of the vulnerabilities present in SSL. While many people still refer to SSL when discussing secure web communication, it's important to note that SSL has been deprecated, and TLS is the best-practice standard for secure communication.\n\nKey Components\n--------------\n\n* **Encryption**: SSL and TLS use powerful algorithms to protect data through encryption, ensuring it's unreadable by anyone without the proper decryption keys.\n* **Authentication**: SSL/TLS digital certificates verify the identities of clients and servers, providing trust and authenticity.\n* **Integrity**: These security protocols use message authentication codes to ensure that the data sent between clients and servers has not been tampered with during transmission.\n\nHandshake Process\n-----------------\n\nSSL and TLS follow a series of steps, known as the \"handshake process,\" to create a secure connection:\n\n* **Client hello**: The client initiates the handshake process by sending a message with supported cryptographic algorithms, random numbers, and session information.\n* **Server hello**: The server responds with its chosen cryptographic algorithms, random numbers, and its digital certificate. Optionally, the server can request the client's certificate for mutual authentication.\n* **Client verification**: The client verifies the server's certificate and may send its own if requested. It then creates a pre-master secret, encrypts it with the server's public key, and sends it to the server.\n* **Key generation and exchange**: Both the client and server generate the master secret and session keys using the pre-master secret and shared random numbers. These keys are used for encrypting and decrypting the data transmitted.\n* **Secured connection**: Once the keys are exchanged, the client and server can now communicate securely using the established encryption and keys.\n\nSecure communication is critical for any organization handling sensitive data. SSL and TLS serve as the backbone for protecting data in transit and play a significant role in ensuring the confidentiality, integrity, and authenticity of online communications.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "SSH vs TLS vs SSL",
"url": "https://www.youtube.com/watch?v=k3rFFLmQCuY",
"type": "video"
}
]
}, },
"umbMBQ0yYmB5PgWfY6zfO": { "umbMBQ0yYmB5PgWfY6zfO": {
"title": "Basics of NAS and SAN", "title": "Basics of NAS and SAN",
@ -825,8 +857,14 @@
}, },
"LKK1A5-xawA7yCIAWHS8P": { "LKK1A5-xawA7yCIAWHS8P": {
"title": "SSL / TLS", "title": "SSL / TLS",
"description": "**Secure Socket Layer (SSL)** and **Transport Layer Security (TLS)** are cryptographic protocols designed to provide security and data integrity for communications over networks. These protocols are commonly used for securing web traffic and ensuring that sensitive information, such as credit card numbers and login credentials, are transmitted securely between clients (e.g., web browsers) and servers.\n\nSSL\n---\n\nSSL was developed by Netscape in the mid-1990s and has gone through several iterations. The last version, SSLv3, was released in 1996. SSL was deprecated in 2015 due to security concerns, and it is not recommended for use in modern applications.\n\nTLS\n---\n\nTLS is the successor to SSL and is continually evolving with new versions and updates. The most recent version, TLS 1.3, was released in 2018. TLS is widely used and considered the standard for securing web traffic.\n\nHow SSL/TLS Works\n-----------------\n\nSSL/TLS operates by encrypting the data transmitted between a client and a server, ensuring that the data cannot be easily intercepted or tampered with. The encryption is achieved using a combination of cryptographic algorithms, key exchanges, and digital certificates.\n\nHere are the key steps in setting up an SSL/TLS connection:\n\n* **Handshake:** The client and server will engage in a process called a \"handshake\" to establish a secure connection. During this process, the client and server agree on which version of SSL/TLS to use, and choose the cipher suites and cryptographic algorithms they will use to secure the communication.\n \n* **Key Exchange:** The client and server will perform a key exchange, a process by which they generate and securely share encryption keys. These keys will be used to encrypt and decrypt the data being transmitted between them.\n \n* **Certificate Verification:** The server will provide a digital certificate, which contains its public key and information about the server. The client checks the validity of the certificate by confirming that it was issued by a trusted Certificate Authority (CA) and has not expired.\n \n* **Secure Communication:** Once the handshake, key exchange, and certificate verification are complete, the client and server can begin securely transmitting data using the encryption keys they have shared.\n \n\nAdvantages of SSL/TLS\n---------------------\n\n* **Secure communication:** SSL/TLS provides a secure, encrypted tunnel for data to be transmitted between clients and servers, protecting sensitive information from eavesdropping, interception, and tampering.\n \n* **Authentication:** SSL/TLS uses digital certificates to authenticate the server and sometimes the client. This helps to ensure that the parties involved in the communication are who they claim to be.\n \n* **Data integrity:** SSL/TLS includes mechanisms to confirm that the data received has not been tampered with during transmission, maintaining the integrity of the information being sent.", "description": "**Secure Socket Layer (SSL)** and **Transport Layer Security (TLS)** are cryptographic protocols designed to provide security and data integrity for communications over networks. These protocols are commonly used for securing web traffic and ensuring that sensitive information, such as credit card numbers and login credentials, are transmitted securely between clients (e.g., web browsers) and servers.\n\nSSL\n---\n\nSSL was developed by Netscape in the mid-1990s and has gone through several iterations. The last version, SSLv3, was released in 1996. SSL was deprecated in 2015 due to security concerns, and it is not recommended for use in modern applications.\n\nTLS\n---\n\nTLS is the successor to SSL and is continually evolving with new versions and updates. The most recent version, TLS 1.3, was released in 2018. TLS is widely used and considered the standard for securing web traffic.\n\nHow SSL/TLS Works\n-----------------\n\nSSL/TLS operates by encrypting the data transmitted between a client and a server, ensuring that the data cannot be easily intercepted or tampered with. The encryption is achieved using a combination of cryptographic algorithms, key exchanges, and digital certificates.\n\nHere are the key steps in setting up an SSL/TLS connection:\n\n* **Handshake:** The client and server will engage in a process called a \"handshake\" to establish a secure connection. During this process, the client and server agree on which version of SSL/TLS to use, and choose the cipher suites and cryptographic algorithms they will use to secure the communication.\n \n* **Key Exchange:** The client and server will perform a key exchange, a process by which they generate and securely share encryption keys. These keys will be used to encrypt and decrypt the data being transmitted between them.\n \n* **Certificate Verification:** The server will provide a digital certificate, which contains its public key and information about the server. The client checks the validity of the certificate by confirming that it was issued by a trusted Certificate Authority (CA) and has not expired.\n \n* **Secure Communication:** Once the handshake, key exchange, and certificate verification are complete, the client and server can begin securely transmitting data using the encryption keys they have shared.\n \n\nAdvantages of SSL/TLS\n---------------------\n\n* **Secure communication:** SSL/TLS provides a secure, encrypted tunnel for data to be transmitted between clients and servers, protecting sensitive information from eavesdropping, interception, and tampering.\n \n* **Authentication:** SSL/TLS uses digital certificates to authenticate the server and sometimes the client. This helps to ensure that the parties involved in the communication are who they claim to be.\n \n* **Data integrity:** SSL/TLS includes mechanisms to confirm that the data received has not been tampered with during transmission, maintaining the integrity of the information being sent.\n \n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "SSL, TLS, HTTPS Explained",
"url": "https://www.youtube.com/watch?v=j9QmMEWmcfo",
"type": "video"
}
]
}, },
"AjywuCZdBi9atGUbetlUL": { "AjywuCZdBi9atGUbetlUL": {
"title": "VMWare", "title": "VMWare",
@ -1104,8 +1142,19 @@
}, },
"FJsEBOFexbDyAj86XWBCc": { "FJsEBOFexbDyAj86XWBCc": {
"title": "Basics of IDS and IPS", "title": "Basics of IDS and IPS",
"description": "When it comes to cybersecurity, detecting and preventing intrusions is crucial for protecting valuable information systems and networks. In this section, we'll discuss the basics of Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS) to help you better understand their function and importance in your overall cybersecurity strategy.\n\nWhat is Intrusion Detection System (IDS)?\n-----------------------------------------\n\nAn Intrusion Detection System (IDS) is a critical security tool designed to monitor and analyze network traffic or host activities for any signs of malicious activity, policy violations, or unauthorized access attempts. Once a threat or anomaly is identified, the IDS raises an alert to the security administrator for further investigation and possible actions.\n\nThere are two types of IDS:\n\n* **Network-Based Intrusion Detection System (NIDS)**: This type of IDS is deployed on network devices such as routers, switches, or firewalls to monitor and analyze the traffic between hosts within the network.\n \n* **Host-Based Intrusion Detection System (HIDS)**: This type of IDS is installed on individual hosts, such as servers or workstations, to monitor and analyze the activities on that specific host.\n \n\nWhat is Intrusion Prevention System (IPS)?\n------------------------------------------\n\nAn Intrusion Prevention System (IPS) is an advanced security solution closely related to IDS. While an IDS mainly focuses on detecting and alerting about intrusions, an IPS takes it a step further and actively works to prevent the attacks. It monitors, analyzes, and takes pre-configured automatic actions based on suspicious activities, such as blocking malicious traffic, reseting connections, or dropping malicious packets.\n\nThere are two types of IPS:\n\n* **Network-Based Intrusion Prevention System (NIPS)**: This type of IPS is deployed in-line with network devices and closely monitors network traffic, making it possible to take actions in real-time.\n \n* **Host-Based Intrusion Prevention System (HIPS)**: This type of IPS is installed on individual hosts and actively prevents attacks by controlling inputs and outputs on the host, restricting access to resources, and making use of application-level controls.\n \n\nKey Takeaways\n-------------\n\n* IDS and IPS are essential components of a robust cybersecurity strategy.\n* IDS focuses on detecting and alerting about potential intrusions, while IPS takes it further by actively preventing and mitigating attacks.\n* Network-based systems protect networks, while host-based systems protect individual hosts within a network.\n* Regularly updating and configuring IDS/IPS is necessary to continually defend against evolving threats.\n\nBy understanding the basics of IDS and IPS, you can better evaluate your security needs and take the right steps to protect your network and hosts from potential intruders.", "description": "When it comes to cybersecurity, detecting and preventing intrusions is crucial for protecting valuable information systems and networks. In this section, we'll discuss the basics of Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS) to help you better understand their function and importance in your overall cybersecurity strategy.\n\nWhat is Intrusion Detection System (IDS)?\n-----------------------------------------\n\nAn Intrusion Detection System (IDS) is a critical security tool designed to monitor and analyze network traffic or host activities for any signs of malicious activity, policy violations, or unauthorized access attempts. Once a threat or anomaly is identified, the IDS raises an alert to the security administrator for further investigation and possible actions.\n\nThere are two types of IDS:\n\n* **Network-Based Intrusion Detection System (NIDS)**: This type of IDS is deployed on network devices such as routers, switches, or firewalls to monitor and analyze the traffic between hosts within the network.\n \n* **Host-Based Intrusion Detection System (HIDS)**: This type of IDS is installed on individual hosts, such as servers or workstations, to monitor and analyze the activities on that specific host.\n \n\nWhat is Intrusion Prevention System (IPS)?\n------------------------------------------\n\nAn Intrusion Prevention System (IPS) is an advanced security solution closely related to IDS. While an IDS mainly focuses on detecting and alerting about intrusions, an IPS takes it a step further and actively works to prevent the attacks. It monitors, analyzes, and takes pre-configured automatic actions based on suspicious activities, such as blocking malicious traffic, reseting connections, or dropping malicious packets.\n\nThere are two types of IPS:\n\n* **Network-Based Intrusion Prevention System (NIPS)**: This type of IPS is deployed in-line with network devices and closely monitors network traffic, making it possible to take actions in real-time.\n \n* **Host-Based Intrusion Prevention System (HIPS)**: This type of IPS is installed on individual hosts and actively prevents attacks by controlling inputs and outputs on the host, restricting access to resources, and making use of application-level controls.\n \n\nKey Takeaways\n-------------\n\n* IDS and IPS are essential components of a robust cybersecurity strategy.\n* IDS focuses on detecting and alerting about potential intrusions, while IPS takes it further by actively preventing and mitigating attacks.\n* Network-based systems protect networks, while host-based systems protect individual hosts within a network.\n* Regularly updating and configuring IDS/IPS is necessary to continually defend against evolving threats.\n\nBy understanding the basics of IDS and IPS, you can better evaluate your security needs and take the right steps to protect your network and hosts from potential intruders.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "What is an Intrusion Prevention System?",
"url": "https://www.paloaltonetworks.com/cyberpedia/what-is-an-intrusion-prevention-system-ips",
"type": "article"
},
{
"title": "Intrusion Prevention System (IPS)",
"url": "https://www.youtube.com/watch?v=7QuYupuic3Q",
"type": "video"
}
]
}, },
"bj5YX8zhlam0yoNckL8e4": { "bj5YX8zhlam0yoNckL8e4": {
"title": "Honeypots", "title": "Honeypots",
@ -1425,8 +1474,14 @@
}, },
"w6wXkoLrv0_d-Ah0txUHd": { "w6wXkoLrv0_d-Ah0txUHd": {
"title": "Kali Linux", "title": "Kali Linux",
"description": "", "description": "Kali Linux is a specialized Linux distribution that is designed for penetration testing, security auditing, and related information security tasks. Originating from the Debian distribution, Kali Linux is equipped with a vast array of tools that are used for ethical hacking purposes. It is an open-source project that provides users with the means to test the security of systems and networks by simulating attacks in a controlled environment.\n\nTools\n-----\n\nWith over 600 pre-installed penetration-testing programs, Kali Linux offers tools for various security-related tasks, such as network analysis, vulnerability scanning, and forensic analysis. Its development is overseen by Offensive Security, a company known for their contributions to the field of information security. Kali Linux is highly customizable, allowing users to tailor the system to their specific needs, and supports a wide range of hardware platforms. It is a powerful resource for professionals in the cybersecurity field, as well as for those who are passionate about learning and practicing ethical hacking techniques.",
"links": [] "links": [
{
"title": "Kali Linux",
"url": "https://www.kali.org/",
"type": "article"
}
]
}, },
"10qbxX8DCrfyH7tgYexxQ": { "10qbxX8DCrfyH7tgYexxQ": {
"title": "LOLBAS", "title": "LOLBAS",
@ -1506,8 +1561,19 @@
}, },
"LEgJtu1GZKOtoAXyOGWLE": { "LEgJtu1GZKOtoAXyOGWLE": {
"title": "Endpoint Security", "title": "Endpoint Security",
"description": "Endpoint security refers to the practice of protecting individual devices, or \"endpoints\", that connect to your organization's network from potential cyber threats. These devices include desktop computers, laptops, smartphones, tablets, and servers. With the increase in remote working and the widespread use of personal devices in the workplace, endpoint security has become a critical aspect of a strong cybersecurity strategy.\n\nWhy is Endpoint Security Important?\n-----------------------------------\n\nEndpoint devices serve as potential entry points for cybercriminals to access sensitive data and launch attacks against your organization's network. By securing these devices, you can prevent unauthorized access, reduce the risk of data breaches, and maintain the integrity of your network.\n\nKey Components of Endpoint Security\n-----------------------------------\n\nTo effectively secure your endpoints, consider implementing the following measures:\n\n* **Antivirus and Malware Protection**: Make sure every endpoint device has up-to-date antivirus and anti-malware software installed. This will help to detect and remove malicious files, preventing them from causing harm to your network.\n \n* **Patch Management**: Stay up to date with the latest security patches for your operating systems and third-party applications. Regularly updating your software can help protect against vulnerabilities that cybercriminals may exploit.\n \n* **Device Management**: Implement a centralized device management solution that allows administrators to monitor, manage, and secure endpoints. This includes enforcing security policies, tracking device inventory, and remote wiping lost or stolen devices.\n \n* **Access Control**: Limit access to sensitive data by implementing a strict access control policy. Only grant necessary permissions to those who require it, and use authentication methods such as multi-factor authentication (MFA) to verify the identity of users.\n \n* **Encryption**: Encrypt sensitive data stored on endpoint devices to prevent unauthorized access to the data in case of device theft or loss.\n \n* **Firewall and Intrusion Prevention**: Deploy firewall and intrusion prevention systems to block external threats and alert administrators of potential attacks.\n \n* **User Training**: Educate users about the importance of endpoint security and the best practices for maintaining it. This includes topics like creating strong passwords, avoiding phishing scams, and following safe browsing practices.\n \n\nBy taking a comprehensive approach to endpoint security, you can protect your organization's network and sensitive data from the growing threat of cyberattacks.", "description": "Endpoint security refers to the practice of protecting individual devices, or \"endpoints\", that connect to your organization's network from potential cyber threats. These devices include desktop computers, laptops, smartphones, tablets, and servers. With the increase in remote working and the widespread use of personal devices in the workplace, endpoint security has become a critical aspect of a strong cybersecurity strategy.\n\nWhy is Endpoint Security Important?\n-----------------------------------\n\nEndpoint devices serve as potential entry points for cybercriminals to access sensitive data and launch attacks against your organization's network. By securing these devices, you can prevent unauthorized access, reduce the risk of data breaches, and maintain the integrity of your network.\n\nKey Components of Endpoint Security\n-----------------------------------\n\nTo effectively secure your endpoints, consider implementing the following measures:\n\n* **Antivirus and Malware Protection**: Make sure every endpoint device has up-to-date antivirus and anti-malware software installed. This will help to detect and remove malicious files, preventing them from causing harm to your network.\n \n* **Patch Management**: Stay up to date with the latest security patches for your operating systems and third-party applications. Regularly updating your software can help protect against vulnerabilities that cybercriminals may exploit.\n \n* **Device Management**: Implement a centralized device management solution that allows administrators to monitor, manage, and secure endpoints. This includes enforcing security policies, tracking device inventory, and remote wiping lost or stolen devices.\n \n* **Access Control**: Limit access to sensitive data by implementing a strict access control policy. Only grant necessary permissions to those who require it, and use authentication methods such as multi-factor authentication (MFA) to verify the identity of users.\n \n* **Encryption**: Encrypt sensitive data stored on endpoint devices to prevent unauthorized access to the data in case of device theft or loss.\n \n* **Firewall and Intrusion Prevention**: Deploy firewall and intrusion prevention systems to block external threats and alert administrators of potential attacks.\n \n* **User Training**: Educate users about the importance of endpoint security and the best practices for maintaining it. This includes topics like creating strong passwords, avoiding phishing scams, and following safe browsing practices.\n \n\nBy taking a comprehensive approach to endpoint security, you can protect your organization's network and sensitive data from the growing threat of cyberattacks.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "Manage endpoint security - Microsoft Learn",
"url": "https://learn.microsoft.com/en-us/training/paths/manage-endpoint-security/",
"type": "course"
},
{
"title": "Endpoint Security",
"url": "https://youtu.be/5d7PCDm_MXs?si=RX3sAdNPLG0tJOaR&t=11",
"type": "video"
}
]
}, },
"9Z6HPHPj4escSVDWftFEx": { "9Z6HPHPj4escSVDWftFEx": {
"title": "FTP vs SFTP", "title": "FTP vs SFTP",
@ -1521,8 +1587,14 @@
}, },
"gNFVtBxSYP5Uw3o3tlJ0M": { "gNFVtBxSYP5Uw3o3tlJ0M": {
"title": "IPSEC", "title": "IPSEC",
"description": "", "description": "IPSec, which stands for Internet Protocol Security, is a suite of protocols used to secure Internet communications by encrypting and authenticating IP packets. It is commonly utilized in Virtual Private Networks (VPNs) to ensure that data transmitted over public networks is not accessible to unauthorized individuals. IPSec operates by encrypting data at the source and decrypting it at the destination, maintaining the confidentiality and integrity of the data while in transit. Additionally, it provides authentication, ensuring that the data is being sent and received by the intended parties. This protocol suite is versatile as it can be used with both IPv4 and IPv6 networks, making it a fundamental component for secure online communication.",
"links": [] "links": [
{
"title": "IP Sec VPN Fundamentals",
"url": "https://www.youtube.com/watch?v=15amNny_kKI",
"type": "video"
}
]
}, },
"LLGXONul7JfZGUahnK0AZ": { "LLGXONul7JfZGUahnK0AZ": {
"title": "DNSSEC", "title": "DNSSEC",
@ -1582,8 +1654,14 @@
}, },
"QvHWrmMzO8IvNQ234E_wf": { "QvHWrmMzO8IvNQ234E_wf": {
"title": "EDR", "title": "EDR",
"description": "", "description": "Endpoint Detection and Response (EDR) is a cybersecurity technology that provides continuous monitoring and response to threats at the endpoint level. It is designed to detect, investigate, and mitigate suspicious activities on endpoints such as laptops, desktops, and mobile devices. EDR solutions log and analyze behaviors on these devices to identify potential threats, such as malware or ransomware, that have bypassed traditional security measures like antivirus software. This technology equips security teams with the tools to quickly respond to and contain threats, minimizing the risk of a security breach spreading across the network. EDR systems are an essential component of modern cybersecurity strategies, offering advanced protection by utilizing real-time analytics, AI-driven automation, and comprehensive data recording.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "What is Endpoint Detection and Response (EDR)? - IBM",
"url": "https://www.youtube.com/watch?v=55GaIolVVqI",
"type": "video"
}
]
}, },
"iolsTC-63d_1wzKGul-cT": { "iolsTC-63d_1wzKGul-cT": {
"title": "DLP", "title": "DLP",
@ -1734,8 +1812,29 @@
}, },
"7obusm5UtHwWMcMMEB3lt": { "7obusm5UtHwWMcMMEB3lt": {
"title": "Phishing", "title": "Phishing",
"description": "", "description": "The technique where scammers pretend to be trusted organizations like your _bank_, _online retailers_ or a _government office_ in order to trick you into sharing your personal information like bank passcode, credit card number, Paypal password etc.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "How to Recognize and Avoid Phishing Scams",
"url": "https://consumer.ftc.gov/articles/how-recognize-and-avoid-phishing-scams",
"type": "article"
},
{
"title": "phishing - definition",
"url": "https://www.techtarget.com/searchsecurity/definition/phishing",
"type": "article"
},
{
"title": "Protect yourself from phishing",
"url": "https://support.microsoft.com/en-us/windows/protect-yourself-from-phishing-0c7ea947-ba98-3bd9-7184-430e1f860a44",
"type": "video"
},
{
"title": "Phishing attacks are SCARY easy to do!! (let me show you!)",
"url": "https://www.youtube.com/watch?v=u9dBGWVwMMA",
"type": "video"
}
]
}, },
"M65fCl72qlF0VTbGNT6du": { "M65fCl72qlF0VTbGNT6du": {
"title": "Whishing", "title": "Whishing",
@ -1764,8 +1863,14 @@
}, },
"Iu0Qtk13RjrhHpSlm0uyh": { "Iu0Qtk13RjrhHpSlm0uyh": {
"title": "Dumpster Diving", "title": "Dumpster Diving",
"description": "", "description": "Dumpster Diving in the context of cybersecurity refers to the practice of searching through discarded materials in trash or recycling bins to find confidential information. This technique may seem unsophisticated, but it can be extremely effective in obtaining valuable data such as passwords, account information, network diagrams, or any other sensitive information that has not been properly destroyed.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "What is Dumpster Diving",
"url": "https://powerdmarc.com/dumpster-diving-in-cybersecurity/",
"type": "article"
}
]
}, },
"o-keJgF9hmifQ_hUD91iN": { "o-keJgF9hmifQ_hUD91iN": {
"title": "Tailgating", "title": "Tailgating",
@ -1784,8 +1889,14 @@
}, },
"UU_inxa8Y2lLP2BRhdLDT": { "UU_inxa8Y2lLP2BRhdLDT": {
"title": "Reconnaissance", "title": "Reconnaissance",
"description": "", "description": "Reconnaissance is the first phase of a cyberattack, during which attackers gather as much information as possible about a target system, network, or organization. The goal of reconnaissance is to identify potential vulnerabilities, entry points, and other valuable details that can be exploited in subsequent attack phases.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "What is Cyber Reconnaissance",
"url": "https://www.sentinelone.com/cybersecurity-101/threat-intelligence/what-is-cyber-reconnaissance/",
"type": "article"
}
]
}, },
"ZEgxmvjWPp5NofLFz_FTJ": { "ZEgxmvjWPp5NofLFz_FTJ": {
"title": "Impersonation", "title": "Impersonation",
@ -2000,7 +2111,13 @@
"9OastXVfiG1YRMm68ecnn": { "9OastXVfiG1YRMm68ecnn": {
"title": "Dropbox", "title": "Dropbox",
"description": "Dropbox is a widely used cloud storage service that allows you to store, access, and share files, documents, and media with ease across various devices. Launched in 2007, Dropbox has become one of the most popular cloud storage solutions, catering to both individual users and businesses. The service is available on multiple platforms, including Windows, macOS, Linux, iOS, and Android.\n\nKey features\n------------\n\n* **File synchronization**: Sync the same files across all your devices and have instant access to updated files from anywhere.\n* **File sharing**: Easily share files or folders by sending a link or inviting other users to a shared folder.\n* **Collaboration**: Dropbox allows real-time collaboration on documents with multiple users using integrations with other tools like Google Workspace and Microsoft Office 365.\n* **Version history**: Retrieve previous versions of a file for up to 30 days, allowing you to recover deleted files or reverse changes.\n\nPlans and pricing\n-----------------\n\nDropbox offers various plans for individual users and businesses with different storage capacities and features:\n\n* **Basic**: Free plan with 2 GB storage and core features like file synchronization and sharing.\n* **Plus**: Priced at $9.99/month for 2 TB storage, additional features like Smart Sync, remote device wipe, and a longer (30-day) version history.\n* **Professional**: Priced at $19.99/month for 3 TB storage and added features like advanced sharing controls and full-text search.\n* **Business plans**: Starting from $12.50/user/month for a minimum of 3 users, with 5 TB storage per user, priority support, and additional file controls.\n\nSecurity and privacy\n--------------------\n\nDropbox takes security and privacy seriously, with features like:\n\n* **Encryption**: Files are encrypted both when they are stored on Dropbox servers and during transmission (using SSL/TLS).\n* **Two-factor authentication**: You can enable two-factor authentication (2FA) to add an extra layer of security to your account.\n* **Selective sync**: Choose which files and folders to sync on each device, allowing you to keep sensitive data off certain computers or devices.\n* **GDPR compliance**: Dropbox is compliant with the General Data Protection Regulation (GDPR), which ensures better data protection and privacy for users.\n\nDrawbacks\n---------\n\nThere are a few downsides to using Dropbox as your cloud storage solution:\n\n* Limited storage on the free plan.\n* The need for a third-party app to encrypt files before uploading to add an extra layer of security.\n* Other alternatives offer additional features like built-in document editing.\n\nConclusion\n----------\n\nDropbox is a simple and user-friendly cloud storage service that offers seamless integration with various platforms and efficient file sharing options. While its free plan may be limited compared to other alternatives, the ease of use and robust feature set make it a popular choice for both personal and professional use.", "description": "Dropbox is a widely used cloud storage service that allows you to store, access, and share files, documents, and media with ease across various devices. Launched in 2007, Dropbox has become one of the most popular cloud storage solutions, catering to both individual users and businesses. The service is available on multiple platforms, including Windows, macOS, Linux, iOS, and Android.\n\nKey features\n------------\n\n* **File synchronization**: Sync the same files across all your devices and have instant access to updated files from anywhere.\n* **File sharing**: Easily share files or folders by sending a link or inviting other users to a shared folder.\n* **Collaboration**: Dropbox allows real-time collaboration on documents with multiple users using integrations with other tools like Google Workspace and Microsoft Office 365.\n* **Version history**: Retrieve previous versions of a file for up to 30 days, allowing you to recover deleted files or reverse changes.\n\nPlans and pricing\n-----------------\n\nDropbox offers various plans for individual users and businesses with different storage capacities and features:\n\n* **Basic**: Free plan with 2 GB storage and core features like file synchronization and sharing.\n* **Plus**: Priced at $9.99/month for 2 TB storage, additional features like Smart Sync, remote device wipe, and a longer (30-day) version history.\n* **Professional**: Priced at $19.99/month for 3 TB storage and added features like advanced sharing controls and full-text search.\n* **Business plans**: Starting from $12.50/user/month for a minimum of 3 users, with 5 TB storage per user, priority support, and additional file controls.\n\nSecurity and privacy\n--------------------\n\nDropbox takes security and privacy seriously, with features like:\n\n* **Encryption**: Files are encrypted both when they are stored on Dropbox servers and during transmission (using SSL/TLS).\n* **Two-factor authentication**: You can enable two-factor authentication (2FA) to add an extra layer of security to your account.\n* **Selective sync**: Choose which files and folders to sync on each device, allowing you to keep sensitive data off certain computers or devices.\n* **GDPR compliance**: Dropbox is compliant with the General Data Protection Regulation (GDPR), which ensures better data protection and privacy for users.\n\nDrawbacks\n---------\n\nThere are a few downsides to using Dropbox as your cloud storage solution:\n\n* Limited storage on the free plan.\n* The need for a third-party app to encrypt files before uploading to add an extra layer of security.\n* Other alternatives offer additional features like built-in document editing.\n\nConclusion\n----------\n\nDropbox is a simple and user-friendly cloud storage service that offers seamless integration with various platforms and efficient file sharing options. While its free plan may be limited compared to other alternatives, the ease of use and robust feature set make it a popular choice for both personal and professional use.",
"links": [] "links": [
{
"title": "Dropbox",
"url": "https://www.dropbox.com/",
"type": "article"
}
]
}, },
"4Man3Bd-ySLFlAdxbLOHw": { "4Man3Bd-ySLFlAdxbLOHw": {
"title": "Box", "title": "Box",

@ -235,8 +235,19 @@
}, },
"dke_pySrqYZZ7K3rprnIT": { "dke_pySrqYZZ7K3rprnIT": {
"title": "REPLACE / SUBSTITUTE", "title": "REPLACE / SUBSTITUTE",
"description": "", "description": "In Microsoft Excel, the REPLACE and SUBSTITUTE functions are powerful tools used for modifying text data within cells. Both functions serve to alter text but are utilized in different scenarios based on the nature of the changes needed.\n\nThe SUBSTITUTE function is used to replace occurrences of a specified substring with a new substring. It allows for replacing text based on matching characters rather than position, making it ideal for altering specific instances of text within a string.\n\nThe REPLACE function is used to replace part of a text string with another text string, based on its position within the original text. It is particularly useful when you need to replace a specific segment of text with new text, starting at a designated position.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "Replace Function",
"url": "https://support.microsoft.com/en-us/office/replace-function-6acf209b-01b7-4078-b4b8-e0a4ef67d181",
"type": "article"
},
{
"title": "Substitute Function",
"url": "https://support.microsoft.com/en-us/office/substitute-function-6434944e-a904-4336-a9b0-1e58df3bc332",
"type": "article"
}
]
}, },
"YReKRRgE_2dWfGGdBQqbf": { "YReKRRgE_2dWfGGdBQqbf": {
"title": "UPPER / LOWER / PROPER", "title": "UPPER / LOWER / PROPER",

@ -572,7 +572,7 @@
}, },
"Jt8BmtLUH6fHT2pGKoJs3": { "Jt8BmtLUH6fHT2pGKoJs3": {
"title": "Vim / Nano / Emacs", "title": "Vim / Nano / Emacs",
"description": "Editors are tools that allow you to create or edit files on your file system.\n\nVim\n---\n\nVim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as \"vi\" with most UNIX systems and with Apple OS X.\n\nVim ships with `vimtutor` that is a tutor designed to describe enough of the Vim commands that you will be able to easily use Vim as an all-purpose editor.\n\nVisit the following resources to learn more:", "description": "Editors are tools that allow you to create or edit files on your file system.\n\nVim\n---\n\nVim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as \"vi\" with most UNIX systems and with macOS X.\n\nVim ships with `vimtutor` that is a tutor designed to describe enough of the Vim commands that you will be able to easily use Vim as an all-purpose editor.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {
"title": "Vim", "title": "Vim",

@ -82,6 +82,11 @@
"title": "Importance of DevRel", "title": "Importance of DevRel",
"description": "Developer Relations (DevRel) is crucial for fostering a vibrant and engaged developer community around a product or platform. It involves creating and maintaining strong relationships with developers through activities like community building, technical support, advocacy, and education. Effective DevRel ensures that developers have the resources and support they need to succeed, which in turn drives product adoption, innovation, and loyalty. By bridging the gap between a company's development teams and external developers, DevRel can also provide valuable feedback for product improvements and help in shaping the future direction of the product or platform.\n\nLearn more from the following resources:", "description": "Developer Relations (DevRel) is crucial for fostering a vibrant and engaged developer community around a product or platform. It involves creating and maintaining strong relationships with developers through activities like community building, technical support, advocacy, and education. Effective DevRel ensures that developers have the resources and support they need to succeed, which in turn drives product adoption, innovation, and loyalty. By bridging the gap between a company's development teams and external developers, DevRel can also provide valuable feedback for product improvements and help in shaping the future direction of the product or platform.\n\nLearn more from the following resources:",
"links": [ "links": [
{
"title": "What is Developer Relations? The Ultimate Guide for DevTool GTM Teams",
"url": "https://www.doc-e.ai/post/what-is-developer-relations-the-ultimate-guide-for-devtool-gtm-teams",
"type": "article"
},
{ {
"title": "DevRel - Why is it important?", "title": "DevRel - Why is it important?",
"url": "https://developers.onelogin.com/blog/devrel", "url": "https://developers.onelogin.com/blog/devrel",
@ -103,6 +108,11 @@
"url": "https://appsembler.com/glossary/developer-advocacy/", "url": "https://appsembler.com/glossary/developer-advocacy/",
"type": "article" "type": "article"
}, },
{
"title": "The Developer Advocate Playbook: Your Go-To Guide to Turning Users into Champions 🚀",
"url": "https://www.doc-e.ai/post/the-developer-advocate-playbook-your-go-to-guide-to-turning-users-into-champions",
"type": "article"
},
{ {
"title": "Developer Relations: New Career Path for Developers", "title": "Developer Relations: New Career Path for Developers",
"url": "https://www.youtube.com/watch?v=iA2SQ4OL4GU", "url": "https://www.youtube.com/watch?v=iA2SQ4OL4GU",
@ -312,8 +322,19 @@
}, },
"yJygbi8cnp3oz2EFl2MR0": { "yJygbi8cnp3oz2EFl2MR0": {
"title": "Community Engagement", "title": "Community Engagement",
"description": "", "description": "Building a positive developer experience through community engagement is an ongoing process that requires dedication, empathy, and a genuine commitment to your users. By investing in a welcoming environment, facilitating knowledge sharing, and leveraging AI-powered tools like [Doc-E.ai](http://Doc-E.ai), you can create a thriving community that not only supports your product but also becomes a source of innovation, loyalty, and growth.\n\nLearn more from the following resources:",
"links": [] "links": [
{
"title": "The Ultimate Guide to Developer Engagement and Community Building: Unlocking the Power of Developer-Centric Growth",
"url": "https://www.doc-e.ai/post/the-ultimate-guide-to-developer-engagement-and-community-building-unlocking-the-power-of-developer-centric-growth",
"type": "article"
},
{
"title": "Fostering a Positive Developer Experience Through Community Engagement: A Blueprint for DevTool Success",
"url": "https://www.doc-e.ai/post/fostering-a-positive-developer-experience-through-community-engagement-a-blueprint-for-devtool-success",
"type": "article"
}
]
}, },
"C2w8R4tNy2lOhhWU9l32s": { "C2w8R4tNy2lOhhWU9l32s": {
"title": "Event Participation", "title": "Event Participation",

@ -753,7 +753,7 @@
}, },
{ {
"title": "A Simple Guide to JavaScript Fetch API", "title": "A Simple Guide to JavaScript Fetch API",
"url": "https://www.javascripttutorial.net/javascript-fetch-api/", "url": "https://www.javascripttutorial.net/web-apis/javascript-fetch-api/",
"type": "article" "type": "article"
}, },
{ {
@ -2305,7 +2305,7 @@
}, },
"KJRkrFZIihCUBrOf579EU": { "KJRkrFZIihCUBrOf579EU": {
"title": "react-router", "title": "react-router",
"description": "Remix is a full stack web framework that lets you focus on the user interface and work back through web standards to deliver a fast, slick, and resilient user experience. People are gonna love using your stuff.\n\nVisit the following resources to learn more:", "description": "There used to be Remix in this list but they announced to merge Remix into react-router after v7.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {
"title": "Official Website", "title": "Official Website",

@ -856,7 +856,7 @@
}, },
"YVMyHFSCVF-GgXydq-SFJ": { "YVMyHFSCVF-GgXydq-SFJ": {
"title": "Checkpoint — Infrastructure", "title": "Checkpoint — Infrastructure",
"description": "If you remember, earlier in the roadmap, you manually logged into the AWS console and had to setup the services. Now that you know terraform, go ahead and automate the process of creating the infrastructure for your application using terraform and with that your deployments will be fully automated i.e., you should have:\n\n* Infrastructure setup using terraform\n* Provisioning using Ansible\n* CI/CD using GitHub Actions\n* Monitoring using Monit\n\nAnd that is it! You have successfully completed the roadmap and are now a full-stack developer. Congratulations! 🎉\n\nWhat's next?\n------------\n\nGo ahead and build something cool! Share your learnings with the community and help others learn as well. If you have any questions, feel free to join our [discord server](https://discord.gg/cJpEt5Qbwa) and ask away!", "description": "If you remember, earlier in the roadmap, you manually logged into the AWS console and had to setup the services. Now that you know terraform, go ahead and automate the process of creating the infrastructure for your application using terraform and with that your deployments will be fully automated i.e., you should have:\n\n* Infrastructure setup using terraform\n* Provisioning using Ansible\n* CI/CD using GitHub Actions\n* Monitoring using Monit\n\nAnd that is it! You have successfully completed the roadmap and are now a full-stack developer. Congratulations! 🎉\n\nWhat's next?\n------------\n\nGo ahead and build something cool! Share your learnings with the community and help others learn as well. If you have any questions, feel free to join our [discord server](https://discord.gg/ZrSpJ8zH) and ask away!",
"links": [] "links": []
} }
} }

File diff suppressed because it is too large Load Diff

@ -93,6 +93,11 @@
"title": "Interoperability with Swift", "title": "Interoperability with Swift",
"description": "Swift is designed to work seamlessly with Objective-C, allowing developers to integrate and use both languages within the same project. This interoperability enables:\n\n**Gradual Migration:** Developers can incrementally migrate their codebase from Objective-C to Swift without needing a complete rewrite.\n\n**Mixed-Language Projects:** Swift and Objective-C files can coexist, and developers can call Objective-C code from Swift and vice versa.\n\n**Access to Existing Libraries:** Swift code can leverage existing Objective-C libraries and frameworks, ensuring continued use of valuable resources and tools.\n\n**Bridging Header:** A bridging header file allows Swift to interface with Objective-C code, facilitating communication between the two languages.\n\n**Compatibility:** Swift supports dynamic libraries, ensuring compatibility with existing Objective-C runtime and APIs.\n\nVisit the following resources to learn more:", "description": "Swift is designed to work seamlessly with Objective-C, allowing developers to integrate and use both languages within the same project. This interoperability enables:\n\n**Gradual Migration:** Developers can incrementally migrate their codebase from Objective-C to Swift without needing a complete rewrite.\n\n**Mixed-Language Projects:** Swift and Objective-C files can coexist, and developers can call Objective-C code from Swift and vice versa.\n\n**Access to Existing Libraries:** Swift code can leverage existing Objective-C libraries and frameworks, ensuring continued use of valuable resources and tools.\n\n**Bridging Header:** A bridging header file allows Swift to interface with Objective-C code, facilitating communication between the two languages.\n\n**Compatibility:** Swift supports dynamic libraries, ensuring compatibility with existing Objective-C runtime and APIs.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{
"title": "Swift and Objective-C Interoperability",
"url": "https://developer.apple.com/videos/play/wwdc2015/401/",
"type": "article"
},
{ {
"title": "Explore top posts about Swift", "title": "Explore top posts about Swift",
"url": "https://app.daily.dev/tags/swift?ref=roadmapsh", "url": "https://app.daily.dev/tags/swift?ref=roadmapsh",
@ -343,7 +348,7 @@
}, },
"tqbg8mBJfjuXacdMlIB_L": { "tqbg8mBJfjuXacdMlIB_L": {
"title": "Memory Management", "title": "Memory Management",
"description": "Memory management involves allocating memory for objects and freeing it after use. Manual Retain-Release (MRR) requires developers to explicitly manage memory using reference counting, provided by the Foundation class NSObject. Automatic Reference Counting (ARC) automates this process by inserting memory management method calls during compilation, though it still uses reference counting. In contrast, Garbage Collection (GC) automatically tracks object ownership and releases unreferenced objects, using a different mechanism than MRR and ARC, and is supported only in the Mac OS X runtime environment, not on iOS.\n\n> Beginning May 1, 2015, new Mac apps and app updates submitted to the Mac App Store may no longer use garbage collection, which was deprecated in OS X Mountain Lion. Instead, migrate your apps to Automatic Reference Counting, using the migration assistant in Xcode to help with this transition. Apps may continue to use retain/release for manual memory management. For more information, read the [Transitioning to ARC Release Notes](https://developer.apple.com/library/ios/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html).\n\nVisit the following resources to learn more:", "description": "Memory management involves allocating memory for objects and freeing it after use. Manual Retain-Release (MRR) requires developers to explicitly manage memory using reference counting, provided by the Foundation class NSObject. Automatic Reference Counting (ARC) automates this process by inserting memory management method calls during compilation, though it still uses reference counting. In contrast, Garbage Collection (GC) automatically tracks object ownership and releases unreferenced objects, using a different mechanism than MRR and ARC, and is supported only in the macOS X runtime environment, not on iOS.\n\n> Beginning May 1, 2015, new Mac apps and app updates submitted to the Mac App Store may no longer use garbage collection, which was deprecated in OS X Mountain Lion. Instead, migrate your apps to Automatic Reference Counting, using the migration assistant in Xcode to help with this transition. Apps may continue to use retain/release for manual memory management. For more information, read the [Transitioning to ARC Release Notes](https://developer.apple.com/library/ios/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html).\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {
"title": "WWDC2021: ARC in Swift: Basics and beyond", "title": "WWDC2021: ARC in Swift: Basics and beyond",
@ -426,8 +431,29 @@
}, },
"MrdIb9F-wSEbUz7KRnH3t": { "MrdIb9F-wSEbUz7KRnH3t": {
"title": "Pick a Language", "title": "Pick a Language",
"description": "", "description": "Apple used to use Objective C for the development of apps for iOS and macOS, but since 2014 [Swift](https://www.swift.org/documentation/) has become the primary language for app development. After more than 10 years of growing strong and mature, now it is worth starting your iOS Developer journey by learning the language.\n\nSwift is a multi-paradigm language that has object-oriented, functional, and protocol-oriented flavors to it. For someone with a coding background in C++ and Java, the strange concepts would be Optionals, Closures, and the very fact you can skip writing semicolons when you end your statements.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Swift Programming Tutorial | FULL COURSE | Absolute Beginner",
"url": "https://www.youtube.com/watch?v=CwA1VWP0Ldw",
"type": "course"
},
{
"title": "Swift Programming For Beginners - No Programming Experience",
"url": "https://www.udemy.com/course/swift-programming-for-beginners-no-experience/",
"type": "course"
},
{
"title": "Swift Programming Tutorial – Full Course for Beginners",
"url": "https://www.youtube.com/watch?v=8Xg7E9shq0U",
"type": "course"
},
{
"title": "Learn Swift Fast (2020) - Full Course For Beginners",
"url": "https://www.youtube.com/watch?v=FcsY1YPBwzQ",
"type": "course"
}
]
}, },
"sGnDm2xuJxqfU3pwmlY7H": { "sGnDm2xuJxqfU3pwmlY7H": {
"title": "Version Control", "title": "Version Control",

@ -450,13 +450,35 @@
}, },
"6lUF0neW1piiP1RsaVxEX": { "6lUF0neW1piiP1RsaVxEX": {
"title": "bigint", "title": "bigint",
"description": "", "description": "BigInt is a built-in JavaScript object that allows you to work with integers of arbitrary size.\n\nUnlike the Number type, which can accurately represent integers only within the range of ±2^53 , BigInt can handle integers far beyond this limit. This makes it particularly useful for applications requiring high precision with very large numbers, such as cryptography or scientific computations.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "BigInt",
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt",
"type": "article"
},
{
"title": "The Whys and Hows Of BigInt",
"url": "https://youtu.be/6I650PQfhMg?si=XyVGrmp4KWLRcHVj",
"type": "video"
}
]
}, },
"b1HvkoWA2t4kt8mS6FySm": { "b1HvkoWA2t4kt8mS6FySm": {
"title": "boolean", "title": "boolean",
"description": "", "description": "In JavaScript, a `boolean` is a simple data type that can hold one of two values: `true` or `false`. These values are used to represent logical states and are essential in controlling the flow of a program.\n\nBooleans are commonly used in conditional statements (`if`, `else`, `while`, etc.) to determine whether a block of code should execute.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "JavaScript Boolean",
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
"type": "article"
},
{
"title": "Booleans in JavaScript",
"url": "https://www.youtube.com/watch?v=B4ZCFdrBmbE",
"type": "video"
}
]
}, },
"CxyNyFMuTLS3owtRMgClD": { "CxyNyFMuTLS3owtRMgClD": {
"title": "null", "title": "null",
@ -935,8 +957,14 @@
}, },
"ATma3bLKdmWY_WTsPIKxh": { "ATma3bLKdmWY_WTsPIKxh": {
"title": "Object.is", "title": "Object.is",
"description": "", "description": "The [Object.is](http://Object.is)() static method determines whether two values are the same value.\n\n console.log(Object.is('1', 1));\n // Expected output: false\n \n console.log(Object.is(NaN, NaN));\n // Expected output: true\n \n console.log(Object.is(-0, 0));\n // Expected output: false\n \n const obj = {};\n console.log(Object.is(obj, {}));\n // Expected output: false\n \n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Object.is() - MDN",
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is",
"type": "article"
}
]
}, },
"PLallt_T33W6bUEn0Hc3W": { "PLallt_T33W6bUEn0Hc3W": {
"title": "isLooselyEqual", "title": "isLooselyEqual",
@ -1914,11 +1942,6 @@
"title": "Callback Hell", "title": "Callback Hell",
"description": "The callback hell is when we try to write asynchronous JavaScript in a way where execution happens visually from top to bottom, creating a code that has a pyramid shape with many }) at the end.\n\nVisit the following resources to learn more:", "description": "The callback hell is when we try to write asynchronous JavaScript in a way where execution happens visually from top to bottom, creating a code that has a pyramid shape with many }) at the end.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{
"title": "Callback Hell",
"url": "http://callbackhell.com/",
"type": "article"
},
{ {
"title": "Callbacks in Callbacks - Pyramid of Doom", "title": "Callbacks in Callbacks - Pyramid of Doom",
"url": "https://javascript.info/callbacks#pyramid-of-doom", "url": "https://javascript.info/callbacks#pyramid-of-doom",
@ -2179,11 +2202,22 @@
}, },
"bhuGtcyqPFKu-900aESYz": { "bhuGtcyqPFKu-900aESYz": {
"title": "DOM APIs", "title": "DOM APIs",
"description": "", "description": "With HTML DOM, JavaScript can access and change all the elements of an HTML document such as its attributes, CSS styles, remove elements, add and create new elements on the page. Web API means application programming inteface for the web. All browsers have a set og built-in Web APIs to support complex operations, and to help accessing data. Like Geolocation API, Web Storage, Web History and others.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "DOM- MDN Docs",
"url": "https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model",
"type": "article"
},
{
"title": "Web APIs- W3schools",
"url": "https://www.w3schools.com/js/js_api_intro.asp",
"type": "article"
}
]
}, },
"KKyX8N4lTgN0w-Khm6Ztq": { "KKyX8N4lTgN0w-Khm6Ztq": {
"title": "Gabage Collection", "title": "Garbage Collection",
"description": "Memory management in JavaScript is performed automatically and invisibly to us. We create primitives, objects, functions… All that takes memory. The main concept of memory management in JavaScript is reachability.\n\nVisit the following resources to learn more:", "description": "Memory management in JavaScript is performed automatically and invisibly to us. We create primitives, objects, functions… All that takes memory. The main concept of memory management in JavaScript is reachability.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {

@ -84,7 +84,7 @@
}, },
"Vrcv5px-3fqmyJnQv3WBK": { "Vrcv5px-3fqmyJnQv3WBK": {
"title": "History of Node.js", "title": "History of Node.js",
"description": "Node.js was written initially by Ryan Dahl in 2009, about thirteen years after the introduction of the first server-side JavaScript environment, Netscape's LiveWire Pro Web. The initial release supported only Linux and Mac OS X. Its development and maintenance were led by Dahl and later sponsored by Joyent.\n\nVisit the following resources to learn more:", "description": "Node.js was written initially by Ryan Dahl in 2009, about thirteen years after the introduction of the first server-side JavaScript environment, Netscape's LiveWire Pro Web. The initial release supported only Linux and macOS X. Its development and maintenance were led by Dahl and later sponsored by Joyent.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {
"title": "Rising Stack - History of Node.js on a Timeline", "title": "Rising Stack - History of Node.js on a Timeline",
@ -319,8 +319,19 @@
}, },
"oYeux7PbveYaVwXRzAg5x": { "oYeux7PbveYaVwXRzAg5x": {
"title": "Local Installation", "title": "Local Installation",
"description": "", "description": "Locally installed packages are available only to the project where the packages are installed, while the globally installed packages can be used any where without installing them into a project. Another usecase of the global packages is when using CLI tools.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Downloading and installing packages locally",
"url": "https://docs.npmjs.com/downloading-and-installing-packages-locally",
"type": "article"
},
{
"title": "Downloading and installing packages globally",
"url": "https://docs.npmjs.com/downloading-and-installing-packages-globally",
"type": "article"
}
]
}, },
"bYBz12FUiJ1qLgdQSGyGK": { "bYBz12FUiJ1qLgdQSGyGK": {
"title": "Updating Packages", "title": "Updating Packages",

@ -194,8 +194,24 @@
}, },
"soZFqivM3YBuljeX6PoaX": { "soZFqivM3YBuljeX6PoaX": {
"title": "Sets", "title": "Sets",
"description": "", "description": "Python Set is an unordered collection of data types that is iterable, mutable, and has no duplicate elements. The order of elements in a set is undefined though it may consist of various elements. The major advantage of using a set, as opposed to a list, is that it has a highly optimized method for checking whether a specific element is contained in the set.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "An W3Schools - Python Sets",
"url": "https://www.w3schools.com/python/python_sets.asp",
"type": "article"
},
{
"title": "An In-Depth Guide to Working with Python Sets",
"url": "https://learnpython.com/blog/python-sets/",
"type": "article"
},
{
"title": "Python Sets tutorial for Beginners",
"url": "https://www.youtube.com/watch?v=t9j8lCUGZXo",
"type": "video"
}
]
}, },
"bc9CL_HMT-R6nXO1eR-gP": { "bc9CL_HMT-R6nXO1eR-gP": {
"title": "Dictionaries", "title": "Dictionaries",

@ -183,6 +183,11 @@
"title": "Different techniques for conditional rendering in React", "title": "Different techniques for conditional rendering in React",
"url": "https://www.robinwieruch.de/conditional-rendering-react/", "url": "https://www.robinwieruch.de/conditional-rendering-react/",
"type": "article" "type": "article"
},
{
"title": "Conditional rendering in React",
"url": "https://www.youtube.com/watch?v=4oCVDkb_EIs",
"type": "video"
} }
] ]
}, },
@ -428,6 +433,11 @@
"title": "Explore top posts about React Hooks", "title": "Explore top posts about React Hooks",
"url": "https://app.daily.dev/tags/react-hooks?ref=roadmapsh", "url": "https://app.daily.dev/tags/react-hooks?ref=roadmapsh",
"type": "article" "type": "article"
},
{
"title": "Custom Hooks in React",
"url": "https://www.youtube.com/watch?v=I2Bgi0Qcdvc",
"type": "video"
} }
] ]
}, },
@ -783,19 +793,24 @@
"description": "Context provides a way to pass data through the component tree without having to pass props down manually at every level.\n\nIn a typical React application, data is passed top-down (parent to child) via props, but such usage can be cumbersome for certain types of props (e.g. locale preference, UI theme) that are required by many components within an application. Context provides a way to share values like these between components without having to explicitly pass a prop through every level of the tree.\n\nVisit the following resources to learn more:", "description": "Context provides a way to pass data through the component tree without having to pass props down manually at every level.\n\nIn a typical React application, data is passed top-down (parent to child) via props, but such usage can be cumbersome for certain types of props (e.g. locale preference, UI theme) that are required by many components within an application. Context provides a way to share values like these between components without having to explicitly pass a prop through every level of the tree.\n\nVisit the following resources to learn more:",
"links": [ "links": [
{ {
"title": "Basic useContext Guide", "title": "Passing Data Deeply with Context",
"url": "https://www.w3schools.com/react/react_usecontext.asp", "url": "https://react.dev/learn/passing-data-deeply-with-context",
"type": "article" "type": "article"
}, },
{ {
"title": "Passing Data Deeply with Context", "title": "Basic useContext Guide",
"url": "https://react.dev/learn/passing-data-deeply-with-context", "url": "https://www.w3schools.com/react/react_usecontext.asp",
"type": "article" "type": "article"
}, },
{ {
"title": "State with useContext and useState/useReducer", "title": "State with useContext and useState/useReducer",
"url": "https://www.robinwieruch.de/react-state-usereducer-usestate-usecontext/", "url": "https://www.robinwieruch.de/react-state-usereducer-usestate-usecontext/",
"type": "article" "type": "article"
},
{
"title": "React Context API Crash Course",
"url": "https://www.youtube.com/watch?v=t9WmZFnE6Hg",
"type": "video"
} }
] ]
}, },
@ -1093,8 +1108,29 @@
}, },
"kiCTo0U6VgNON8rv_Ktlj": { "kiCTo0U6VgNON8rv_Ktlj": {
"title": "Ark UI", "title": "Ark UI",
"description": "", "description": "It is a modern and versatile user interface framework designed to streamline the development of responsive and accessible web applications. It provides a `comprehensive set` of components and tools that simplify the process of building user interfaces, allowing developers to focus on functionality and design. With a strong emphasis on flexibility and ease of use, Ark UI enables rapid prototyping and `scalable solutions`, ensuring a consistent and polished user experience across various devices and platforms. Its modular architecture and extensive documentation make it an excellent choice for developers looking to enhance productivity and maintain high standards in their UI design.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Official Website",
"url": "https://ark-ui.com/",
"type": "article"
},
{
"title": "Official Website",
"url": "https://ark-ui.com/react/docs/overview/introduction",
"type": "article"
},
{
"title": "What is ARK UI?",
"url": "https://shaxadd.medium.com/enhance-your-user-interfaces-with-ark-ui-a-comprehensive-guide-7e87dd0a79cf",
"type": "article"
},
{
"title": "Hands On ARK UI",
"url": "https://www.youtube.com/watch?v=zjo-77I0unk",
"type": "video"
}
]
}, },
"b4AP2OggxFAwsQtUwiUJJ": { "b4AP2OggxFAwsQtUwiUJJ": {
"title": "API Calls", "title": "API Calls",
@ -1367,17 +1403,17 @@
}, },
"W-atg_Msa9uPLr6RXAKSb": { "W-atg_Msa9uPLr6RXAKSb": {
"title": "Frameworks", "title": "Frameworks",
"description": "Server-side rendering (SSR) is a technique for rendering a JavaScript application on the server, rather than in the browser. This can improve the performance and user experience of a web application, as the initial render of the application is done on the server and the content is sent to the browser as a fully-rendered HTML page.\n\nThere are several frameworks and libraries available for server-side rendering React applications, most common being:", "description": "Server-side rendering (SSR) is a technique for rendering a JavaScript application on the server, rather than in the browser. This can improve the performance and user experience of a web application, as the initial render of the application is done on the server and the content is sent to the browser as a fully-rendered HTML page.\n\nThere are several frameworks and libraries available for server-side rendering React applications, most common being:\n\nNext.JS\n-------\n\nNext.js is a React framework for building full-stack web applications. You use React Components to build user interfaces, and Next.js for additional features and optimizations.\n\n* [@article@Next.js](https://nextjs.org/)\n* [@video@Next.js 14 Full Course 2024](https://www.youtube.com/watch?v=wm5gMKuwSYk)\n\nRemix.JS\n--------\n\nRemix is a full stack web framework that lets you focus on the user interface and work back through web standards to deliver a fast, slick, and resilient user experience. People are gonna love using your stuff.",
"links": [ "links": [
{
"title": "Next.js",
"url": "https://nextjs.org/",
"type": "article"
},
{ {
"title": "Remix", "title": "Remix",
"url": "https://remix.run/", "url": "https://remix.run/",
"type": "article" "type": "article"
},
{
"title": "Remix Crash Course",
"url": "https://www.youtube.com/watch?v=RBYJTop1e-g",
"type": "video"
} }
] ]
}, },
@ -1419,8 +1455,24 @@
}, },
"_HoZkE7FH-v3wI_722ZTF": { "_HoZkE7FH-v3wI_722ZTF": {
"title": "Astro", "title": "Astro",
"description": "", "description": "Astro is the web framework for building content-driven websites like blogs, marketing, and e-commerce. Astro is best-known for pioneering a new frontend architecture to reduce JavaScript overhead and complexity compared to other frameworks. If you need a website that loads fast and has great SEO, then Astro is for you.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Astro Website",
"url": "https://astro.build/",
"type": "article"
},
{
"title": "Astro Crash Course in 60 Minutes",
"url": "https://www.youtube.com/watch?v=NniT0vKyn-E",
"type": "video"
},
{
"title": "How To: Add/Integrate React.js and TailwindCss into Astro framework",
"url": "https://www.youtube.com/watch?v=d6CsWTVa42o",
"type": "video"
}
]
}, },
"-WjJBYCmRRj08n_9HxohY": { "-WjJBYCmRRj08n_9HxohY": {
"title": "react-router", "title": "react-router",
@ -1446,6 +1498,11 @@
"title": "How to use Forms in React", "title": "How to use Forms in React",
"url": "https://www.robinwieruch.de/react-form/", "url": "https://www.robinwieruch.de/react-form/",
"type": "article" "type": "article"
},
{
"title": "React Forms: the SIMPLEST way",
"url": "https://www.youtube.com/watch?v=CT-72lTXdPg",
"type": "video"
} }
] ]
}, },
@ -1485,9 +1542,14 @@
"type": "article" "type": "article"
}, },
{ {
"title": "Getting Started", "title": "Formik - Building React Forms easier",
"url": "https://formik.org/docs/overview", "url": "https://www.youtube.com/watch?v=khGypss-RJs",
"type": "article" "type": "video"
},
{
"title": "React Formik Tutorial with Yup (React Form Validation)",
"url": "https://www.youtube.com/watch?v=7Ophfq0lEAY",
"type": "video"
} }
] ]
}, },
@ -1530,8 +1592,24 @@
}, },
"bRpeoo9zXrnZ2IHSI7JX4": { "bRpeoo9zXrnZ2IHSI7JX4": {
"title": "Animation", "title": "Animation",
"description": "", "description": "Animation in React can be achieved using various methods, such as CSS transitions, keyframes, or libraries like `react-spring`, `framer-motion`, and `GSAP` (GreenSock Animation Platform). CSS transitions are ideal for simple animations, where you can toggle classes or manipulate inline styles to create smooth transitions. For more complex and interactive animations, libraries like `react-spring` provide a declarative approach, allowing you to create animations by defining spring physics or interpolating values. `framer-motion` offers a rich API to handle complex animations, gestures, and even layout transitions with ease. `GSAP` is another powerful library that excels at creating high-performance animations, offering fine-grained control over every aspect of the animation process. These tools integrate seamlessly with React's component-driven architecture, enabling you to create responsive and dynamic user interfaces.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "Framer Motion Docs",
"url": "https://www.framer.com/motion/",
"type": "article"
},
{
"title": "GSAP Docs",
"url": "https://gsap.com/docs/v3/",
"type": "article"
},
{
"title": "React Spring Docs",
"url": "https://www.react-spring.dev/docs/getting-started",
"type": "article"
}
]
}, },
"SUeXDkmOLipdRP4fSrZOH": { "SUeXDkmOLipdRP4fSrZOH": {
"title": "Server APIs", "title": "Server APIs",
@ -1627,7 +1705,18 @@
"txARr3lgTvy-vJCj5zAb1": { "txARr3lgTvy-vJCj5zAb1": {
"title": "Mobile Applications", "title": "Mobile Applications",
"description": "React Native is an open-source UI software framework created by Meta Platforms, Inc. It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web, Windows and UWP by enabling developers to use the React framework along with native platform capabilities.", "description": "React Native is an open-source UI software framework created by Meta Platforms, Inc. It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web, Windows and UWP by enabling developers to use the React framework along with native platform capabilities.",
"links": [] "links": [
{
"title": "React Native Official website",
"url": "https://reactnative.dev/",
"type": "article"
},
{
"title": "React Native Course for Beginners",
"url": "https://www.youtube.com/watch?v=ZBCUegTZF7M",
"type": "video"
}
]
}, },
"NvXAq1vN2wpncdW-yTL4c": { "NvXAq1vN2wpncdW-yTL4c": {
"title": "React Native", "title": "React Native",

@ -466,7 +466,7 @@
}, },
"HsBqd08Ro0VJnx0FlumMQ": { "HsBqd08Ro0VJnx0FlumMQ": {
"title": "MySQL", "title": "MySQL",
"description": "MySQL is an open-source relational database management system (RDBMS) that uses SQL (Structured Query Language) to interact with data. It is developed, marketed, and supported by MySQL AB, a Swedish company, and is written in C and C++. Since it's open-source, you can use MySQL completely free of charge. MySQL is primarily used for online transactions and for consolidating data. You can install it on various platforms like Linux, Windows, Mac OS and so on. With its comprehensive set of features like support for full-text search, cursors, triggers, stored procedures, it is powerful enough to manage even very large sets of data, making it suitable for a vast range of applications, whether they be web-based or embedded.", "description": "MySQL is an open-source relational database management system (RDBMS) that uses SQL (Structured Query Language) to interact with data. It is developed, marketed, and supported by MySQL AB, a Swedish company, and is written in C and C++. Since it's open-source, you can use MySQL completely free of charge. MySQL is primarily used for online transactions and for consolidating data. You can install it on various platforms like Linux, Windows, macOS and so on. With its comprehensive set of features like support for full-text search, cursors, triggers, stored procedures, it is powerful enough to manage even very large sets of data, making it suitable for a vast range of applications, whether they be web-based or embedded.",
"links": [] "links": []
}, },
"dAiEwN7phwMyaitvM5kRl": { "dAiEwN7phwMyaitvM5kRl": {

File diff suppressed because it is too large Load Diff

@ -336,12 +336,12 @@
"description": "The `provider` meta-argument in Terraform specifies which provider configuration to use for a resource, overriding the default provider selection based on the resource type name. This is useful in scenarios where multiple configurations of the same provider are required, such as managing resources across different regions or environments. By setting the `provider` argument, you can ensure that the resource uses the specified provider setup, identified by its alias, enhancing control and flexibility in multi-provider or multi-region deployments. This meta-argument is essential for precisely directing Terraform on how to interact with the underlying infrastructure provider.\n\nLearn more from the following resources:", "description": "The `provider` meta-argument in Terraform specifies which provider configuration to use for a resource, overriding the default provider selection based on the resource type name. This is useful in scenarios where multiple configurations of the same provider are required, such as managing resources across different regions or environments. By setting the `provider` argument, you can ensure that the resource uses the specified provider setup, identified by its alias, enhancing control and flexibility in multi-provider or multi-region deployments. This meta-argument is essential for precisely directing Terraform on how to interact with the underlying infrastructure provider.\n\nLearn more from the following resources:",
"links": [ "links": [
{ {
"title": "Terraform Docs - for_each", "title": "Terraform Docs - provider",
"url": "https://developer.hashicorp.com/terraform/language/meta-arguments/resource-provider", "url": "https://developer.hashicorp.com/terraform/language/meta-arguments/resource-provider",
"type": "article" "type": "article"
}, },
{ {
"title": "Terraform by Example - for_each", "title": "Terraform by Example - provider",
"url": "https://www.terraformbyexample.com/providers/", "url": "https://www.terraformbyexample.com/providers/",
"type": "article" "type": "article"
} }

@ -263,8 +263,14 @@
}, },
"xHj3W9Ig3MVuVlGyXchaP": { "xHj3W9Ig3MVuVlGyXchaP": {
"title": "v-if", "title": "v-if",
"description": "", "description": "Conditionally render an element or a template fragment based on the truthy-ness of the expression value.\n\nWhen a `v-if` element is toggled, the element and its contained directives / components are destroyed and re-constructed. If the initial condition is falsy, then the inner content won't be rendered at all.\n\nVisit the following resources to learn more:",
"links": [] "links": [
{
"title": "v-if Documentation",
"url": "https://vuejs.org/api/built-in-directives.html#v-if",
"type": "article"
}
]
}, },
"0CtAZQcFJexMiJfZ-mofv": { "0CtAZQcFJexMiJfZ-mofv": {
"title": "v-else", "title": "v-else",

Loading…
Cancel
Save