Notes from my pursuit of the perfect front-end build

{Topic: [Tools], Comments: 1}

I wrote previously about Continuous Integration for JavaScript where I explained a build with Jenkins and Gradle. I’ve learned a lot since that article and thought it’s now significant enough to write more on the topic.

Documentation

When you’re writing code that other developers have to use or maintain, you ought to provide some amount of documentation. Your code is simply not self-documenting enough.

My favorite doc tool right now is jsduck developed by Sencha Labs for their Ext JS 4 docs. It basically consumes JSDoc-style comments (with some extras for namespaces, etc.) and generates beautiful documentation. Super easy to install and use:
Continue reading

Continuous Integration for Javascript

{Topic: [Tools], Comments: 9}

Jenkins is a CI tool that is often used for Running tests and code analysis for Java and .NET projects. There are a lot of benefits that we as a community are not taking advantage of for our web (CSS, JS, etc) code. In this article I’m going to walk you through setting up automated building and testing for a JavaScript project.

NOTE: The steps outlined are generally Linux/Mac centric, I don’t go into depth on Windows setup, but it shouldn’t be much different using Cygwin.

Why use CI?

Aside from the traditional benefits you see from your compiled code, there are some very compelling reasons:

  1. Automate versioning, combining, minifying, and gzipping files
  2. Run automated tests and get reports, keeping the codebase maintainable
  3. Run static analysis tools like the closure compiler or jshint
  4. Auto-deploy files (to S3, say) if our build passes
  5. Tag and other special stuff for release builds
  6. … that’s just JavaScript, we can also hook in Selenium tests, CSS Lint, and more

Not convinced? Tell me why in the comments.
Continue reading

Best algorithms book I ever read

{Topic: [Books], Comments: 27}

spacer I took a fair amount of time looking at data structures and algorithms while I was studying for my interviews with Google, and based on informed suggestions from Steve Yegge’s infamous post, I decided to buy The Algorithm Design Manual by Steven S. Skiena.

If you don’t care to read my ramblings about this book, here’s a summary: Buy this book if you do ANY serious programming.

What makes The Algorithm Design Manual

2 main reasons I make this blatantly positive assessment:

  1. The first several chapters are dedicated to the basics of data structures and common problems involving algorithms. This is obviously not a unique feature, but what is unique are the “war stories” from actual field work. The stories include discussion about the failure cases and how Skiena went about solving problems he encountered. This alone is enough to make this book worthwhile.
  2. Chapters 11-18 are a giant catalogue of algorithmic problems. Again, not a unique trait. However, not only does Skiena describe the basic approaches to solving each type of problem, he includes links to different implementations of in-the-field optimized solutions. He also brings up questions you should ask yourself when choosing an implementation.

Continue reading

1236912Last ยป
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.