company_banner
  • Вредоносные расширения для Chrome



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

      Типичное расследование новой (успешной) спам-атаки начинается после того, как мы замечаем аномальную активность среди пользователей портала. Она может выражаться в повышенной нагрузке на отдельные сервисы (например, на сервис загрузки картинок или поиск), в активном распространении однотипного контента (например, ссылок на похожие сайты) или даже в увеличении количества обращений в службу поддержки.
      Читать дальше →
    • Как программист датасаентистам кернелы писал



        Мало кто верит, что современный data science-стек может быть построен не на Python, но такие прецеденты есть :). Стек Одноклассников формировался долгие годы, в первую очередь программистами, перешедшими в data science, но всё ещё остались близкими к проду, поэтому в его основе лежат открытые технологии JVM-стека: Hadoop, Spark, Kafka, Cassandra и т.д. Это помогает нам сокращать время и затраты на ввод моделей в эксплуатацию, но иногда создаёт и сложности. Например, при подготовке базовых решений для участников SNA Hackathon 2019 пришлось сжать волю в кулак и погрузиться в мир динамической типизации. Подробности (и лёгкий троллинг) под катом :)
        Читать дальше →
        • +15
        • 5,1k
        • 4
      • Краткая история одной «умной ленты»



          Социальные сети — это один из наиболее востребованных на сегодняшний день интернет-продуктов и один из основных источников данных для анализа. Внутри же самих социальных сетей самой сложной и интересной задачей в сфере data science по праву считается формирование ленты новостей. Ведь для удовлетворения всё возрастающих требований пользователя к качеству и релевантности контента необходимо научиться собирать информацию из многих источников, вычислять прогноз реакции пользователя и балансировать между десятками конкурирующих метрик в А/Б-тесте. А большие объемы данных, высокие нагрузки и жесткие требования к скорости ответа делают задачу ещё интереснее.
          Читать дальше →
        • Дополнительные лекции курса «Проектирование высоконагруженных систем» (осень 2018) в Технополисе

            image

            Мы продолжаем публиковать лекции курса «Проектирование высоконагруженных систем», который читается студентам Санкт-Петербургского Политехнического университета командой инженеров из Одноклассников в рамках двухлетней программы «Java-разработчик высоконагруженных приложений» проекта Технополис (совместный проект Mail.Ru Group и СПбПУ). В 2017 году были прочитаны и выложены 10 лекций (30 часов видео), но тема Highload настолько обширна, что за один семестр невозможно охватить всё. Мы лишь ненадолго погрузились в основные аспекты Highload-разработки, каждый из которых достоин отдельного курса. В этом году мы продолжаем закрывать белые пятна и представляем вашему вниманию набор из шести лекций на новые темы: начинаем с параллельных вычислений и livecoding первого этапа студенческого курсового проекта, после чего погружаемся в средства мониторинга и диагностики JVM, а потом переходим к проблемам отказоустойчивости. А после лекции о продвинутых алгоритмах, актуальных в высоконагруженных проектах, завершаем цикл лекцией о существующих подходах к репликации и об их применимости к разным задачам.

            Первые десять лекций.

            Список новых лекций:

            1. Actor Model. Future. Reactive Streams (Вадим Цесько incubos)
            2. Livecoding второго этапа проекта (Вадим Цесько incubos)
            3. Мониторинг и диагностика JVM (Андрей Паньгин apangin)
            4. Site Reliability Engineering (Антон Иванов keyplayer)
            5. «Современные» структуры данных (Дмитрий Щитинин dormidoncheg)
            6. Репликация (Дмитрий Щитинин dormidoncheg)

            Читать дальше →
          • Реактивный раздатчик ok.ru/music



              Я работаю в команде платформы Одноклассников и сегодня расскажу про архитектуру, дизайн и детали реализации сервиса раздачи музыкальных треков.
              Читать дальше →
              • +16
              • 2,9k
              • 4
            • Патчинг Java кода на продакшене без анестезии

                image

                Здесь я расскажу об устройстве одного из многих инструментов, которые помогают в разработке различных сервисов для проекта Одноклассники. Внутри компании мы называем его «Hot Code Replace» (HCR), и предназначен данный инструмент для исправления критических и несложных багов в работающих продакшн сервисах без их остановки. Это чрезвычайно важная особенность, так как позволяет избежать достаточно занудного и трудоёмкого процесса выкладывания новой – исправленной версии барахлящего сервиса, избежать сопутствующей этому достаточно продолжительной паузы в доступности каждого хоста, избежать сброса кешей.

                В общем, экономит массу времени и уменьшает интервал от момента обнаружения ошибки до исправления с часов до минут. Чаще всего, как и было задумано, исправляют мелкие ошибки в коде, например, программист забыл проверить на null и у некоторых пользователей определённые действия на сайте приводят к ошибке. То есть когда исправление осуществляется изменением нескольких строчек внутри метода. И ради таких мелких изменений больше не нужно отвлекать коллег и ждать часами выкладки на продакшн.
                Читать дальше →
              • Миллион видеозвонков в сутки или «Позвони маме!»

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



                  Далее текстовая версия доклада на HighLoad++ Siberia, из которой вы узнаете:

                  • как работают сервисы видеозвонков под капотом;
                  • как красиво пробить NAT — это будет интересно и специалистам из игровой сферы, которым необходимо peer-to-peer соединение;
                  • как устроен WebRTC, какие протоколы в него входят;
                  • как можно тюнить WebRTC через BigData.


                  О спикере: Александр Тоболь руководит разработкой платформ Видео и Ленты в ok.ru.
                  Читать дальше →
                • Разбор игры от Одноклассников на Joker 2018


                    Всем привет! Несколько дней назад мы выкладывали пост про задачки, которые давали на конференции Joker 2018. Но это еще не всё! В этом году специально для Joker мы сделали целую игру с не менее интересными задачками по Java (и не только), про которую и расскажем сегодня.
                    Читать дальше →
                    • +30
                    • 5,3k
                    • 6
                  • Разбор задачек Joker 2018



                      Алоха!

                      Вот и закончилась одна из самых хардкорных конференций в мире Java — Joker 2018, которая традиционно проходит в Санкт-Петербурге в «Экспофоруме». В этом году в конференции участвовало рекордное количество участников. «Одноклассники» традиционно предложили помочь нашим разработчикам решить нетривиальные задачи, которые возникают при создании одного из самых высоконагруженных проектов на Java.

                      Те, кто хорошо ответил на вопросы, получили призы, а вам предлагаем краткий разбор наших задачек. Мы скрыли правильные ответы под спойлером, чур, открывать только после того, как сами додумались до решения ;-)

                      Поехали!
                      Читать дальше →
                      • +35
                      • 9,7k
                      • 6
                    • Особенности использования Druid на примере Одноклассников



                        Меня зовут Юрий Невиницин, и я занимаюсь системой внутренней статистики в «ОК». Хочу рассказать о том, как 50-терабайтную аналитическую систему реального времени, в которой ежедневно журналируются миллиарды событий, мы переносили с Microsoft SQL на колоночную базу под названием Druid. И заодно вы узнаете несколько рецептов использования Druid’а.
                        Читать дальше →
                        • +25
                        • 3,1k
                        • 8

                      Самое читаемое