Skip to content

Instantly share code, notes, and snippets.

View juliovedovatto's full-sized avatar
🤓

Julio Vedovatto juliovedovatto

🤓
View GitHub Profile
@juliovedovatto
juliovedovatto / foo.php
Created March 1, 2016 20:02
PHP: array_flatten - método para deixar array multidimensional com 1 dimensão apenas.
/**
* Função para deixar uma array multidimensional em 1 índice apenas.
* @see http://stackoverflow.com/a/1320259/390946
* @author Julio Vedovatto <juliovedovatto@gmail.com>
* @param array $array
* @return array
*/
function array_flatten(array $array) {
$return = array();
@juliovedovatto
juliovedovatto / ecmascript_6_array_shuffle.js
Last active September 20, 2016 13:50
ECMAScript 6 Array shuffle
// METHOD 1
Object.assign(Array.prototype, {
shuffle() {
let m = this.length, i;
while (m) {
i = (Math.random() * m--) >>> 0;
[this[m], this[i]] = [this[i], this[m]];
}
return this;
}
@juliovedovatto
juliovedovatto / image_blur.js
Created November 9, 2016 15:05
node gm - keep Aspect Ratio on resize and fill with blur background (with imagemagick)
var GM = require('gm').subClass({ imageMagick: true }),
Q = require('q'), // promisses support
fs = require('fs'),
path = require('path');
function create_thumb(img, dest_img, width, height) {
var deferred = Q.defer();
Q.when(get_image_size(img)).then(function (size) {
var thumb_width = width,
@juliovedovatto
juliovedovatto / random_number.js
Last active November 15, 2016 00:15
random_number: javascript function to sort a number in a given range. Supports blacklisting array of numbers.
function random_number(min, max, blacklist) {
min = min || 0;
max = max || 0;
var random = Math.floor(Math.random() * (max - min + 1)) + min;
if (!blacklist || blacklist.constructor !== Array)
return random;
else if (typeof blacklist == 'string')
blacklist = [ blacklist ];
@juliovedovatto
juliovedovatto / swap_elements_array.js
Last active November 25, 2016 18:13
Javascript snippet to swap elements in array
// one line code to swap elements in array
arr[x] = [arr[y],arr[y] = arr[x]][0];
@juliovedovatto
juliovedovatto / in_array.js
Created November 25, 2016 18:26
Javascript: check if the given element is in array
function in_array(value, array) {
if (array.constructor !== Array)
return false;
return array.filter(function(item) { return item == value; }).length > 0;
}
// example
in_array(2, [1,2,3, "foo", "bar"]); // true
@juliovedovatto
juliovedovatto / Deploybot Ignore
Last active August 16, 2018 21:01
Exclude certain paths from being uploaded
node_modules
**/node_modules
**/*.md
**/*.json
**/.gitignore
**/gulpfile.js
**/Gruntfile.js
**/package-lock.json
**/package.json
@juliovedovatto
juliovedovatto / Wordpress: Autoptimize, exclude js from combine and monification
Created December 6, 2018 18:34
Autoptimize is a exelente wordpress plugin, but it seems it ignore the blacklist from "Exclude scripts from Autoptimize" option. The plugin persists to minify and combine, instead of leaving it as it is. So I found this filter, that I can check the url and check agains the blacklist. If the js item is blacklisted, Autoptimize will skip it.
<?php
// theme functions.php
add_filter('autoptimize_filter_js_minify_excluded', function ($condition, $url) {
if (!$blacklist = get_option('autoptimize_js_exclude', false))
return true;
$blacklist = array_filter(array_map('trim', explode( ',', $blacklist)));
return count(array_filter($blacklist, function ($match) use ($url) {
import puppeteer from 'puppeteer'
const browser = await puppeteer.launch({
args: [
'--no-sandbox'
],
timeout: 10000
})
const page = await browser.newPage()
@juliovedovatto
juliovedovatto / binary-tree.js
Last active January 21, 2021 00:53
JS Basic Binary Tree exercise
/**
* Binary Tree Exercise
*
* Given a binary tree, similar to shape as below, write an algorithm
* to count the number of times each `value` appears.
*
* Assumptions:
*
* 1. each node will have a `value` prop
* 2. each node may or may not have a `left` prop