Как стать автором
Обновить
Антон П @roodzread⁠-⁠only

Веб-разработчик: PHP, Laravel, Vue.js

Отправить сообщение

Непрерывная интеграция: Hudson + PHPUnit

Время на прочтение4 мин
Количество просмотров2.6K
Существует цепочка в мозгу: мы напишем юнит тесты, затем эти тесты нам расскажут если мы что-то сломали, затем они нам почту будут отправлять о том, что проект поломался.
Это ничто иное, как иллюстрация непрерывной интеграции (Continious Integration) нычне крайне модного направления гибкой разработки. Единственный недостающий элемент цепочки — «КАК». Ниже коротенький рецепт, как бы отвечающий «очень просто».
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии19

Плагин, превращаем input text в «калькулятор»

Время на прочтение1 мин
Количество просмотров3.4K
По долгу службы написал плагин zeninput для jQuery, многим он понравился, решил поделиться с общественностью.
Пользователям нашего сервиса часто приходится вводить несколько сумм и дабы не утруждать их поисками калькулятора был написан данный плагин, он превращает обычный intput text в калькулятор.



В плагине обрабатываются события onready, onerror, onfocus, onblur и т.д. поэтому его можно расширить как захочется. Также блокируется ввод неподходящих символов.

Работоспособность проверялась в IE6-8 и Браузерах.

Поиграться с плагином можно на странице с демками, там же выложено более подробное описание, событий.

UPD1 dohlik :)
Всего голосов 110: ↑106 и ↓4+102
Комментарии32

Мелочи, облегчающие жизнь

Время на прочтение3 мин
Количество просмотров19K
Postgresql, без сомнения, великолепная СУБД. Она обладает обширнейшими возможностями, отличной документации, и при всем при этом является бесплатной. Однако, всегда найдется что-то, чего пользователю не будет хватать. И в postgresql это легко исправляется, ведь он позволяет создавать функции на языках на любой вкус, будь то Plpgsql, Perl или даже Java.

Приведу пример. Мне всегда не хватало функции, получающей DDL выбранной таблицы. В oracle, например, вы можете воспользоваться для этого средствами пакета dbms_metadata. А вот в postgresql аналога почему-то нет. То есть можно конечно использовать pgdump, но это уже немного не то, мне хотелось бы иметь функцию бд. И так далее, думаю у каждого найдется несколько таких небольших «хотелок».

В любой моей базе я создаю в схеме «public» определенный набор вот таких облегчающих мне жизнь функций. В этом топике я хочу поделиться ими. Приглашаю всех также поделиться в комментариях своими наработками.
Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии23

Амперсанды в строковых константах

Время на прочтение1 мин
Количество просмотров4.3K
Не забывайте, уважаемые джаваскрипт-программисты, в строковых константах указывать амперсанд как "&", а не просто как "&". Ибо иначе результаты будут очень браузеро-зависимы:
document.body.innerHTML = "http://example.org/get.php?test";
document.body.innerHTML += "&ok";
document.body.innerHTML += "&wonderful";
Результат:
Firefox: http://example.org/get.php?test&ok&wonderful
Chrome: http://example.org/get.php?test&wonderful
IE: http://example.org/get.php?test
Всего голосов 106: ↑59 и ↓47+12
Комментарии29

Еще один прибитый футер. Переменная высота, блочная верстка, JS опционально

Время на прочтение2 мин
Количество просмотров3.2K
Задача прибивания футера к низу страницы обмусолена с ног до головы. Она неплохо решается для футера фиксированной высоты. А вот для случая, когда высота футера зависит от его содержимого, методов не так много. Либо это очевидное решение на javascript. Либо подгонка для этого элементов, изначально для того не предназначенных. Я, конечно, о таблицах. Хочу предложить способ, который тоже имеет свои недостатки (обо всем ниже), но недостатки эти другие, и, следовательно, может подойти тем, кому первые два не подходят.
Читать дальше →
Всего голосов 54: ↑42 и ↓12+30
Комментарии34

Конфиг exim.conf для DirectAdmin

Время на прочтение2 мин
Количество просмотров4.2K
Притомил меня спам от всяких левых и правых серверов.
Решил немного пошаманить над конфигом ексима. Шаманство довело до того, что был полностью переработан штатный конфиг, прикручен небольшой избирательный грейлистинг и dspam-фильтр, а также черные и белые списки.
От spamassasin отказался полностью (в пользу dspam, который будет описан в отдельной статье) ибо памяти кушает не слабо, особенно когда вал входящей почты идет, а эффективность его немного страдает.

После шаманства спам упал практически на 80-90%. Остальное проходит через грейлистинг и потом dspam.
Читать дальше →
Всего голосов 9: ↑4 и ↓5-1
Комментарии4

Плагин jQuery Globalization от Microsoft

Время на прочтение9 мин
Количество просмотров7.8K
с примерами и интересной информацией о глобализации

В прошлом месяце я рассказывал в блоге о том, как Microsoft начала поставлять код в jQuery и о нашем первом проекте, над которым мы работали – шаблоны и связывание данных в jQuery (о связывании на Хабре).

Сегодня, мы выпустили прототип нового плагина под названием jQuery Globalization, который позволяет добавить поддержку глобализации в ваши JavaScript-приложения. Этот плагин включает информацию о глобализации для свыше 350 культур от шотландской кельтской, фризской, венгерской, японской до канадского английского. Мы выпустим этот плагин для сообщества с открытым исходным кодом.

Вы можете загрузить наш прототип плагина jQuery Globalization из репозитория на Github:http://github.com/nje/jquery-glob

Кроме того, отсюда вы можете загрузить набор примеров, которые демонстрируют некоторые простые юзкейсы.

Читать дальше →
Всего голосов 96: ↑75 и ↓21+54
Комментарии31

Некоторые аспекты разработки платежных систем. Часть I. Трехзвенка без трехзвенки

Время на прочтение2 мин
Количество просмотров3.6K

Мир тебе, %username%!


В этой серии постов я хочу рассказать о некоторых аспектах реализации платежной системы(а если повезет и двух), реально имевшей честь работать с середины 2000х в одном из городов нашей необъятной родины.
Что вообще такое ПС, и по каким принципам она должна работать? Я, как и заказчик, имел об этом представление лишь как пользователь WebMoney и платежных терминалов. Тем не менее, желание+деньги сделали своё дело и разработка началась.

Для начала, что вообще понималось под платежной системой и с чего началась разработка.
UPD:
Вторая часть!
Читать дальше →
Всего голосов 54: ↑38 и ↓16+22
Комментарии36

Тесты методов передачи списковых переменных в хранимую процедуру MS SQL 2008

Время на прочтение4 мин
Количество просмотров23K
По следам этого поста. Надеюсь, автор не будет иметь ничего против того, чтобы я расширил его умозаключения.

Внутри описание (плюсы\минусы) методов передачи, таблица и график сравнения. Рассматриваются следующие методы передачи параметра:
  • Xml (Openxml)
  • Xml (Xquery)
  • Строка
  • Блоб
  • Промежуточная таблица
  • Табличный тип

Что же круче?
Всего голосов 52: ↑35 и ↓17+18
Комментарии17

Встречайте, QMMP — музыкальный плеер

Время на прочтение2 мин
Количество просмотров12K
Представляю wimamp-подобный музыкальный плеер — Qmmp, разработанный нашими соотечественниками на Qt под лицензией GPLv2. Хотя на первый взгляд ничего особенного нет, я, как программист, вижу в нем большой потенциал. В этом топике я бегло пробегусь по его возможностям, а так же распишу, в чем же его особенность.

Читать дальше →
Всего голосов 69: ↑52 и ↓17+35
Комментарии80

Создаем простейшее usb-устройство для общения со своей программой

Время на прочтение7 мин
Количество просмотров117K
В продолжение темы о создании собственного USB-гаджета.
Создание простого устройства.

Раз устройство планируется подключать к ПК, значит вероятнее всего потребуется передача данных между устройством и ПК.
Начнем писать прошивку и софт, наладив связь между ними.
Читать дальше →
Всего голосов 138: ↑134 и ↓4+130
Комментарии35

Еще один сервис поиска иконок

Время на прочтение1 мин
Количество просмотров7.9K
В данном русском ресурсе (iconsearch.ru) приведено достаточно много иконок (133673 штук в png-формате), причем на различных фонах (белый, прозрачный) и разных размеров. Иконки довольно симпатичные. Все они разбиты по тегам и наборам. Теги позволяют еще быстрее найти нужную Вам иконку. Теги можно добавлять самому (без регистрации, с применением AJAX). Также присутствует облако тегов. Каждая иконка на этом сайте защищена одной из списка лицензий. Также есть на сайте возможность разработки уникальных иконок. Сайт был создан в 2007, однако на Хабре про него ничего нет, кроме нескольких комментариев.
Всего голосов 66: ↑48 и ↓18+30
Комментарии27

Как узнать, что бекап прошел успешно

Время на прочтение3 мин
Количество просмотров13K
Приветствую!

Всем известно, что админы делятся на тех кто еще пока не делает бекапы и на тех, кто уже делает бекапы. Однако, есть мнение, что еще бывают и такие, кто свято убежден, что бекапы делаются, а на деле это не так. В этом посте мне бы хотелось рассказать парочку реальных историй и (если получится) подвести итоги, сделать выводы.

Читать дальше →
Всего голосов 55: ↑48 и ↓7+41
Комментарии34

Не используйте kill -9

Время на прочтение2 мин
Количество просмотров114K
Аргумент -9 (или KILL) для команды kill следует использовать в POSIX-совместимых системах только в случае крайней необходимости. Почему? Сигнал KILL не может быть обработан процессом. Это означает, что после завершения процесса с помощью kill -9, дочерние процессы останутся в памяти и станут «осиротевшими» (orphaned), файловая система окажется засорена временными файлами, сегменты совместно используемой памяти — активными, сокеты — зависшими, а функция atexit(3) вообще не будет выполнена. В результате есть риск столкнуться с неожиданными и сложными для отладки проблемами.
Читать дальше →
Всего голосов 128: ↑98 и ↓30+68
Комментарии68

Кому дома нужен такой прямой московский номер?

Время на прочтение3 мин
Количество просмотров57K
Некоторое время назад на рынке появились услуги виртуальных телефонных номеров от компании «Skype».
Всё было бы неплохо, если бы не стоимость их услуг для частных лиц. Ну а уж, ловкости и пронырливости, подвязавшихся аналогичных компаний можно только позавидовать!
Герой нашего сегодняшнего разбора(обзора) -> тариф «Домашний» от компании Манго
Читать дальше →
Всего голосов 55: ↑39 и ↓16+23
Комментарии143

Фильтруем с помощью jQuery большое количество данных

Время на прочтение5 мин
Количество просмотров2.7K
image У меня на хабре очень крупное приданное избранное. Там что-то найти было очень сложно, а если ещё не помнишь как и что, то чрез чур. По сему решил написать на jQuery фильтр всего этого добра по тэгам. Для того бы сграбить закладки, прошлой весной ukko сделал простой граббер. В итоге у нас получался огромный htm в формате NETSCAPE Bookmarks и xml.

Принцип работы прост, устанавливаем себе грабер, получаем заветный habrabookmarks.htm, и просто запускаем мой файл сортировки рядом.
Читать дальше →
Всего голосов 61: ↑37 и ↓24+13
Комментарии38

Быстрый старт с openID

Время на прочтение3 мин
Количество просмотров15K
Добрый день, друзья.

Сегодня я хочу поделиться своим опытом внедрения авторизации по openID на своем книжном сайте «Мои книги». Статья рассчитана на начинающих, поэтому вряд ли заинтересует тех, кто уже знает все нюансы этой технологии. Основная ее цель – ответить на вопрос: «да, это удобно, но как же мне сделать такое в моем проекте?!!»

Читать дальше →
Всего голосов 67: ↑54 и ↓13+41
Комментарии61

Ваш RSS-канал в новостях Яндекс, Рамблер, Google и LI

Время на прочтение5 мин
Количество просмотров69K
Новостные сайты и RSSВсем известны системы обработки новостей Яндекс.Новости, Новости Рамблера и Google.News, многие используют именно эти порталы для поиска и чтения новостей.

Ваш сайт тоже может стать источником для этих новостных сайтов.

Речь в статье пойдёт не о технической стороне публикации RSS-каналов (многие CMS уже имеют все необходимые средства), а о том, как получить возможность экспорта своих материалов на крупнейшие новостные сайты по опыту компании, не являющейся средством массовой информации.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии19

Модификация изображений для сайта, или какие бывают превьюшки

Время на прочтение5 мин
Количество просмотров22K
Наверняка каждый из вас делал сайт, где администратор, или даже пользователи, могу закачивать изображения, которые должны отобразится на сайте. Такие изображения можно разделить условно на 2 группы: те, которые вставляются в тело статей, скажем с помощью wysiwyg-редактора, и те, которые закачиваются в отдельное поле и потом выводятся в заранее отведенном месте. Ко вторым относятся всевозможные картинки к новостям, фотографии в фото-галереях, какие-нибудь логотипы партнеров и прочее.

И те и другие требуют какой-то обработки после размещения, но каждая группа имеет свои особенности.
Читать дальше →
Всего голосов 66: ↑52 и ↓14+38
Комментарии57

Реализация эффекта Philips Ambilight в превью изображений

Время на прочтение16 мин
Количество просмотров3.9K
Вчера в топике «Модификация изображений для сайта, или какие бывают превьюшки» в комментариях diGreez предложил, как мне показалось, очень интересный способ организации превьюшек изображений. Реализовал на PHP функцию, которая занимается созданием таких превьюшек.
Функция документирована комментариями.
Читать дальше →
Всего голосов 105: ↑84 и ↓21+63
Комментарии62

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность