sudo apt-get install php-fpm # installs php7.2-fpm
sysctl status php7.2-fpm # checks status
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
var Thing = (function() { | |
this.public_property = "Public property"; | |
var private_property = "Private property"; | |
function Thing(data) { | |
this.datum1 = data.datum1; | |
this.datum3 = data.datum2; | |
} |
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
function promiseWhile(condition, body) { | |
var dfd = $.Deferred(); | |
function loop() { | |
if (!condition()) return dfd.resolve(); | |
body.apply(this, arguments) | |
.done(loop) | |
.fail(dfd.reject); | |
} | |
//call loop async |
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
/** | |
* Map over an Array using an asynchronous handler, maintaining a pool of concurrent handlers to be pending at all times until the Array is fully processed (as opposed to waiting until each async handler has finished before calling the next). | |
* | |
* @param {Array} list | |
* @param {Function} handler Called on each iteration (done:Function, element:Mixed, index:Number, list:Array) | |
* @param {Number} [options.maxConcurrent=5] The maximum number of handlers which can be running concurrently | |
* @param {Function} [options.done] Called once every handler has responded (responses:Array) | |
* @return {Array} The Array which is being populated with the values passed by handler to done() | |
*/ | |
exports.map = function (list, handler, options) { |
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
function asyncParForEach(array, fn, callback) { | |
var completed = 0; | |
if (array.length === 0) { | |
callback(); // done immediately | |
} | |
array.forEach(function(data) { | |
fn(data, function() { | |
completed++; | |
if (completed === array.length) { |
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
function roundUp(num, prec) { | |
prec = Math.pow(10, prec); | |
return Math.ceil(num * prec) / prec; | |
} | |
function roundDown(num, prec) { | |
prec = Math.pow(10, prec); | |
return Math.floor(num * prec) / prec; | |
} | |
// Built in Math function |
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
* | |
NAME: SCRIPT NUGGETS | |
DESCRIPTION: Apps Script functions for use with AppSheet | |
SETUP: Replace YOUR_SHEET_ID in first line with the sheet Id from the sheet URL | |
BY: GreenFlux, LLC | |
*////////////////////////////////////////////////////////////////////////////////////////////////////// | |
const ss = SpreadsheetApp.openById('YOUR_SHEET_ID');//(id from sheetURL) |
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
//Get a range of numbers between two numbers | |
//Usage: [1, 10].range returns [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | |
Object.defineProperty(Array.prototype, "range", { | |
get: function () { | |
var range = [this[0]], i; | |
for (var i = this[0], len = this[1]; i < len; range.push(++i)); | |
return range; | |
} | |
}); | |
// Golfed TypeScript: |
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
/** | |
* Calculates the base bet from the current wager, multiplier, and streak. | |
* | |
* @param {number} wager - The current wager. | |
* @param {number} multi - The multiplier. | |
* @param {number} streak - The streak. | |
* @returns {number} - The calculated base bet. | |
*/ | |
const getBaseBetFromCurrent = (wager, multi, streak) => (wager / (multi ** streak)); |
OlderNewer