Recently while viewing the documentation and source for Lo-Dash, I noticed an interesting Github feature which allows for linking to any line number within a source file, and highlighting the line when the page is loaded, via URL anchors. Linking to line numbers in source files To link to a specific line of code in a source file on Github,… Continue Reading
Determining if an object is empty with Underscore / Lo-dash
Saturday, August 18th, 2012When leveraging the utilities provided by Underscore or Lo-dash, determining if an Array, String or Object is empty is quite simple via the isEmpty() method. The isEmpty() method and Objects In the context of an Object, it is important to keep in mind that _.isEmpty() is implemented such that it determines an Object as being empty in a literal sense…. Continue Reading
Managing Client-side Templates with RequireJS
Sunday, July 15th, 2012When developing single page web applications, patterns of structure, organization and reuse become ever more important. This especially holds true when there is a need to maintain mulitiple web applications, each of which targeting a specific form factor, while also sharing many of the same underlying core APIs. In the context of client-side templating, such patterns begin to emerge, quite… Continue Reading
JavaScript Comma Delimiter Pattern
Tuesday, June 5th, 2012Perhaps the most common syntactic error I find myself correcting in JavaScript is that of a simple missing comma separator on new lines. Such marginal oversights can become quite a nuisance to correct time and time again. Fortunately, there is a rather simple pattern which can be used to help avoid these errors with very little effort – only requiring… Continue Reading
Organizing Require JS Dependencies
Thursday, May 17th, 2012When developing large scale web applications leveraging RequireJS, at times, even the most highly cohesive of modules will require quite a few other modules as dependencies. As such, maintaining the order of these dependencies can become somewhat tedious. Fortunately, RequireJS provides a means of simplifying how modules may define dependencies for such cases. Ordering Dependencies If we are to consider… Continue Reading
Decoupling Backbone Modules
Wednesday, April 18th, 2012One of the principle design philosophies I have advocated over the years, especially through various articles on this site, has been the importance of decoupling. And while I could go into significant detail to elaborate on the importance of decoupling, suffice it to say that all designs – from simple APIs to complex applications – can benefit considerably from a… Continue Reading