Clone and build Node for analysis:
$ git clone https://github.com/joyent/node.git
$ cd node
$ export GYP_DEFINES="v8_enable_disassembler=1"
$ ./configure
$ make -j4
# simple bundle | |
$ time browserify --debug lib/boot/index.js | wc -c | |
1397809 | |
real 0m1.726s | |
user 0m1.540s | |
sys 0m0.139s | |
# bundle without node_modules |
#[crate_id(name = "rusttap")]; | |
#[crate_type = "lib"]; | |
#[feature(globs)]; | |
#[desc = "TAP implementation for rust"]; | |
#[license = "BSD"]; | |
#[allow(dead_code)]; | |
#[allow(unused_variable)]; | |
pub mod rusttap { | |
use std::io; |
; CouchDB Config | |
; Drop in PREFIX/local.d/npmjs.ini | |
[couch_httpd_auth] | |
public_fields = appdotnet, avatar, avatarMedium, avatarLarge, date, email, fields, freenode, fullname, github, homepage, name, roles, twitter, type, _id, _rev | |
users_db_public = true | |
[httpd] | |
secure_rewrites = false |
MDB is unlike most debuggers you've experienced.
It is not a source level debugger like gdb or lldb or even Node's builtin debugger
Generally used for postmortem analysis.
Postmortem is for Production and Development
We operate mostly on core files, though you can attach to running processes as well.
The prep-script.sh
will setup the latest Node and install the latest perf version on your Linux box.
When you want to generate the flame graph, run the following (folder locations taken from install script):
sudo sysctl kernel.kptr_restrict=0
# May also have to do the following:
# (additional reading http://unix.stackexchange.com/questions/14227/do-i-need-root-admin-permissions-to-run-userspace-perf-tool-perf-events-ar )
sudo sysctl kernel.perf_event_paranoid=0
(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.
#!/bin/bash | |
# vim: set syntax=sh : | |
# | |
# Generate a changelog | |
# | |
git tag | sort -r | awk ' | |
/^v/ { | |
# print commit log diff | |
if(NR>1) | |
system("git log " $1 "..." prev " --pretty=format:\"- [%s](http://github.com/<owner>/<repo>/commit/%H) \" | tail -n+2") |
# Hello, and welcome to makefile basics. | |
# | |
# You will learn why `make` is so great, and why, despite its "weird" syntax, | |
# it is actually a highly expressive, efficient, and powerful way to build | |
# programs. | |
# | |
# Once you're done here, go to | |
# http://www.gnu.org/software/make/manual/make.html | |
# to learn SOOOO much more. |
## Principal type-schemes for functional programs | |
**Luis Damas and Robin Milner, POPL '82** | |
> module W where | |
> import Data.List | |
> import Data.Maybe | |
> import Data.Function |