Homebrew is a great little package manager for OS X. If you haven't already, installing it is pretty easy:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
This guide has moved to a GitHub repository to enable collaboration and community input via pull-requests.
https://github.com/alexellis/k8s-on-raspbian
Alex
/** | |
* How to implement cordova-background-geolocation with Ionic 2 / 3 | |
* https://github.com/transistorsoft/cordova-background-geolocation-lt | |
* Chris Scott, Transistor Software <[email protected]> | |
*/ | |
import { Component } from '@angular/core'; | |
import { NavController, Platform } from 'ionic-angular'; |
import 'package:flutter/material.dart'; | |
import 'theme.dart' as Theme; | |
void main() { | |
runApp( | |
new MaterialApp( | |
title: 'CompanyApp', | |
color: Theme.CompanyColors.blue[500], | |
theme: Theme.CompanyThemeData, | |
home: new Scaffold( |
# See list of docker virtual machines on the local box | |
$ docker-machine ls | |
NAME ACTIVE URL STATE URL SWARM DOCKER ERRORS | |
default * virtualbox Running tcp://192.168.99.100:2376 v1.9.1 | |
# Note the host URL 192.168.99.100 - it will be used later! | |
# Build an image from current folder under given image name | |
$ docker build -t gleb/demo-app . |
#SwitchResX Settings for LG 21:9 UltraWide
SwitchResX is a utility that allows users to override the default resolution settings in OSX. For more information, including download links, vist http://www.madrau.com/ .
##Disabling System Integrity Protection (SIP)
If you are running OSX 10.11 or higher, SIP must be disabled. To disable SIP do the following:
Follow the steps below to setup a local development environment:
Recommended to download latest XQuartz
Promise = require('bluebird') | |
var A = function() { | |
return new Promise(function(resolve, reject) { | |
var result = 'A is done' | |
console.log(result) | |
resolve(result); | |
}) |
var db = mongoose.connect('mongodb://localhost:27017/DB'); | |
// In middleware | |
app.use(function (req, res, next) { | |
// action after response | |
var afterResponse = function() { | |
logger.info({req: req}, "End request"); | |
// any other clean ups |
Summary: use good/established messaging patterns like Enterprise Integration Patterns. Don't make up your own. Don't expose transport implementation details to your application.
As much as possible, I prefer to hide Rabbit's implementation details from my application. In .Net we have a Broker abstraction that can communicate through a lot of different transports (rabbit just happens to be our preferred one). The broker allows us to expose a very simple API which is basically: