Skip to content

Instantly share code, notes, and snippets.

@drzhbe
drzhbe / JSON2File.js
Last active August 29, 2015 14:13
После сохранения для pretty print можно в IDE сделать Code -> Reformat Code
var path = '';
function JSON2File(error, success, code) {
var writer = fs.createWriteStream(path + '.json');
var json = JSON.stringify(success.data);
writer.write(json);
}
@drzhbe
drzhbe / localStorageQueue.js
Created July 18, 2014 05:35
How to interact with key-value storage (localStorage) like a queue
/**
* Функции для работы со storage, как с очередью.
*/
/**
* Очистить старые записи.
* @param tailIndexValue
* @param nextIndexValue
*/
function free(tailIndexValue, nextIndexValue) {
@drzhbe
drzhbe / localStorageStack.js
Created July 17, 2014 11:45
How to interact with key-value storage (localStorage) like a stack
/**
* Добавить в стэк listName значение value.
* При в storage будет храниться ключ ${listName}_last со значением индекса последнего элемента в этом списке.
* Новое значение сериализованное в JSON добавится в storage с ключом ${listName}_last + 1.
*
* Пример:
* В списке listName=log есть 3 элемента, storage будет выглядеть так:
* {
* 'log_last': '2',
* 'log_0': '{...}',
@drzhbe
drzhbe / rn.sh
Last active August 29, 2015 14:02
# swap names of 2 files
if [ $# -eq 2 ]
then
mv $1 $1.backup
mv $2 $1
mv $1.backup $2
fi
# swap %file_name% with %file_name%.backup
if [ $# -eq 1 ] && [ -f $1.backup ] || [ -d $1.backup ];
@drzhbe
drzhbe / prime.js
Last active December 22, 2015 13:59
primes
function prime() {
this.primes = [],
this.number = 1,
this.stop = false,
this.x = 600851475143,
this.checkPrime = function() {
var number = this.number,
i = 0,
l = this.primes.length;
// shim layer with setTimeout fallback
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function( callback ){
window.setTimeout(callback, 1000 / 60);
};
})();
@drzhbe
drzhbe / badSpliceInsideLoop.js
Last active April 17, 2023 10:17
Как удалить элемент массива при переборе элементов массива или что бывает, если использовать метод splice внутри цикла? Описание можно почитать в комментарии к гисту.
// Bad method, don't use it.
var a = [0,1,2,3,4]
for (var i = 0; i < a.length; i++) {
console.log(i, a[i]);
if (a[i] === 0) {
console.log(a);
a.splice(i, 1);
console.log(a);
}
}