Рубрика «запросы»

Сравнение алгоритмов ограничения частоты запросов - 1

▍ Зачем ограничивать частоту?

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

Видео

Ограничитель частоты позволяет управлять частотой обрабатываемого вашим сервисом трафика, блокируя запросы, превосходящие заданное пороговое значение за период времени. И это полезно не только для борьбы со спамом в чатах. Например, ограничение частоты отправки формы логина позволяет защититься от брутфорс-атак, оставляя при этом пользователю право на ошибку.

Конечные точки API тоже часто ограничивают по частоте запросов, чтобы их ресурсы не монополизировал единственный пользователь. Представьте, что вам нужно, чтобы пользователи могли обращаться к затратной конечной точке не чаще ста раз в минуту. Это можно отслеживать при помощи счётчика, обнуляющегося каждую минуту. Все запросы после сотого в пределах этой минуты будут блокироваться. Это один из простейших алгоритмов ограничения частоты, называющийся fixed window limiter (ограничитель с фиксированным окном). Это распространённый способ управления трафиком к сервису.

Но не всегда всё так просто.

Когда начинается и заканчивается каждое одноминутное окно? Если я запущу поток запросов ближе к концу окна, смогу ли превысить лимит? Ёмкость окна восстанавливается по одному запросу за раз, или сразу на всё количество?

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

В Яндекс.Маркете большая микросервисная архитектура. Браузерный запрос главной страницы Маркета рождает десятки вложенных запросов в разные сервисы (бэкенды), которые разрабатываются разными людьми. В такой системе бывает сложно понять, по какой именно причине запрос упал или долго обрабатывался.

Анатолий Островский megatolya объясняет, как его команда решила эту проблему, и делится практиками, специфичными для Маркета, но в целом актуальными для любого большого сервиса. Его доклад основан на собственном опыте развёртывания нового маркетплейса в довольно сжатые сроки. Толя несколько лет руководил командой разработки интерфейсов в Маркете, а сейчас перешёл в направление беспилотных автомобилей.
Читать полностью »

Привет! Как водится, три раза в году мы рассказываем о том, над чем работали. Это статья о том, что нового в DataGrip 2019.3, а значит и во всех IDE от JetBrains с поддержкой баз данных.

DataGrip 2019.3: MongoDB, дебаггер, модный прогресс-бар, много новых инспекций - 1
Читать полностью »

Хотите внедрить или доработать функцию поиска? Вам сюда.

Что должен знать о поиске каждый разработчик - 1
Спросите разработчика: «Как бы вы реализовали функцию поиска в своем продукте?» или «Как создать поисковую систему?». Вероятно, в ответ вы услышите что-нибудь такое: «Ну, мы просто запустим кластер Elasticsearch: с поиском сегодня всё просто».

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

Есть множество программных пакетов с открытым исходным кодом, проведено немало исследований, однако лишь немногие избранные понимают, как нужно делать функциональный поиск. Как ни забавно, но если поискать в Интернете связанную с реализацией поиска информацию, вы не найдете актуальных и содержательных обзоров.

Цель статьи

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

Основываясь на опыте работы с универсальными решениями и узкоспециализированными проектами самого разного масштаба (в компаниях Google, Airbnb и нескольких стартапах), я расскажу о некоторых популярных подходах, алгоритмах, методах и инструментах.

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

Переведено в Alconost
Читать полностью »

Автоматизируй это: Как формируется рынок уничтожения рутины - 1

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

Поле для деятельности обещают широкое: по данным McKinsey Global Institute, к потенциально автоматизируемой относится до 70% работы по сбору и обработке информации (то, чем занимаются миллионы офисных сотрудников), планированию и координации работы при управлении проектами.
Читать полностью »

Суд Миннесоты обязал Google предоставить полиции логи поисковых запросов жителей целого города - 1

Современные технологии помогают повысить уровень и качество жизни современного человека. Hi-tech появляется во всех сферах нашей жизни, включая и криминальную составляющую. Так, злоумышленники нередко используют высокотехнологичные гаджеты или софт, причем речь сейчас идет не о киберпреступниках, а об «обычных» преступниках. Но и правоохранители разных стран не спят, стараясь идти в ногу с прогрессом. У тех, кто защищает общество от преступлений, постепенно появляются новые устройства и методы, которые помогают раскрывать злодеяния быстрее и эффективнее, чем раньше.

Один из простых способов — анализ поисковых запросов на компьютере или телефоне предполагаемого преступника. Многие злоумышленники не предпринимают мер предосторожности, планируя что-либо при помощи своего ПК, планшета или телефона. В процессе анализа этих устройств полицейским иногда удается получать важные улики. Помогает и анализ сохраненных провайдерами логов. Иногда правоохранители в судебном порядке требуют у технологических компаний предоставить определенные данные о своих пользователях. Именно это случилось в городе Эдина, Миннесота, США. Правда, здесь полицейские запросили информацию не о каком-либо жителе. Полицейское управление Эдины обратилось в суд с требованием к Google предоставить информацию о поисковых запросах жителей своего города.
Читать полностью »

SQL: пара приемов в SELECT-запросах - 1
Автор: Юрий Цыганенко, Senior QA

Тестирование новых функций часто проводят на данных, взятых с уже функционирующей системы. В этом случае тестировщикам порою приходится строить запросы для хитрых случаев. Например, нужно протестировать новую функциональность интернет-магазина, причём играют роль интервалы между покупками. Нам доступны данные с работающей версии — можно загрузить их на тестовый стенд и проверить работу новой версии продукта. (NB!: конечно, имея дело с «живыми» данными, нужно исключить из них приватную информацию и обеспечить возможность логина интересующим нас пользователям).

Для выбора интересных нам пользовательских аккаунтов нужно сопоставить максимальные интервалы между покупками у разных пользователей.

От тестировщика требуется построить SQL-запрос, выдающий N пользователей, у которых интервалы между датами заказов будут наибольшими.

Аналогичные задачи и их разбор — под катом.
Читать полностью »

Если кто-то помнит, раньше на ТВ была такая популярная передача «100 к 1», где участники угадывали самые популярные ответы прохожих на простые вопросы. (Говорят, что она и сейчас идет, но от просмотра телевизора я отказался лет семь назад, так что не знаю)

Так вот, на днях, на основе поисковой системы Google была запущена похожая онлайн-викторина, под названием "Google Feud". Пользователю, предлагается продолжить предложение, угадывая самые популярные запросы в поисковой системе. Викторина разделена на четыре тематических блока: «Культура», «Люди», «Имена» и «Вопросы». При это нам начисляются баллы, в зависимости от рейтинга запроса.

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

В оригинале способов было 6, но часть из них автор перевода не смог заставить работать, и потому упоминать смысла не видит.

Несколько месяцев назад я делал пост о том, где найти ретроспективные данные о рынках США на момент закрытия, и перечислил 10 сайтов, которые предоставляют эту информацию бесплатно. (10 ways to download historical stock quotes data for free).

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

Начнем с наиболее известных
Читать полностью »

Чего мы больше всего хотим, когда открываем интернет-поисковик? Мы хотим как можно быстрее его покинуть, как это ни парадоксально. Формулируем наше желание, жмём кнопку и скорее отправляемся туда, где оно должно исполниться (мы надеемся).

Есть всего два основных способа выражения желаний: либо описать, что нужно получить (или сделать), либо указать, куда нужно «телепортироваться». В первом случае система пытается понять запрос, правильно выбрав лучшие из ответов cети, взвешивая сотни их свойств на деревьях принятия решений. Во втором правильный ответ, как правило, всего один, и мы ожидаем, что поисковик его знает.

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


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