JavaScript Learning | January-March 2019

Note: This post is part of my JavaScript/react learning progress series. Links to my year-2018 learning progress are available here: First Quarter (2018), Second Quarter (2018), 3rd Quarter (2018) & 4th Quarter.

While preparing my 2018 year-end learning progress post, I had set my broad learning goals for the year 2019. In additional to outlining some specific learning goals in the post, I had also prepared ReactJs & JavaScript Learning Roadmap for 2019. This post is overview of my learning/coding progress for first quarter (January-March) of 2019.

First Quarter Goals

My goal for the first 3-months (and beyond) of 2019 is to continue deep learning JavaScript with a goal to master basic JS language with an emphasis on ES6 features including the following topics:

  • Learn by building things: One of my goals was to learn by doing projects and complete the React router & ES6 syntax posts.
  • Strengthen JS fundamentals: Learn & write at least one/two topics in ES6 (Spread & Rest), Promise, Asynchrony

Goals Accomplished

This quarter turned out to be shorter-learning than I had planned for. However, I was able to manage to complete the followings:

JS Topics Covered
  • Common ECAMScript 6 (ES6) syntax and feature 3-part series: Completed three posts with (i) basic syntax, (ii) functions, object & classes, and (ii) asynchronous features.
  • JS accessors – Getters & setters. In this learning post, defining accessor properties, getters, setters, and creating object properties with object initilizers and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty" target="_blank" rel="noopener noreferrer">Object.DefineProperty</a> methods are discussed.
JSON Deep Diving
  • Asynchronous features & JSON. Because understanding & use of JS asynchronous features involves understanding of external API and JSON, I jumped first to understand JSON and external API deeply to to obtain JSON data from external servers, and their use in web pages including ReactJs.
  • Common use cases of JSON data. Learned few examples of JSON data common uses which are documented in this post.
  • Connecting to an External API with JavaScript (in preparation).
Learning Topics in Progress
  • Connecting to external API in JavaScript
  • ES6 Async/Wait Features
  • Use of external API data sources through Axios, fetch in React App
Revisiting WordPress Hardening

In March I was informed that my WordPress sites were compromised. I spend almost entire months to learn more about WordPress hardening and re-organize my WordPress sites. In general, most of my sites followed WordPress hardening rules but it appears that additional site security features should be added through .htaccess file. Additional information how my sites were recovered is documented in Securing Compromised WordPress Sites post (login permission required).

Development Environment Updates
  • React updates: Updated ReactJs to React v16.8 with Hooks and documented it for futures updates.
  • Yarn Installation: Install Yarn on my machines to and start learning / practicing on my projects.
Developers & Bloggers Sites
  • Andy Bell Design | Andy Bell. A good site with tons of learning resources and tutorials.
  • Picallilli by A Andy Bell Project. A pickle jar full of curated CSS links to slick websites, animations, illustrations, and algorithms, brought to you by Andy Bell.
Inspiring Posts

Goals for the Second Quarter

  • Completing learning-notes posts (drafts): I have several learning-notes posts drafts in progress; a few of them started more than six-months before. I plan to complete as many of the drafts post as possible without affecting m main learning objective.
  • Understanding DOM and DOM manipulation: This topic had been left behind but plan to catch up this topic.
  • Deep diving to React hooks: React hooks were introduced with version 16.8 release. The understanding of hooks and functional components is essential to get a good grasp of React library.
  • Exploring Gatsby: Learning to create a basic Gatsby blog in local server and using WordPress with ReactJs.
  • Book Reading: Wisdom at work – Making of Modern Elders by Chip Conley.
Wrapping Up

This 2019 first quarter fall short of my plans & expectation. I wrote in my 2018 fourth-quarter progress: “I learned a lot from various tutorials, posts, developers and their work inspired me to do what I love to do. Learning is a process and not a goal.” I must take a long view while doing my learning. From next quarter I expect to have more learning time and looking forward to more distraction-free learning.

Happy Coding!