понедельник, 18 ноября 2013 г.

Новый блог

Я потихоньку переезжаю с Google Blogger на Jekyll на GitHub Pages, хочется сделать сайт более легковесным и немного сменить направление развития.

Новый блог будет вестись на английском, основными темами будут веб, непрерывная интеграция и всякое цифровое искусство (музыка, фотографии).

Сейчас он располагается по адресу new.rudeshko.com. Там почти всё написано с нуля, поэтому подписывайтесь, комментируйте и не стесняйтесь поправлять меня и репортить баги =)

Всем хорошего дня!

четверг, 3 октября 2013 г.

Oxycanta III

В замечательный день 30-го сентября вышла очередная серия эмбиент сборника Oxycanta под номером III.



Не пропустите.

четверг, 29 августа 2013 г.

Помощь в отладке JS

Бывает очень много случаев когда хочется отладить одну конкретную функцию с нужными аргументами и простым брейкпоинтом тут не отделаешься. На помощь спешит команда debugger!


суббота, 24 августа 2013 г.

Искушённые маководы

Привет, сегодня у нас краткие заметки про настройку макоси. Пишу для себя или для любого другого любителя-виндовода, разрабатывающегося под макосью =)

вторник, 20 августа 2013 г.

Разделяем элементы массива

Последнее время меня мучила небольшая задачка по добавлению разделителей любого типа (не только строки, но и объекты, другие массивы) между всеми элементами данного массива. То есть что-то вроде Array#join(separator), но чтобы на выходе получался массив, а не строка.

Например:
[1, 2, 3] => [1, 'sep', 2, 'sep', 3]

Естественно, задачка очень проста и решается кучей различных способов. Моей проблемой является не нахождение решения, а поиск его наиболее элегантного варианта.

Я перепробовал массу вариантов, но постоянно внутренний мир был недоволен. Хотелось, конечно, сделать в функциональном стиле, но красиво не вышло.

Совесть замолчала на следующей конечной реализации:

function insertSeparator(array, separator) {
    var index = array.length - 1;
    while (index) array.splice(index--, 0, separator);
    return array;
}

Можно легко переделать как на расширение прототипа, так и на неразрущающий вариант.

А как выглядит элегантное решение на вашем языке?

Хорошего дня!

четверг, 25 июля 2013 г.

Я никогда не знал Сегаловича. Встречал пару раз на этаже. Но он был с нами. Я чувствовал это.

пятница, 19 июля 2013 г.

Команда copy в Chromium DevTools

А вот и ещё одна команда, которая может оказаться чрезвычайно полезной как при отладке, так и при разработке веб приложений.

воскресенье, 14 июля 2013 г.

Debuggex

Debuggex — отличный сервис, который надёжно избавит вас от боли отладки регулярных выражений в вашем JS. Бесплатно и без СМС!

Например, не так то просто понять регулярное выражение для IPv4:

(?:(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])\.){3}(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])

Но debuggex мгновенное превращает это в наглядную схему:


И дальше можно пройтись по любому тексту используя это регулярное выражение шаг за шагом, выявить проблемы. Кроме того, сервис предлагает несколько рандомных совпадений, а так же различные примеры регулярных выражений (как, например, упомянутый IPv4). А вот пример для IPv6:


Есть и краткий туториал:


И да, естественно, можно пользоваться не только для отладки джаваскриптовых регулярных выражений, но и для всех остальных. Нужно только учитывать особенности.

Хорошего дня!

понедельник, 1 июля 2013 г.

Мониторинг веб-сервера

Опишу неизощрённый и простой способ определения доступности веб-сервера.

Допустим у вас длительный процесс поднятия веб-сервера (например, клонирование виртуалки) и хотелось бы не пялиться в логи, а получить уведомление о доступности сервера. Достаточно в цикле выполнять команду curl, которая бы дёргала интересующий нас url:

curl -Is test.rudeshko.com

-I - вывести только заголовки ответа;
-s - silent, ничего не выводить. Я так понял, что это про ошибочный вывод, ибо над обычным (http) силы не имеет. Есть смысл использовать в скриптах в совокупности с кодом возврата команды, например, RESULT=$?:

curl -Is test.rudeshko.com > /dev/null
RESULT=$?

Осталось только набросать вокруг цикл со sleep =)

Хорошего дня!

четверг, 27 июня 2013 г.

Символические ссылки

Сегодня у нас краткая заметка про символические ссылки.
Удалить ссылку очень просто:
rm link
А как удалить файл, на который указывает ссылка? Вот так:
rm `readlink link`

Хорошего дня!

вторник, 25 июня 2013 г.

jQuery return false

Привет!

Небольшая заметка про обработчики событий в jQuery.

вторник, 2 апреля 2013 г.

Music update


Всем привет!

Немного интересных названий за последнее время.

Solar Fields - Origins #2. Просто без комментариев. До сих пор не могу выключить. На самом деле сюда вдогонку можно положить Aes Dana - Pollen, если вы нечаянно пропустили в ушедшем году. Да, вот ещё троечка лайвов с Live Nuit Hypnotique #4: Scann-Tec - Morpheus, Circular - Nordic Circles, Hol Baumann - Human (обзорная ссылочка). Меньше всего порадовал Бауманн, что-то ничего нового или интересного не сыграл. Короткий, но вполне зажигательный свежачок с парочкой запоминающихся треков: Infected Mushroom - Friends On Mushrooms, Vol. 1. Ну и к ним же New Clown in Town.   Порадовали и альтернативщики, на своей позитивной волне играют OneRepublic - Native, к ним положу и экспериментаторов Muse - The 2nd Law. Кстати, благодаря Яндекс.Музыке узнал что некто Стивен Сигал неплохо так гитарирует. Можно послушать прямо там, Steven Seagal - Songs From The Crystal Cave. Местами даже регги есть =) Отлично-эпичный отобранный кусочек из саундтрека к старкрафту, тема с заглавным названием StarCraft 2 - Heart of the Swarm. У Parov Stelar давненько уже вышел замечательный альбом The Princess в том же неповторимом стиле, что и всегда.
Внезапно новый альбом Pur:Pur - Nevertheless. Музыка у них бесплатная, любим и жалуем. Не зацепил, но сам по себе неплох. Ну и напоследок немного качественного дапстепа, последний месяц под эгидой Fonik - Oblivion и Pegboard Nerds
Хорошего дня!

четверг, 28 марта 2013 г.

График работы


Подумалось мне тут, что было бы интересно, если бы в дневную рабочую норму (8-9 часов) по закону было включено ещё и время, затрачиваемое на поездку. Тогда и сам работодатель был бы заинтересован в расположении работников ближе к работе, и люди бы так не уставали.

И овцы живы, и волки сыты)

Хорошего дня!

Google Keep

Не то, чтобы гугл кип был сильно хорош, но вот что точно хорошо, так это автоматическая синхронизация где-то в фоне. Синхронизация - прямо таки бич нашего века, даёшь гит репозиторий в каждую софтинку =)

Можно ехать в метро и действительно делать всякие заметки, как, например, сейчас) Тот же евернот мне сразу не понравился - слишком уж тяжеловесный и тормозной, постоянно ломал форматирование (даже то, которого нет); гугл докс тоже отпадает - не попишешь в оффлайне.

Ничего не отвлекает, только текст - сиди записывай! =) И не тормозит даже! В последнем андроиде заметки можно делать прямо с локскрина.

И да, сотый пост =)

четверг, 7 февраля 2013 г.

Тормозной Android

Думаю, не я один столкнулся с проблемой достаточно существенного и необъяснимого замедления операционки на базе HTC. Переломный момент я не отследил, но говорят, что подобная фигня произошла после крайнего обновления системы.

Пытаясь решить проблему я нагуглил весьма незамысловатое решение - factory reset. Ну что же, терять особо нечего, подумал я. Контакты синхронизируются, SD карточку оно не чистит, только внутреннее хранилище.

И поресетил.

воскресенье, 6 января 2013 г.

Тонкости Picasa

Пока разгребал фотки, наткнулся на очень интересную особенность Picasa и Google+ в целом.

Как вы, возможно, могли заметить на сайте picasaweb, внизу страницы указан объём, сожранный вами от бесплатных 5 Гб. Примечательна политика расходования этого бесплатного места. Мало того что оно распространяется на все сервисы Google (GPlus, Picasa, GMail, GDrive) и само по себе невероятно дёшево (100 Гб за $5 в месяц ≈ 150р, в дропбоксе - в два раза дороже), так оно ещё и тратиться очень хитро.