22 February 2016

Week 04 & 05

Wow, the past 2 weeks have flown by. So much so that the thought of updating this blog hadn't even crossed my mind. It was only today when Maker's tweeted one of my previous blogs that it jogged my memory & reminded me to post some content.

Week 4

Was heavy, it was mainly based around non-relational databases & creating them to use within our apps. Our task for the week was to create a simple bookmark manager that had log in/out functionality, users could save & tag important links.

So far this was one of the hardest weeks for me due to the amount of new technologies we had to learn & implement. It was the first week where I got to the confidence survey on the friday and actually didn't understand something on the form. I was like 'what the hell is Bcrypt' (its a Ruby Gem that encrypts passwords). But I had never seen it, and either had most of the others in our cohort. Again Sam reminded us that it doesn't matter, the weeks materials are designed so that completion of the task is impossible.

Instead it was a case of going back over the solutions at the weekend & having a stab at implementing this new stuff... Something which I managed to do & so I created a basic Twitter Clone called Chitter! It looks terrible as my HTML & CSS skills are seriously poor, but I really don't care as...

A) I prefer working with the back-end logic anyway, I can't see myself becoming a front end Dev after...


B) after learning languages like JavaScript & Ruby, HTML & CSS concepts seem to be an absolute piece of piss to grasp. I did a tutorial on it this weekend & already I feel better about it.

Looks like crap compared to the normal twitter right? Like I said my HTML & CSS skills are poor! xD

Heres the good stuff, my main controller that talks to app, its using awesome Ruby Gems like DataMapper to create Database tables that are stored both locally & on my Production app that is on Heroku... Coupled with BCrypt that stores a user's password as a scrambled string.

There's all sorts of other stuff in there too!

Week 4 was by far the hardest in terms of things I needed to learn! After all of this it was onto our new language JavaScript.

Week 5

Javascript is an object orientated programming language that was developed over 10 days. It is mainly used for front-end stuff but can be used for other purposes. It's really versatile & it is my second programming language I ever learned! :)

Week 5 consisted of creating a simple thermostat that could be turned up, turned down, temperature reset & power saving mode enabled. It has maximum temperatures which change depending on it's mode etc.

All the above business logic was created after just 2 days of learning JavaScript. By day 2 I had written FizzBuzz & some of the Airport Challenge so creating the logic for my thermostat wasn't too bad! :) We were introduced to Jasmine a JS testing framework which I didn't really get on with! xD

Bit O' JS for ya!

Once the above logic was done it was all about using jQuery (a JavaScript library) to interact with the app that was on a HTML page.

This is done with an interface which talks to HTML classes & ID's and links the actions undertaken by a user on a page, back to the logic which increases the temp etc etc!

That looks like this ^^ :)

The weekend challenge has been split into two weekends as we were encouraged to take the first one off. It's basically telling me to create a Bowling Score card that takes frames/strikes/splits/scores all into account & can return an overall score. If we have time we should then implement jQuery so it works on a page! I've started on it but its really hard & so it's something I'm going to work on over this week/weekend.

Im struggling with dependency injection within JS and then testing those injections using jasmine. Something that I think I will only get the hang of with more experience. I was up till 5am Sunday morning trying to get my head around extracting my logic to separate objects!

It's week 6 now, Project week. We have been split into Teams & are working towards creating an AirBnB creation. This will help us reflect on the previous weeks & make it easy to consolidate what we have learnt by putting it into practice. All this whilst following Agile procedures of course! Extracting user stories, TDD, holding our own stand-ups etc etc!

Last week I also went to my first NWRUG meeting which was awesome! I met up with a fellow Roniner; Fareed & we headed over there to pair with some experienced devs on creating our own test framework. Whats that you say? "How do you test a framework your building without having a test framework to use?" Exactly! What a mind bender!

Anyway it was a good experience! We didn't quite manage to complete the task, i'm sure the poor senior dev that was paired with us noobs could have probably done it in his sleep though! He stuck with us however & walked us through the way he would approach it for which I am eternally grateful!

I learnt loads in terms of rescue statements & even some new VIM commands! It finished with a trip to the pub where I met a few other devs & chatted for a few hours about getting into the industry & what to expect. A stand up bunch of lads that were down for a drink or two! Nice one!

Me, Fareed & Michael working on our attempt of the challenge...