Search
Write a publication
Pull to refresh
15
0
Imenem @Imenem

User

Send message

QR для оплаты по СМС

Reading time1 min
Views917
Сегодня первый раз в жизни производил оплату услуги через SMS, и чтобы не нажимать на неудобные, маленькие кнопочки смартфона я просто открыл qrcode.kaywa.com и заполнил необходимые поля на компьютере, затем скормил картинку сканеру штрих-кодов на телефоне — и получил готовую SMS (с заполненным номером и текстом) — оставалось только нажать «отправить».
Так вот, почему бы вам, господам принимающим оплату через SMS не упростить жизнь пользователю и не добавить небольшую картинку рядом с информацией о платеже? Благо делается это предельно просто — например код по ссылке chart.apis.google.com/.../ сгенерирует сообщение на номер 01 с текстом abcdef123. Да и существуют готовые решения для генерации QR-кодов для популярных языков программирования, если у вас нет желания зависеть от гугла.
Реализовать не сложно (разве что в дизайн вписать), а пользователю — приятно.

Размышления на тему: идеальная форма регистрации

Reading time2 min
Views3.4K
imageНе знаю, на сколько эти мысли полезные и/или капитанские, если что — скажете :) Но такое я нигде не встречал, к сожалению.

Засыпая и размышляя над очередной идеей, которой потребовался бы хелпдеск/багтрекер подумал: ведь заставлять пользователей пройти через регистрацию, чтобы запостить баг/фичреквест — бесчеловечно. С дрйгой стороны, Анонимусы — тоже не всегда хорошо. И что делать?

Суть вкратце: идеальная форма регистрации — форма логина.
Подробнее и с картинками под катом.
Читать дальше →

Сторожевой пёс следит за вами (мониторинг хостинга)

Reading time4 min
Views15K
Внимание! Данная статья для web-программистов — содержит исходники и техн. подробности.

На страже у качестваУ Вас было такое – что простой вопрос повергал Вас в ступор и глубокие раздумья? У меня такое случается каждый раз, когда клиенты или друзья спрашивают меня:

— Андрей, какой хостинг порекомендуешь для нашего сайта?


И ответить нечего, потому что все (все!) наши замеры не в пользу хостинговых компаний, даже никого конкретно приводить не буду — сами сможете проверить, выполнив рекомендации в этой статье.

Казалось бы, где зарыта собака? Ведь для нас хостинг – это одна из любимейших мозолей, на которую часто наступают, потому что мы – SEOнизаторы. Мы трудимся – чтобы выводить свои сайты и клиентов в топы, а плохой и нестабильный хостинг распугивает сканирующих роботов Яндекса, Гугла и иже с ними. Впрочем, часто хостинг валится и днём, особенно во время пиковых нагрузок около 18:00 из-за наплыва в Интернете зевак под вечер.

Вот самое простое, что бывает – сайт исправно работает днём, пока бдит саппорт хостера. А ночью иногда исправно «лежит» в нокдауне. Например, скрипты хостера делают бекапы и все перегружено. Клиенты спят, покупатели спят, сайт спит. Все довольны, кроме поисковых пауков.

Первое, что мы сделали – купили свой дорогой сервер и отвезли его к Каравану (спасибо ребятам за отличное качество колокейшн). Но сервер у нас не резиновый, и как услугу хостинг мы не предоставляем. Поэтому пустить всех наших и не можем.

Чтобы как-то контролировать ситуацию – я написал пару лет назад монитор стабильности хостинга. Сейчас, когда у нас уже много других конкурентных преимуществ – мы готовы выложить исходники и алгоритм работы для Хабраобщественности, чему и посвящен этот пост.

Итак, ближе к делу.

Выбираем доменную зону

Reading time9 min
Views128K
Более 24 лёт прошло с изобретения доменных имён (и 18 — с создания Всемирной паутины), а люди так до конца и не освоились в вопросе выбора доменного имени для сайта.

До сих пор распространено нелепое суеверие, будто домены третьего уровня менее привлекательны, нежели домены второго уровня; более того, не так давно мне приходилось сталкиваться с утверждениями, будто домен в зоне .info неприличен — и почему? только лишь из-за низкой цены!

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

Читать дальше →

Разрабатываем быстрее и качественнее при помощи прототипов

Reading time10 min
Views6.9K
Старая поговорка «Лучше один раз увидеть, чем сто раз услышать» очень точно описывает, что разработчикам может дать создание прототипа интерфейса: визуальное представление, значительно более наглядно описывающие вопросы дизайна проекта и разработки функционала. В итеративном подходе к дизайну пользовательского интерфейса используется быстрое проектирование в процессе создания набросков системы (будь то веб-сайт или приложение) и утверждение их у обширной группы представителей заказчика, заинтересованных сторон, разработчиков и дизайнеров. Если придерживаться этого подхода — можно получить обратную связь раньше (чаще всего прямо в процессе обсуждения), что значительно улучшает качество дизайна конечного продукта и уменьшает потребности во внесении изменений в процессе разработки.
Читать дальше →

Creating Scalable Vector Graphs with PHP

Reading time15 min
Views11K
Как и большинство разработчиков PHP я знаком с расширением GD, которое позволяет достаточно просто создавать изображения в форматах JPEG, GIF и PNG. Расширение очень удобно, когда надо сделать сложные изображения из динамически получаемых данных в режиме он-лайн.
Обратной медалью GD является то, что изображения создаются в растровом формате. Изменение размеров изображения ухудшают его качество.
Читать дальше

MobiOne — эмулятор Iphone для Web разработчика

Reading time1 min
Views111K
Вот недавно тут был неплохой обзор эмуляторов мобильных девайсов habrahabr.ru/blogs/webdev/96453. Но в этом посте упоминался всего навсего один эмулятор для тестирования web приложений под Iphone на Windows. Я хотел бы добавить еще один — MobiOne, который я для себя отметил, как очень хороший. Одна из основных проблем эмулятора который был предложен в выше упомянутом посте — это то что в нем не работают touch events. Допустим в моем случае мне нужно было тестировать Drag and drop функционал, но так как для реализации данного функционала в Iphone используются touch events, то тестирование с помощью предложенного эмулятора невозможно, так как mouse events работают по другому на Iphone/Ipad, а вот MobiOne позволяет такие вещи тестировать.
Читать дальше →

AeroWindow плагин для jQuery. Создание окон в стиле Windows Aero

Reading time2 min
Views5.1K
Хочу представить вашему вниманию интересный плагин для jQuery — AeroWindow, позволяющий создать ваш сайт в стиле Windows Aero. Он создает появляющиеся окна в стиле Window 7 Aero, которые предлагают обычные опции и полную функциональность похожую на окна Windows.

image
Читать дальше →

Скриншоты сайтов своими руками

Reading time2 min
Views13K
Проблема создания скриншотов web-страниц прямо на сервере встает достаточно редко, но, как говорится, метко. Хватишься иной раз, так гугль дает ссылки на какой-нибудь парсер уже существующего сервиса. Но, господа, это же не наш метод!

Покопавшись, можно найти что-нибудь типа связки xvfb (виртуальный фреймбуффер) с каким-нибудь браузером, например xvfb+opera, или khtml2png, который тянет за собой фигову тучу kde'шных либ. А ведь так хочется какого-нибудь легкого standalone скриптика...

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

Читать дальше →

8 полезных регэкспов с наглядным разбором

Reading time2 min
Views274K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее

Самоинтерпретируемые данные работают за программиста

Reading time5 min
Views4.2K
Как часто вы используете текстовые конфигурационные файлы вроде ini, cfg, rc, xml, properties? Пишете ли для них обработчики, которые парсят строки и интерпретируют команды?
А я предлагаю иначе — записывать конфигурации на скриптовом языке (PHP, JavaScript и др.), используя удобства объекто-ориентированного программирования.
Читать дальше →

Практическая атака на беспроводную сеть с WEP шифрованием

Reading time7 min
Views26K
Теорию и процесс атаки хорошо описал юзер n3m0 в статьях «Атаки на беспроводные сети». Но практика там описана достаточно слабо.

В данной статье будет описан практический процесс атаки на беспроводную сеть с шифрованием WEP, используя пакет aircrack-ng и операционную систему OpenSuse.
image image
Читать дальше →

Введение в шаблонизатор Blitz

Reading time5 min
Views10K
Из документации о Blitz: Чрезвычайно быстрый и мощный шаблонизатор для очень больших интернет-проектов.

Приведу несколько фактов:
  1. Это шаблонизатор используемый Хабром;
  2. Этот шаблонизатор используется на высоко-нагруженных проектах, он написан на C, подключается как расширение PHP;
  3. Его скорость сопоставима с самим php (бенчмарк под катом);
  4. Верстальщики будт счастливы, так как в шаблонах нет логики приложения, нет циклов, ветвлений и т.д.;
  5. Один из его авторов Алексей Рыбак fisher.


Читать дальше →

Плагин авторизации через Вконтакте, Yandex, Google, OpenID и тп

Reading time1 min
Views19K
В недавнем моем посте «Javascript виджет авторизации OpenID» на хабре, я описал свою разработку виджет-consumer авторизации OpenID.

Прошло время, я получил много положительных отзывов, получил замечания и пожеланию по улучшению виджета. Среди пожеланий развития была просьба создать WordPress плагин и добавить поддержку Вконтакте OpenAPI.
Читать дальше →

Обзор CMS по категориям

Reading time19 min
Views85K
В мире существуют тысячи CMS для самых разных целей, самого разного качества, самой разной перспективы, стоимости, распространённости и так далее. Серьёзно опробовать их все — нереально. Поэтому когда я только знакомился с миром движков для сайтов, выбирать приходилось наугад. Ниже я опишу свои впечатления от знакомства с теми или иными движками для тех или иных целей. К некоторым приложу краткое описание особенностей, впечатление о прочих состоит только из заглядывания в админку. Заметки эти составлялись и редактировались в течении долгого времени, но сейчас я решил, что лучше опубликовать их в нынешнем виде, чем ещё полгода-год по чуть-чуть редактировать не добавляя ничего принципиально нового.
Преимущество отдаётся бесплатным движкам. Платные будут рассматриваться только для сравнения или от безысходности, т.е. если нет бесплатных аналогов. Также ограничение на технологии: php. О движках на перле и питоне я не более чем слышал, на шарпе и джаве имел дело с самописными.
Итак, рассматриваются
Читать дальше →

Препроцессинг CSS на клиенте

Reading time6 min
Views2.2K
Представьте, что вы пишете блогохостинг и хотите позволить авторам блогов менять свой дизайн. Картиночки там вставлять, цвета менять, пропорции регулировать… Представили? Если хорошо представили, то уже поняли, что без констант и формул в CSS тут не обойтись.

При блуждании по блогам не хотелось бы грузить все стили заново, что неизбежно при серверном вычислении значений, а хотелось бы грузить лишь минимальную разницу — так называемый скин.

Итого, нам нужно грузить в дополнение к данным страницы: скин с константами и стили с формулами. Только две клиентские технологии позволяют сделать это: JS и XSLT. Однако первую очень любят отключать, а вторую отключать просто нет смысла. Поэтому вынесем CSS в XSLT контейнер, а заодно и не забудем про технологию XHTML-инклудов.

а теперь о том как снималось это порно

Как побеждать на фриланс-конкурсах, или Откуда в Боливии алмазы

Reading time5 min
Views10K
Думаю, много кого волнует вопрос, как побеждать на фриланс-конкурсах? Постараюсь дать универсальные советы-и-правила-в-виде-инструкции-по-применению :)

Предисловие. Купила краски пачку.

Клиент, разместивший конкурс для фрилансеров, — это неуверенный в себе субъект. В 90% случаев он не способен выбрать подрядчика (поэтому и идет на конкурсы, собственно), чаще всего не способен даже грамотно сформулировать задачу, плюс ко всему он испытывает дикий финансовый голод, а также очень искренне надеется на то, что за его $200 он получит на выходе чудом родившееся у исполнителя гениальное решение его проекта, и приводит в качестве примера логотип компании Nike, нарисованный за $50 в прошлом веке.

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

Правило первое — трезвое.
Знайте, на что идете. Подумайте, почему тот или иной клиент пришел делать конкурс с фрилансерами. Дайте этому трезвую оценку, и не будьте идиотом ждите чуда чудесного от этой затеи.

Совет первый — идиотический.
Скажите себе: «Да, я идиот, что решил участвовать». Не испытывайте иллюзий. И только после этого со спокойной душой, ясным умом и чистой совестью цинично и хладнокровно приступайте к изучению задания жертвы.

Читать дальше →

Линкбилдинг: отделяем зёрна от плевел

Reading time7 min
Views16K
«Что поСЕЕшь – то и пожнёшь».
(Русская народная пословица, плавно переходящая в интернет-мем)


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

Не так давно на популярном англоязычном SEO-ресурсе Search Engine Watch (что перевести можно приблизительно как «Поисковый Дозор»; привет Лукьяненко и Бекмамбетову :)) появилась статья Джона Линча «Анализируем 9 самых популярных стратегий получения ссылок». Нам стало до жути интересно, а произрастут ли зарубежные семена на нашей родной SEO-почве?

image

Мы перевели статью Джона Линча и снабдили её суровыми русскими комментариями закаленных SEO-стахановцев.

Читать дальше →

BugZilla как система постановки задач и контроля работы. Реальный опыт использования

Reading time6 min
Views29K
Планирование, постановка задачи, контроль — вот одни из важных принципов на которых строится управление проектами и web проектами в частности. А в процессе руководства удаленными командами и организации взаимодействия между ними, без использования систем постановки и контроля задач не обойтись.
В данном посте я хочу рассказать о самой популярной системе багтрекинга BugZilla и успешном ее внедрении и эксплуатации в веб-студии «Твинс». Почему-то на хабре БагЗиллу всегда упоминают вскольз. Но никто и никогда подробно не ней не останавливался. А зря…

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

Читать дальше →

XML + CSS = счастье

Reading time4 min
Views13K
Возрадуйтесь, дети мои, ибо пришёл я к вам с миром и богатыми дарами. Нет, я не принёс вам того, чего вы не видели. И даже не принёс того, чего вы не имели. От чистого сердца вручаю вам то, что всегда лежало у вас под ногами, но вы не замечали того, брезгливо перешагивая, пробегая мимо по своим, несомненно самым важным, делам.

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

Примеси! Я же знаю, вы так устали без наследования. Приходится внедрять лишние классы в элементы или даже, переходить на тёмную сторону силы — копипастить по чёрному.

Отныне! Ваша душа будет чиста как у младенца. Руки в золоте как у царевичей. Дети послушными и приветливыми.

а теперь приступим к съёмкам порева

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity