Рубрика «Веб-разработка» - 40

Повышаем производительность поиска с помощью партиционирования индекса в Apache Solr - 1

Полнотекстовый поиск используется в Wrike почти повсеместно. Поиск в шапке страницы дает возможность быстрого доступа к последним задачам с сортировкой по дате обновления, с совпадением по названию. Такой вариант поиска представлен в разделах «Моя работа» и «Панель задач».
Поиск в списке задач работает по всем полям: название, описание, имена файлов вложений, авторы, комментарии, дата изменения. Максимальный приоритет у задач, активность по которым связана с текущим пользователем, с фразовым совпадением в названии, описании или в комментариях.
Упрощенный вариант поиска по названиям используется:

  • при расстановке зависимостей для диаграммы Ганта (предшествующая и последующая задачи),
  • при добавлении ссылок на задачи по названиям (меншенинг),
  • при добавлении подзадач.

В этих разделах используется instant search с неявным wildcard: пользователь последовательно вводит u, up, upd, update, а поисковые запросы принимают вид: u*, up*, upd*, update*.
Кроме того, wildcards можно использовать во всех вариантах поиска.
Таким образом, часто приходят “тяжелые” поисковые запросы, вызывающие многократное чтение индекса, повышенную нагрузку по CPU/IO на серверах и, как следствие, общие задержки в обработке запросов в “часы-пик”.
В данной статье мы поделимся своим способом решения проблемы производительности.
Речь пойдет об ускорении поиска при работе с поисковым сервером Apache Solr через партиционирование коллекций. Описанный способ был нами опробован на версиях 4.9.0 и 4.10.2.

Читать полностью »

Решил я недавно на примере одного проекта узнать, насколько сильно влияет на скорость загрузки сайта domain sharding. Напомню, суть этой оптимизации в том, что статические файлы грузятся с разных доменов (которые, впрочем, могут указывать на один и тот же сервер), и это позволяет обходить ограничение браузеров на количество одновременных подключений к одному домену. Интуитивно кажется, что в случае большого количества мелких файлов это должно существенно ускорить загрузку сайта в целом. Проверим, так ли это на самом деле.
Читать полностью »

Введение

Диагностика и устранение утечек памяти в приложениях с TypeScript - 1Недавно у нас закончился крупный проект с довольно сложным продвинутым UI. Не вдаваясь в детали, скажем, что внутри браузера было реализовано что-то вроде рабочего стола (desktop) с окнами, перекрытиями и всем, чем полагается. Разумеется, проблемы с утечками памяти не обошли нас стороной. Признаемся честно, до поры до времени сосредоточились на получении бизнес-результата. Когда дошли руки до утечек памяти, то обнаружилось, что окна браузера занимают гигабайты оперативной памяти. Мы классифицировали ошибки и в общем виде выработали подход к их устранению. Этим подходом и хотим поделиться с вами.

По теме утечек памяти в клиентских приложениях написано уже немало. Изначально основную проблему представляли из себя браузеры IE8 и младших версий (смотрите, например:
http://habrahabr.ru/post/141451/
http://habrahabr.ru/post/146784/
https://learn.javascript.ru/memory-leaks).
Но и теперь, когда можно сказать, что IE8 в прошлом, проблемы остаются. Даже применение такого языка как TypeScript не гарантирует их отсутствия. А с учетом того что front-end в web-приложениях становится все сложнее, актуальность проблемы только возрастает.
Читать полностью »

Рисуем вместе. Портрет пользователя ИЕ 8 анфас - 1

Примечание: автор вообще сидит на Опере, но это совсем другой вид порока, и речь сейчас не о нём.

Многие из нас знают о тяжелой болезни веб-сообщества — пережившем своё браузере Internet Explorer 8, который всё никак не уйдёт на покой.

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

Новый год на носу и пора запланировать участие в интересных конференциях. Коллеги из Mail.ru уже несколько лет подряд делятся обзором российских событий (вот список на 2015 год, ждем аналогичного обзора на 2016), а я решил пройтись по зарубежным.

11 лучших зарубежных девелоперских конференций в 2016 году - 1

Почему импортные конференции? Российские тоже очень интересны, но иногда хочется совместить приятное с полезным: не только послушать умных людей и наладить новые связи на профильных для нас рынках США и Западной Европы, но и посмотреть какой-нибудь приятный город.
Читать полностью »

Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.

Я хочу, чтобы сайты открывались мгновенно - 1
Читать полностью »

imageSVG — входящий в подмножество XML язык разметки масштабируемой векторной графики был создан в 1999 году, но только в 2011-м он был включен в рекомендации W3C. Поразительно, но за одиннадцать лет (с 2000 по 2011 год) SVG не претерпел существенных изменений. Тем не менее, ему все же удалось завоевать доверие и широкое признание разработчиков.

Один из таких разработчиков, наблюдавший за эволюцией SVG с момента его возникновения до наших дней, провел экскурс в историю развития языка. Только сейчас, по прошествии многих лет, ему удалось понять причины успехов и неудач SVG. Все свои наблюдения и умозаключения автор собрал в хронике «Взлеты и падения SVG». Пост подготовлен специально для корпоративного блока PayOnline, компании, которая занимается организацией платежей на сайтах и в мобильных приложениях. Далее непосредственно перевод.

Где-то в 1998 году моя бывшая коллега, в то время работавшая в Adobe, заглянула в мой офис чтобы рассказать мне об абсолютно новой технологии. Она знала, что мне будет интересно. Речь тогда шла о PGML или «Precision Graphics Markup Language», который представлял собой не что иное, как вариацию Adobe на тему XML для векторной графики. Джон Уорнок, один из основателей Adobe, тогда сказал про него следующее:
Читать полностью »

PHP-Дайджест № 76 – итоги 2015 года, подборка интересных ссылок + конкурс от компании JetBrains - 1

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

Под катом вас также ждет конкурс с призами от компании JetBrains.
С наступающим Новым годом! Приятного чтения.
Читать полностью »

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №191 (20 — 27 декабря 2015) - 1
Читать полностью »

Эрланг для веб-разработки (2) -> БД и деплой; - 1
В первой статье мы познакомились с Эрлангом и фреймворком n2o. В этой части мы продолжим делать наш блог:

  • добавим авторизацию через фейсбук, для этого будем из клиента вызывать функции на сервере;
  • будем сохранять комментарии и посты в NoSQL базе;
  • развернем наш блог на DigitalOcean и замерим производительность (спойлер — 1300 запросов в секунду).

Код из статей https://github.com/denys-potapov/n2o-blog-example, готовый проект можно посмотреть по адресу http://46.101.118.21:8001/.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js