Skip to content

Instantly share code, notes, and snippets.

View deleteman's full-sized avatar

Fernando Doglio deleteman

View GitHub Profile
@deleteman
deleteman / profile1.js
Created March 28, 2019 04:12
profile using an external time taker
let start = (new Date()).getTime()
setTimeout(function() {
let end = (new Date()).getTime()
console.log(end - start )
}, 1000)
@deleteman
deleteman / profile2.js
Created March 28, 2019 04:13
measuring time using console.time
console.time("timer")
setTimeout(function() {
console.timeEnd("timer")
}, 1000)
'use strict';
const {
performance,
PerformanceObserver
} = require('perf_hooks');
const mod = require('module');
// Monkey patch the require function
mod.Module.prototype.require = performance.timerify(mod.Module.prototype.require);
require = performance.timerify(require);
const obs = new PerformanceObserver((list) => {
const entry = list.getEntries()[0]
console.log(`require('${entry[0]}')`, entry.duration);
});
obs.observe({ entryTypes: ['function'], buffered: false});
'use strict';
const {
performance,
PerformanceObserver
} = require('perf_hooks');
const request = require("request")
function queryEngines(done) {
const urls = [
"http://www.google.com",
'use strict';
const {
performance,
PerformanceObserver
} = require('perf_hooks');
const async_hooks = require("async_hooks")
const request = require("request")
const map = new Map()
init(id, type, triggerID, resource) {
let meta = {
event: "[init]",
type, id, triggerID
}
fs.writeFileSync("./perf.log", JSON.stringify(meta) + "\n\t", {flag: "a"} )
for(let p in resource) {
if(typeof(resource[p]) != "function") {
@deleteman
deleteman / auto-translate-hook.js
Last active July 3, 2019 18:34
Server side version of the auto-translate hook integration for ButterCMS and Google Translate
const READ_TOKEN = "your-read-api-key"
const WRITE_TOKEN = 'your-write-api-key'
const express = require("express")
const butter = require("buttercms")(READ_TOKEN) //read
const request = require("request")
const bodyParser = require("body-parser")
const {Translate} = require('@google-cloud/translate');
@deleteman
deleteman / buttercms-olark-integration.js
Created June 22, 2019 17:32
Full code for integrating olark and buttercms
const WRITE_TOKEN = 'your-buttercms-write-api-key'
const express = require("express")
const request = require("request")
const bodyParser = require("body-parser")
const slug = require("slug")
const app = express();
app.use(bodyParser.urlencoded({extended: true}))
@deleteman
deleteman / basic-spread-examples.js
Last active July 10, 2019 06:03
Simple examples for the spread operator
let myArray1 = [1,2,3]
let myString = "Hey planet!"
let myObject = {
name: "Fernando Doglio",
age: 35,
country: "Uruguay",
[Symbol.iterator]: function* () { //we're making the object iterable so we can spread it
yield myObject.name
yield myObject.age
yield myObject.country