Pull to refresh
24
0
dmitriy_b @dmitriy_b

User

Send message

AdMe.ru: Тэги, полнотекстовый поиск и всё такое…

Reading time9 min
Views7.5K
В этой статье я открою секреты того, как работает adme.ru, а именно я расскажу о том как устроено хранение статей и тэгов, как работает полнотекстовый поиск, поиск по тэгам и всё такое…

В статье приведён пример структуры таблиц, рабочий конфиг Sphinx и немного php кода с примерами выборок.
Читать дальше →
Total votes 71: ↑64 and ↓7+57
Comments32

Алгоритмы организации тэгов

Reading time3 min
Views27K
Тэги – неотъемлемая часть всех современных сайтов и косвенный признак принадлежности сайта к пресловутому Вэб-Два-Ноль.

В статье я хочу рассказать об способах и алгоритмах тегирования информации.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments48

RIA JsClasses Integrator: Оптимизируем разработку на JavaScript

Reading time4 min
Views1.2K
RIA JavaScript Classes IntegratorЧем ближе Ваш сайт приближается к концепции Web2.0 тем больше JavaScript-кода появляется на Ваших страницах. Очевидно, что разработчику все больше времени приходится тратить на интеграцию своего серверного кода на php/java/python… с клиентской частью на JavaScript.

Большое количество кода требует какой-то систематизации, например, разнести логически связанные части кода по разным файлам, имена файлов привязать к контроллеру/событию/блоку… Наверняка у многих разработчиков есть свое решение этой проблемы.
На Хабре, например, JS-код разбит на небольшие блоки, которые запрашиваются в зависимости от страницы. Код написан красиво, откоментирован, стоят отступы. Небольшой минус такого подхода большое количество блоков (около 25) на каждой странице. В начале я использовал похожую схему, но сейчас, все же, хочу представить хабрасообществу немного другой подход.

Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments27

Полнотекстовый поиск и его возможности

Reading time6 min
Views201K
Многие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.

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

В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.

Читать дальше →
Total votes 81: ↑77 and ↓4+73
Comments36

Использование Nginx и php для проверки прав доступа перед отдачей файлов

Reading time2 min
Views13K
Иногда на сайте возникает необходимость ограничить доступ к некоторым файлам по разным причинам(раздавать файлы только авторизованным пользователям, антилич и так далее). Для решения данной задачи можно использовать разные подходы:

  1. Раздавать файлы с помощью скрипта на php(заменить php на то, что нравится больше). При данном подходе мы передаем в качестве параметра скрипту имя файла. Код проверяет все условия, при которых возможно получения доступа к данному файлу и принимает решение, выдать 404 или запрошенный файл. Данный подход подходит для мелких файлов, однако при возрастании размера отдаваемого файла он будет потреблять много системных ресурсов, т.к. файл будет вычитываться в память и затем отдаваться.
  2. Использовать некоторые неочевидные возможности веб-серверов.

Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments12

Многоуровневая абстракция

Reading time3 min
Views16K
В предыдущей статье мы рассмотрели некоторые подходы к кодогенерации, теперь я хочу взглянуть на многоуровневую абстракцию и произвести некоторый анализ.

Данная статья содержит лишь теорию. Практической будет следующая статья (постараюсь чередовать).
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments20

Prototype: селекторы и события

Reading time2 min
Views2.1K
Prototype определённо одна из мощнейших Javascript библиотек, но у неё есть один небольшой недостаток который зачастую ошибочно принимают за большой — отсутствие родной поддержки связывания селекторов с событиями. Для сравнения — в <a href=«jquery.com» title-«jQuery»>jQuery это одна из основных фич и трудно вообще представить <a href=«jquery.com» title-«jQuery»>jQuery без этого. Для тех кто не в курсе — это возможность отделять наш Javascript от XHTML посредством CSS селекторов, большинство таких событий как onclick, onmouseover, onmouseout, onblur, onfocus и тому подобные.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments15

Картинки в теле страницы с помощью data: URL

Reading time1 min
Views4.9K
Примечание: ниже расположен перевод статьи «Inline Images with Data URLs», в которой рассматривается вопрос о внедрении картинки на веб-страницы при помощи data:URI. Эта схема позволяет вставить код картинок прямо в (X)HTML-страницу без обращений к внешним файлам, что уменьшает общее количество HTTP-обращений к серверу. Мои комментарии далее курсивом.

Встроенные (inline) изображения используют схему data:URI для внедрения прямо в тело веб-страницы. Как было определено в RFC 2397, такие URI предназначены для вставки небольших объектов как «непосредственные» данные. Такие объекты должны рассматриваться так же, как и любые другие внешние файлы. Использование встроенных изображений позволяет сэкономить HTTP-запросы к внешних ресурсах.

Поддержка браузерами data:URL



Хотя Opera 7.2+, Firefox, Safari, Netscape и Mozilla поддерживают data:URI, Internet Explorer 5–7 совсем нет. Однако, сообщается, что Internet Explorer 8 будет поддерживать эту схему, так как проходит Acid2 тест, что позволяет использовать data:URL как реальную альтернативу для внедрения небольших декоративных изображений. Существует также несколько приемов для поддержки старых версий Internet Explorer.

читать дальше на webo.in →
Total votes 54: ↑50 and ↓4+46
Comments48

Баннер на скорую руку в режиме онлайн

Reading time1 min
Views2.8K
Untitled-1

У многих начинающих веб-мастеров и просто пользователей интернета, зачастую возникает потребность — разрекламировать свой сайт или товар, обычно это начинают с изготовления рекламного баннера, но что делать если нет не времени, не средств(читать как: програмного обеспечения) — в этом вам поможет отличный веб-сервис с очень даже говорящим названием — «Banner fans».
Читать дальше
Total votes 8: ↑5 and ↓3+2
Comments18

мой набор софта для веб-разработки под PC/Win

Reading time2 min
Views2.7K
Возникло странное вечернее желание написать и описать те программы, которые я использую повседневно для вёрстки/правки и написания всего, что связано с веб-проектами. Хотелось, помимо стандартного перечня, вкратце описать, что то или иное «это-самое» делает, и почему я использую именно его. Возможно, кому-то будет полезно.
Читать дальше →
Total votes 55: ↑29 and ↓26+3
Comments191

Практический XSLT. Использование в качестве шаблонизатора

Reading time10 min
Views55K
В сети доступно масса документации по языку XSL. Данный раздел не претендует на роль документации по языку, а лишь кратко, по шагам объясняет, как создать свой XSLT-шаблон.

Описанная ниже схема успешно мною используется уже более 3 лет. По началу я к XSLT относился с большой опаской (особенно, когда разбирал чужие исходники), однако однажды поняв, что к чему, уже не представляю, как без него можно работать.
Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments101

Посоветуйте систему полнотекстового поиска

Reading time1 min
Views3.7K
Гуглил, нашел много разных вариантов, но ни один не удовлетворял простым условиям:
— Легкость установки. Простота настройки (не более 4х часов с момента начала чтения документации).
— Поддержка русской морфологии. Как плюс — английской.
— Возможность индексации по Веб.
— Выдача результатов по релевантности. Хорошая ранжировка по релевантности

Risearch.org — хорошая, полная версия на Перле и платая. MnogoSearch — очень громоздкая в настройке, мне столько опций не нужно. В ряде других вариантов — простые стеммеры, либо вообще отсутсвие любой поддержки русского языка. Ладно, пусть будет даже стеммер, но у результатов должна быть высокая релевантность.
Total votes 9: ↑6 and ↓3+3
Comments20

Как проверить пароль на предмет безопасности?

Reading time1 min
Views5.7K
Как дать пользователю возможность проверить свой пароль на строгость и взломоустойчивость?

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

Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments40

Гибкая система управления проектами Acunote

Reading time5 min
Views6.9K
Если вы только задумываетесь о том, что пора внедрять какую-то методологию и использовать некий специальный софт для планирования и отслеживания хода работы, возможно вам будет полезен наш вполне успешный опыт применения гибкой методологии разработки Scrum. Это очень простая и эффективная методика, а в ее применении неоценимую помощь оказывает система Acunote, о которой и пойдет речь в статье.

Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments71

Интеграция Google Maps и WordPress 2.x

Reading time2 min
Views5.5K
Эта статья является вольным писанием на тему плагина Google Maps for WordPress, находящейся по адресу http://avi.alkalay.net/2006/11/google-maps-plugin-for-wordpress.html. То, что посчитала нужным я добавила от себя, то, что не использовал — пропустила, так что это дело не является переводом в прямом смысле этого слова.

Иногда становится очень полезно и приятно интегрировать Google Maps в раздел «контакты» того сайта, который ты делаешь. Я перепробовала несколько различных плагинов для WordPress и просто классов/библиотек (like Solmetra Maps), но в конце-концов остановилась на плагине Google Maps for Wordpress. Очень содержательное название у плагина, кстати…
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments30

Веб сервер за пару вечеров — II

Reading time5 min
Views11K

Многие из нас собирали компьютер сами, из комплектующих. Дело не сложное, соединить с десяток шлейфов, да завинтить столько же винтиков. Но мало кто сталкивался с самостоятельной сборкой серверов, причем не обычных а в промышленном формате под стойку 19 дюймов. В этом небольшом обзоре я опишу свой опыт сборки такого сервера, постараюсь показать что это не сложно, и остановлюсь на главных моментах, на что нужно смотреть. На написание этого обзора меня толкнуло то, что информации о сборке rack 19’ серверов в рунете очень мало, и приходилось её искать буквально по крупицам.
Читать дальше →
Total votes 142: ↑141 and ↓1+140
Comments191

Высокопроизводительные AJAX-приложения

Reading time1 min
Views732
Примечание: ниже перевод презентации «High Performance Ajax Applications», подготовленной ведущим специалистом из Yahoo (а теперь уже из Apple) Julien Lecomte. В ней автор освещает некоторые аспекты оптимизации как JavaScript-приложений, так и веб-сайтов вообще. В целом, советов много, и почти все, действительно, по делу. Однако, встречается и откровенная реклама Yahoo :) Мои комментарии далее курсивом.

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



Планируем и проектируем для высокой производительности



  • Ориентируемся на производительность с самого первого дня
  • Тесно работаем с дизайнерами и менеджерами продукта
  • Понимаем рациональность дизайна
  • Объясняем компромиссы между дизайном и производительностью
  • Предлагаем альтернативы и показываем, что еще возможно (на уровне прототипа)
  • Пробуем силы в реализации нетривиального дизайна (нельзя сразу говорит «нет»)
  • Помогаем упростить дизайн и взаимодействие с пользователем (добиваемся компромисса)


читать дальше на webo.in →
Total votes 77: ↑73 and ↓4+69
Comments28
12 ...
38

Information

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