Проектирование, управляемое предметной областью (domain-driven design, DDD), появилось примерно десять лет назад, открыв новые возможности для архитекторов и разработчиков ПО. Помимо конкретных преимуществ и недостатков, DDD олицетворяет собой старую мечту тех, кто имел дело с объектно-ориентированной парадигмой на заре ее развития: создание приложений на основе исчерпывающей объектной модели, учитывающей требования […]
Как определить наилучшее время для сделки на бирже
Понять, когда именно стоит покупать, а когда продавать акции на бирже – самая важная задача любого инвестора. От правильного выбора времени зависит как сам факт наличия прибыли, так и ее размер. Тренд последних лет – появление автоматизированных инструментов, которые помогают поймать такой момент на основе анализа Big Data и машинного […]
Старение это не процесс износа
Идея, что тела изнашиваются с возрастом столь стара, распространена и глубоко укоренена, что это оказывает влияние на нас на подсознательном уровне. Несомненно, многие аспекты старения как например окислительное повреждение, соматические мутации и белковые сшивки характерезуются повышенной энтропией в биомолекулах. Тем не менее, на протяжении более века существовал научный консенсус что не существует […]
Шагаем вперёд с 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 с использованием пользовательских переменных
Введение. В современном мире существует большое количество задач, в рамках которых приходится обрабатывать большие массивы однотипных данных. Яркими примерами являются системы для анализа биржевых котировок, погодных условий, статистики сетевого трафика. Многие из этих систем используют различные реляционные базы данных, в таблицах которых содержатся такие объемы данных, что правильное составление и оптимизация […]