A Lukewarm Guide to: JavaScript

This post marks the beginning of a journey into learning JavaScript, and creating a simple web-scraper tool that gathers contact information of all users found on a given website.
A Lukewarm Guide to: JavaScript

JavaScript is one of those coding languages that is used almost everywhere, usually without us realising. When you load this page, JavaScript is being used 'under the hood' to render the content (unless you've got it turned off) - this is known as dynamic content.

While it's original use was intended to allow user interaction in web-pages, it's applications have since extended, allowing it to be in the back-end (server-side processing - what the user doesn't see) as well as front-end (web-page source code - what the user sees).

This post is the beginning of a series as I share what I learn in my journey to better understand JavaScript, and work on projects to extend my understanding. For those that are subscribed to the newsletters, this will be going out as a separate newsletter which means that you can easily unsubscribe from posts about this journey without unsubscribing from all posts.

Why learn JavaScript?

JavaScript is used everywhere. Most of the projects I see online use some amount of JavaScript, whether it be just on the front-end, rendering content to the user, or handling complex problems on the back-end. One useful feature that I'm interested in, is it's use in web-scraping. Since JavaScript is used in a lot of websites, it's a useful language to known when creating a bot to interact with web pages.

Project Goals

End Goal

This may be ambitious, and almost definitely subject to change as I start the journey, but my end goal at this stage is to create a web-scraper tool that allows the user to type in a website, and grab all contact information of users available on the website. The intent of this tool is to be able to be used by site owners, or business owners to understand what contact details they are sharing on their website to better understand what information attackers can find. This sort of tool already exists, and is used by people all over the world, from sales teams looking to find the best person to contact about a product, to attackers looking for people to target.

Step One

The first stage of this whole project, however, is to first install the JavaScript and understand how it all works. Full disclosure, I've used JavaScript in the past, and done a little bit of coding in it, but my experience is more in Python3 (I'm sure I'll release some content on this in the future), Java, C, Bash scripting etc. One concept that seems foreign to me at the moment (albeit without looking into it at all) is how the frameworks work and all of that jazz. Therefore, my first post will be about understanding the structure of JavaScript, how it all works, and figuring out the best framework to write this project in (if that's a thing - I really don't know).