Как стать автором
Обновить
-4
0
Влад Мерк @13i

психолог, коуч, дизайнер, разработчик, бизнесмен

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

Триграммный индекс или «Поиск с опечатками»

Время на прочтение4 мин
Количество просмотров34K
Как-то по долгу службы появилась необходимость добавить к поиску на сайте всем известную фичу, сервис «Возможно вы имели в виду…» или «Поиск с опечатками». Стали думать как реализовывать. Сторонние сервисы и api использовать не хотелось, ибо время до чужого сервера и назад, да и в целом не очень хорошо. Как раз кстати пришелся модуль pg_trgm, который ищет близкие к запросу слову на основе триграммного индекса.

Итак, идея есть, надо реализовывать.
Всего голосов 49: ↑47 и ↓2+45
Комментарии28

Zend Framework: подключаем OpenID

Время на прочтение8 мин
Количество просмотров2.1K
В своем проекте (Вопросы и ответы для программистов) на Zend Framework мне стало необходимо подключить OpenID и после часа работы я успешно подключил стандартный зендовский сервис. Думаю класс, как легко и удобно(как и все в зенде), но как оказалось этот сервис не работает с OpenId 2.0, да — он просто не дописан.

Немного порывшись в исходниках я это подтвердил — Consumer.php * todo OpenID 2.0 (7.3) XRI and Yadis discovery
Потом посмотрел по багтрекеру и оказалось что это весит уже давно(очень) и никто не спешит доделывать. Тогда я и начал искать альтернативу. Выбор попал на openidenabled.com/php-openid.

Далее приведу пример, который позволит тем кто еще только собирается подключать сделать это минут за 15.
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии28

Виджет выбора OpenID провайдера на Prototype

Время на прочтение1 мин
Количество просмотров1.4K
Когда-то я уже писал, как интегрировать OpenID авторизацию в ваш сайт. Речь шла о серверной части.
Сейчас же я говорю о UI части — виджет для выбора провайдера.

В качестве клиентской библиотеки для своего проекта я выбрал prototype и первым делом я полез в гугл поискать готовое решение. Удалось найти такое, но только для JQuery — code.google.com/p/openid-selector

И так мне ничего не оставалось как написать OpenID selector самому. Вот что получилось

image
Читать дальше →
Всего голосов 40: ↑32 и ↓8+24
Комментарии33

jQuery.keyboard v0.2.0

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

Снова приветствую Хабрасообщество. Недельку назад я выкладывал свою либу jQuery.keyboard. Там было несколько недостатков, нереализованных идей, да и огромное количество предложений и положительных отзывов побудили меня к быстрому написанию новой версии
Читать дальше →
Всего голосов 85: ↑74 и ↓11+63
Комментарии59

jQuery.Tree

Время на прочтение2 мин
Количество просмотров25K
Товарищ caffeine искал плагин к jQuery, который делает дерево с чекбоксами, которые имеют три состояния — установленный, снятый и «чуть-чуть установленный». Не нашел, попросил меня написать. Я написал и делюсь со всеми желающими.
Ой, как интересно
Всего голосов 72: ↑67 и ↓5+62
Комментарии59

Загрузка браузером нескольких файлов

Время на прочтение5 мин
Количество просмотров30K
Если нужно дать пользователю возможность загрузки нескольких файлов, традиционное решение на данный момент — использовать для этой цели Flash (реже — Java applet или ActiveX). В случае, если соответствующий плагин недоступен, пользователю, как правило, показывают стандартный HTML-элемент для загрузки файла.

Последнюю ситуацию можно улучшить, если использовать встроенную в браузеры возможность множественной загрузки файлов. Из всех браузеров сейчас данную возможность не поддерживает только Internet Explorer (впрочем, мы ещё не видели девятую версию, может там что-то изменится), остальные браузеры — Opera 9 и выше (а так же версии 3.5—6.05), Firefox 3.6+, Chrome 3.0.191.0+ и Safari 4.0.1+ такую возможность предоставляют.

Достаточно написать что-то вроде
Copy Source | Copy HTML
  1. <form enctype="multipart/form-data" method="post">
  2.    <input type="file" min="1" max="9999" name="file[]" multiple="true" />
  3.    <input type="submit" name="submit" />
  4. </form>
PHP оказался готов к такой конструкции (именно для него в параметре «name» стоят квадратные скобки), он просто разложит загружаемые файлы по элементам массива $_FILES, если только мы не используем «Оперу».

К сожалению, «Опера» (ещё с версии 3.5) отправляет, при использовании мультизагрузки, файлы в контейнере «multipart/mixed», который PHP не понимает.

Я попробовал исправить эту ситуацию.
Читать дальше →
Всего голосов 119: ↑107 и ↓12+95
Комментарии67

Организация on-line платежей на сайте. Для тех, кто никогда этим не занимался, но боится, что придётся. Часть 2: архитектура

Время на прочтение13 мин
Количество просмотров7.1K
Вслед за первой частью, призванной в первую очередь показать, что «не так страшен чёрт, как его малюют»

Статья об архитектуре части проекта, которая занимается он-лайн платежами. Намеренно не хотелось бы сейчас подробно описывать API конкретного биллинга или процедуру регистрации в нём. Тонкости конкретных биллингов нужно обсуждать отдельно, иначе тему просто не раскрыть. Цель статьи: обсудить вариант архитектуры, позволяющий нанизывать новые виды биллингов и типы платежей, с наименьшей головной болью.
Читать дальше →
Всего голосов 72: ↑64 и ↓8+56
Комментарии33

jQuery.keyboard v0.1.0

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

У меня есть на примете как минимум два проекта, в которых понадобится активное управление с помощью клавиатуры. Поэтому, я сел и написал удобный и красивый плагин для jQuery, который выкладываю во всеобщий доступ под свободной лицензией LGPL.
Читать дальше →
Всего голосов 141: ↑136 и ↓5+131
Комментарии82

Поиск по сайту на основе Yandex.XML

Время на прочтение3 мин
Количество просмотров13K
Почему-то вебмастера ленятся сделать нормальный поиск по своему сайту. Особенно это касается высокопосещаемых сайтов, где качественный поиск был бы очень удобен для рядового пользователя.

Чаще всего прибегают к готовому решению от Google, с помощью которого можно еще и подзаработать на контекстной рекламе. Но для рунета я бы посоветовал сделать поиск при помощи сервиса Yandex.XML, потому что такой поиск больше адаптирован под морфологию русского языка. К тому же вы можете получить шанс получить самые жирные биды для контекста, если будете использовать поисковый директ.

В этом посте я хочу подробно показать вам, что подобный поиск организовать совсем не сложно. Это займет всего несколько минут и выльется в десяток строк на PHP.
Читать дальше →
Всего голосов 54: ↑40 и ↓14+26
Комментарии58

Динамический CSS?

Время на прочтение4 мин
Количество просмотров19K
xCSS PHP ClassЯ давно ждал этого момента, нет честно, где-то в подкорке я очень-очень хотел такой штуки чтобы было удобно писать на CSS без переписывания похожих стилей по два раза, без выыскивания нужных разделов в собственном коде, в общем хотелось чтобы на CSS можно было работать легко и просто, что-то я затянул…И так встречайте xCSS — php-класс для работы с динамическим CSS.
Поехали
Всего голосов 109: ↑81 и ↓28+53
Комментарии52

Вращение объектов в 3D

Время на прочтение2 мин
Количество просмотров5.1K
Приветствую тебя, %username.
image



Сегодня я хочу продемонстрировать возможности замечательного IMagick, и показать как с легкостью можно получить анимированное 3D gif изображение. Это может пригодиться, например в магазинах, которые продают мобильные телефоны, и хотят продемонстрировать покупателям телефон в 3D, без использования Flash.


Читать дальше →
Всего голосов 102: ↑79 и ↓23+56
Комментарии37

Создаём правильный «мокрый пол» c перспективой изображения на Javascript

Время на прочтение1 мин
Количество просмотров1.8K
В контексте одного из моих текущих проектов была поставлена задача сделать «мокрый пол». Картинок на пол планировалось класть огромное количество (но всего по паре на страницу, с заменой). В перспективе. В перспективе, кстати, временной и пространственной.

Не найдя ничего стоящего, я взялся написать свой велосипед. И, по-сидев два с лишним вечера, сочинилась небольшая js-библиотека с generic-названием iWet.

UPD: Версия 0.2
  • Добавил белую маску. См. Демо.
  • Выложил исходик маски в .psd
  • Вылечил баг с мельканием картинки при загрузке страницы
  • Добавил readme.txt и licence.txt
  • Минимальные косметические изменения кода

Плюсы, минусы и примеры следуют
Всего голосов 83: ↑76 и ↓7+69
Комментарии67

Честные и благородные способы сделать так, чтобы в интернете вас любили и уважали (не seo)

Время на прочтение1 мин
Количество просмотров11K
image
Недавно в Самаре прошла конференция веб-разработчиков 404 на которой я делал доклад о секретах продвижения Турбомилка в интернете. Скромность — это модно, но не практично. Мало сделать что-то крутое, про это нужно интересно рассказать, причем, нужным людям.

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


Делать доклад мне помогал Платон Днепровский из UIDesign Group за что ему большое спасибо. (ролик рекомендуется смотреть прямо с Vimeo в HD-качестве)

Читать дальше →
Всего голосов 97: ↑63 и ↓34+29
Комментарии36

51 Веб Приложение для Дизайнеров и Разработчиков

Время на прочтение11 мин
Количество просмотров13K
Веб дизайн и разработка претерпели значительные изменения в течении последних лет, точно так же изменились используемые технологии и инструменты. Эти изменения придали жизнь таким инструментам, которые сделали нашу жизнь проще, и дали возможность предоставлять нашим клиентам более качественные услуги. Коммуникации и совместная работа на огромных расстояниях уже не проблема и управление проектом стало весьма простой задачей.

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

Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
Идем дальше...
Всего голосов 101: ↑86 и ↓15+71
Комментарии26

TAG_ADD Plugin

Время на прочтение3 мин
Количество просмотров1.1K
Привет, %username%
Как-то раз мне пришлось писать форму для добавления постов в блог. Помимо стандартных полей (название, дата, текст и.т.д.) необходимо было привинтить юзабельную форму добавления тегов.
Т.к. я кодю в jQuery, то и выбор был однозначным.
Вот необходимые задачи, которые я поставил перед собой:
  1. Легко в настройке
  2. Все теги храняться в одном файле (в кэше)
  3. Минимальная нагрузка на сервер и клиента
  4. Список тегов — подсказок открывается только для выбранного запроса на определенный тег.

Инструкция, ссылки и.т.д.
Всего голосов 55: ↑50 и ↓5+45
Комментарии40
12 ...
24

Информация

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

Специализация

Fullstack Developer, SEO Specialist
Lead
Web development
Design of outdoor advertising
Logo design
UI/UX design
Web design
Graphic design
Adaptive design
Development of corporate identity
SEO strategy developing
SEO optimization