(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.
process.env.NODE_ENV = process.env.NODE_ENV || 'test'; | |
require('dotenv').load(); | |
var keystone = require('keystone'); | |
var chai = require('chai'); | |
var dbURI = process.env.MONGO_URL | |
keystone.init({ | |
'name': 'Post Model Test', | |
's3 config': {} //has to be set, but isn't used in our models |
(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.
Jenkins has a very rich catalog of plugins and it's quite easy to install and update them via UI. BTW, when you want to add tons of plugin via UI, it's a fairly long and boring procedure.
Hopefully, mass installation (or update) could be easy using a simple bash script (curl/python required) :
Create a file containing plugins to be installed (or updated), ie iplugins :
// Model | |
var keystone = require('keystone'), | |
Types = keystone.Field.Types; | |
// Set new model | |
var Example = new keystone.List('Example', { | |
nocreate: true | |
}); | |
// Set the fields of your model |
So, I just learned that gf
exists. If your cursor is over a path in vim, and you type gf, it'll open that file/dir in a new buffer. You can also open in a new window/tab as detailed here.
In node, it'd be great if you could jump to a required
file, huh? Trouble is, typically you don't put the .js
on your require('./path/to/a/js/file')
. No matter, vim has your back, just add set suffixesadd+=.js
to your .vimrc and vim will try adding .js and see if it can find that file instead.
If you do a lot of spelunking in node_modules, it'd be great if you could jump to the directory of a required npm module too, right? A la, require('my-awesome-module')
. Well, you can add set path+=$PWD/node_modules
to your .vimrc too, and vim will add node_modules to the path, and jump to it's directory in node_modules (caveat: you must have opened vim from your project root for this too work).
For your cmd+c convenience:
Functional programming gets a bad wrap about being too hard for mere mortals to comprehend. This is nonsense. The concepts are actually quite simple to grasp.
The jargon is the hardest part. A lot of that vocabulary comes from a specialized field of mathematical study called category theory (with a liberal sprinkling of type theory and abstract algebra). This sounds a lot scarier than it is. You can do this!
All examples using ES6 syntax. wrap (foo) => bar
means:
function wrap (foo) {
/* bling.js */ | |
window.$ = document.querySelector.bind(document); | |
window.$$ = document.querySelectorAll.bind(document); | |
Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
NodeList.prototype.__proto__ = Array.prototype; | |
NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
/* | |
http://www.es6fiddle.net/i8d8e1um/ | |
*/ | |
var throttle = (func,ms=50,context=window) => { | |
let to; | |
let wait=false; | |
return (...args) => { | |
let later = () => { | |
func.apply(context,args); | |
}; |