install the normal way:
wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.7.2-omnibus.5.4.2.ci-1_amd64.deb & > /dev/null
sudo apt-get update
sudo apt-get upgrade
module.exports = { | |
development: { | |
client: 'postgresql', | |
connection: { | |
port: process.env.DATABASE_PORT, | |
host: process.env.DATABASE_HOST, | |
database: process.env.DATABASE_NAME, | |
user: process.env.DATABASE_USER, | |
password: process.env.DATABASE_ACCESS_KEY, | |
}, |
function mapValues(obj, fn) { | |
return Object.keys(obj).reduce((result, key) => { | |
result[key] = fn(obj[key], key); | |
return result; | |
}, {}); | |
} | |
function pick(obj, fn) { | |
return Object.keys(obj).reduce((result, key) => { | |
if (fn(obj[key])) { |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<script src="main.js"></script> | |
<meta charset="UTF-8"> | |
<title>Tutorial</title> | |
<style> | |
html, body { | |
margin: 0; | |
padding: 0; |
from numpy import exp, array, random, dot | |
training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]]) | |
training_set_outputs = array([[0, 1, 1, 0]]).T | |
random.seed(1) | |
synaptic_weights = 2 * random.random((3, 1)) - 1 | |
for iteration in xrange(10000): | |
output = 1 / (1 + exp(-(dot(training_set_inputs, synaptic_weights)))) | |
synaptic_weights += dot(training_set_inputs.T, (training_set_outputs - output) * output * (1 - output)) | |
print 1 / (1 + exp(-(dot(array([1, 0, 0]), synaptic_weights)))) |
// Implementation in ES6 | |
function pagination(c, m) { | |
var current = c, | |
last = m, | |
delta = 2, | |
left = current - delta, | |
right = current + delta + 1, | |
range = [], | |
rangeWithDots = [], | |
l; |
install the normal way:
wget https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.7.2-omnibus.5.4.2.ci-1_amd64.deb & > /dev/null
sudo apt-get update
sudo apt-get upgrade
'use strict'; | |
module.exports = function CustomError(message, extra) { | |
Error.captureStackTrace(this, this.constructor); | |
this.name = this.constructor.name; | |
this.message = message; | |
this.extra = extra; | |
}; | |
require('util').inherits(module.exports, Error); |
var crypto = require('crypto'); | |
// larger numbers mean better security, less | |
var config = { | |
// size of the generated hash | |
hashBytes: 32, | |
// larger salt means hashed passwords are more resistant to rainbow table, but | |
// you get diminishing returns pretty fast | |
saltBytes: 16, | |
// more iterations means an attacker has to take longer to brute force an |
#!/usr/bin/python | |
import libvirt | |
import sys | |
# virDomainEventType is emitted during domain lifecycles (see libvirt.h) | |
VIR_DOMAIN_EVENT_MAPPING = { | |
0: "VIR_DOMAIN_EVENT_DEFINED", | |
1: "VIR_DOMAIN_EVENT_UNDEFINED", | |
2: "VIR_DOMAIN_EVENT_STARTED", |
When hosting our web applications, we often have one public IP
address (i.e., an IP address visible to the outside world)
using which we want to host multiple web apps. For example, one
may wants to host three different web apps respectively for
example1.com
, example2.com
, and example1.com/images
on
the same machine using a single IP address.
How can we do that? Well, the good news is Internet browsers