Archive for 'WebDev'

рабоче-софто-мультимониторное

На рабо­те 2 мони­то­ра, впер­вые вооб­ще попро­бо­вал про­грам­ми­ро­вать на двух мони­то­рах — чер­тов­ски удоб­но) но при этом есть и пара недо­стат­ков, кото­рые со вре­ме­нем уда­лось устра­нить: 1) отсут­ствие пане­ли задач на вто­ром мони­то­ре с учё­том того, что обыч­но откры­та куча про­грамм, часто не хочет­ся искать где, что и на каком мони­то­ре нахо­дит­ся. ну и быст­рый […]

удаление ajax навигации вконтакте

Не пой­му, то ли у меня оно с вкопт’ом кон­флик­ту­ет, то ли еще с чем.. Так или ина­че, мне этот функ­ци­о­нал не нужен в любом виде. Вот, наки­дал UserJS скрипт для это­го: // ==UserScript== // @name remove vkontakte ajax navigation // @author 1allen (1all3n@gmail.com) // @namespace http://walk-alone.ru // @include *vkontakte.ru* // @include *vk.com* // ==/UserScript== // […]

APIs

доволь­но зани­ма­тель­ный ката­лог раз­лич­ных вёб API на вся­кие слу­чаи жиз­ни)

String format (JavaScript)

String.prototype.format = function() { var a = arguments; return this.replace(/\{\d+\}/g, function©{ return a[c.match(/\d+/)]; }); }   // usage: var str = ‘Hello, {0}! You are {1}!’; str.format(‘friend’, ‘awesome’); // Hello, friend! You are awesome!String.prototype.format = function() { var a = arguments; return this.replace(/\{\d+\}/g, function©{ return a[c.match(/\d+/)]; }); } // usage: var str = ‘Hello, {0}! You […]

file size (M, K, G, T) to bytes (PHP)

function bytes($s) { $units = ‘KMGT’; return pow(1024, strpos($units, strpbrk($s, $units)) + 1) * (int) $s; }   // usage: echo bytes(‘1K’); // 1024 echo bytes(‘1M’); // 1048576function bytes($s) { $units = ‘KMGT’; return pow(1024, strpos($units, strpbrk($s, $units)) + 1) * (int) $s; } // usage: echo bytes(‘1K’); // 1024 echo bytes(‘1M’); // 1048576

Bytes to Readable format (JavaScript)

function formatSize(v, c) { v = parseInt(v, 10); for(c = 0; v > 1024; c++) v = (v / 1024).toFixed(2); return v + ’ ’ + [‘B’, ‘kB’, ‘MB’, ‘GB’, ‘TB’, ‘PB’, ‘EB’, ‘ZB’, ‘YB’][c] }function formatSize(v, c) { v = parseInt(v, 10); for(c = 0; v > 1024; c++) v = (v / 1024).toFixed(2); […]

Функция чтения cookies (JavaScript)

function readCookie(n) { n = n.replace(/([.*+?^=!:${}()|[\]\/\\])/g, “\\$1”); n = RegExp(“(?:^|;)\\s?” + n + “=(.*?)(?:;|$)”, “i”); return (n = document.cookie.match(n)) && unescape(n[1]) }function readCookie(n) { n = n.replace(/([.*+?^=!:${}()|[\]\/\\])/g, “\\$1”); n = RegExp(“(?:^|;)\\s?” + n + “=(.*?)(?:;|$)”, “i”); return (n = document.cookie.match(n)) && unescape(n[1]) } P.S.: This function reads browser cookies ;)

Функция генерирующая случайное HEX-число (JavaScript)

function get_random_hex_value() { return ‘#’ + Math.floor(Math.random() * 16777215).toString(16); }function get_random_hex_value() { return ‘#’ + Math.floor(Math.random() * 16777215).toString(16); } P.S.: This function generates a random hexadecimal value ;)

Функция обнаружения коллизий объектов (JavaScript)

Дан­ная функ­ция поз­во­ля­ет опре­де­лить пере­се­че­ние (кол­ли­цию) двух объ­ек­тов (сфер / окруж­но­стей): function $_collision(a, b) { var c = a.x — b.x, d = a.y — b.y, e = a.r + b.r; return c * c + d * d <= e * e }   $_collision({ x: 150, y: 200, r: 100 }, { x: […]

функция расширения объекта (JavaScript)

function $_extend(o, a, y) { for (y in a) o[y] = a[y]; return o }   var obj1 = {a: 1, b: 2, c: 3}; var obj2 = {x: ‘a’, y: ‘b’, z: ‘c’}; var new_obj = $_extend(obj1, obj2); console.log(new_obj); // {a: 1, b: 2, c: 3, x: ‘a’, y: ‘b’, z: ‘c’}function $_extend(o, a, […]