Showing posts with label html. Show all posts
Showing posts with label html. Show all posts

Wednesday, April 18, 2018

950 Hours: New blog name, JavaScript, NodeJS, etc.

Mission WebDev

Mission DevOps is now Mission WebDev.  Nothing much else in the blog will change, but it represents the next stage in the evolution of my career as a software developer.  Since I updated my online profile to reflect this, I have attracted more interest, which is always a good sign.  I am working my way through a couple of courses online to lay a strong foundation for front-end development, so in this pomodoro cycle I have covered, inter alia, the following topics:

HTML/CSS/JavaScript

  • Basics of HTML
  • Basics of CSS
  • Basics of Bootstrap
  • Basics of JavaScript:
    • Control Flow
    • Functions
    • Arrays
    • Objects
  • Basics of DOM Manipulation
  • Basics of jQuery

NodeJS (Mostly theoretical)

  • V8 JS Engine
  • Node core
  • modules, exports, require
  • Events and the Event Emitter
  • Asynchronous code, libuv, event loop streams, files, etc.

Study Goals

My goal for the next pomodoro cycle is to complete the following courses online:


It's not an easy course because Alicea goes deep into the Node core and takes the time to explain concepts in exacting detail.  Lots of gestalt moments to be had.


I'm so impressed by Alicea's treatment of NodeJS so far, that I trust his JavaScript course will give me the deep understanding I'm looking for.


A great educational framework.  I've put it on hold until I complete the other two courses, and will probably park it at certain points in order to supplement my knowledge in other areas, but it's the best overall guide to becoming a web dev that I've found so far.

Coding Challenge

In addition to the course, I've set myself the challenge of working my way through last year's Advent of Code in JavaScript.  If I can complete all these challenges, I'll be satisfied with my proficiency in JavaScript and be confident in mastering a web development framework.

React or Vue?

I'm still undecided, but it's probably not something I'll have to address before I hit 1,000 (!!!) hours in my mission to become a fully fledged (and employed) web developer.

See you in a hundred pomodoros.

Wednesday, July 5, 2017

800 Pomodoros (400 work hours)

I have officially spent 400 hours in my pursuit of a career in software development.



I summarised my achievements at the completion of 700 pomodoros, and I don't have an awful lot to add, except that I understand HTML and CSS a bit better and am in the process of refining my knowledge of programming fundamentals in Ruby.

There are days when I feel a little disheartened by not having a job yet, but I knew it would be a long process when I started it and there's plenty to take heart from.  Let's see how I'm situated by the end of this cycle.

Monday, June 12, 2017

A Snippet of Code for Converting HTML Classes to CSS

I'm practising my Flexbox skills and I didn't want to type out the names of the classes ad nauseam.

Wednesday, June 7, 2017

Focusing on Flexbox



This looks to be the course for me: https://www.udemy.com/css-flexbox/

HTML and CSS Is Suddenly A Lot More Interesting


I don't know why, but somewhere into the freeCodeCamp HTML/CSS foundations challenge, I suddenly found myself enjoying it.  I am, of course, quite familiar with the basics of HTML and CSS, but I had never found it especially compelling; I was happily absorbed in Ruby for hours and hours, but couldn't have imagined that I'd enjoy the building blocks of front-end.

Nevertheless, something clicked for me, and I am going to focus intensely on HTML and CSS for a while, before moving on to jQuery and JavaScript.

Tuesday, June 6, 2017

Coming Back from Disappointment: A New Chapter


Review: Putting it all in context

After 700 pomodoros of studying, coding, blogging, and job-seeking spanning five months, I am still without my first job as a junior developer.  The hardest part of it all is maintaining an optimistic outlook after repeatedly being turned down, especially after the excitement of performing so well in numerous interviews.

But that won't stop me.  There are identifiable reasons for my failure, and the good news is that all the things cited are eminently improvable and correctable:

  1. Quite simply, the quality of my code, into which I have poured so much effort, is still not good enough in the estimation of the interviewers.  This is good news, for I can learn from their feedback and code to a higher standard.
  2. After one poor performance in a pair programming interview, I handled myself well in very similar conditions three days later.  I know where I went wrong in the first one; I know what I did right in the second.  I can build on this.
  3. I need to familiarise myself with the core competencies, frameworks, and tools of front-end development.  My plan was always to give myself a solid foundation of programming in Ruby and a basic sense of DevOps with Vagrant and Docker, and although there is room for improvement in that regard, the task of getting really good at HTML, CSS, Rails, Heroku, etc is now a lot easier.
Add to that, I have gained a lot of contacts, spent plenty of time at meetups, made good impressions on many people, and have a highly sophisticated approach to learning and time-management.

So all things considered, I am many miles further down the road than when I set out on this journey at the beginning of the year.

Where to from here?

Rails

I think I'll muscle through Michael Hartl's Rails tutorials.  Although there are many good ones, this one is updated to Rails 5 and seems to do a fair job of sticking to the core knowledge.  The Odin Project looks good as well, but there's no point in jumping around from course to course.

HTML/CSS

Many experienced developers tell me that most juniors today are pretty weak on HTML and CSS, having jumped straight to boilerplates, JavaScript, and plugins.
As with other endeavours, I believe wholeheartedly in mastering the fundamentals.  It is hard to make such a commitment to something seemingly outdated, but I believe it will benefit me greatly in the long run.

JavaScript

The debate between Ruby and JavaScript rages on, and I have heard it said from those in the front-end world that the only language you really need is JavaScript these days.  I am glad I chose to learn through Ruby, and having gained a grasp of the fundamentals, learning JavaScript will be less daunting from here on out.

Summary

As much as I'd love to have been picked up by a company already, I am not really behind schedule at all, all things considered, and having taken some time to relax, recharge, and review, I am now keenly looking forward to the next couple of months.

Wednesday, April 5, 2017

Starting To Understand Static Pages in Rails

Just finished Chapter 3 of the Ruby on Rails Tutorial (Rails 5) by Michael Hartl, and after the umpteenth time going through "rails new app" and "rails scaffold this-that-or-the-other", I got on to static pages.  It's a bit to take in, but it's starting to make sense.


Thursday, March 23, 2017

Ruby Achievement Unlocked, Time for Rails

Having reviewed my solutions to the first three Days of puzzles of Advent of Code, I am now comfortably proficient in the fundamentals of programming in pure Ruby.



When presented with a problem, I am confident that I can do the following:

  • Define the problem
  • Describe the solution broadly in programming terms
  • Denote the likely classes and methods to be used therein

Thereafter, I am now confident that, given enough time, I can solve the problem.  There is room for vast improvement, but that will come with time.

I really enjoy the daily solution of programming puzzles, and would love to solve all fifty; however, my duty is to prioritise my studies according to optimal employment criteria, and there aren't a lot of jobs going for junior developers who specialise in solving fun puzzles in pure Ruby.

Having passed this milestone in my learning, I am now ready to hit the books again.  My study plan encompasses the following:

  • Build a website in Ruby on Rails to showcase my Advent of Code puzzle solutions.  This includes the following:
    • Deep knowledge of Rails
    • Proficiency in Javascript
    • Proficiency in JQuery
    • Proficiency in HTML/CSS
    • Proficiency in PostgreSQL and/or mySQL
    • Writing automated tests in RSpec (my preference) or Factory Girl
  • Host the website on Heroku
  • Additionally, I will further my knowledge of the following:
  • Coffeescript
  • Haml
  • Amazon Web Services: it would be good to know which services are of the highest priority, as one could spend a lifetime on there.

To gain experience in upgrading older Rails versions, I could probably clone the source code of an existing Rails to a virtual machine, on which an old version of Rails is installed.  However, this is a lower priority.

As all who know me can attest to, I can learn and work quickly and efficiently, and am adaptable and resilient.  I also take pride in managing expectations between multiple clients and communicating with both clients and colleagues.

For the next couple of weeks I will focus primarily on the Rails framework by working through Ryan Bigg's promisingly large tome: Rails 4 in Action.  In this way I expect to establish a thorough grounding in Rails and also a gain a perspective on the changes from Rails 4 to Rails 5, which could come in handy if I ever work on a legacy codebase.

Tuesday, November 29, 2016

Near-future Study Topics

Primary Focus


  • ES6 Javascript
  • Componentization
  • Semantic HTML Markup
  • Responsive CSS
  • CSS Animations
  • React
  • Ability to implement custom bespoke layouts from scratch

Secondary Focus


  • Node.js
  • Webpack
  • using CSS modules, Radium or Aphrodite
  • Redux
  • Server Side Rendering

Wednesday, November 23, 2016

Progress Report on Full Stack Web Development Training


I've committed myself completely to the full stack web development course through Code Academy, and it's going quite well.

My goal for the coming week is to complete all the courses leading up to Ruby and Ruby on Rails before I attend the Melbourne Ruby meetup next week.

My main priority is Ruby, so at this stage I am interested in the other components of the full stack only insofar as they are strictly needed for working with Ruby on Rails.  Once I've completed the main modules of all the courses in the stack, I'll go back and complete the supplementary exercises to sharpen my skills.

At the moment, this is how it looks:



Having spents years fiddling with basic Python and BASH, none of this is particularly difficult, but I commend Code Academy on putting together courses that give a good introduction to each language and framework.  I was a little bored by the HTML & CSS course because I came into fairly comfortable with both, so my only recommendation would be for Code Academy to consider a way of giving the equivalent of RPL (Recognition of Prior Learning) to students who can pass certain tests with ease.

For example, if someone already understands what a boilerplate is, a few questions on a test would bear this out and that portion of the course could be marked as completed automatically.  Instead, I had to slog through material I already knew back to front.

Still, I strongly recommend the course.  I feel that it is working well for me, and will commence the next stage of my journey towards a career as Ruby developer with confidence upon completion of these courses.

Saturday, October 29, 2016

The Source Code for for My Second Dash Project (Personal Blog)

<!DOCTYPE html>
<head>
  <link href="/normalize.css" rel="stylesheet">
  <style>
    header {
      text-align: center;
      background: url('https://i.ytimg.com/vi/M9RkUnmeW6I/maxresdefault.jpg');
      background-size: cover;
      color: white;
      font-family: ubuntu;
    }
    a {
      color: white;
    }
    h1 {
      font-size: 70px;
    }
    img {
      margin: 40px 0px 0px 0px;
      border: 7px solid white;
      border-radius: 20px;
    }
    ul {
      padding: 10px;
      background: rgba(0,0,0,0.5);
    }
    li {
      display: inline;
      padding: 0px 10px 0px 10px;
    }
    article {
      max-width: 500px;
      padding: 20px;
      margin: 0 auto;
    }
    @media (max-width: 500px) {
      h1 {
        font-size: 36px;
        padding: 5px;
      }
      li {
        padding: 5px;
        display: block;
      }
    }
  </style>
</head>
<body>
  <header>
    <img src="https://goo.gl/JEnUHP" width=20%>
    <h1>Alexander's Blog</h1>
    <h2>The long and short about me.<h2>
    <ul>
      <li><a href="https://missiondevops.blogspot.com.au/">Mission DevOps</a></li>
      <li><a href="http://alexandergarber.blogspot.com.au/search/label/missionmobility">Training</a></li>
      <li><a href="http://alexandergarber.blogspot.com.au/search/label/theodessia">The Odessia</a></li>
    </ul>
  </header>
  <div style="width: 100%; overflow: hidden;">
    <div style="width: 50%; float: left;">
    <article>
    <h2>Mission DevOps</h2>
    <p>My mission is to become a software developer, and ultimately a DevOps engineer. On this blog I will share with you my journey into this exciting and complex profession.</p>
    <button>Like</button>
  </article>
 </div>
    <div style="margin-left: 50%;">
       <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk9lmDzihezMpVjVM7dGc_GkuhRrEF6ix_BpDF15bTTXR1OTzHyC9mcx3VDlgtxI_wtbi6RcnZkxKu0am-gVr6JfMTcehWyRB_ZSNT3uWeN5Jg-YVFKLUR6GkP_0G0MG-A74RXa3sShktP/s1600/Screenshot+from+2016-10-26+13-53-52.png" width=50%></div>
</div>

  <div style="width: 100%; overflow: hidden;">
    <div style="width: 50%; float: left;">
    <article>
    <h2>Strength and Flexibility Training</h2>
    <p>Since the early 2000s I have been on a personal quest for an antidote to the sedentary nature of modern living.  I have learned much that I wish to share with the world.</p>
    <button>Like</button>
  </article>
 </div>
    <div style="margin-left: 50%;">
       <img src="https://lh3.googleusercontent.com/pBIqNtwwHBtkI2LLgXDWz6aLOdHy7Vb7VzgrJFPJBWCHg249Gc02FArZNUKDHWLw468KS7f_0Pcv3ENeojgP9N4D3Ho6JB-YIoUBQQcAfy8GG80WFXt_SGK8WJG_O57NvB5O2ZA4GiUrw4gttYfbVqfF_QVnzp-REYoZ-23iH1KnLP2iVe5vUUJM-22APxl-Uf-kZVghdonwlb5_i8-3fzmDbMLSF96fd21OtshYWR-8nvon6H6tuwP2NV_zqbhx1nUiYw3Wm5ZYlu2cgpDcIAFJ4YoMdCfWeJZ6e11B-yn3uhUZYyY--xUE6sz2i3bBXZI0G-GlhhR-VLgIM_4ZYMUpJQ0lpAQx_qYMpLeBOAYAh09Psm-CDTJFlRaHblo81-HN9mBdw73dxR0V3TN32HtuH3vLdkx13awaNQEdV-KIjcdg6cO1SIIL54ouSnfrDMJUvRZJtQF8D_u9QpHB7FGaGWm-UKBiodgCDWSK2Knhtl72x5HVhn6ABD0DAjWFFUYttfvN4_RPR2Ton_qz4KPU2jc_U4OSwDj-MsGOy8MC9Tt5YcNo_hevx45nDDMtSzDRr4dOcQektxIeeN-1JFqgU0G07dBne9izWwRZa0QH9s--=w506-h491-no" width=50%></div>
</div>

  <div style="width: 100%; overflow: hidden;">
    <div style="width: 50%; float: left;">
    <article>
    <h2>The Odessia</h2>
    <p>The Odessia is a fantasy novel that explores philosophy, free market economics, love, life, and the universe through the adventures of its heroine, Odessa, and her travelling companion, Trousers the cat.
</p>
    <button>Like</button>
  </article>
 </div>
    <div style="margin-left: 50%;">
       <img src="http://theodessia.weebly.com/uploads/4/1/5/9/4159515/916806.png?432" width=50%></div>
</div>
  </script>
</body>

1,050 hours

It took me 13 working days to complete my first 100 "work" pomodoros as a Junior Software Tester at Profectus Group.  Much of ...