(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| !function() { | |
| var doc = document, | |
| htm = doc.documentElement, | |
| lct = null, // last click target | |
| nearest = function(elm, tag) { | |
| while (elm && elm.nodeName != tag) { | |
| elm = elm.parentNode; | |
| } | |
| return elm; | |
| }; |
| application: you-app-name-here | |
| version: 1 | |
| runtime: python | |
| api_version: 1 | |
| default_expiration: "30d" | |
| handlers: | |
| - url: /(.*\.(appcache|manifest)) | |
| mime_type: text/cache-manifest |
| // Joins path segments. Preserves initial "/" and resolves ".." and "." | |
| // Does not support using ".." to go above/outside the root. | |
| // This means that join("foo", "../../bar") will not resolve to "../bar" | |
| function join(/* path segments */) { | |
| // Split the inputs into a list of path commands. | |
| var parts = []; | |
| for (var i = 0, l = arguments.length; i < l; i++) { | |
| parts = parts.concat(arguments[i].split("/")); | |
| } | |
| // Interpret the path commands to get the new resolved path. |
| public enum Cacheability | |
| { | |
| NoCache, | |
| Private, | |
| Public, | |
| } |
| -------Frameworks------ | |
| EmberJS | |
| AngularJS | |
| React | |
| Flight | |
| BackboneJS / UnderscoreJS <- Use lodash instead of underscore | |
| -------Build Tools----- |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| #add 'node_modules' to .gitignore file | |
| git rm -r --cached node_modules | |
| git commit -m 'Remove the now ignored directory node_modules' | |
| git push origin <branch-name> |
| #========================================================== | |
| # Environment/Configuration | |
| #========================================================== | |
| # For project consistency, its better to depend on npm binaries loaded locally than | |
| # globally, so we add .node_modules/.bin to the path for shorthand references. This | |
| # means you should add any binaries you need to "devDependencies" in package.json. | |
| export PATH := ./node_modules/.bin/:$(PATH) | |
| # Pull in the name and version from package.json. The name will default to "app" if not set. |
| // Set up HTML hooks without id or extra classes | |
| <button data-action="openLogin">Login</button> | |
| <a href="javascript:;" data-action="openEditor">Link</a> | |
| // Using [data-action=""] selectors instead of class selectors when binding events in JavaScript | |
| var actions = { | |
| openLogin: openLoginWindow, | |
| openEditor: function() { ... } | |
| //.... | |
| }; |