Back in part 1 of this series I introduced a small number of tools that make a web engineer’s life easier: Grunt, Yeoman, Express, and Nodemon. In part 2 I provided a repository of filesand explained how to use them to have a running server that’s capable of automatic browser and app server reboots for rapid development.
Now, in part 3, I’ll explain how we can use this workflow to automatically run unit tests when development files or test files change, backend or frontend, and how to expose internal functions and properties in our Node or RequireJS modules to the testing environment so that we get less bugs. Onward!
This is the brand-new, action-packed sequel to the original Git and GitHub Secrets talk I did in 2012. For one, it has more emoji.
Git is a really powerful tool. A lot of that power is deeply hidden, and for good reason: it may only be valuable in certain use cases. You may not run into those use cases very often, but when you do, these lesser-known features might save you literally seconds of time.
Due to the rising popularity of responsive web design over the past few years we have been actively adapting our design and front-end processes to tackle the unique challenges it raises. We are no longer designing full page comps in [insert design app of choice] to cover every context/screen-size, and have instead been experimenting with ways to combine design and development into a more iterative and optimised workflow.
exploit-exercises.com provides a variety of virtual machines, documentation and challenges that can be used to learn about a variety of computer security issues such as privilege escalation, vulnerability analysis, exploit development, debugging, reverse engineering, and general cyber security issues.
This document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. It isn't that git is so complicated that you need a large document to take care or your particular problem, it is more that the set of things that you might have done is so large that different techniques are needed depending on exactly what you have done and what you want to have happen.