Статьи

Функция uniqid в JavaScript

В PHP есть шикарная функция uniqid. Она позволяет сгенерировать случайный идентификатор состоящий из цифр и букв, основанный на текущем времени. Выглядит он примерно вот так 526439af76c56.

Я очень часто пользуюсь ей (функцией), когда делаю что-то на ПХП. Конечно же мне очень хватало этой функции в JavaScript, поэтому я поискал в интернете, нашел один неплохой вариант, немного его подправил и вуаля:

(function () {
    this.uniqid = function (pr, en) {
        var pr = pr || '', en = en || false, result, us;
    this.seed = function (s, w) {
        s = parseInt(s, 10).toString(16);
        return w < s.length ? s.slice(s.length - w) : 
                  (w > s.length) ? new Array(1 + (w - s.length)).join('0') + s : s;
    };

    result = pr + this.seed(parseInt(new Date().getTime() / 1000, 10), 8) 
                + this.seed(Math.floor(Math.random() * 0x75bcd15) + 1, 5);

    if (en) result += (Math.random() * 10).toFixed(8).toString();

    return result;
};

})();

Использовать можно:

  • так uniquid() - результат 52643b81917b3
  • или вот так uniqid('prefix_') - результат prefix_52643bb682821
  • и даже вот так uniqid('prefix_', true) - результат prefix_52643bdf3b1fb7.38568327

Пользуйтесь на здоровье.

Тут ссылка на Gist.

24 октября 2013
6.2 тыс.
1 мин

Apple TV в белорусских реалиях

Все сейчас покупают всякие умные телевизоры, чтобы и в интернет ходили и ВКонтакте позволяли посидеть и в Скайпе пообщаться. Зачастую такие Smart TV являют собой убогих и медленных динозавров, которые как бы все это умеют, но умеют медленно. У меня телевизор большой, современный, но без всяких умных штук внутри. Фильмы смотрю или подключив лэптоп, или с внешнего винчестера. Не очень удобно на самом деле.

Одним из возможных вариантов усовершенствовать мой телевизор стала покупка Apple TV. Перечитал массу обзоров и статей, но так и не понял, есть ли смысл покупать сию черную кробочку. Поэтому днями раньше взял один на работе на "попробовать".

20 октября 2013
5.7 тыс.
8 мин

Pure JavaScript

Некоторые уже возможно видели сайт Pure JavaScript. Пока его назначение понять трудно. Но это мой маленький проект, который делается совсем неспеша. Так что... coming soon...

Pure Javascript

13 октября 2013
3.4 тыс.
8 сек

Выступаю и рассказываю про Yeoman

Мое выступление на первом митапе WebNotBombs.

13 октября 2013
3.4 тыс.
2 сек

Определяем браузер в JavaScript

В эпоху развития и массового внедрения мобильных технологий в жизнь простых граждан, все стремятся сделать свои сайты одинаково красивыми и доступными как на компьютерах, так и на телефонах и планшетах. Разработка таких сайтов требует определения типа браузера, чтобы максимально использовать преимущества каждого устройства. Разнообразие браузеров и движков создало большое количество уникальных для каждого из них функций. Их использование в JavaScript делает сайт лучше и привлекательнее для посетителя.

Чтобы правильно использовать эти функции необходимо знать, какой браузер в данный момент использует пользователь. Единственный правильный способ определить браузер в JavaScript - Useragent. Вот небольшой скрипт, который возвращает объект с различными свойствами, в том числе - мобильный или нет браузер, а также версию Android (может оказаться полезным):

var uAgent = navigator.userAgent || '';

var browser = { version : (uAgent.match( /.+(?:me|ox|on|rv|it|era|ie)\/: / ) || [0,'0'])[1], opera : /opera/i.test(uAgent), msie : (/msie/i.test(uAgent) && !/opera/i.test(uAgent)), msie6 : (/msie 6/i.test(uAgent) && !/opera/i.test(uAgent)), msie7 : (/msie 7/i.test(uAgent) && !/opera/i.test(uAgent)), msie8 : (/msie 8/i.test(uAgent) && !/opera/i.test(uAgent)), msie9 : (/msie 9/i.test(uAgent) && !/opera/i.test(uAgent)), msie10 : (/msie 10/i.test(uAgent) && !/opera/i.test(uAgent)), mozilla : /firefox/i.test(uAgent), chrome : /chrome/i.test(uAgent), safari : (!(/chrome/i.test(uAgent)) && /webkit|safari|khtml/i.test(uAgent)), iphone : /iphone/i.test(uAgent), ipod : /ipod/i.test(uAgent), iphone4 : /iphone.OS 4/i.test(uAgent), ipod4 : /ipod.OS 4/i.test(uAgent), ipad : /ipad/i.test(uAgent), ios : /ipad|ipod|iphone/i.test(uAgent), android : /android/i.test(uAgent), bada : /bada/i.test(uAgent), mobile : /iphone|ipod|ipad|opera mini|opera mobi|iemobile/i.test(uAgent), msie_mobile : /iemobile/i.test(uAgent), safari_mobile : /iphone|ipod|ipad/i.test(uAgent), opera_mobile : /opera mini|opera mobi/i.test(uAgent), opera_mini : /opera mini/i.test(uAgent), mac : /mac/i.test(uAgent), webkit : /webkit/i.test(uAgent), android_version: parseFloat(uAgent.slice(uAgent.indexOf("Android")+8)) || 0 };

29 сентября 2013
6.1 тыс.
2 мин

Василий... от Esquire

Все-таки Esquire — очень крутой журнал. Их вид интервью «Правила жизни» крайне интересен. Для последнего номера правила жизни были записаны с обычными людьми (не звездами), а бонусом стал фильм про путешествия пенсионера Василия Ильина в Нью-Йорк.

21 сентября 2013
3 тыс.
20 сек

Трейлер «Homefront» 2013

Вот за что люблю последние фильмы со Стейтемом, так это за абсолютную тупость. Сюжета нет, тупо бьет все морду, иногда стреляет. И вот снова...

Ну класс же!

14 сентября 2013
3.1 тыс.
9 сек

Тревожная информация из Бобруйска

Говорят, в Бобруйске без проекта и разрешения на проведение работ реконструируют кинотеатр «Победа».

Ниже много фото.

09 сентября 2013
3.2 тыс.
5 сек

Как снимали фильм «Великий Гэтсби»

01 сентября 2013
2.4 тыс.
1 сек

Про уродов и людей

Решил вот написать про то, что в Чернобыльской зоне не все так просто в плане человечности и отношения людей к трагедии.

1. В Припяти постоянно орудуют вандалы. Во первых, крадут батареи из домов и перила с лестниц. Зачем? На металлолом.

25 августа 2013
4.9 тыс.
25 сек