In this tutorial we're going to build a set of parser combinators.
We'll answer the above question in 2 steps.
- What is a parser?
- and, what is a parser combinator?
So first question: What is parser?
var express = require('express'); | |
var app = express(); | |
app.get('/', function (req, res) { | |
res.json({sum: parseInt(req.query.a) + parseInt(req.query.b)}); | |
}); | |
app.listen(3000, function () { | |
console.log('Example app listening on port 3000!') | |
}); |
You installed anaconda-mode
and you've enabled it for use in Emacs. You also used homebrew to install your python distrubution. You open up a python file with anaconda-mode on.
You see a quick flash of Blocking call to accept-process-output with quit inhibited!!
across your minibuffer. You switch to *messages*
to see the errors and you see:
Blocking call to accept-process-output with quit inhibited!! [52 times]
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
# Compiled source # | |
################### | |
*.com | |
*.class | |
*.dll | |
*.exe | |
*.o | |
*.so | |
# Packages # |
/* | |
In the node.js intro tutorial (http://nodejs.org/), they show a basic tcp | |
server, but for some reason omit a client connecting to it. I added an | |
example at the bottom. | |
Save the following server in example.js: | |
*/ | |
var net = require('net'); |
# 0 is too far from ` ;) | |
set -g base-index 1 | |
# Automatically set window title | |
set-window-option -g automatic-rename on | |
set-option -g set-titles on | |
#set -g default-terminal screen-256color | |
set -g status-keys vi | |
set -g history-limit 10000 |