Sharpen Your Skills

This collection is about you and the tools you use. The solution you’re creating needs to be translated from your brain into patterns using a set of tools that you learn during your time as a programmer. Let’s open up the shed and sharpen things!

design-patterns-creational.jpg

Design Patterns: Creational

Tried and true design patterns for creating objects in an object-oriented language.

20 minutes

design-patterns-structural.jpg

Design Patterns: Structural

As your application grows in size you need to have a plan to handle the increase in complexity. The Gang of Four have some ideas that could work for you.

14 minutes

design-patterns-behavioral.jpg

Design Patterns: Behavioral

Mediators, Decorators and Facades - this is the deep end of object-oriented programming and something you'll come face to face with as your application grows.

16 minutes

principles-of-software-design.jpg

Principles of Software Design

You've heard the terms before: YAGNI, SOLID, Tell Don't ASK, DRY... what are they and what do they mean?

16 minutes

testing-your-code-tdd-and-bdd.jpg

Testing Your Code: TDD and BDD

Testing code has moved beyond the realm of QA and into the realm of design, asking you to think about what you do before you do it. Let's have a look at some strategies.

32 minutes

shell-script-basics.jpg

Shell Script Basics

It's a Unix world. You should have a functional knowledge of how to get around a Unix machine using the command line, as well as how to complete basic tasks using shell scripts and Make files.

31 minutes

hands-on-creating-a-useful-shell-script.jpg

Hands On: Creating a Useful Shell Script

I use the static site generator Jekyll to write my blog. I store the site at Github, who then translates and hosts it all for me for free. Jekyll is simple to use and I like it a lot. There's only one problem: it's a bit manual.

21 minutes

deciphering-a-complex-bash-script.jpg

Deciphering a Complex Bash Script

I use the static site generator Jekyll to write my blog. I store the site at Github, who then translates and hosts it all for me for free. Jekyll is simple to use and I like it a lot. There's only one problem: it's a bit manual.

24 minutes

making-your-life-easier-with-make.jpg

Making Your Life Easier with Make

Make is a build utility that works with a file called a Makefile and basic shell scripts. It can be used to orchestrate the output of any project that requires a build phase. It's part of Linux and it's easy to use.

27 minutes

using-make-to-improve-your-test-suite.jpg

Using Make to Improve Your Test Suite

Make has been around forever and is often overlooked in favor of tools that recreate precisely what it does, but in crappier ways. Let's see how you can use Make to help your testing process.