(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.
(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.
In this gist I would like to describe an idea for GraphQL subscriptions. It was inspired by conversations about subscriptions in the GraphQL slack channel and different GH issues, like #89 and #411.
At the moment GraphQL allows 2 types of queries:
query
mutation
Reference implementation also adds the third type: subscription
. It does not have any semantics yet, so here I would like to propose one possible semantics interpretation and the reasoning behind it.
// Source: https://groups.google.com/forum/#!topic/angular/hVrkvaHGOfc | |
// jsFiddle: http://jsfiddle.net/pkozlowski_opensource/PxdSP/14/ | |
// author: Pawel Kozlowski | |
var myApp = angular.module('myApp', []); | |
//service style, probably the simplest one | |
myApp.service('helloWorldFromService', function() { | |
this.sayHello = function() { | |
return "Hello, World!" |
/** | |
* Module dependencies | |
*/ | |
var express = require('express'); | |
var fs = require('fs'); | |
var mongoose = require('mongoose'); | |
var Schema = mongoose.Schema; | |
// img path |
With the scarecity of IPv4 addresses, and IPv6 still not available at large, NAT traversal is becoming a necessity. Especially with the generalisation of Carrier-grade NATs that you can find on mobile connections. Even with IPv6 you may suffer NAT66. Imagine your mobile device that gets only a single Ipv6 address, and you want to share it on your computer.
The solution might be in a decentralized protocol for address attribution such
/** | |
* This sample lets you record and share video with Appcelerator Titanium on Android. | |
* REQUIRES THE 1.6.0 RC OF TITANIUM MOBILE SDK | |
* http://developer.appcelerator.com/blog/2011/02/release-candidate-for-titanium-mobile-1-6-0.html | |
*/ | |
/** | |
* First, create our UI. We'll have two buttons: record, and share. | |
*/ | |
var win = Titanium.UI.createWindow({ |
// Sample of setting | |
// const setting = { | |
// left: [ | |
// [50, 0], | |
// [1000, 0], | |
// [2000, 0], | |
// [4000, 0], | |
// [8000, 0], | |
// [12000, 0], | |
// [15000, 0], |
{ | |
"swagger": 2, | |
"info": { | |
"title": "天品時光膠囊 API", | |
"description": "Tianping Time capsule API", | |
"version": "1.0.0" | |
}, | |
"host": "tianping.test.rytass.com", | |
"schemes": [ | |
"http" |
/** | |
* loopback: create build-in models tables | |
* | |
* put migrate.js file in server folder | |
* run `node migrate.js` | |
* @type {[type]} | |
*/ | |
var app = require('./server'); | |
var dataSource = app.dataSources.db; |
require "formula" | |
class Mongodb < Formula | |
homepage "http://www.mongodb.org/" | |
url "http://downloads.mongodb.org/src/mongodb-src-r2.6.3.tar.gz" | |
sha1 "226ab45e3a2e4d4a749271f1bce393ea8358d3dd" | |
bottle do | |
sha1 "d573717ca7c67455680a6823de210c940faf9ac6" => :mavericks | |
sha1 "f7d2a0711e3ac09fd61bcb243360c1a07fb83233" => :mountain_lion |