Как стать автором
Обновить
77.68
Рейтинг
Одноклассники
Делимся экспертизой
Сначала показывать

JVM TI: как сделать плагин для виртуальной машины

Блог компании Одноклассники Java *


Хотели бы вы добавить в JVM какую-нибудь полезную фичу? Теоретически каждый разработчик может внести свой вклад в OpenJDK, однако на практике любые нетривиальные изменения в HotSpot принимают со стороны не очень-то охотно, и даже с текущим укороченным релизным циклом могут пройти годы, прежде чем вашу фичу увидят пользователи JDK.

Тем не менее, в ряде случаев расширить функциональность виртуальной машины реально, даже не трогая её код. В этом помогает JVM Tool Interface — стандартный API для взаимодействия с JVM.

В статье я на конкретных примерах покажу, что можно сделать с его помощью, расскажу, что изменилось в Java 9 и 11, и честно предупрежу о сложностях (спойлер: придётся иметь дело с C++).

Этот материал я также рассказывал на JPoint. Если вам удобнее видео, то можете посмотреть видеозапись доклада.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 6.1K
Комментарии 4

Автоматизация замены дисков с помощью Ansible

Блог компании Одноклассники Системное администрирование *DevOps *


Всем привет. Я работаю ведущим системным администратором в ОК и отвечаю за стабильную работу портала. Хочу рассказать о том, как мы выстроили процесс автоматической замены дисков, а затем, как исключили из этого процесса администратора и заменили его ботом.

Эта статья является своего рода транслитерацией выступления на HighLoad+ 2018
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 8.7K
Комментарии 7

ok.tech: Data Толк

Блог компании Одноклассники Data Mining *Big Data *Машинное обучение *


UPD Презентации участников мероприятия доступны по ссылке

13 июня приглашаем всех, кто работает с данными, в московский офис Одноклассников, на ok.tech: Data Толк. Вместе с коллегами из OK.ru, Mail.ru Group, ivi.ru, Яндекс.Такси и других технологических компаний обсудим вопросы эволюции хранилищ и баз данных, поговорим о достоинствах и недостатках разных подходов к хранению данных, а также как эти подходы влияют на удобство разных команд по взаимодействию с данными.

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

Зарегистрироваться на мероприятие.

Под катом тезисы выступлений и расписание.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 3.3K
Комментарии 1

Оставьте заявку, и мы ответим вам онлайн в течение 1-й минуты. Или как мы уходили от OTRS

Блог компании Одноклассники Тестирование веб-сервисов *Социальные сети и сообщества
Добрый день, меня зовут Александр Уланов, я инженер по тестированию в компании «Одноклассники». В этой статье я хотел бы рассказать об одном из проектов, в котором я участвовал. Сразу предупрежу: в статье вы не найдете каких-то открытий и сложных подходов к методологии тестирования. Однако процесс разработки и тестирования, описанный в статье, возможно, для кого-то может оказаться интересным или даже полезным.

Эпизод 1: Страх и ненависть при OTRS




OTRS — система обработки заявок, которая позволяет организациям, занимающимся технической поддержкой каких-либо проектов, совместно работать над решением проблем пользователей. Система написана на языке Perl и поддерживалась разработчиками до ноября 2017 года.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 5.5K
Комментарии 13

ok.tech: frontend meetup

Блог компании Одноклассники Разработка веб-сайтов *JavaScript *Интерфейсы *HTML *


UPD: по форс-мажорным обстоятельствам, митап перенесен на 2 июля.

2 июля в петербургском офисе Одноклассников пройдет ok.tech: frontend meetup. Вместе с коллегами из OK.ru, Яндекса и Mail.Ru Cloud Solutions поговорим про тестирование на основе свойств, эволюцию подходов работы с текстами, познакомимся с новой библиотекой от создателя Emmet Сергея Чикуёнка — EndorphinJS, и обсудим переход фронтенда поисковых сервисов Яндекса на React.

Презентации

Под катом тезисы выступлений и расписание.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 2.5K
Комментарии 1

ok.tech: Cassandra meetup

Блог компании Одноклассники NoSQL *Администрирование баз данных *Хранилища данных *Распределённые системы *


Работаете с NoSQL-хранилищем Apache Cassandra?


23 мая Одноклассники приглашают опытных разработчиков в свой офис в Петербурге на митап, посвященный работе с Apache Cassandra. Важен лишь ваш опыт работы с Cassandra и желание им поделиться.
Зарегистрироваться на мероприятие
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 2.1K
Комментарии 4

SNA Hackathon 2019 — итоги

Блог компании Одноклассники Data Mining *Big Data *Машинное обучение *


1-го апреля завершился финал SNA Hackathon 2019, участники которого соревновались в сортировке ленты социальной сети с использованием современных технологий машинного обучения, компьютерного зрения, обработки тестов и рекомендательных систем. Жесткий онлайн отбор и двое суток напряженной работы над 160 гигабайтами данных не прошли даром :). Рассказываем о том, что помогло участникам прийти к успеху и о других интересных наблюдениях.

Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Просмотры 2.4K
Комментарии 0

Помоги Дюку найти выход

Блог компании Одноклассники Java *

Всем привет! Для каждой конференции по Java мы придумываем игру, чтобы любой желающий мог весело провести время на нашем стенде. На конференции Joker 2018 мы предлагали участникам вывести Дюка из лабиринта, подробную статью про игру прошлого года можно прочитать тут. В этом году мы продолжили традицию и сделали игру, где отвечая на вопросы по Java, нужно помочь Дюку найти спрятанный выход.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 5.1K
Комментарии 1

Разбор задач JPoint 2019

Блог компании Одноклассники Java *
image

Всем привет!

Закончилась одна из самых хардкорных конференций по Java – JPoint 2019, она проходила в седьмой раз и как всегда побила рекорд по посещаемости, в этот раз мероприятие привлекло более 1700 специалистов в области Java-разработки.

«Одноклассники» принимали участие во всех конференциях JPoint. Начиная с 2013 мы активно поддерживаем JPoint и на своих стендах устраиваем для участников различные активности по проверке знаний Java. В этом году у нас были знаменитые «нерешаемые» задачи от ведущих разработчиков OK.ru. Участники конференции, правильно ответившие на вопросы, получили призы.

Справедливости ради надо сказать, что из 600 листочков с задачами, которые мы раздали, обратно было получено менее 100, средний балл равен примерно 0.25.

Лучшим оказалось решение, набравшее 4 балла из 5 возможных.

Мы публикуем задачи и их решения, чтобы вы смогли проверить свои силы.
Читать дальше →
Всего голосов 30: ↑27 и ↓3 +24
Просмотры 6.6K
Комментарии 2

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки

Блог компании VK Блог компании Одноклассники Алгоритмы *Машинное обучение *


В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть интересен и читателям, решающим практические задачи машинного обучения. Так как я не могу претендовать на призы (я работаю в Одноклассниках), я постарался предложить наиболее простое, но при этом эффективное и интересное решение.

Читая про новые модели машинного обучения, я хочу понять, как рассуждал автор, работая над задачей. Поэтому в этой статье я попробую подробно обосновать все компоненты своего решения. В первой части я расскажу про постановку задачи и ограничения. Во второй — про эволюцию модели. Третья часть посвящена результатам и анализу модели. Наконец, в комментариях я постараюсь ответить на любые возникшие вопросы. Нетерпеливые читатели могут сразу посмотреть на финальную архитектуру.
Читать дальше →
Всего голосов 37: ↑37 и ↓0 +37
Просмотры 2.9K
Комментарии 7

Python vs. Scala для Apache Spark — ожидаемый benchmark с неожиданным результатом

Блог компании Одноклассники Блог компании VK Python *Data Mining *Big Data *


Apache Spark на сегодняшний день является, пожалуй, наиболее популярной платформой для анализа данных большого объема. Немалый вклад в её популярность вносит и возможность использования из-под Python. При этом все сходятся на том, что в рамках стандартного API производительность кода на Python и Scala/Java сопоставима, но касательно пользовательских функций (User Defined Function, UDF) единой точки зрения нет. Попробуем разобраться в том, насколько увеличиваются накладные расходы в этом случае, на примере задачи проверки решения SNA Hackathon 2019.

Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Просмотры 25K
Комментарии 62

Анализ данных на Scala — суровая необходимость или приятная возможность?

Блог компании VK Блог компании Одноклассники Data Mining *Big Data *Машинное обучение *
Tutorial


Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации, когда ограничения этих инструментов становятся существенной помехой — в первую очередь, если необходимо добиться высоких показателей по скорости обработки и/или работать с действительно крупными массивами данных. В этом случае специалисту приходится, скрепя сердце, обращаться к помощи "темной стороны" и подключать инструменты на "промышленных" языках программирования: Scala, Java и C++.


Но так ли уж темна эта сторона? За годы развития инструменты "промышленного" Data Science прошли большой путь и сегодня достаточно сильно отличаются от своих же версий 2-3 летней давности. Давайте попробуем на примере задачи SNA Hackathon 2019 разобраться, насколько экосистема Scala+Spark может соответствовать Python Data Science.

Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 11K
Комментарии 17

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

Блог компании Одноклассники Информационная безопасность *Google Chrome Расширения для браузеров


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

Типичное расследование новой (успешной) спам-атаки начинается после того, как мы замечаем аномальную активность среди пользователей портала. Она может выражаться в повышенной нагрузке на отдельные сервисы (например, на сервис загрузки картинок или поиск), в активном распространении однотипного контента (например, ссылок на похожие сайты) или даже в увеличении количества обращений в службу поддержки.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Просмотры 20K
Комментарии 14

Как программист датасаентистам кернелы писал

Блог компании Одноклассники Python *Data Mining *Big Data *Машинное обучение *

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

Читать дальше →
Всего голосов 25: ↑20 и ↓5 +15
Просмотры 7K
Комментарии 4

Краткая история одной «умной ленты»

Блог компании VK Блог компании Одноклассники Data Mining *Big Data *Машинное обучение *


Социальные сети — это один из наиболее востребованных на сегодняшний день интернет-продуктов и один из основных источников данных для анализа. Внутри же самих социальных сетей самой сложной и интересной задачей в сфере data science по праву считается формирование ленты новостей. Ведь для удовлетворения всё возрастающих требований пользователя к качеству и релевантности контента необходимо научиться собирать информацию из многих источников, вычислять прогноз реакции пользователя и балансировать между десятками конкурирующих метрик в А/Б-тесте. А большие объемы данных, высокие нагрузки и жесткие требования к скорости ответа делают задачу ещё интереснее.
Читать дальше →
Всего голосов 65: ↑64 и ↓1 +63
Просмотры 6.1K
Комментарии 12

Дополнительные лекции курса «Проектирование высоконагруженных систем» (осень 2018) в Технополисе

Блог компании Одноклассники Высокая производительность *Java *Анализ и проектирование систем *Учебный процесс в IT
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)

Всего голосов 23: ↑23 и ↓0 +23
Просмотры 6.7K
Комментарии 0

Реактивный раздатчик ok.ru/music

Блог компании Одноклассники Высокая производительность *Java *Хранение данных *Распределённые системы *


Я работаю в команде платформы Одноклассников и сегодня расскажу про архитектуру, дизайн и детали реализации сервиса раздачи музыкальных треков.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 5.2K
Комментарии 4

Патчинг Java кода на продакшене без анестезии

Блог компании Одноклассники Java *
image

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

В общем, экономит массу времени и уменьшает интервал от момента обнаружения ошибки до исправления с часов до минут. Чаще всего, как и было задумано, исправляют мелкие ошибки в коде, например, программист забыл проверить на null и у некоторых пользователей определённые действия на сайте приводят к ошибке. То есть когда исправление осуществляется изменением нескольких строчек внутри метода. И ради таких мелких изменений больше не нужно отвлекать коллег и ждать часами выкладки на продакшн.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 10K
Комментарии 22

Миллион видеозвонков в сутки или «Позвони маме!»

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



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

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


О спикере: Александр Тоболь руководит разработкой платформ Видео и Ленты в ok.ru.
Всего голосов 47: ↑46 и ↓1 +45
Просмотры 16K
Комментарии 16

Разбор игры от Одноклассников на Joker 2018

Блог компании Одноклассники Занимательные задачки Java *

Всем привет! Несколько дней назад мы выкладывали пост про задачки, которые давали на конференции Joker 2018. Но это еще не всё! В этом году специально для Joker мы сделали целую игру с не менее интересными задачками по Java (и не только), про которую и расскажем сегодня.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры 6.3K
Комментарии 6

Информация

Дата основания
Местоположение
Россия
Сайт
ok.ru
Численность
201–500 человек
Дата регистрации
Представитель
Андрей Губа