This file contains 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
// common code for implementing require()/exports | |
var dependencies = {} // loaded modules | |
var modules = {} // code of your dependencies | |
// require function | |
var require = function (module) { | |
if (!dependencies[module]) { | |
// module not loaded, let’s load it | |
var exports = {} | |
modules[module](exports) | |
// now in `exports` we have the things made “public” |
This file contains 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
const config = { | |
entry: { | |
main: __dirname + '/app/main.js' | |
}, | |
output: { | |
path: __dirname + '/public', | |
filename: 'bundle.js' | |
}, | |
module: { | |
rules: [ |
This file contains 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
// From the Meteor blog: https://blog.meteor.com/an-interesting-kind-of-javascript-memory-leak-8b47d2e7f156. | |
// TL;DR | |
// If a variable is used by a closure, it ends up in the lexical enviroment shared by all closures in that scope, | |
// which can lead to memory leaks. | |
// Even though function unused is never called, originalThing is refered in its body, so originalThing is shared | |
// by the lexical environment between unused and someMethod, which is also a closure, so someMethod holding the | |
// lexical environment prevents the originalThing from being GCed, because it's important that all closures in | |
// that scope get the same variable. | |
// This can be fixed in the JS engine if each closure has its own lexical environment (a dictionary containing |
This file contains 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
"use strict"; | |
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } } | |
function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | |
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | |
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } |
This file contains 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
# taobao mirror | |
npm config set registry https://registry.npm.taobao.org/ | |
npm config set disturl https://npm.taobao.org/mirrors/node/ | |
# thrid-party module | |
MIRROR_HOST=https://npm.taobao.org/mirrors | |
npm config set sass_binary_site $MIRROR_HOST/node-sass/ | |
npm config set sharp_dist_base_url $MIRROR_HOST/sharp-libvips/ | |
npm config set electron_mirror $MIRROR_HOST/electron/ | |
npm config set puppeteer_download_host $MIRROR_HOST/puppeteer/ |
This file contains 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
const downloader = function (url, filename) { | |
// change these two variables | |
if (!url) throw new Error('url is needed!') | |
filename = filename || 'newfile' | |
fetch(url) | |
.then(res => res.blob()) | |
.then(blob => { | |
const url = URL.createObjectURL(blob) | |
const anchor = document.createElement('a') |
This file contains 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
// from Crockford's talk: https://www.youtube.com/watch?v=ya4UHuXNygM | |
function Y(le) { | |
return (function (f) { | |
return f(f) | |
}(function (f) { | |
return le(function (x) { | |
return f(f)(x) | |
}) | |
})) | |
} |
This file contains 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
#!/bin/sh | |
# Getting Ready | |
LOGDIR="~/log" | |
DOTFILES="~/.dotfiles" | |
# Update & Upgrade | |
sudo apt-get update -y | |
sudo apt-get upgrade -y | |
# Setup Prerequisite |
This file contains 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
const targetMap = new WeakMap() | |
let activeEffect = null | |
function track(target, key) { | |
let depsMap = targetMap.get(target) | |
if (!depsMap) { | |
targetMap.set(target, (depsMap = new Map())) | |
} |
This file contains 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
#include <stdio.h> | |
int ack(int m, int n) | |
{ | |
int ans; | |
if (m == 0) ans = n + 1; | |
else if (n == 0) ans = ack(m - 1, 1); | |
else ans = ack(m - 1, ack(m, n - 1)); | |
return (ans); | |
} |
OlderNewer