Skip to content

Instantly share code, notes, and snippets.

Avatar

Bradley Farias bmeck

View GitHub Profile
View node-policies.json
{
"type": "object",
"title": "Node.js Policy Manifest",
"description": "https://nodejs.org/api/policy.html",
"definitions": {
"cascade": {
"defaultSnippets": [
{
"label": "Allow scope fall through.",
"body": true
View total-pages.txt
This file has been truncated, but you can view the full file.
http://0-chromosome.hatenablog.jp/
http://0.lifecell.com.ua/
http://002tousan.seesaa.net/
http://00monochrome.blog32.fc2.com/
http://00room.blog.fc2.com/
http://0301244.hatenablog.com/
http://0316shank.hatenablog.com/
http://03310711.blog59.fc2.com/
@bmeck
bmeck / Readme.md
Created Apr 3, 2012
Simple Vertical Load Balancing for TCP in Node.js
View Readme.md

About

This is the most basic example of vertical scaling by transferring connections to workers, rather than sharing server sockets. It was presented at JSConf US 2012. With this you can create some interesting balancing algorithms that cluster would defer to internal/OS logic.

Exercises

A good first project when working with this is to implement sticky sessions based upon connection.remoteAddress and/or connection.remotePort.

A good advanced project is to change from a TCP based balancer to a HTTP(S) one and balance based upon not just connection.remoteAddress etc. but also on the protocol and/or Host header.

@bmeck
bmeck / hmr.js
Created Mar 20, 2020 — forked from georges-gomes/hmr.js
Hot module reload prototype
View hmr.js
import inspector from "inspector";
const url2scriptid = new Map<string, string>();
const session = new inspector.Session();
session.connect();
setupDebugger();
function setupDebugger() {
View compareDocumentPosition.js
//Attach me to Node.prototype as well
var DOCUMENT_POSITION_DISCONNECTED = Node.prototype.DOCUMENT_POSITION_DISCONNECTED = 0x01
var DOCUMENT_POSITION_PRECEDING = Node.prototype.DOCUMENT_POSITION_PRECEDING = 0x02
var DOCUMENT_POSITION_FOLLOWING = Node.prototype.DOCUMENT_POSITION_FOLLOWING = 0x04
var DOCUMENT_POSITION_CONTAINS = Node.prototype.DOCUMENT_POSITION_CONTAINS = 0x08
var DOCUMENT_POSITION_CONTAINED_BY = Node.prototype.DOCUMENT_POSITION_CONTAINED_BY = 0x10
Node.prototype.compareDocumentPosition = function compareDocumentPosition( otherNode ) {
if( !(otherNode instanceof Node) ) {
throw Error("Comparing position against non-Node values is not allowed")
@bmeck
bmeck / machine.js
Last active Feb 20, 2020
Generated by XState Viz: https://xstate.js.org/viz
View machine.js
const loop = Machine({
context: { x: 3 },
initial: 'while (x > 0)',
states: {
"while (x > 0)": {
on: {
EVAL: [
{
target: "x--",
cond(ctx, evt) {
@bmeck
bmeck / machine.js
Last active Feb 20, 2020
Generated by XState Viz: https://xstate.js.org/viz
View machine.js
const workflow = Machine({
id: "workflow",
initial: "running",
states: {
running: {
id: "file",
type: "parallel",
states: {
upload: {
initial: "idle",
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View show-clean.js
async function doSomething() {
await timeout(2000);
}
function timeout(ms) {
return new Promise((res,rej) => setTimeout(rej,ms));
}
Promise.race([
doSomething(),
timeout(1000)
View minimal.log
--- Raw source ---
(thisArg, ...args) => {
return apply(fn, thisArg, args);
};
--- Optimized code ---
optimization_id = 0
source_position = 98
kind = OPTIMIZED_FUNCTION
name = cached
You can’t perform that action at this time.