I’ve spent the last many years religiously honoring the principle of separation of concerns. Separating concerns produces code that’s easier to read, maintain, and test. Right? Well, as I’ve found, virtually every “best practice” has exceptions. We have to … Read on...
Category Archives: JavaScript
7 Ways to Handle Circular Dependencies in RequireJS
When working with RequireJS, you’re likely to run across two modules that need to reference each other. When you create a circular reference using the standard RequireJS define statement on both sides, the module that’s loaded last fails and is … Read on...
Cache Busting via Gulp.js
Have you ever thought about how many HTTP requests your app is wasting? Many developers think the native caching mechanisms of browsers are sufficient. However, did you know every time a page is loaded, an HTTP request is still typically … Read on...
AngularJS: The De Facto Standard for SPA Development?
One year ago, I started a large Single Page Application (SPA) project. I spent a few weeks Googling and biting my nails, trying to choose between the various options for SPA development. I considered four leading players:
… Read on...Writing Code? Know Your Boundaries.
Today’s developers are cursed blessed with a massive list of libraries and technologies for solving problems. And some of the worst sins against code stem from simply selecting the wrong tool for the job. It’s recently become clear to me … Read on...
JavaScript Configuration Object Pattern: JSON Saves the Day
So you’re building a modern web app? That means you’re likely running a variety of client-side libraries and custom business logic in JavaScript. And one of the first hurdles you run into is “Hey, I need some data from the … Read on...
KnockoutJS: Maintain Input Focus While Tabbing and Rebinding
Single page applications pose a unique and interesting set of problems. Libraries that offer two-way binding like KnockoutJS and AngularJS make it trivial to completely redraw a screen with new data delivered from the server via AJAX calls. However, what … Read on...
Warn Users of Unsaved Changes with jQuery
In web apps it’s helpful to warn the user if they attempt to navigate away after making changes without hitting save. But the tricky part is, how do you track when they’ve made changes? This is actually pretty trivial to … Read on...
Debugging JavaScript in Chrome with frames
When debugging JavaScript on a page with frames, it’s easy to find yourself running commands in the console in the wrong frame. I’ve hit this wall many times and wondered why I can’t see the variables that are clearly defined … Read on...
JavaScript Breakpoints in Chrome
When doing front-end dev, I set breakpoints in Chrome all the time. Here’s the quickest way to set a JavaScript breakpoint in Chrome:
- F12 if dev tools aren’t already open.
- Ctrl+O and begin to type the name of the desired