Javascript on Freshman — Articles and Tutorials on Software Development https://freshman.tech/tags/javascript/ Freshman provides order to the often chaotic process of learning new concepts in Software Development. Hugo - gohugo.io en [email protected] (Ayooluwa Isaiah) [email protected] (Ayooluwa Isaiah) All rights reserved. Sat, 15 Nov 2025 22:00:00 +0100 Creating Your First Chrome Extension (With Built-in AI Features) https://freshman.tech/first-chrome-extension/ Sat, 15 Nov 2025 22:00:00 +0100 Mon, 17 Nov 2025 13:35:25 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/first-chrome-extension/ Chrome extensions let you add new features to your browser, from password managers to privacy tools and productivity helpers. If you&rsquo;ve ever wondered what it takes to build one yourself, this tutorial will guide you through the process step by step and show that creating your own extension is far more approachable than it might seem. Book Summary: A Philosophy of Software Design https://freshman.tech/philosophy-of-software-design-summary/ Tue, 15 Jun 2021 20:41:00 +0100 Sat, 26 Feb 2022 11:50:40 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/philosophy-of-software-design-summary/ Written by John Ousterhout, a Professor of Computer Science at Stanford University, this book&rsquo;s central idea is all about managing and reducing complexity in software projects. It draws upon his experience as an academic, but also from his various commercial endeavours, and his work on the Tcl scripting language. It&rsquo;s a short and light read (about 170 pages) that discusses several principles which can be applied during the development of software systems to achieve cleanly designed abstractions. It also highlights several red flags that can indicate major design problems and what to do about them. Most importantly, the author acknowledges that all design principles can be taken too far, and gives some advice on what not to do. A Complete Guide to Linting Go Programs https://freshman.tech/linting-golang/ Wed, 02 Jun 2021 18:40:00 +0100 Thu, 04 Aug 2022 11:18:06 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/linting-golang/ Linting is the process of identifying and reporting on patterns found in code, with the aim of improving consistency, and catching bugs early in the development cycle. This is particularly useful when working in a team as it helps to make all code look the same no matter who&rsquo;s writing it, which reduces complexity, and makes the code easier to maintain. In this article, I&rsquo;ll demonstrate a comprehensive linting setup for Go programs, and talk about the best way to introduce it into an existing project. A Guide to Customising the Windows Terminal https://freshman.tech/windows-terminal-guide/ Mon, 07 Dec 2020 13:20:00 +0100 Sun, 23 Oct 2022 14:36:51 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/windows-terminal-guide/ The Windows Terminal provides a much improved command line experience in Windows 10 and 11. It&rsquo;s packed with useful features like <abbr>GPU</abbr> acceleration, tabs, panes, themes, and shortcuts, along with full support for different environments such as PowerShell, Command Prompt, and Windows Subsystem for Linux. In this article, I&rsquo;ll describe a few ways to tailor the terminal experience to your needs along with tips and tricks to make your experience smooth and productive. How to process file uploads in Go https://freshman.tech/file-upload-golang/ Wed, 14 Oct 2020 09:30:00 +0100 Sun, 23 Oct 2022 14:36:51 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/file-upload-golang/ Processing user uploaded files is a common task in web development and it&rsquo;s quite likely that you&rsquo;ll need to develop a service that handles this task from time to time. This article will guide you through the process of handling file uploads on a Go web server and discuss common requirements such as multiple file uploads, progress reporting, and restricting file sizes. How to build a Pomodoro Timer App with JavaScript https://freshman.tech/pomodoro-timer/ Sun, 02 Aug 2020 22:00:00 +0100 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/pomodoro-timer/ Pomodoro is a time management technique developed in the 1980s which uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. In this tutorial, you&rsquo;ll learn how to create such a timer in the browser with JavaScript. How to build a Simon Game with JavaScript https://freshman.tech/simon-game/ Sun, 19 Jul 2020 09:30:00 +0100 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/simon-game/ Creating games in the browser is a great way to practice your JavaScript skills and have fun at the same time! Migrating away from Google Analytics https://freshman.tech/google-analytics-to-plausible/ Sat, 11 Jul 2020 16:44:00 +0100 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/google-analytics-to-plausible/ I switched away from Google Analytics to Plausible for a better user experience, privacy and performance. As an added advantage, the accuracy of the reported metrics for my website has improved by 30-40%. The quickfix and location lists in Vim https://freshman.tech/vim-quickfix-and-location-list/ Thu, 18 Jun 2020 00:00:00 +0000 Wed, 20 Jan 2021 12:55:51 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/vim-quickfix-and-location-list/ The quickfix and location lists are essential navigation components in Vim. This article will consider the similarities and differences between the two lists and provide examples for when each one is typically used. How to work with Data Types in Go https://freshman.tech/golang-data-types/ Thu, 21 May 2020 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/golang-data-types/ Go is a statically typed programming language which means that every value in Go is of a particular type and these types must be known at compile time so that the compiler can ensure that the program is working with the values in a safe way. This article will consider the most important built-in types in the language that you need to be aware of. Working with Variables in Go https://freshman.tech/golang-variables/ Fri, 08 May 2020 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/golang-variables/ Can you program without variables? Maybe in some esoteric languages, but in Go, you can&rsquo;t. So it&rsquo;s important to get acquainted with how variables work in the language so that you can write effective programs. And that&rsquo;s what this article is all about. How to program a guessing game with Go https://freshman.tech/golang-guess/ Fri, 01 May 2020 22:30:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/golang-guess/ Let&rsquo;s jump into Go by working through a hands-on project together. This tutorial will introduce you to a few common Go concepts such as variabes, error handling, loops, packages, and more by showing you how to use them to tackle a classic beginner programming problem. Introduction to the Go programming language and why you should learn it https://freshman.tech/introduction-to-go/ Fri, 01 May 2020 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/introduction-to-go/ Since its first release in 2009, Go (also known as Golang) has continuously increased in popularity and has been adopted by big and small companies alike mostly in place of dynamic environments such as Python, Ruby, and Node.js. The language has a lot to offer and is well worth learning in 2020 and beyond. How to build a Custom HTML5 Video Player with JavaScript https://freshman.tech/custom-html5-video/ Wed, 23 Oct 2019 00:00:00 +0000 Fri, 25 Dec 2020 18:46:38 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/custom-html5-video/ This guide will teach you how to create a cross-browser <abbr>HTML5</abbr> video player with JavaScript using the Media and Fullscreen APIs. How to Build Your First Web Application with Go https://freshman.tech/web-development-with-go/ Thu, 22 Aug 2019 00:00:00 +0000 Sat, 26 Feb 2022 11:50:40 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/web-development-with-go/ One of Go&rsquo;s greatest strengths lies in the its suitability for developing web applications. It offers great performance out of the box, is easy to deploy, and has many of the necessary tools you need to build and deploy a scalable web service in its standard library. This tutorial will walk you through a practical example of building a web application with Go and deploying it to production. It will cover the basics of using Go&rsquo;s built-in HTTP server and templating language, and how to interact with external APIs. How to build an Unsplash Search App with Svelte 3 https://freshman.tech/unsplash-search/ Mon, 15 Jul 2019 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/unsplash-search/ <p>In this article, we&rsquo;ll pick up from the <a href="https://freshman.tech/svelte-todo/">previous post</a> that introduced the <a href="https://svelte.dev">Svelte 3 library</a> and tackle another exercise that teaches a little more about the features Svelte has to offer.</p> <p>During the course of working through this tutorial, you will build an application that searches <a href="https://unsplash.com">Unsplash</a> and presents the results in an infinitly scrolling list.</p> <p>Here&rsquo;s what the completed project will look like:</p> <div class="gif js-gif"> <video class="gif__video js-gif-video" poster='/assets/dist/images/unsplash-search/Screenshot_from_2019-07-15_12.40.31_2x.png' width="100%" loop muted playsinline> <source src='https://freshman.tech/assets/dist/images/unsplash-search/infinite-scroll.webm' type="video/webm"></source> <source src='https://freshman.tech/assets/dist/images/unsplash-search/infinite-scroll.mp4' type="video/mp4"></source> Sorry, your browser doesn't support HTML5 video, but don't worry, you can <a href='https://freshman.tech/assets/dist/images/unsplash-search/infinite-scroll.mp4' download>download it</a> and watch it with your favourite video player! </video> <div class="play-gif__overlay js-play-overlay"> <button title="Play Gif" class="play-gif"> <svg viewBox="0 0 487.622 487.622" style="enable-background:new 0 0 487.622 487.622;" xml:space="preserve"><g><g> <g> <circle style="fill: #8DAA97" cx="243.811" cy="243.811" r="243.811" data-original="#CF6F55" class="" data-old_color="##28373"/> <path style="fill: #799282" d="M479.621,305.946L169.686,119.431V368.19L332.61,470.937 C404.49,442.813,459.75,381.554,479.621,305.946z" data-original="#C06046" class="" data-old_color="#7A9383"/> <polygon style="fill: #FFFFFF" points="375.699,243.811 169.686,368.19 169.686,119.431 " data-original="#FFFFFF" class="active-path" data-old_color="#C9BD95"/> </g> </g></g> </svg> </button> <span class="gif-indicator">GIF</span> </div> </div> <h2 id="prerequistes">Prerequistes</h2> <p>This tutorial assumes you have a little bit of prior experience with Svelte 3. It should also be easy enough to follow if you are experienced with React, Vue or other similar JavaScript libraries.</p> Learn Svelte 3 by building a Todo List App https://freshman.tech/svelte-todo/ Tue, 09 Jul 2019 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/svelte-todo/ Why is Svelte gaining popularity, and do we really need another JavaScript framework? In this article, we’ll take a look the value proposition of Svelte compared to other mainstream frameworks, and get some hands on experience by building a todo list application A guide to setting up Vim for JavaScript development https://freshman.tech/vim-javascript/ Mon, 06 May 2019 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/vim-javascript/ <p>I&rsquo;ve been using Vim for close to two years now, and do all my JavaScript development work in it. In the process, I&rsquo;ve tweaked my configuration several times until I finally achieved a setup that I can say I&rsquo;m really happy with. So, in this article, I want to talk about some of the plugins and tools that I&rsquo;ve taken advantage of to make writing JavaScript a more pleasurable experience in Vim.</p> How to build a Countdown Timer with Golang https://freshman.tech/golang-timer/ Fri, 03 May 2019 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/golang-timer/ <p>In this tutorial, we&rsquo;ll go over how to build a countdown timer in Golang. The object of the program is quite simple. We&rsquo;ll specify a deadline date while running the program and then it prints out the number of days, hours, minutes and seconds from the current moment to the deadline, and it continues to do so every second until the deadline is reached.</p> <h2 id="prerequisites">Prerequisites</h2> <p>This tutorial assumes a beginner level understanding of the Go programming language. It also assumes that you have a set up your <a href="https://freshman.tech/golang-guess/#set-up-your-environment">Golang environment</a>. If you&rsquo;ve never written a Go program before, <a href="https://freshman.tech/golang-guess">this article</a> might be a good place to start.</p> How to build a Todo List App with JavaScript https://freshman.tech/todo-list/ Mon, 18 Mar 2019 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/todo-list/ Some people claim building a todo list app is a boring activity since so many exist already but I think it remains a great exercise for learning useful concepts that are widely applicable in many programming contexts. Learn Node.js and MongoDB by Building a URL Shortener App https://freshman.tech/url-shortener/ Thu, 24 Jan 2019 00:00:00 +0000 Sat, 26 Feb 2022 20:32:57 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/url-shortener/ <p>In this article, you&rsquo;ll learn how to build a URL Shortener application with Node.js and MongoDB. Here&rsquo;s a <a href="https://freshman-shortener.herokuapp.com/">live demo</a> of what we&rsquo;ll be building. You can find the complete source code for this project in this <a href="https://github.com/freshman-tech/url-shortener">GitHub repo</a>.</p> <h2 id="prerequisites">Prerequisites</h2> <p>I assume basic familiarity with JavaScript as well as the command line. If you haven&rsquo;t built a basic Node application before, you might want to <a href="https://freshman.tech/microservice">start here</a> first, then return to this tutorial at a later time.</p> How to build a Mobile App Layout with CSS Flexbox https://freshman.tech/flexbox-mobile-app/ Mon, 07 Jan 2019 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/flexbox-mobile-app/ <p>I&rsquo;ve described how to build a few web components with Flexbox <a href="https://freshman.tech/flexbox/">here</a>, <a href="https://freshman.tech/flexbox-navbar/">here</a> and <a href="https://freshman.tech/feature-list/">here</a>. Let&rsquo;s kick things up a notch by building a full mobile app layout with Flexbox.</p> <p>I&rsquo;ll show you some some really neat ways you can leverage the power of Flexbox in your websites and applications by recreating a layout from Spotify&rsquo;s mobile app.</p> <p>Here&rsquo;s a <a href="http://flexbox-app-demo.surge.sh/">live demo</a> of what we&rsquo;ll be building.</p> <h2 id="getting-started">Getting started</h2> <p>Open up <a href="https://jsfiddle.net/ayoisaiah/csd1q6eu/">this fiddle</a> and click the Fork button to create your own instance of the fiddle.</p> Learn Node.js by Building a Timestamp Microservice App https://freshman.tech/microservice/ Thu, 22 Nov 2018 00:00:00 +0000 Sat, 26 Feb 2022 20:32:57 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/microservice/ <p>One of the reasons why Node.js is such a great platform for building applications is the abundance of libraries that have been developed by the community for practically all the common use cases. This makes it really easy to go from idea to a production-ready application in a relatively short space of time.</p> <p>That said, at least understanding Node.js&rsquo;s standard libraries will always be beneficial to you, especially if you want to gain a deeper understanding of how Node.js works.</p> How to build a responsive feature list with CSS Flexbox https://freshman.tech/feature-list/ Wed, 21 Nov 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/feature-list/ <p>In this tutorial, you will learn how to build a common component on product landing pages. Have you seen marketing pages that display feature images and their descriptions in alternating order? Flexbox makes this pattern really easy to build out, and no, you don&rsquo;t have to change the HTML in order to achieve this.</p> <figure class='f-figure '> <a href='https://freshman.tech/assets/dist/images/feature-list/alfred-feature-list.png'> <img src="https://freshman.tech/assets/dist/images/feature-list/alfred-feature-list.png" alt="The feature list on alfredapp.com"> </a> <figcaption class="f-figure__caption"> <span> The feature list on alfredapp.com </span> </figcaption> </figure> <p>The particular feature list we&rsquo;ll be building is the one found on <a href="https://alfredapp.com">alfredapp.com</a>. If you inspect the elements on that site via your browser’s DevTools, you will see that the layout was achieved using floats. I&rsquo;ll show you how to achieve the exact same layout with Flexbox and how to make it responsive too!</p> How to build a Navigation Bar with CSS Flexbox https://freshman.tech/flexbox-navbar/ Sat, 10 Nov 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/flexbox-navbar/ <p>In the <a href="https://freshman.tech/flexbox/">previous article</a>, I introduced the Flexbox layout model and demonstrated how it can be used to build a photo card component, which is identical to the one found on the <a href="https://unsplash.com">Unsplash homepage</a>.</p> <p>This tutorial will take you through building another real-world component with Flexbox. This time, we will recreate the navigation bar that is found on <a href="https://freecodecamp.org">freeCodeCamp</a>.</p> <p><a href="https://jsfiddle.net/ayoisaiah/Lr9nadmw/3/">Here&rsquo;s how it looks like</a>:</p> <figure class='f-figure '> <a href='https://freshman.tech/assets/dist/images/flexbox-navbar/completed-navbar.png'> <img src="https://freshman.tech/assets/dist/images/flexbox-navbar/completed-navbar.png" alt="The complete version of the navigation bar"> </a> </figure> <p>As usual, I have added the basic HTML and CSS for the project to <a href="https://jsfiddle.net/ayoisaiah/Lr9nadmw/">JSFiddle</a>. You can fork the code to a new fiddle or copy and paste it to your local <a href="https://freshman.tech/javascript-editors/">code editor</a> if you prefer.</p> Learn CSS Flexbox by building a photo card component https://freshman.tech/flexbox/ Tue, 23 Oct 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/flexbox/ <p>CSS Flexbox has been around for quite a while now, and is well supported, but I still see a lot of upcoming web developers resorting to frameworks like Bootstrap in order to achieve simple layouts in the browser, perhaps because Flexbox introduces many new concepts that can make it difficult to use.</p> <p>This article will introduce you to Flexbox by walking you through a <a href="https://jsfiddle.net/ayoisaiah/pj4vbq9g/3/">photo card component</a> and will teach you just enough so that you can start using it right away. I’ve got some other tutorials lined up that will go into even more detail on the subject.</p> A Guide to Responsive Images on the Web https://freshman.tech/responsive-images/ Sat, 04 Aug 2018 00:00:00 +0000 Mon, 07 Jun 2021 17:31:59 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/responsive-images/ <p>The process of optimising images for the web does not stop at <a href="https://freshman.tech/image-optimisation">using tools like MozJPEG or pngquant</a>. You also need to make sure that you are serving the right images to your users depending on their device capabilities.</p> <p>The concept of responsive images refers to a system for adapting images to fit the resolution, viewport and layout for any device, and it goes farther than just applying a <code>max-width: 100%</code> rule to the <code>img</code> tag.</p> How Image Optimisation Decreased my Website's Page Weight by 62% https://freshman.tech/image-optimisation/ Sun, 15 Jul 2018 00:00:00 +0000 Mon, 07 Jun 2021 17:31:59 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/image-optimisation/ <p>Images are one of the most fundamental types of content that is served on the web. They say an image is worth a thousand words, but it can also be worth quite a few megabytes too if you&rsquo;re not careful.</p> <p>So although web images need to be clear and crisp, they must also be delivered at manageable sizes so that load times are kept small and data use is kept at acceptable levels.</p> How to build a Calculator App with JavaScript https://freshman.tech/calculator/ Fri, 06 Jul 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/calculator/ This epic tutorial provides a solid workout for JavaScript newbies by describing how a simple calculator application can be developed with the language. Learn CSS Grid by building a simple Calculator Layout https://freshman.tech/css-grid-calculator/ Tue, 29 May 2018 00:00:00 +0000 Wed, 24 Jun 2020 15:48:35 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/css-grid-calculator/ <p>CSS Grid is a new way of defining the structure of a webpage. It helps developers create complex layouts on the web easily without resulting to old methods such as floats or complicated frameworks which introduced all sorts of problems.</p> <p>The introduction of Grid provides a system of laying out webpages that is native to web browsers and even more powerful than what you can achieve with CSS Frameworks such as Bootstrap.</p> How to Build Your First Node.js Website with Express and Pug https://freshman.tech/learn-node/ Thu, 17 May 2018 00:00:00 +0000 Sat, 26 Feb 2022 20:32:57 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/learn-node/ <p>For most of my career as a Web Developer, I worked on the frontend of websites and applications consuming APIs made by other people. Recently, I decided to learn Node.js properly and do some server-side programming as well.</p> <p>I decided to write this introductory tutorial for anyone who is interested in learning Node after realising that it&rsquo;s not so easy to read the documentation and figure out how to go about building stuff with Node.</p> How to choose an editor for JavaScript https://freshman.tech/javascript-editors/ Wed, 11 Apr 2018 00:00:00 +0000 Wed, 24 Jun 2020 15:48:35 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/javascript-editors/ There are a lot of options out there as far as text editors go, but I’m here to help you traverse the wide landscape of coding editors for JavaScript. Why I switched to Vim from Visual Studio Code https://freshman.tech/from-vscode-to-vim/ Mon, 02 Apr 2018 00:00:00 +0000 Tue, 01 Sep 2020 20:46:26 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/from-vscode-to-vim/ I discuss my history with text editors, what led me to switch to Vim six months ago and why I&rsquo;m sticking with it HTTPS blind spots https://freshman.tech/https-blind-spots/ Thu, 01 Feb 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/https-blind-spots/ <p>In the first three parts of this series, I discussed the <a href="https://freshman.tech/the-value-of-https/">value proposition of HTTPS</a>, what SSL certificates are and <a href="https://freshman.tech/ssl-certificates/#how-to-move-your-website-to-https-for-free">how to get one for free</a>, and additional things you can do to <a href="https://freshman.tech/securing-your-website/">secure your website even further</a>.</p> <p>It&rsquo;s time to wrap up the series by taking a look at some HTTPS blind spots and why securing your website does not stop at serving content securely.</p> <h2 id="https-does-not-secure-a-website">HTTPS does not secure a website</h2> <p>HTTPS does protect against many common attacks often spawned by a Man In The Middle, but it cannot stop hackers from breaking into your web server or network. The &ldquo;Secure&rdquo; part in HTTPS only refers to the security of your connection to a website. It&rsquo;s got nothing to do with the security of the infrastructure that a website has on its back end.</p> Securing your website https://freshman.tech/securing-your-website/ Wed, 31 Jan 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/securing-your-website/ <p>There&rsquo;s more to deploying HTTPS than just obtaining a certificate, slapping it on your server and calling it a day. Even for brand new websites, and especially for legacy websites, you need to be absolutely sure that under no circumstances can any content on your website be served over HTTP.</p> <p>Today&rsquo;s post takes a look at a few things you can do to secure your HTTPS website even further.</p> <h2 id="301-redirects-for-http-traffic">301 redirects for HTTP Traffic</h2> <p>Users will often make requests to your website over HTTP, such as when typing the URL in the browser&rsquo;s address bar. You need to make sure that these HTTP requests are properly <a href="https://freshman.tech/http-status-codes/#301-moved-permanently">301 redirected</a> to the equivalent HTTPS version.</p> SSL Certificates https://freshman.tech/ssl-certificates/ Sun, 28 Jan 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/ssl-certificates/ <p><a href="https://freshman.tech/the-value-of-https/">The first part</a> of this series covered what HTTPS is and why it&rsquo;s important for every website. In part 2, I want to talk about how HTTPS works, what certificates are, and how to deploy HTTPS on your website for free.</p> <h2 id="how-does-https-work">How does HTTPS work?</h2> <p>HTTPS adds a secure layer to the regular HTTP protocol using TLS or SSL. Clients and Servers still use the regular HTTP conventions, but over a secure connection where the requests and responses are encrypted and decrypted appropriately.</p> The value of HTTPS https://freshman.tech/the-value-of-https/ Fri, 26 Jan 2018 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/the-value-of-https/ <p>Security on the web is more important than ever. With new vulnerabilities and <a href="https://haveibeenpwned.com/">data breaches</a> being reported on a daily basis, it is crucial for us to do a better job of securing the stuff that we make so that we can protect users from various attacks.</p> <p>I&rsquo;ve been learning a lot about security on the web, so I wanted to bring together some of what I&rsquo;ve learned thus far into a four-part series focused on HTTPS and why it&rsquo;s important for every website.</p> How to build a Wikipedia Search App with JavaScript https://freshman.tech/wikipedia-javascript/ Tue, 12 Sep 2017 00:00:00 +0000 Sat, 26 Sep 2020 22:13:37 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/wikipedia-javascript/ Let’s jump into web application development by working through a hands-on project together! In this article, you’ll practice the fundamentals of building a web application. Things like making <abbr>AJAX</abbr> requests, manipulating <abbr>DOM</abbr> nodes, handling errors and displaying alerts. Build your first JavaScript App — A Random Quote Generator https://freshman.tech/random-quote-machine/ Fri, 08 Sep 2017 00:00:00 +0000 Tue, 15 Sep 2020 18:58:45 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/random-quote-machine/ If you&rsquo;re learning JavaScript as your first programming language, this tutorial provides a good opportunity to learn how it is used in the real world. It will help you understand how JavaScript, <abbr>HTML</abbr> and <abbr title="">CSS</abbr> work together to create applications in the browser. Let's learn HTTP Status Codes https://freshman.tech/http-status-codes/ Sun, 30 Apr 2017 00:00:00 +0000 Wed, 20 Jan 2021 23:38:38 +0100 [email protected] (Ayooluwa Isaiah) https://freshman.tech/http-status-codes/ <p>HTTP status codes are a set of standard responses sent by a web server to a client (such as a web browser) indicating whether a specific HTTP request was completed successfully or not.</p> <p>We have 5 categories under which these responses are classified:</p> <ul> <li><strong>1xx Informational</strong> - The request was received but is still processing.</li> <li><strong>2xx Success</strong> - The request was received, accepted and processed successfully.</li> <li><strong>3xx Redirection</strong> - The client needs to take additional action to complete the request.</li> <li><strong>4xx Client Error</strong> - An error occurred on the client side.</li> <li><strong>5xx Server Error</strong> - An error occurred on the server side.</li> </ul> <p>There are quite a number of HTTP status codes available but I&rsquo;m not going to cover all in this article. I&rsquo;ll only go over the ones that frequently occur in the course of web application development.</p>