(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.
| Vagrant.configure('2') do |config| | |
| config.vm.hostname = 'vagrant-example' | |
| config.vm.provider :digital_ocean do |provider, override| | |
| override.ssh.username = 'vagrant' | |
| override.ssh.private_key_path = '~/.ssh/id_rsa' | |
| override.vm.box = 'digital_ocean' | |
| override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box" | |
| provider.token = ENV['DIGITAL_OCEAN_TOKEN'] |
(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.
| 1033edge.com | |
| 11mail.com | |
| 123.com | |
| 123box.net | |
| 123india.com | |
| 123mail.cl | |
| 123qwe.co.uk | |
| 126.com | |
| 150ml.com | |
| 15meg4free.com |
| fetchTemplate: function(path, done) { | |
| Handlebars.templates = Handlebars.templates || {}; | |
| // Should be an instant synchronous way of getting the template, if it | |
| // exists in the JST object. | |
| if (Handlebars.templates[path]) { | |
| return done(Handlebars.templates[path]); | |
| } | |
| // Fetch it asynchronously if not available from JST |
| /* | |
| * Grunt Task File | |
| * --------------- | |
| * | |
| * Task: JST-HB | |
| * Description: Compile handlebars templates to JST file. | |
| * Dependencies: underscore@1.2.4 | |
| * | |
| */ |
| /* The API controller | |
| Exports 3 methods: | |
| * post - Creates a new thread | |
| * list - Returns a list of threads | |
| * show - Displays a thread and its posts | |
| */ | |
| var Thread = require('../models/thread.js'); | |
| var Post = require('../models/post.js'); |
| // includes bindings for fetching/fetched | |
| var PaginatedCollection = Backbone.Collection.extend({ | |
| initialize: function() { | |
| _.bindAll(this, 'parse', 'url', 'pageInfo', 'nextPage', 'previousPage'); | |
| typeof(options) != 'undefined' || (options = {}); | |
| this.page = 1; | |
| typeof(this.perPage) != 'undefined' || (this.perPage = 10); | |
| }, | |
| fetch: function(options) { |