Don't try to write complicated code on purpose to show how smart you are.
"Clean Code" by Uncle Bob
server { | |
listen 80; | |
server_name example.com; | |
location / { | |
proxy_pass http://APP_PRIVATE_IP_ADDRESS:8080; | |
proxy_http_version 1.1; | |
proxy_set_header Upgrade $http_upgrade; | |
proxy_set_header Connection 'upgrade'; |
'use strict'; | |
var mysqlBackup = require('./mysql-backup'); | |
var schedule = require('node-schedule'); | |
schedule.scheduleJob({ hour: 22, minute: 0 }, mysqlBackup); |
#!/bin/sh -x | |
# ================================== | |
# iptables default configuration script | |
# | |
# - this locks down our servers port access | |
# ================================== | |
# install fail2ban | |
sudo apt-get update |
'use strict'; | |
var watchify = require('watchify'); | |
var browserify = require('browserify'); | |
var gulp = require('gulp'); | |
var source = require('vinyl-source-stream'); | |
var buffer = require('vinyl-buffer'); | |
var gutil = require('gulp-util'); | |
var sourcemaps = require('gulp-sourcemaps'); | |
var lodash = require('lodash'); | |
var reactify = require('reactify'); |
'use strict'; | |
import _ from 'lodash'; | |
export default function api(model) { | |
return { | |
all(req, res) { | |
let populate = req.query.populate ? req.query.populate : ''; | |
let find = req.query.find ? JSON.parse(req.query.find) : {}; | |
let sort = req.query.order ? JSON.parse(req.query.order) : {}; |
function observable(value) { | |
let listeners = []; | |
let notify = (newValue) => listeners.forEach((listener) => listener(newValue)); | |
function accessor(newValue) { | |
if(arguments.length && newValue !== value) { | |
value = newValue; | |
notify(newValue); | |
} |
You don't really need a framework or fancy cutting-edge JavaScript features to do two-way data binding. Let's start basic - first and foremost, you need a way to tell when data changes. Traditionally, this is done via an Observer pattern, but a full-blown implementation of that is a little clunky for nice, lightweight JavaScript. So, if native getters/setters are out, the only mechanism we have are accessors:
var n = 5;
function getN() { return n; }
function setN(newN) { n = newN; }
console.log(getN()); // 5
setN(10);
var fs = require('fs'); | |
var exec = require('child_process').exec; | |
var Promise = require('promise'); | |
var folder = __dirname + '/admin-react/experiences/'; | |
fs | |
.readdir(folder, function(err, files) { | |
files.map(function(file) { |
'.source.js': | |
'React component': | |
'prefix': 'rc' | |
'body': """ | |
'use strict'; | |
import React from 'React'; | |
export default React.createClass({ | |
render() { | |
return ( |