- Asynchronous code is how you write low-resource, high-concurrency servers. See http://www.kegel.com/c10k.html.
- Node embracing async from the get-go means that servers are low-resource, high-concurrency by default.
- Async + JavaScript = Perfect fit for an event loop.
- When it comes to threads vs event-loop, there are times when either are advantageous.
- But there are things very hard or impossible to do with threads.
- WebSockets are difficult to do properly with threads. That's one example where non-blocking IO (async) has a major advantage.
- RAM usage is another factor, especially when we're talking about the physical hardware required to run your application, which translates to real dollars.
- It depends on your application in the end:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var spawn = require('child_process').spawn, | |
aws2js = require('aws2js'), | |
http = require('http'), | |
urlutil = require('url') | |
mime = require('mime'), | |
Buffers = require('buffers'); | |
var settings = { | |
s3: { | |
key: 'key', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var app = require('express').createServer() | |
var io = require('socket.io').listen(app); | |
var fs = require('fs'); | |
app.listen(8008); | |
// routing | |
app.get('/', function (req, res) { | |
res.sendfile(__dirname + '/chat.html'); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Combine JS and CSS files | |
// --- | |
// | |
// Make sure you install the npm dependencies | |
// > cd YOUR_PROJECT_FOLDER | |
// > npm install | |
// | |
// Than run: | |
// > node build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# AwesomeRouter: A class that I've been using throughout a few Backbone.js apps I've built. | |
# | |
# It adds 2 features: an event that gets fired when one calls `navigate` (aptly named | |
# "navigate"), so you can bind things to when a URL gets triggered. And a "before filter" | |
# method `before`, which you can use to run things before every a route gets triggered. | |
# | |
# This could easily be extended to have after filters too, or to only trigger a route | |
# upon @before returning something that's not false. | |
class AwesomeRouter extends Backbone.Router |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
#### | |
#### THIS IS OLD AND OUTDATED | |
#### LIKE, ANSIBLE 1.0 OLD. | |
#### | |
#### PROBABLY HIT UP https://docs.ansible.com MY DUDES | |
#### | |
#### IF IT BREAKS I'M JUST SOME GUY WITH | |
#### A DOG, OK, SORRY | |
#### |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module CarrierWave | |
module MiniMagick | |
def toaster_filter | |
manipulate! do |img| | |
img.modulate '150,80,100' | |
img.gamma 1.1 | |
img.contrast | |
img.contrast | |
img.contrast | |
img.contrast |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"template": "logstash-*", | |
"settings" : { | |
"number_of_shards" : 1, | |
"number_of_replicas" : 0, | |
"index" : { | |
"query" : { "default_field" : "@message" }, | |
"store" : { "compress" : { "stored" : true, "tv": true } } | |
} | |
}, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This playbook has been removed as it is now very outdated. |