FEND Week 3

Portfolio website project

Turned in. Passed with flying colors . No big recommended changes so I’ve moved onto the next section Web Programming with JavaScript. I would share the project but it isn’t online because I’m too lazy to host images somewhere to refer to remotely for the project. At some point I will go back and do just that then update this post with a link.

JavaScript

Most of the JavaScript lessons (data types & variables, conditionals, loops, functions, arrays & objects) were already completed during the challenge course.  As they were very recently completed, I’ve focused on syntax, shell workshop, version control, git repos this week.

buhbye var hello let and const

During the three month challenge course variables were declared using  the keyword var . It seems that using var is no longer recommended and instead let and const should be used.  let is used if you’re going to reassign new values to a variable and const when you aren’t going to reassign new values.

Template literals

Using placeholders ${nameofvariable} to build strings instead of quotes and string concatenation operator +  The difference between the two is below:

With string concatenation

'You just type this expression with ' + variablename + 'and ' + anothervariable'

Using template literals

`You just type this expression with ${variablename} and ${anothervariable}`

Another nice thing about template literals is that they keep newlines as part of the string …

`So I can type

something like this and not have

to include funny newline characters

to maintain the line spacing`

Destructuring

Destructuring is a concise way to extract items from a data structure such as an array or object. When I got to this topic it didn’t register immediately and I had to go over the lesson a few times before it really started to sink in. I think my main issue is understanding what types of scenarios I would apply this to. Worded a different way… What problems can destructuring actually solve? As someone who has written very little code up to this point in my life … I’m still figuring out the answer to that question. However I at least have a handle on the syntax of destructuring objects and arrays

i is for iterator

Who knew? Of course it totally makes sense . Not sure why I never really gave i much thought and what it actually stood for when I’ve used it for years. Makes sense as to why it is usually used as a counter.

Object literal shorthand. for…of loop, spread operator

Additional ways to make code shorter … less to type. That said I won’t go into details here. Mainly just noting I covered these topics.

Shell, version control and Git repos

Spent a solid ~4 hours working with Git and playing around with shell commands.  I look forward to using Git for version control and it will make certain tasks a lot easier.

I had set up Git previously as a result of a Git Complete Mastery with GitHub : 100% Hands-on Git Guide Stackskills course I started a few months back. Never actually used Git much outside of that course until now.  I got the course as part of a discounted GDGT bundled deal on a bunch of programming courses. Regarding online courses in general (Udemy, Stackskills, GDGT etc) I would recommend purchasing courses when they go on sale or are offered as a discounted and/or bundled deal.  Udemy has 80-90% discounts frequently I don’t believe I’ve ever paid “full” price for any Udemy courses.

Plan for next week

There are still a lot of topics remaining for section 2 Web programming with JavaScript that I was unable to get to this week. I hope to finish up section two next week so I can start on Project 2: Memory Card Game.

Here are the many topics that I need to get through to complete section 2 Web programming with JavaScript:

  • Add commits to a repo
  • tagging, branching, merging
  • undoing changes
  • working with remotes
  • working on another developer’s repository
  • staying in sync with a remote repository
  • Document Object Model (DOM)
  • Creating content with Javascript using JavaScrip & DOM methods to create page content
  • working with browser events
  • LAB Pixel Art Maker
  • Performance
  • Project 2: Memory Card Game

The above is probably somewhere between 8-15 hours of effort if not more. Most weeknights I can spare 2-3 hours in the evening. I may also dedicate a big chunk of time next weekend to help knock this out if needed. I’d really like to get started on the memory card project.

Summary of current progress:

  1. Web Foundations (HTML, CSS, Responsive design…) (100% complete)
  2. Web Programming with JavaScript (JavaScript, git, version control, DOM..) (74% complete)
  3. Exploring JS – Object, Tools and Testing (Accessibility, testing, optimization)
  4. Front-End Applications
  5. Building with React
  6. Extracurricular (jQuery, security) (25% complete)
  7. Career – Job Search Strategies
  8. Career – Networking
  9. Career – Front-End Interview Practice