Search
Write a publication
Pull to refresh
100
0
Bobos @Bobos

Пользователь

Send message

Form Spam Bot Blocker: Защищаем Web-формы без CAPTCHA!

Reading time5 min
Views9.1K


  • Вы так защитили свою форму что сами не всегда можете разобрать что нарисовала CAPTCHA?
  • Вы установили хорошую CAPTCHA и все равно время от времени у себя в feedback-е читаете новости
    о удлинителях некоторых органов, дешёвой виагре и т.п.?


Ну тогда предлагаю под другим углом взглянуть на проблему защиты Web-форм.

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

Псевдо-Ajax

Reading time2 min
Views1.3K
— Кросс-пост из моего блога
Веб 2.0 начал плотно входить в умы людей, которые хотят сделать себе сайт. Как частный случай — некоторые люди просто помешаны на технологии Ajax. Требуют использовать её банально везде. Естественно можно попробовать переубедить заказчика, но если это невозможно или не к месту, то можно воспользоваться уловкой, которую я назвал «Псевдо-Ajax».
Читать дальше →

Решение проблемы модуля Simple Karma для Drupal 5.x

Reading time1 min
Views740
Многие, кто пользуется модулем Simple Karma (для Drupal 5.x) сталкивались со следующей проблемой: при отдаче голоса за какой-либо материал/комментарий функционал модуля отрабатывал (то есть голос засчитывался), но значение на странице не обновлялось динамически (а обновлялось только после перезагрузки страницы).

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

Решение:
Читать дальше →

Текстура для веб-дизайна

Reading time1 min
Views13K
Последние время мне часто приходится искать разнообразные текстуры. Поэтому я решил опубликовать несколько сайтов с большим выбором текстур.

Первым в этом списке я выбрал http://www.textureking.com/ — красивый и понятный дизайн сайта, а также хороший выбор текстур которые разделены на 14 категорий.

Следущим будет http://www.cgtextures.com/ — огромное количество текстур и их категорий (вожможно он и получше textureking :), вам решать.
Читать дальше →

Русская документация API Drupal

Reading time1 min
Views5.5K
То, о чем так долго говорили большевики — свершилось :)

Итак, рад вам представить сайт русской документации API Drupal — api.drupal.ru

Сайт сделан на основе англоязычного api.drupal.org, поэтому все пути с ним совпадают. Оказавшись из гугля на .org-е вы можете перейти на ту же страницу к нам, всего лишь изменив домен на .ru

Сайту всего 3 дня отроду, поэтому моими стараниями переведен только лишь Справочник Forms API для пятой ветки Друпала.

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

обсуждение на drupal.ru»
Читать дальше →

Работа с буфером обмена

Reading time4 min
Views17K
Прочитав заголовок, Вы, наверное, очень удивились.
Ведь казалось бы, все предельно просто — есть объект Clipboard, есть его статические методы (вроде SetText/SetData и GetText/GetData), чего еще для счастья нужно?

Однако, на практике все просто лишь до тех пор, пока Вы копируете или вставляете только базовые объекты, вроде текста или bitmap-картинки. Что же случается, когда нужно оперировать более сложной структурой?

Лично я недавно столкнулся с необходимостью копировать «гиперссылки», которые потом должны легко вставляться в Word/Outlook/любую другую программу. Причем, не полагаясь на то, что программа-получатель сама определит во вставленном тексте ссылку и не преобразует в нужный формат. Поэтому и рассмотрим работу на примере гиперссылки (алгоритм действий для любого другого формата будет аналогичным).

Итак, с чего же начать?
Читать дальше →

Основы мастерства

Reading time6 min
Views1.7K

Боритесь со сложностью


Как известно, мозг человека может одновременно рассматривать 7±2 элемента. Поэтому очень важно стремиться к снижению сложности ПО. Вот некоторые конкретные рекомендации:
  • Разделите систему на подсистемы на уровне архитектуры, чтобы концентрироваться в каждый конкретный момент времени на меньшей части системы.
  • Тщательно определяйте интерфейсы классов, чтобы можно было игнорировать
    внутреннее устройство классов.
  • Поддерживайте абстракцию, формируемую интерфейсом класса, чтобы не
    запоминать ненужных деталей.
  • Избегайте глобальных данных, потому что их использование значительно увеличивает процент кода, который нужно удерживать в уме в любой момент
    времени.
  • Избегайте глубоких иерархий наследования, потому что они предъявляют
    высокие требования к интеллекту.

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

Работаем с ExtJS на языке РНР — библиотека PHP-Ext

Reading time4 min
Views4.2K

Я вряд ли ошибусь, если предположу, что язык РНР достаточно популярен, если не самый популярный в веб-разработке. Мы не будем анализировать причины этого (а тем более, следствия), а сконцентрируемся на одном небольшом аспекте, а именно — как на РНР разрабатывать сложные AJAX веб-приложения. И не просто так разрабатывать, а использовать в своей работе библиотеку ExtJS, которая позволяет создавать интерфейсы для этих веб-приложений. Конечно, все это можно разнести и серверная сторона, на РНР или на любом другом языке, совершенно ничего не будет знать о клиентской части и AJAX-библиотеке, просто оперируя JSON данными и обычным HTML. Но можно сделать и по-другому — этот подход, аналогичен популярной сегодня технологии Google Web Toolkit. Мы ничего не разделяем, а просто пишем приложение, используя одну среду, один язык и все возможности (и языка и среды), а уже сервер самостоятельно генерирует код для клиента, полностью автоматически. Таким образом можно совсем (ну или почти) не знать и не разбираться в верстке, JavaScript и ExtJS, но писать приложения, которые будут использовать этот фреймворк.

Для языка Java подобные решения существуют, а недавно такой проект, EXT GWT, даже перешел под крыло самой компании-разработчика ExtJS, превратившись в вполне серьезное профессиональное решение. Ну а как в других языках? Java, конечно, хорошо и даже отлично, но душа и тело хотят разнообразия, или просто не хотят переучиваться. Для таких случаев есть свои решения. И одно из них, для РНР, так и называется — PHP-Ext.
Читать дальше →

css fix для различных браузеров

Reading time2 min
Views12K
Представьте себе абстрактный разговор абстрактного заказчика с абстрактным верстальщиком.

— У тебя бага в менюшке, все наверх съехало, — говорит заказчик.
— Посмотрел во всех браузерах, нету! Ты в каком смотришь? — говорит верстальщик.
— В фаерфоксе.
— Нормально все там, — говорит верстальщик, просмотрев сайт во всех версиях фаерфокса.
— Осталось бага. Если это важно, то я с мака.

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

nginx, пользовательские поддомены и rewrite

Reading time3 min
Views49K
В самых разнообразных веб-проектах возникает задача организации пользовательских поддоменов «на лету». При использовании nginx приходит на помощь следующая конструкция:
Читать дальше →

Изучаем потоки, чанки и ищем конец

Reading time1 min
Views14K
Примечание: ниже перевод статьи «On Streaming, Chunking, and Finding the End», в которой авторы рассматривают процесс передачи информации по HTTP-соединению и возможности для ускорения этого процесса. Мои комментарии далее курсивом.

Два способа передачи



Как и в большинстве механизмов передачи данных, в HTTP существует два основных способа отправить сообщение: «все и сразу» или «по частям». Другими словами, в HTTP есть возможность отправлять данные до тех пор, пока еще есть хотя бы что-то, что можно отправить, либо отправить все данные как одну логическую единицу, указав предварительно ее размер.

Если вы занимаетесь веб-разработками достаточно продолжительное время, скорее всего, вы уже знаете, как работает сброс буфера (flush) на стороне сервера. Этот метод позволяет начать отправку части данных пользователю, в то время как скрипт может продолжать выполнять некоторые, достаточно медленные, действия (скажем, ресурсоемкий запрос к базе данных). Если вы уже применяли эту возможность, тогда вы, вероятно, использовали преимущества потокового (streaming) механизма, хотя могли и не знать всех деталей работы HTTP-протокола.

читать дальше на webo.in →
12 ...
16

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity