Warning: include_once(js/ie.php): failed to open stream: No such file or directory in /home3/gcalas/public_html/tut7.com/wp-content/themes/bigfeature/header.php on line 15

Warning: include_once(): Failed opening 'js/ie.php' for inclusion (include_path='.:/opt/php54/lib/php') in /home3/gcalas/public_html/tut7.com/wp-content/themes/bigfeature/header.php on line 15

SOLID: Part 3 – Liskov Substitution & Interface Segregation Principles

January 24, 2014  |  Databases  |  , , , , , ,  |  Comments Off

The Single Responsibility (SRP), Open/Closed (OCP), Liskov Substitution, Interface Segregation, and Dependency Inversion. Five agile principles that should guide you every time you write code.Because both the Liskov Substitution Principle (LSP) and the Interface Segregation Principle (ISP) are quite easy to define and exemplify, in this lesson we will talk about both of them.Liskov Substitution Principle (LSP)Child classes should never break the parent class’ type definitions.The concept of this principle was introduced by Barbara Liskov in a 1987 conference keynote and later published in a paper together with Jannette Wing in 1994. Their original definition is as follows:Let q(x) be...

Read More

Browser Testing in the Cloud Redux

January 13, 2014  |  Databases  |  , , ,  |  Comments Off

I’ve written quite a bit about browser testing solutions trying to help identify techniques and tools that make cross-browser development easier. My last article on the subject covered how to use BrowserStack to test any number of browsers all from one central tool; your own browser.I was on a Windows PC back then so testing multiple browsers was a bit easier and testing tools were mainly complementary to my work. Now that I’m on OS X, the need for tools to round out my testing strategies is even more important, specifically because of the lack of Internet Explorer on the...

Read More

Writing Robust Web Applications – The Lost Art of Exception Handling

January 6, 2014  |  Databases  |  , , , , ,  |  Comments Off

As developers, we want the applications we build to be resilient when it comes to failure, but how do you achieve this goal? If you believe the hype, micro-services and a clever communication protocol are the answer to all your problems, or maybe automatic DNS failover. While that kind of stuff has its place and makes for an interesting conference presentation, the somewhat less glamorous truth is that making a robust application begins with your code. But, even well designed and well tested applications are often lacking a vital component of resilient code – exception handling.I never fail to be...

Read More

Testing in Node.js

January 3, 2014  |  Databases  |  ,  |  Comments Off

A test driven development cycle simplifies the thought process of writing code, makes it easier, and quicker in the long run. But just writing tests is not enough by itself, knowing the kinds of tests to write and how to structure code to conform to this pattern is what it's all about. In this article we will take a look at building a small app in Node.js following a TDD pattern.Besides simple 'unit' tests, which we are all familiar with; We can also have Node.js's Async code running, which adds an extra dimension in that we don't always know the...

Read More

Coding With Koding

December 27, 2013  |  Databases  |  ,  |  Comments Off

Cloud IDEs have been around for a little while now, and they have been pretty good for things like pair programming, or cases where you want to code consistently no matter where you are. Koding just came out of private beta, and they would like to take this notion a couple steps further, with their “cloud ecosystem”.In this article we will take a look at what Koding is, as-well as some of the benefits you can get from using it.Koding is kind of hard to explain, because there isn’t really a product similar to it on the market. So to...

Read More