Я потихоньку переезжаю с Google Blogger на Jekyll на GitHub Pages, хочется сделать сайт более легковесным и немного сменить направление развития.
Новый блог будет вестись на английском, основными темами будут веб, непрерывная интеграция и всякое цифровое искусство (музыка, фотографии).
Сейчас он располагается по адресу new.rudeshko.com. Там почти всё написано с нуля, поэтому подписывайтесь, комментируйте и не стесняйтесь поправлять меня и репортить баги =)
Всем хорошего дня!
понедельник, 18 ноября 2013 г.
четверг, 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:
Но debuggex мгновенное превращает это в наглядную схему:
И дальше можно пройтись по любому тексту используя это регулярное выражение шаг за шагом, выявить проблемы. Кроме того, сервис предлагает несколько рандомных совпадений, а так же различные примеры регулярных выражений (как, например, упомянутый IPv4). А вот пример для IPv6:
Есть и краткий туториал:
Например, не так то просто понять регулярное выражение для 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 мгновенное превращает это в наглядную схему:
И да, естественно, можно пользоваться не только для отладки джаваскриптовых регулярных выражений, но и для всех остальных. Нужно только учитывать особенности.
Хорошего дня!
понедельник, 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 г.
вторник, 2 апреля 2013 г.
Music update
Всем привет!
Немного интересных названий за последнее время.
Хорошего дня!
четверг, 28 марта 2013 г.
График работы
Подумалось мне тут, что было бы интересно, если бы в дневную рабочую норму (8-9 часов) по закону было включено ещё и время, затрачиваемое на поездку. Тогда и сам работодатель был бы заинтересован в расположении работников ближе к работе, и люди бы так не уставали.
И овцы живы, и волки сыты)
Хорошего дня!
Google Keep
Не то, чтобы гугл кип был сильно хорош, но вот что точно хорошо, так это автоматическая синхронизация где-то в фоне. Синхронизация - прямо таки бич нашего века, даёшь гит репозиторий в каждую софтинку =)
Можно ехать в метро и действительно делать всякие заметки, как, например, сейчас) Тот же евернот мне сразу не понравился - слишком уж тяжеловесный и тормозной, постоянно ломал форматирование (даже то, которого нет); гугл докс тоже отпадает - не попишешь в оффлайне.
Ничего не отвлекает, только текст - сиди записывай! =) И не тормозит даже! В последнем андроиде заметки можно делать прямо с локскрина.
И да, сотый пост =)
Можно ехать в метро и действительно делать всякие заметки, как, например, сейчас) Тот же евернот мне сразу не понравился - слишком уж тяжеловесный и тормозной, постоянно ломал форматирование (даже то, которого нет); гугл докс тоже отпадает - не попишешь в оффлайне.
Ничего не отвлекает, только текст - сиди записывай! =) И не тормозит даже! В последнем андроиде заметки можно делать прямо с локскрина.
И да, сотый пост =)
четверг, 7 февраля 2013 г.
Тормозной Android
Думаю, не я один столкнулся с проблемой достаточно существенного и необъяснимого замедления операционки на базе HTC. Переломный момент я не отследил, но говорят, что подобная фигня произошла после крайнего обновления системы.
Пытаясь решить проблему я нагуглил весьма незамысловатое решение - factory reset. Ну что же, терять особо нечего, подумал я. Контакты синхронизируются, SD карточку оно не чистит, только внутреннее хранилище.
И поресетил.
Пытаясь решить проблему я нагуглил весьма незамысловатое решение - factory reset. Ну что же, терять особо нечего, подумал я. Контакты синхронизируются, SD карточку оно не чистит, только внутреннее хранилище.
И поресетил.
воскресенье, 6 января 2013 г.
Тонкости Picasa
Пока разгребал фотки, наткнулся на очень интересную особенность Picasa и Google+ в целом.
Как вы, возможно, могли заметить на сайте picasaweb, внизу страницы указан объём, сожранный вами от бесплатных 5 Гб. Примечательна политика расходования этого бесплатного места. Мало того что оно распространяется на все сервисы Google (GPlus, Picasa, GMail, GDrive) и само по себе невероятно дёшево (100 Гб за $5 в месяц ≈ 150р, в дропбоксе - в два раза дороже), так оно ещё и тратиться очень хитро.
Подписаться на:
Сообщения (Atom)