Старение это не процесс износа

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

Шагаем вперёд с MVC и CQRS

Забываете ли вы иногда, что моделирует ваша модель? Не выходят ли из под контроля ваши контроллеры? Современные MVC фреймворки, такие как Ruby on Rails и Laravel, дают возможность чрезвычайно легко получить полноценные веб-приложения, готовые к продакшену с невероятно высокой скоростью. С помощью находчивых контроллеров в CRUD стиле небольшая команда, иногда […]

Как отключить сочетание клавиш ctrl+alt+arrow в Windows 7 или 10 которое поворачивает экран в направлении стрелки

Как отключить сочетание клавиш ctrl+alt+arrow в Windows 7 и 10, которое поворачивает экран в направлении стрелки? Невозможно работать в других программах, где применяется это сочетание. Проблема в настройках панели управления графикой и медиа Intel.

Алгоритмы поиска в строке

Постановка задачи поиска в строке Часто приходится сталкиваться со специфическим поиском, так называемым поиском строки (поиском в строке). Пусть есть некоторый текст Т и слово (или образ) W. Необходимо найти первое вхождение этого слова в указанном тексте. Это действие типично для любых систем обработки текстов. (Элементы массивов Т и W […]

Производительность PHP: планируем, профилируем, оптимизируем

 На нашем профиле нагрузки новая версия оказалась в два раза более эффективной по использованию CPU: ту нагрузку, которую раньше у нас обслуживали ~600 серверов, после перехода начали обслуживать ~300. В результате на протяжении двух лет у нас был запас мощностей. Но Badoo растёт. Количество активных пользователей постоянно увеличивается. Мы совершенствуемся […]

Вычисляем по IP: как бороться со спамом в социальной сети

Спам в социальных сетях и мессенджерах — это боль. Боль и для честных пользователей, и для разработчиков. Как с ней борются в Badoo, рассказал Михаил Овчинников на Highload++, далее текстовая версия этого доклада.

Учим матчасть: Фотонки в PvZ

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

Оптимизация запросов MySQL с использованием пользовательских переменных

Введение. В современном мире существует большое количество задач, в рамках которых приходится обрабатывать большие массивы однотипных данных. Яркими примерами являются системы для анализа биржевых котировок, погодных условий, статистики сетевого трафика. Многие из этих систем используют различные реляционные базы данных, в таблицах которых содержатся такие объемы данных, что правильное составление и оптимизация […]

Использование Sphinx для нахождения ближайших объектов по координатам

Для одного из проектов потребовалось реализовать программный функционал поиска ближайших объектов на карте в определенном радиусе от заданной точки с координатами широты и долготы. Такие задачи как правило требуют решения Прямой и Обратной геодезических задач, а поскольку с геодезией я совершенно не дружу, то обратил свое внимание на готовые решения, […]

Сокращатель ссылок на Node и Redis

Началось с того, что я решил попробовать Redis в каком-нить проекте, а поскольку давно планировал сделать собственную сокращалку ссылок, то решил именно ее и написать. Связка NodeJS + Redis вообще показалась наиболее легко реализуемой. Закончилось тем что помимо Redis написал еще и реализацию для MongoDB. Не буду вдаваться в подробности сравнения MongoDB и Redis, на эту тему итак уже написано куча статей […]