Meaningful commit messages help speed up the review process as well as help other contributors in gaining a good overview of the repositories commit history without having to dive into every commit.
(See the following guide on how to write good [commit messages](https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/)).
</p>
- <p><strong>Look at the existing issues/pull requests before opening new ones</strong></p>
@ -61,7 +61,7 @@ Python's versatility is evident in its applicability across a spectrum of indust
So, let's talk about Django – it's like the superhero of web frameworks, at least in the world of Python. This high-level powerhouse is all about that "batteries-included" style, giving you a whole package of tools and features that make development lightning-fast. It follows the [Model-View-Controller](https://www.crio.do/blog/understand-mvc-architecture/) (MVC) architecture that gives your web applications a solid structure, making them scalable and easy to keep up.
Part of that whole “batteries-included” motto means that it comes with an admin panel, an [ORM](https://www.freecodecamp.org/news/what-is-an-orm-the-meaning-of-object-relational-mapping-database-tools/) (Object-Relational Mapping) for smooth data handling, and security features that make sure your project is secured out-of-the-box. All these goodies work together, making Django a top choice for projects, whether they're a walk in the park or a brain-bending challenge.
Part of that whole “batteries-included” motto means that it comes with an admin panel, an ORM (Object-Relational Mapping) for smooth data handling, and security features that make sure your project is secured out-of-the-box. All these goodies work together, making Django a top choice for projects, whether they're a walk in the park or a brain-bending challenge.
- [@article@What is an ORM – The Meaning of Object Relational Mapping](https://www.freecodecamp.org/news/what-is-an-orm-the-meaning-of-object-relational-mapping-database-tools/)
- [@article@Intro to Dependency Injections](https://www.freecodecamp.org/news/a-quick-intro-to-dependency-injection-what-it-is-and-when-to-use-it-7578c84fa88f/)
- [@feed@Explore top posts about Dependency Injection](https://app.daily.dev/tags/dependency-injection?ref=roadmapsh)
@ -10,8 +10,4 @@ Learn about the security of your server and how to secure it. Here are some of t
- Use a intrusion detection system (IDS): An IDS monitors network traffic and alerts you to any suspicious activity, which can help you to identify and respond to potential threats in a timely manner.
- Enable two-factor authentication: Two-factor authentication adds an extra layer of security to your accounts by requiring a second form of authentication, such as a code sent to your phone, in addition to your password.
Also learn about OpenSSL and creating your own PKI as well as managing certs, renewals, and mutual client auth with x509 certs
Learn more from the following resources:
- [@article@How to Defend Against Server-Side Request Forgery](https://www.freecodecamp.org/news/defending-against-ssrf-attacks/)
Also learn about OpenSSL and creating your own PKI as well as managing certs, renewals, and mutual client auth with x509 certs
@ -5,6 +5,5 @@ Unlike Web2 applications, in Web3 there’s no centralized database that stores
Visit the following resources to learn more:
- [@article@The Architecture of a Web 3.0 application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application)
- [@article@Decentralized Applications Architecture: Back End, Security and Design Patterns](https://www.freecodecamp.org/news/how-to-design-a-secure-backend-for-your-decentralized-application-9541b5d8bddb/)
@ -4,7 +4,6 @@ Co-NP stands for the complement of NP Class. It means if the answer to a problem
Visit the following resources to learn more:
- [@article@Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
@ -4,7 +4,6 @@ In computer science, there exist some problems whose solutions are not yet found
Visit the following resources to learn more:
- [@article@Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
@ -4,6 +4,5 @@ Endianess is the order in which bytes are stored in memory. The two most common
Visit the following resources to learn more:
- [@article@What is Endianness? Big-Endian vs Little-Endian Explained with Examples](https://www.freecodecamp.org/news/what-is-endianness-big-endian-vs-little-endian/)
- [@video@Big Endian vs Little Endian.mp4](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [@video@Endianness Explained With an Egg - Computerphile](https://www.youtube.com/watch?v=NcaiHcBvDR4)
@ -4,6 +4,5 @@ KnapSack Problem is a classic problem in computer science. It is a problem in wh
Visit the following resources to learn more:
- [@article@0-1 Knapsack Problem | DP-10](https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/)
- [@article@How to solve the Knapsack Problem with dynamic programming](https://medium.com/@fabianterh/how-to-solve-the-knapsack-problem-with-dynamic-programming-eb88c706d3cf)
- [@video@3.1 Knapsack Problem - Greedy Method](https://www.youtube.com/watch?v=oTTzNMHM05I)
@ -4,6 +4,5 @@ Little Endian is a way of storing data in memory. It is the opposite of Big Endi
Visit the following resources to learn more:
- [@article@What is Endianness? Big-Endian vs Little-Endian Explained with Examples](https://www.freecodecamp.org/news/what-is-endianness-big-endian-vs-little-endian/)
- [@video@Big Endian vs Little Endian.mp4](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [@video@Endianness Explained With an Egg - Computerphile](https://www.youtube.com/watch?v=NcaiHcBvDR4)
@ -10,4 +10,3 @@ Visit the following resources to learn more:
- [@article@What is the difference between lock, mutex and semaphore?](https://stackoverflow.com/questions/2332765/what-is-the-difference-between-lock-mutex-and-semaphore)
- [@article@What is a Semaphore](https://stackoverflow.com/questions/34519/what-is-a-semaphore/40238#40238)
- [@article@Mutex vs Semaphore](https://www.geeksforgeeks.org/mutex-vs-semaphore/)
@ -4,7 +4,6 @@ A problem is NP-complete if it is both NP and NP-hard. NP-complete problems are
Visit the following resources to learn more:
- [@article@Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
@ -4,7 +4,6 @@ An NP-hard problem is at least as hard as the hardest problem in NP and it is th
Visit the following resources to learn more:
- [@article@Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
@ -4,7 +4,6 @@ The NP in NP class stands for Non-deterministic Polynomial Time. It is the colle
Visit the following resources to learn more:
- [@article@Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
@ -4,7 +4,6 @@ The P in the P class stands for Polynomial Time. It is the collection of decisio
Visit the following resources to learn more:
- [@article@Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete](https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/)
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
@ -6,6 +6,4 @@ Visit the following resources to learn more:
- [@course@Introduction to Substring Search](https://www.coursera.org/lecture/algorithms-part2/introduction-to-substring-search-n3ZpG)
- [@article@What is the fastest substring search algorithm?](https://stackoverflow.com/questions/3183582/what-is-the-fastest-substring-search-algorithm)
- [@article@Check if a string is substring of another](https://www.geeksforgeeks.org/check-string-substring-another/)
- [@article@Anagram Substring Search (Or Search for all permutations)](https://www.geeksforgeeks.org/anagram-substring-search-search-permutations/)
@ -4,4 +4,3 @@ Web sockets are a bidirectional communication protocol between a client and a se
Visit the following resources to learn more:
- [@article@What is web socket and how it is different from the HTTP?](https://www.geeksforgeeks.org/what-is-web-socket-and-how-it-is-different-from-the-http/)
Data Transformation, also known as Data Wrangling, is an essential part of a Data Analyst's role. This process involves the conversion of data from a raw format into another format to make it more appropriate and valuable for a variety of downstream purposes such as analytics. Data Analysts transform data to make the data more suitable for analysis, ensure accuracy, and to improve data quality. The right transformation techniques can give the data a structure, multiply its value, and enhance the accuracy of the analytics performed by serving meaningful results.
- [@article@What is Data Transformation - Geeks for Geeks](https://www.geeksforgeeks.org/what-is-data-transformation/)
- [@article@Example with Python](https://www.geeksforgeeks.org/time-series-data-transformation-using-python/)
- [@article@Example with R](https://www.geeksforgeeks.org/data-cleaning-transformation-with-dplyr-in-r/)
- [@feed@Explore top posts about Data Analysis](https://app.daily.dev/tags/data-analysis?ref=roadmapsh)
@ -15,56 +15,53 @@ Networking tools are used to troubleshoot network issues. They are also used to
`traceroute` command is a command in Linux that prints the route a network packet takes from its source (e.g. your computer) to the destination host (e.g., roadmap.sh). It is quite valuable in investigating slow network connections as it can help us spot the slow leg of the network packet journey through the internet.
- [@article@How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/)
- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/)
`ping` (**P**acket **In**ternet **G**roper) command is used to check the network connectivity between host and server/host. This command takes as input the IP address or the URL and sends a data packet to the specified address with the message “PING” and get a response from the server/host this time is recorded which is called latency.
- [@article@What is ping command?](https://linuxize.com/post/linux-ping-command/)
- [What is ping command?](https://linuxize.com/post/linux-ping-command/)
`mtr` combines the functionality of the traceroute and ping programs in a single network diagnostic tool.
- [@article@Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr)
- [@article@mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm)
- [@article@How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/)
- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr)
- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm)
- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/)
NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports.
- [@article@NMAP Official Manual Book](https://nmap.org/book/man.html)
- [@article@What is Nmap and How to Use it](https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/)
- [NMAP Official Manual Book](https://nmap.org/book/man.html)
Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections.
- [@article@netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm)
- [Linux Command Line Tutorial For Beginners - netstat command](https://www.youtube.com/watch?v=zGNcvBaN5wE)
UFW, or _uncomplicated firewall_, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool.
IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets.
- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759)
`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well.
- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump)
- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/)
- [Interpreting Tcpdump output and data](https://www.youtube.com/watch?v=7bsQP9sKHrs)
`dig` command stands for **D**omain **I**nformation **G**roper. It is used for retrieving information about DNS name servers. It is mostly used by network administrators for verifying and troubleshooting DNS problems and to perform DNS lookups. It replaces older tools such as `nslookup` and the `host`.
- [@article@More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/)
- [@article@What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/)
- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/)
`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks.
- [@article@SCP Linux Command](https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/)
@ -33,7 +33,6 @@ The `grep` command (**g**lobal search for **r**egular **e**xpression and **p**ri
`sort` command is used to sort the contents of a file in a particular order. By default, it sorts a file assuming the contents are in ASCII. But it also can also be used to sort numerically by using appropriate options.
`echo` is a built-in command in Linux used to display lines of text/string that are passed as an argument. It is mostly used in shell scripts and batch files to output status text or `ENV` variables to the screen or a file.
@ -68,7 +66,6 @@ The tr utility copies the standard input to the standard output with substitutio
The nl utility reads lines from the named file or the standard input if the file argument is omitted, applies a configurable line numbering filter operation and writes the result to the standard output.
The wc utility displays the number of lines, words, and bytes contained in each input file, or standard input (if no file is specified) to the standard output.
@ -5,5 +5,4 @@ Reactive Programming is a declarative programming paradigm focused on data strea
Learn more from the following resources:
- [@article@What is reactive programming?](https://www.baeldung.com/cs/reactive-programming#:~:text=Reactive%20programming%20is%20a%20declarative,or%20reactive%20systems%20in%20general.)
- [@article@What is Reactive Programming? Beginner's Guide to Writing Reactive Code](https://www.freecodecamp.org/news/reactive-programming-beginner-guide/)
- [@video@What is reactive programming?](https://www.youtube.com/watch?v=X-DeG_uGFUU)
Some files were not shown because too many files have changed in this diff
Show More