<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Polly Sutcliffe</title>
    <description>The latest articles on Forem by Polly Sutcliffe (@pollyj).</description>
    <link>https://forem.com/pollyj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F415634%2Fc8244221-2111-47de-b9e7-475dbc200ef4.jpeg</url>
      <title>Forem: Polly Sutcliffe</title>
      <link>https://forem.com/pollyj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/pollyj"/>
    <language>en</language>
    <item>
      <title>Connection Pools in a Nutshell</title>
      <dc:creator>Polly Sutcliffe</dc:creator>
      <pubDate>Mon, 16 Nov 2020 03:06:17 +0000</pubDate>
      <link>https://forem.com/pollyj/connection-pools-in-a-nutshell-4epo</link>
      <guid>https://forem.com/pollyj/connection-pools-in-a-nutshell-4epo</guid>
      <description>&lt;h3&gt;
  
  
  A short overview of what connections pools are and why they're important.
&lt;/h3&gt;




&lt;p&gt;If you work with databases in any way, it won't be long before you encounter documentation about the &lt;strong&gt;connection pool&lt;/strong&gt;. It will likely be one of the options in the config object you pass when connecting to the database from your server.&lt;/p&gt;

&lt;h4&gt;
  
  
  Connections?
&lt;/h4&gt;

&lt;p&gt;When you connect to a database, you open a &lt;strong&gt;connection&lt;/strong&gt; -- a channel through which the server can request data and the database and send back that data. Each time you open a connection, you add another connection.&lt;/p&gt;

&lt;p&gt;Databases can only handle so many simultaneous connections. If you misconfigure your server and open a new connection each time you want to get information from the database, you could end up opening thousands of connections and crashing your database. This is obviously very undesirable in a production environment.&lt;/p&gt;

&lt;p&gt;We can set up a connection pool to prevent this kind of situation.&lt;/p&gt;

&lt;h4&gt;
  
  
  Connection Pools
&lt;/h4&gt;

&lt;p&gt;Let's say you set the connection pool to 10. This will prevent the server from opening more than 10 connections simultaneously. When the server first starts, it will open 10 connections to the database that then sit and wait for requests. Each new request from the server will go through one of these ready-and-waiting connections. &lt;/p&gt;

&lt;p&gt;If the 10 connections are already busy with requests, any further requests from the server will get queued until one of the existing pool of connections finishes its previous task and becomes free. This stops the database from being overwhelmed and helps to increase performance because you aren't opening and closing connections for each request -- instead, the 10 connections in the initial pool remain open as long as the server is running. Opening and closing database connections is fairly resource-intensive, so it's important to remember to set a connection pool limit whenever you work with a database.&lt;/p&gt;

&lt;h4&gt;
  
  
  How Many Connections?
&lt;/h4&gt;

&lt;p&gt;Deciding on how many connections to limit the pool to is a question of fine tuning. Usually, you'll set a number to start with, then look at how your database and app are performing, and adjust accordingly. If pages aren't loading quickly enough, you likely need more connections in the pool, but you'll also need to watch for performance issues on the database side once you increase the pool. If the database isn't performing fast enough, you may need to upgrade your database service. &lt;/p&gt;

</description>
      <category>database</category>
    </item>
    <item>
      <title>5 Things I Wish I Knew Before Attending Coding Bootcamp</title>
      <dc:creator>Polly Sutcliffe</dc:creator>
      <pubDate>Mon, 28 Sep 2020 13:39:48 +0000</pubDate>
      <link>https://forem.com/pollyj/5-things-i-wish-i-knew-before-attending-coding-bootcamp-7o3</link>
      <guid>https://forem.com/pollyj/5-things-i-wish-i-knew-before-attending-coding-bootcamp-7o3</guid>
      <description>&lt;p&gt;Before I knew what a crazy ride 2020 would turn out to be, I had already decided to jump off my own deep end by quitting my job, learning to code, and changing careers to programming. I submitted my notice in January and started attending a three month coding bootcamp, Code Chrysalis, from April. It was a great experience and just a month after graduating, I was able to land my first job as a software engineer!&lt;/p&gt;

&lt;p&gt;That being said, looking back, I didn't quite know what I was getting myself into. I thought I'd done my due diligence: I'd gone to the school's open day, spoke to former students, and searched for articles online about the course. Even so, there were some things that I wish someone had just been there to tell me, 'Hey, this is what it'll be like. Just a head's up.'&lt;/p&gt;

&lt;p&gt;So this is my article to you, prospective bootcamp student, so that you can be mentally prepared before you start. :)&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Prepare to spend 90% of your time coding.
&lt;/h2&gt;

&lt;p&gt;This isn't a joke. Bootcamps are there to push their students hard and get them to where they need to be to be employable in a seriously short amount of time. &lt;/p&gt;

&lt;p&gt;At my bootcamp, they would give us small projects that would go over a concept we'd learnt just that very morning, and we would be expected to submit that by 9am the following day. Most nights, we would work until at least 10 or 11pm. Some people definitely worked longer. Don't get me wrong -- I could sometimes squeeze an hour or two here and there to relax, but there was always studying to be done. In my 'downtime', I'd be reading articles about JavaScript or watching Udemy courses. That's just how life was for those three months.&lt;/p&gt;

&lt;p&gt;In addition to daily projects, sometimes there would also be bigger projects that spanned 2 to 3 days. There were a mix of solo and group projects, and they always felt very stressful because you are basically told, 'This is what your end-result needs to be, now go and make it.' Of course, tutors would be around to ask questions if you were seriously stuck, but there was a very firm emphasis on 'the struggle is part of the process', and you wouldn't always get the answers you wanted. Which leads me onto the next point...&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The teachers won't have all the answers you need.
&lt;/h2&gt;

&lt;p&gt;I guess my experiences at school and university gave me the idea that people who 'teach' you usually know all the answers to your questions, but for my bootcamp, that wasn't really the case. The thing is, software engineering is so broad and changes so quickly that it's unlikely any one will ever know everything about everything. And once you get to group projects where you have freedom to choose your tech stack, they're even less likely to be knowledgable. So you spend a lot of time stuck, unsure what to do, clicking around in the docs, making slivers of progress until you finally find yourself on the right path and the fog starts to get a little clearer. (And then you repeat, again and again.)&lt;/p&gt;

&lt;p&gt;What's more, bootcamps try to cultivate an atmosphere of self-research ('read the docs!') and autonomy. These are definitely important skills as software engineers, but no one gets anywhere in life solely by themselves, and this mismatch (feeling like if the teachers could &lt;em&gt;just fill in that one blank&lt;/em&gt;, you'd be able to make sense of everything) can be pretty frustrating at times.&lt;/p&gt;

&lt;p&gt;This sounds like common-sense, but I feel like it bears saying because I definitely felt at times like I would have liked a bit more help...which leads us to no. 3.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. You will be frustrated. A lot.
&lt;/h2&gt;

&lt;p&gt;Yeah, no way around this one. You will get annoyed, many, many times. &lt;br&gt;
One of the hardest things for me during the course was doing a lot of the daily homework tasks in pairs. Don't get me wrong--I loved my fellow students. But trying to read docs, reason about code, think and try out different coding approaches, debug specific areas... all while someone else is simultaneously trying to do the same thing, but with a different approach that doesn't quite make sense to your way of thinking? It's really tough. I often felt like I just wanted a bit of time to really look at and understand what the code I was seeing was by myself, before trying to talk to someone else about what we should do to solve the problem. &lt;/p&gt;

&lt;p&gt;Even if the above doesn't sound like a big deal to you (and it might not--I'm pretty sure my personality played a bit role in how challenging I found that aspect), you will be frustrated by other things.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can't figure out why all your API data is coming back as unresolved promises?&lt;/li&gt;
&lt;li&gt;CSS on your site looks like crap but you have no idea how to make it nice? And to top it off that one person in the class made theirs look &lt;em&gt;amazing&lt;/em&gt;?&lt;/li&gt;
&lt;li&gt;Got told you have 48 hours to make something from scratch using technology you've never used before to present to class, and nothing is going well?&lt;/li&gt;
&lt;li&gt;Spent the whole day trying to set up your RESTful CRUD API with Express/Knex but NOTHING IS WORKING?!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not being able to do something is frustrating. And you'll go through that feeling a lot. ;)&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Rely on your fellow students.
&lt;/h2&gt;

&lt;p&gt;You're all going through it together, and you are definitely not the only one who 'can't do it', even if it seems like that. The students on my course with me became amazing friends by the end, and I would have been a lot more stressed if I couldn't have shared my complaints, as well as my wins, with them.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. It's okay if you don't understand everything.
&lt;/h2&gt;

&lt;p&gt;Bootcamps are a lot of material covered in way too short of a period. Try to remember it's okay if something doesn't click straight away. Sometimes our brains need to revisit a topic a few times to 'get' it, and hey, maybe some things will always be hard, and you'll always need to check the docs for the right way to do it. That's okay -- even if other people in the course seem to have no problem, don't worry (easier said than done, I know). It's like they say: sometimes they'll be ahead, sometimes you'll be ahead, c'est la vie. You'll have time after the course to come back to the tricker parts anyway, so if you've tried but it's just not clicking right now, let it wash over you for now and try not to stress too much.&lt;/p&gt;

&lt;h3&gt;
  
  
  In Summary...
&lt;/h3&gt;

&lt;p&gt;Going to a bootcamp was the best choice I've ever made, and I love my job now. Despite what I wrote above, I loved my course and made lifelong friends. But it's also important to know what you're getting yourself into and to have realistic expectations.&lt;br&gt;
Feel free to reach out to me at &lt;a class="comment-mentioned-user" href="https://dev.to/pollyj_"&gt;@pollyj_&lt;/a&gt;
 on Twitter if you have any questions!&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Host Your Gatsby Site for Free Using a Custom Domain &amp; Netlify</title>
      <dc:creator>Polly Sutcliffe</dc:creator>
      <pubDate>Thu, 16 Jul 2020 14:27:56 +0000</pubDate>
      <link>https://forem.com/pollyj/host-your-gatsby-site-for-free-using-a-custom-domain-netlify-cie</link>
      <guid>https://forem.com/pollyj/host-your-gatsby-site-for-free-using-a-custom-domain-netlify-cie</guid>
      <description>&lt;p&gt;One thing that really helps devs stand out is to set up your own website. If you've spent any time in the Twitter/DEV/Medium sphere, you've probably heard about the benefits of blogging and growing an online presence in general, and setting up your own website is an important step in that process.&lt;/p&gt;

&lt;p&gt;Let's go through how you can buy a custom domain name and then host it for free on Netlify using a Gatsby blog template.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Your Own Domain
&lt;/h2&gt;

&lt;p&gt;Although it's possible to host your site for free, getting your custom domain will cost a bit of money. If you don't have a personalised domain name already, it is possible to host your website on Netlify without one, but the URL address will include ".netlify.app" at the end. This is a great starting point if you're working with a restricted budget or you're not sure about taking the plunge and buying your own domain name outright yet. But if you're serious about setting up your own website, I'd recommend purchasing your own unique domain name because it looks a lot more professional, and it can be done quite cheaply (depending on the name you want.) My own domain cost me £32 for two years, which isn't too bad in my opinion! (There are cheaper ones, too.)&lt;/p&gt;

&lt;p&gt;To get started, decide which registrar service you want to purchase your domain name from. There are tonnes of options out there, with some of the most well known being:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.godaddy.com/"&gt;goDaddy.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.namecheap.com/"&gt;namecheap.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://domains.google/"&gt;Google Domains&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I personally used GoDaddy, so I'll be covering the exact process for that site, but they should be mostly the same regardless. &lt;a href="https://www.techradar.com/news/best-domain-registrars-in-2019"&gt;Do some research&lt;/a&gt; and choose the provider that's right for you.&lt;/p&gt;

&lt;p&gt;If you go to the GoDaddy website, you can easily search for the name you're interested in. They'll give you options based on your search if the one you want is already taken. Once you've decided, add it to your cart and check out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RwsJGj-X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ko9wmboyb1dtqccrel4q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RwsJGj-X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ko9wmboyb1dtqccrel4q.png" alt="Searching for domains on GoDaddy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;During the checkout process, GoDaddy will give you the option to purchase various add-ons; none of these are particularly necessary so feel free to skip them all, or add the ones you're interested in.&lt;/p&gt;

&lt;p&gt;Make sure you uncheck "Start your website for free".&lt;/p&gt;

&lt;p&gt;We'll be setting up our own Gatsby template soon, so it's not necessary. Once you've paid, the domain name is yours! 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up Your Gatsby Project
&lt;/h2&gt;

&lt;p&gt;Gatsby is an awesome React-based static site generator that scaffolds your projects for you, allowing you to get up and running in no time. I'm going to walk you through setting up a Gatsby template for a personalised website and blog. Gatsby actually &lt;a href="https://www.gatsbyjs.org/starters/?v=2"&gt;offers various templates&lt;/a&gt;, so check them out. Something else might suit your needs more!&lt;/p&gt;

&lt;p&gt;Whichever template you end up choosing, you'll first want to check whether you have the Gatsby CLI installed by running the following command on the command line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;gatsby &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;If you get a version number back, great! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---vLEgc8D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/phf83hdqw98e1stoxi9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---vLEgc8D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/phf83hdqw98e1stoxi9l.png" alt="Example of getting a version number back"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you get a message about "command not found", you likely need to install the CLI. This can be done by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; gatsby-cli
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;See more info on &lt;a href="https://www.gatsbyjs.org/docs/gatsby-cli/"&gt;the official docs here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once you've verified that Gatsby CLI is installed, navigate to the directory where you want to make the project, then run the following commands for the &lt;code&gt;gatsby-personal-stater-blog&lt;/code&gt; template. (If you're using another template, then use that template's link instead 😀 )&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;gatsby new &amp;lt;project-name&amp;gt; https://github.com/thomaswang/gatsby-personal-starter-blog
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This will create the Gatsby project inside a folder with the project name. Wait for it to finish, then cd into the folder. You can use the &lt;code&gt;code .&lt;/code&gt; command to open the contents in VS Code so you can start editing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &amp;lt;project-name&amp;gt;
code &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You'll see all the project files. To run the site locally, run&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;gatsby develop
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You can then navigate to &lt;a href="http://localhost:8080"&gt;localhost:8080&lt;/a&gt; to see your site live! Gatsby will hot-reload your site when you run in develop mode, so try it out by making some changes to the &lt;code&gt;src/pages/index.js&lt;/code&gt; file and saving. &lt;/p&gt;

&lt;p&gt;At this point, you'll probably also want to update some of the meta data. Take a look at the following files and change anything you want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;package.json&lt;/li&gt;
&lt;li&gt;README.md&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create Your GitHub Repo
&lt;/h2&gt;

&lt;p&gt;Next, you'll want to commit your code to GitHub so you can actually have Netlify host the content. Create a repo (private or public, doesn't matter), then follow the instructions to add the remote origin to your local project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Make sure you're still in the project's root directory,&lt;/span&gt;
&lt;span class="c"&gt;# then run the following:&lt;/span&gt;

git init
git add &lt;span class="nb"&gt;.&lt;/span&gt;
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"initial commit"&lt;/span&gt;
git remote add origin https://github.com/&amp;lt;your-username&amp;gt;/&amp;lt;your-repo-name&amp;gt;.git
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Lastly, update &lt;code&gt;gatsby-config.js&lt;/code&gt; so that it matches your new repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect Netlify to Your Repo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NbClqUSY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/f60ovbd6z09kpz5rsj94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NbClqUSY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/f60ovbd6z09kpz5rsj94.png" alt="Netlify's project overview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Log in to Netlify and click on "New Site from Git". Find your repo, then follow the instructions to connect it. (Check here for &lt;a href="//Configure%20the%20Netlify%20app%20on%20GitHub."&gt;more info if you can't find your repo&lt;/a&gt; in the list.) Netlify will now deploy your Gatsby website using a free ".netlify.app" address. Although connecting your GitHut repo to Netlify is an extra step, it's worth it because Netlify will automatically redeploy your code anytime you push an update to the master branch, so you won't need to manually redeploy.&lt;/p&gt;

&lt;p&gt;All that's left now is to set up the forwarding so that the Netlify app gets served up whenever someone visits your custom domain!&lt;/p&gt;

&lt;p&gt;On the Netlify settings page for your app, click "Site Settings" to update the site's name if you wish. This won't be displayed to users anywhere, though, so it's not actually necessary. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nDDSqPDd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma64btuyi63p9on2fm7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nDDSqPDd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ma64btuyi63p9on2fm7o.png" alt="Click on the settings buttons"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, click "Domain Settings" and add the custom domain that you purchased earlier by clicking "Add Domain Names" under "Custom Domains". &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8At2riTt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cp9m4r24ucfgu3wfw7m4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8At2riTt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cp9m4r24ucfgu3wfw7m4.png" alt="Customs domains settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will make it so that the content in your repo is served whenever someone visits your site, but right now if you visit your custom domain, you'll probably see a warning about how the site is unsafe. This is because you likely don't have an SSL certificate yet, so let's set that up now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GBW2JlIW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l2tpluptiw1qpod235ey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GBW2JlIW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l2tpluptiw1qpod235ey.png" alt="Error message"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What is an SSL certificate?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An SSL (Secure Sockets Layer) certificate is a digital certificate that authenticates the identity of a website and encrypts information sent to the server using SSL technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Your SSL Certificate
&lt;/h2&gt;

&lt;p&gt;You can get an SSL certificate for your site for free with the help of Let's Encrypt, and Netlify conveniently makes this possible all from their site, but you'll need to change a few options from the GoDaddy side first.&lt;/p&gt;

&lt;p&gt;Open your GoDaddy account, then go to your "My Products" page. From here, find your domain and click the "DNS" button. In the Records section, you'll see that there are a couple of entries already added. If you have any editable entries by default, delete them because they will interfere when you try to add the Netlify information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L90NoXBx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3areybu848d6kftso56v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L90NoXBx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3areybu848d6kftso56v.png" alt="Preset DNS settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Delete the entries with the edit sign next to them.&lt;/p&gt;

&lt;p&gt;Once that's done, add the following:&lt;br&gt;
1)&lt;br&gt;
Type: A&lt;br&gt;
Name: @&lt;br&gt;
Value: 104.198.14.52&lt;br&gt;
TTL: 1 Hour&lt;/p&gt;

&lt;p&gt;2)&lt;br&gt;
Type: CNAME&lt;br&gt;
Name: www&lt;br&gt;
Value: .netlify.app&lt;br&gt;
TTL: 1 Hour&lt;/p&gt;

&lt;p&gt;&lt;code&gt;104.198.14.52&lt;/code&gt; is the IP address of Netlify's servers.&lt;/p&gt;

&lt;p&gt;The CNAME value should be whatever your Netlify site's address is (the default one if you didn't change it earlier, otherwise whatever you changed it to. You don't need to include the "&lt;a href="http://www."&gt;www.&lt;/a&gt;" part.)&lt;/p&gt;

&lt;p&gt;You should end up with something that looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A8K-u8pP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lyy2wirl960ruvj3m49w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A8K-u8pP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lyy2wirl960ruvj3m49w.png" alt="Correct DNS settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With that done, go back to the Domain Settings page on Netlify and scroll down to the HTTPS section. Click the "Verify DNS Configuration". If you've set everything up right, Netlify should connect to the custom domain and you'll see the message "Waiting on DNS propagation". If you get an error, make sure you double check that you entered the GoDaddy DNS information correctly. It might be a good idea to give it a minute or too/refresh everything as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WlLknkd0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dfim1wmi3ebny8rf5e6x.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WlLknkd0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dfim1wmi3ebny8rf5e6x.jpeg" alt="Provisioning an SSL certificate on Netlify"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8khsaHUb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7x66hgvokmbk70cmv58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8khsaHUb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7x66hgvokmbk70cmv58.png" alt="Certificate is being propagated"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will take around 10-15 minutes for the certificate to be propagated and take effect, so make yourself a coffee while you wait. ☕️&lt;/p&gt;

&lt;p&gt;After a while, you should be able to refresh your live website and see it normally without any errors! Yay 🥳&lt;/p&gt;

&lt;p&gt;All that's left now is to code up the actual site...! Good luck!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lSrulvwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/chp8qso78b3030labdk7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lSrulvwT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/chp8qso78b3030labdk7.jpg" alt="Time to make your site!"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gatsby</category>
      <category>netlify</category>
      <category>hosting</category>
      <category>blog</category>
    </item>
  </channel>
</rss>
