Skip to content

Instantly share code, notes, and snippets.

View mardix's full-sized avatar

Mardix mardix

View GitHub Profile
@mardix
mardix / gist:38895305786610152efa
Created May 5, 2014 18:50
array_map is slower and more of memory hug than foreach in PHP
While I was working on a personal project, I decided to compare foreach vs array_map to iterate over a large set of items.
So to support my decision, I ran a benchmark on both foreach and array_map.
With a simple array of 1,000,000 objects, I iterate over them with foreach and array_map. And surprisingly, foreach ran in 0.24sec average, while array_map took over 3.30sec.
Also array_map ran out of memory, I had to do an ini_set("memory_limit","512M"); to at least get some results.
My system:
Macbook
@mardix
mardix / DOMClass.js
Created December 8, 2018 21:23 — forked from Maksims/DOMClass.js
HTMLElement extension to add, remove, toggle, detect Classes.
HTMLElement = typeof(HTMLElement) != 'undefiend' ? HTMLElement : Element;
HTMLElement.prototype.addClass = function(string) {
if (!(string instanceof Array)) {
string = string.split(' ');
}
for(var i = 0, len = string.length; i < len; ++i) {
if (string[i] && !new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)').test(this.className)) {
this.className = this.className.trim() + ' ' + string[i];
}
/**
* Produces a function which uses template strings to do simple interpolation from objects.
*
* Usage:
* var makeMeKing = generateTemplateString('${name} is now the king of ${country}!');
*
* console.log(makeMeKing({ name: 'Bryan', country: 'Scotland'}));
* // Logs 'Bryan is now the king of Scotland!'
*/
var generateTemplateString = (function(){
@mardix
mardix / relift-example-counter.html
Last active April 19, 2019 20:02
relift-example-counter.html
<div>
<div class="column center" id="counterWidget">
<div><h4>${this.count}</h4></div>
<div>
<button @click="down" class="button-outline">DOWN</button>
<button @click="up" class="button-outline">UP</button>
</div>
</div>
</div>
@mardix
mardix / relift-example-todo.html
Last active April 19, 2019 20:31
relift-example-todo.html
<div>
<div class="column" id="todoAppWidget" style="display:none">
<div class="center">
<div>Enter your item</div>
<input type="text" id="todo-input" />
<button @click="add">Save</button>
</div>
<div>
<ul>
<li r-for="item,i in this.todos">
@mardix
mardix / relift-example-stars-wars-simple.html
Last active April 21, 2019 00:57
relift-example-stars-wars-simple.html
<div>
<div class="row">
<div class="column" id="starWarsWidget">
<div class="center">
<span r-if="(this.loadingStatus === 'pending')">
<div class="spinner">Loading...</div>
</span>
<h4 r-else>Welcome to Star Wars</h4>
</div>
<div>
@mardix
mardix / gist:c96e1ce96ba0f544d7dd21b50867d91f
Last active April 24, 2019 06:14
Python Package Development
## Create virtualenv
> mkvirtualenv $name
> workon $name
## Develop
To install
> python setup.py develop
@mardix
mardix / gist:00fa3606f56fa9e5ab87b1f4d30e4bc6
Created August 25, 2019 19:12
To release pypi package
# To release pypi package
alias pypi-publish='python setup.py register -r pypi && python -m twine upload dist/*'
Install Dokku
# must have dokku as username
git remote add dokku dokku@example.com:flask-example
# Edit Procfile
...
# Push
Remove culprit server
ssh-keygen -R remote-server-name-here