teleren/devto huggingface dataset:
How I Bumped into Web Development and How You Can Start too.
Tags: webdev, javascript, html, css
Published: 2020-04-01 16:13:47

## Flash Back (2 years):

My 11th standard exams were over it was summer break . I was already doing competitive programming in few portals like Codechef and Codeforces . But, I was not getting the joy of making things . One fine day i researched on internet about how to make apps and websites and the amount of resources popped up was overwhelming and confusing. Finally landed on the youtube channel of Traversy Media and the first video i watched was HTML crash course for beginners . This is the perfect video if you want to start out web development,this will clear all your basics . Later on the next course which was very popular and recommend was coursera’s Web design for everybody. It took me around a week or so get the basics done. And i finally started to work on my first web game it was Rock, Paper and Scissors and even you should start to build something rather than to watch and go through the whole tutorial (I still haven’t completed the whole course).

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/oo0z7yem3tm133kfnj1u.png)

This ugly looking thing which at that point of time was so cool to me took around 5 days to build which is too much as i look now. Even you guys will stumble around some really stupid bugs or syntax errors and will not find way out but just be persistent and accept this is the learning curve .

## Present :

Around two years have passed now still in love with JS (Javascript) and have built few front-end and full stack web apps around it. Hopefully, many more to come.

Few good resource’s for beginners to start :

 *   ( Youtube channel)- https://www.youtube.com/user/TechGuyWeb
 *   ( Coursera )- https://www.coursera.org/specializations/web-design
 *   ( w3schools )- https://www.w3schools.com/html/

<b/ >

### SAYONARA !!
A Different but Overall Great Week
Tags: codenewbie, womenintech, devjournal
Published: 2020-04-01 16:10:54

Happy Friday! This week has been different, but overall, I'm grateful there hasn't been a staggering level of change from my normal routine working from home.

Yesterday, I scrapped my latest app.js file for my budget app and started anew! Round 4 (I think?) of building out the app on my own. This time, I've still left the functions and methods up as a sort of program 'skeleton' to remind me of what to add where. Even in doing so, I am *so* proud of myself for filling in the majority of functions with *no* notes!

The plan for today is to finish up Round 4 of building out the app (it's amazing how much quicker I can do it now than at the beginning of last week). Then, for next week - my focus will be on Round 5 of rebuilding it from absolute scratch. Wowza.

I'll also be laying out the scope of the next six weeks for the [Letters from Nelson](https://alexlsalt.github.io/letters-from-nelson/) newsletter. I'm so looking forward to digging through ideas for future editions.

It's been a great week. Here's to focusing on the things we can control and taking care of ourselves in the meantime.

_This post was originally published on March 20, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Onward and Upward
Tags: codenewbie, womenintech, devjournal
Published: 2020-04-01 16:09:37

Whew! Adjusting to a two-person work-from-home experience has been exactly that... an adjustment.

Nothing negative, by any means whatsoever. But it _is_ quite interesting to notice the small ways my daily routine has been changing. Regardless, I'm still doing my best to get in my read-journal-meditate morning routine and couple good hours of solid coding and learning.

I'm also pleasantly surprised at myself for taking to YouTube workouts in stride. I suppose that's to be expected when you have no other choice? (In France, we're currently living life à la lockdown, so no gym or runs outside for me).

I took a small break from coding yesterday as I was busy launching an email newsletter geared at helping parents whose kids are stuck at home due to the virus. It's going to be such a good time curating all the ideas for kids to see and do, virtually. 

You can view the project and subscribe here if you're so inclined: [Letters from Nelson](https://mailchi.mp/2b08039f79b4/letters-from-nelson)

As for today, I'm set on reviewing what I've been working on this week and possibly re-coding the addItem, deleteItem, and updatePercentages portions of my budget app. Onward and upward

_This post was originally published on March 19, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Consistent Steps Lead to Mastery
Tags: codenewbie, womenintech, javascript
Published: 2020-04-01 16:07:37

Yesterday, the main focus of my coding work was in really working to understand how the addItem and deleteItem functionalities worked within my budget app.

To get a 100% clear picture, I sat down and took out a notebook and a pencil. I started with the deleteItem functionality, since that's what I'd left off on last week. From there, I looked at each of my three modules: the budget controller (data structure/behind the scenes of the app), the UI controller (what's viewable or able to be interacted with on the app's user interface), and the app controller (the part of the code responsible for enabling the budget controller and the UI controller to interact with and get information from one another).

I studied each piece and *consciously made sense of it in my mind* before moving on to the next function. I then did the same thing with the addItem functionality.

What I found was so interesting was that when I really took the time to isolate each specific functionality of the app and map everything out from beginning to end, it gave me such an incredibly clear idea of how everything fits together in the bigger picture of the entire app.

Today, my focus is on doing the same thing as yesterday as I map out the functionality of calculating the percentages of each expense against the total Income.

The process of consciously and consistently working toward understanding how a program works has been fascinating, to say the least. I'm confident that having a solid routine in place - even if it allows you to put in the work only one hour a day - is *the* key to finding success as a self-taught programmer.

_This post was originally published on March 17, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Just Keep Coding
Tags: codenewbie, womenintech
Published: 2020-04-01 16:05:16

Happy Monday! Over the weekend, the social life of France has essentially been placed on lockdown, but we're well-prepared. I'm especially excited to get some major coding done over the next few weeks.

I just did an unexpectedly cool (and surprisingly easy!) thing this morning in removing all of the '.html' extensions from my page URLs. Essentially, it has to do with adding a .htaccess file to your root directory and then creating a couple of rules and pushing it to your server (pushing it to GitHub, where my portfolio site is hosted, for me).

Back to Monday. I ended last week on my third build of my budget app. At this point, it's becoming clearer and clearer where exactly I need to focus my learning energy. YAY for clarity because, let me tell ya, I didn't know which direction I was quite going last week during my solo build of the app. As one of my mentors, Marie Forleo, says: Clarity comes from action, not thought.

My three things I'm focused on today:

1. Picking back up on my budget app and focusing on the 'Delete Item from list' functionality specifically.

2. Writing out my list of steps to take and what to focus on when building and rebuilding an app (from tutorial to full mastery of it)

3. Checking out an online course called Full Stack Open and seeing if it's something I should add to my learning strategy at this time or not.

Happy Monday, again - this week is fully underway!

_This post was originally published on March 16, 2020 on [my blog](https://alexlsalt.github.io/blog)._
In Progress: Breaking Away from the Tutorials
Tags: codenewbie, womenintech, javascript
Published: 2020-04-01 16:03:53

Happy Friday! This has been an exceptionally great week for me in terms of personal motivation.

I'm proud to say that I've completed my morning routine each morning (reading, journaling, and ten minutes of meditation before diving into any work stuff), I've made great progress on my budget app (Round 2: redoing the tutorial *and* Round 3: building the app but not following the tutorial videos), and I've been being more mindful of my health (staying hydrated, eating balanced meals, exercising regularly, getting lots of sleep, etc).

In terms of the budget app, I started in on Round 3 (building the app but not following the tutorial videos) yesterday, and it was actually quite a challenge! Definitely a great example of why it's important to follow along with tutorials up until a certain point but then to consciously break away from them in order to build an app on your own.

To put it simply, it's hard! And it's definitely not as sexy as coding up a storm by following along with a tutorial.

But it's so, so important - and I'd go so far as to say it's *the* factor that sets self-taught developers apart from one another along their learning journeys: those who make the conscious decision to solve problems on their own and those who stay in the shallow end with the comfort and relative safety of tutorials.

But the magic there lies in pushing through those obstacles. In consistently overcoming that often-disheartening feeling of starting from 0. In keeping true to the vision, even and especially through the tough and uncertain parts.

I haven't gotten there in this specific context, but past experience tells me I'll *love* what I see when I come out on the other side.

_This post was originally published on March 13, 2020 on [my blog](https://alexlsalt.github.io/blog)._
JavaScript: How to Dynamically Set the Date
Tags: codenewbie, womenintech, javascript
Published: 2020-04-01 16:02:07

Update: I finished Round 2 of my budget app yesterday! After doing so, I took out all of the functionality from the app (but left the function/method and variable names) so that I can go through and fill everything out myself.

It's easy to feel like I'm not really doing any groundbreaking learning, but I really do think this repetition in an increasingly challenging way is helping me *so* much.

Anyway, I learned this nifty trick to dynamically render the date on a web page using the Date object in JavaScript. Here's how that would look using a function:


  
     var displayMonth = function() {

       var now, year, month, months;

       now = new Date();

       year = now.getFullYear();
      
       months = ['January', 'February', 'March',
       'April', 'May', 'June', 'July', 'August',
       'September', 'October', 'November', 
       'December'];

       month = now.getMonth();

       document.querySelector(***).textContent = 
       months[month] + ' ' + year;
     };
    
 

So, if this code were running today, it would show 'March 2020' on the page, and then next month, it would dynamically render 'April 2020.'

The now variable pulls up a new instance of the Date object with today's date. The year variable uses that instance to get the current year with the getFullYear method of the Date object.

I create the months array with the 12 months of the year, and then we can use the getMonth method on the now variable to return a number 0-11 depending on which month it is. For this example, it returns 2 for March (since arrays start from 0).

Lastly, I update the text content of whatever class I query (this would just be a wrapper in the HTML file around where I wanted the date to go on the site) to the months array at the specific month index (in this case, 2 for March), a space, and the corresponding year variable. Voilà!

_This post was originally published on March 12, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Hump Day Plans
Tags: codenewbie, womenintech
Published: 2020-04-01 15:59:59

Not too much on my mind this morning. (I always think that and then sit down to write the morning blog post and then write a lot more than anyone bargained for lol.)

On today's agenda: Finish round 2 of my budget app. It should take me a couple of focused hours. Googling 'timer one hour' and hitting enter usually helps tons with keeping the focus. 10/10, would recommend for anyone struggling with working efficiently for chunks of time (i.e. not scrolling through social media or finding another distraction every couple of minutes).

I'm also going to get my plan of action down on paper today re: re-developing one of my websites, [So You Think You Can France](http://www.soyouthinkyoucanfrance.com/), so that I can host it myself instead of on Squarespace. It should be a major project, so I'd like to finish my JS course before really digging in because I'm actively trying not to put myself in a position where I'm pulled in too many directions at once.

Cheers!

_This post was originally published on March 11, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Finish the Project, Then Code It Again (and Again)
Tags: codenewbie, womenintech
Published: 2020-04-01 15:58:44

I'm pleased to announce that the second run-through of my budget app is swimming along so much faster than the first! 

The combination of already knowing the overall structure and the familiarity with the code that has already been written has proven quite handy in really sealing in the lesson.

The only annoying thing is that I'm still very conscious of the fact that - if left to my own devices - I still wouldn't be able to code this all on my own. 

So, I think once I've finished coding the budget app this time around, I'll simply list out the steps and then code it all up without going along with the lessons themselves.

Granted, while it'll be largely from a place of memorization, I think it'll definitely help fill in the gaps in my knowledge by pointing out exactly where I'm getting stuck. Then, I'll be able to double down on those bits and improve from there.

_This post was originally published on March 10, 2020 on [my blog](https://alexlsalt.github.io/blog)._
A New Way of Reading for Self-Improvement
Tags: codenewbie, womenintech, books
Published: 2020-04-01 15:57:18

While the weeks slowly pass by, Mondays often seem to roll around quite quickly for me - which I'm not complaining about, since it's the day I get to dive back into coding and projects!

Not too much to say this morning, but I did see an interesting Twitter post where someone claimed that instead of reading one business/self-improvement book at a time, he actually reads several. So, on average a chapter of each per day.

At first, I was like, Whaaaaat? That seems so strange. So of course, I tried it out. On the drive back home last night, I had one eye on my Kindle and the other on the road... Just kidding, I wasn't driving! But, I decided to give it a try with three books that I've already read and loved:

- Turning Pro by Steven Pressfield
- You are a Badass by Jen Sincero
- It Doesn't Have to Be Crazy at Work by Basecamp's Jason Fried and DHH

And I continued on with it for this morning's reading! It's a little strange, but it's actually kind of cool - it's like being in a room with these incredibly smart people and getting a few daily lessons from each. To be continued? We'll see!

As for what's on my plate for this week, I'm going to be taking apart my budget app and putting it all back together again. I'm also going to be looking into taking a website I've crafted off of Squarespace and re-developing it myself so as to be able to add it to my developer portfolio - an idea that struck me out of nowhere last night as we barrelled through the French countryside under a full moon - also to be continued...

_This post was originally published on March 9, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Tutorial Round 1 (of many): Complete
Tags: codenewbie, womenintech, javascript, devjournal
Published: 2020-04-01 15:55:53

This week, I accomplished my goal of finishing up my budget app tutorial with the JavaScript course I'm currently taking. In a final step for me, I took a huge piece of paper and copied out the overall structure and functions of the app. Now...is it totally finished/complete and does it finally give me the opportunity to move on to the next project right away?!

Certainly not!

In fact, I'm going to be taking it apart first thing next week (dare I say... deleting all the code?!) and redoing it from a place of more familiarity with the overall structure and functionality of the entire app and how its components all fit together. I'm feeling excited about it, but also sad that I have to delete all ~450 lines of the app's code. Maybe I should print it out for nostalgia's sake...

Anywho, we're off to the French countryside for an impromptu weekend en famille. Since I won't be coding, I'm looking forward to hitting the ground running come Monday. Ciao!

_This post was originally published on March 6, 2020 on [my blog](https://alexlsalt.github.io/blog)._
The Weird Thing About Deleting Items from Lists in JavaScript
Tags: codenewbie, womenintech, javascript
Published: 2020-04-01 15:44:55

When we create any type of program that includes functionality for adding and deleting items from a list on an app's interface, we need to pay extra attention to the features we include to delete items.

Before learning how to delete items off of lists, in my mind it seemed as simple as telling that specific item to delete itself from the DOM and it would disappear. But this is so wrong, and it really doesn't make any sense if you really think about it and have some JS experience under your belt.

Essentially, we can't just tell an item to delete itself. Instead, the deletion needs to be the responsibility of another related item. So, what we actually need is the item's parent element to do the deleting. Once we have access to that parent element, we can use the removeChild method to do so.

In other words, it's impossible to delete the item itself in JS, so we need to move up from the element to the parent node and then insert that same element to be removed into the removeChild property. Here's an example of that as a method of an object:


      
        deleteListItem: function(selectorID) {

          document.getElementById(selectorID).parentNode
          .removeChild(document.getElementById(selectorID));
        }
      
    

And here's that same example after a bit of cleaning up/prettifying:


      
        deleteListItem: function(selectorID) {

          var element = document.getElementById(selectorID);
          element.parentNode.removeChild(element);
        }
     
    

The end.

_This post was originally published on March 5, 2020 on [my blog](https://alexlsalt.github.io/blog)._
Getting Comfortable With Being Uncomfortable
Tags: codenewbie, womenintech
Published: 2020-04-01 15:43:14

Something I continually think about is the idea/necessity of being comfortable with temporary discomfort when it comes to growth or leveling up in life. We can apply this simple yet effective concept to absolutely anything we come up against, and - instead of giving up just as the going gets tough - we can positively thrive over time and after getting more habituated to the discomfort.

I was in my Body Pump class at the gym yesterday that I try to get to twice a week. It kicks my butt - and it's certainly never comfortable in the moment - but I also find such motivation to push my body each time to get stronger. The routine stays the same for a few months, so it's easy to start getting used to what to expect each class, but it's also a great way to track your progress in terms of taking fewer breaks during the repetitions or adding more weight to your bar.

Pushing through the hard parts when it's really freaking grueling is the ultimate sweet spot where you're pushing yourself to the next level.

And it's the same for me with coding. Day after day, I know that if I continue to show up and put in the work (which, let's face it, isn't comfortable the majority of the time), I'll get better and grow to be an all-around better developer.

Getting comfortable with being uncomfortable is probably one of the best things we can do for ourselves under any circumstances when our goal is grow, improve, and ultimately master whatever we want to.

_This post was originally published on March 4, 2020 on [my blog](https://alexlsalt.github.io/blog)._
CloudFormation for Serverless API Development
Tags: aws, devops
Published: 2020-04-01 15:42:47

---
title: "CloudFormation for Serverless API Development"
published: true
description: "Example of a CloudFormation template that can be used to start developing a serverless API in AWS"
tags: aws,devops
canonical_url: "https://thomasstep.com/blog/cloudformation-for-serverless-api-development"
---
When I was first learning about AWS lambda and API Gateway (serverless), I spent quite a bit of time searching around for help and template snippets to help me build a CloudFormation template. I have seen a lot about the [`serverless`](https://serverless.com/) framework and I know that there are easier ways to get into building serverless infrastructure on AWS, but sometimes learning what is happening behind the scenes helps me learn and understand the concepts better. In order to create the documentation that I wish I had while learning this stuff, I decided to create a basic [CloudFormation template to spin up a serverless API on AWS.](https://github.com/thomasstep/aws-cloudformation-reference/blob/633abc282194c14faa0646e3c792d46a71e0de24/lambda/api-gateway-and-lambda.yml) The idea behind this is that you can upload this template to AWS, tell CloudFormation to create a stack with it, and be ready to start developing your API without having to worry about creating basic infrastructure. Of course there is additional knowledge that you would need to gather like how to upload code to your lambda function, create new methods and resources on your API Gateway, etc. It's quite likely that I will post more in the future about how to do those things, but for now, I hope that this can be a good foundation for others to build off of while starting their serverless and AWS journey.

Again, here is the link to the starter template [api-gateway-and-lambda.yml](https://github.com/thomasstep/aws-cloudformation-reference/blob/633abc282194c14faa0646e3c792d46a71e0de24/lambda/api-gateway-and-lambda.yml).