Рубрика «Блог компании Mail.Ru Group»

Трюки с SQL от DBA. Небанальные советы для разработчиков БД - 1

Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД:

  • АБД инфраструктуры отвечали за настройку базы данных, конфигурирование хранилища и заботу о резервных копиях и репликации. После настройки БД инфраструктурный администратор время от времени «настраивал экземпляры», например, уточнял размеры кэшей.
  • АБД приложения получал от АБД инфраструктуры чистую базу и отвечал за её архитектуру: создание таблиц, индексов, ограничений и настройку SQL. АБД приложения также реализовывал ETL-процессы и миграцию данных. Если команды использовали хранимые процедуры, то АБД приложения поддерживал и их.

АБД приложений обычно были частью команд разработки. Они обладали глубокими познаниями по конкретной теме, поэтому обычно работали только над одним-двумя проектами. Инфраструктурные администраторы баз данных обычно входили в ИТ-команду и могли одновременно работать над несколькими проектами.
Читать полностью »

MCMC-методы и коронавирус: часть первая, вступительная - 1

Привет, коллеги! Сто лет не писал на Хабр, но вот время настало. Весной этого года я вёл курс «Advanced ML» в Академии больших данных Mail.ru; кажется, слушателям понравилось, и вот сейчас меня попросили написать не столько рекламный, сколько образовательный пост об одной из тем моего курса. Выбор был близок к очевидному: в качестве примера сложной вероятностной модели мы обсуждали крайне актуальную (казалось бы… но об этом позже) в наше время эпидемиологическую SIR-модель, которая моделирует распространение болезней в популяции. В ней есть всё: и приближённый вывод через марковские методы Монте-Карло, и скрытые марковские модели со стохастическим алгоритмом Витерби, и даже presence-only data.

С этой темой вышло только одно небольшое затруднение: я начал было писать о том, что я собственно рассказывал и показывал на лекции… и как-то быстро и незаметно набралось страниц двадцать текста (ну ладно, с картинками и кодом), который всё ещё не был закончен и совершенно не был self-contained. А если рассказывать всё так, чтобы было понятно с «нуля» (не с абсолютного нуля, конечно), то можно было бы и сотню страниц написать. Так что когда-нибудь я их обязательно напишу, а сейчас пока представляю вашему вниманию первую часть описания SIR-модели, в которой мы сможем только поставить задачу и описать модель с её порождающей стороны — а если у уважаемой публики будет интерес, то можно будет и продолжить.
Читать полностью »

Декодируем JPEG-изображение с помощью Python - 1

Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется алгоритм сжатия JPEG. К концу статьи вы будете гораздо лучше понимать, как этот алгоритм сжимает данные и как написать код распаковки на Python. Мы не будем рассматривать все нюансы формата JPEG (например, прогрессивное сканирование), а поговорим только о базовых возможностях формата, пока будем писать свой декодер.
Читать полностью »

Выпускники семестрового курса «Разработка приложений на Android», Технопарк Mail.ru - 1

В предыдущей публикации мы рассказали о нескольких дипломных проектах семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). А в этот раз расскажем о двух самых интересных проектах слушателей семестрового курса «Разработка на Android»:

  • Приложение для абитуриентов МГТУ им. Баумана.
  • И приложение Vegan Delivery для доставки еды.

Напомним, что это был экспериментальный семестр, в котором все занятия проходили онлайн. При этом студенты, поступающие на курс, начинают изучать Android-разработку с нуля.
Читать полностью »

Go и кэши CPU - 1

Источник: unsplash.com

По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике».

Мартин Томпсон (создатель LMAX Disruptor) применил эту концепцию к программированию. Если в двух словах, то понимание базового оборудования улучшит ваши навыки, когда речь заходит о разработке алгоритмов, структур данных и так далее.

Команда Mail.ru Cloud Solutions перевела статью, автор которой углубился в устройство процессора и рассмотрел, как понимание некоторых концепций CPU помогает принимать оптимальные решения.
Читать полностью »

Выпускники семестрового курса «Разработка приложений на iOS», Технопарк Mail.ru - 1Свои дипломные проекты в этом сезоне защитила новая группа выпускников семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). Это был экспериментальный семестр, все занятия проходили онлайн. Преподаватели выбрали четыре самых интересных решения, о которых мы хотим вам рассказать:

  • Приложение Personal Teacher для репетиторов.
  • Приложение LocalFootball для футбольных турниров.
  • Приложение PhoRent для аренды оборудования.
  • Приложение TastyThings для кулинарных рецептов.

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

Пример event-driven приложения на основе вебхуков в объектном S3-хранилище Mail.ru Cloud Solutions - 1

Rube Goldberg coffee machine

Event-driven architecture повышает ценовую эффективность используемых ресурсов, потому что они задействуются только в тот момент, когда они нужны. Существует масса вариантов, как это реализовать и не создавать дополнительные облачные сущности в качестве worker-приложений. И сегодня я расскажу не про FaaS, а про вебхуки. Я покажу учебный пример обработки событий с помощью вебхуков объектного хранилища.
Читать полностью »

Armored Warfare: Проект Армата. Хроматическая аберрация - 1

Armored Warfare: Проект Армата — бесплатный танковый онлайн-экшн, разрабатываемый Allods Team, игровой студией MY.GAMES. Несмотря на то, что игра сделана на CryEngine, достаточно популярном движке с неплохим realtime render’ом, для нашей игры приходится многое дорабатывать и создавать с нуля. В этой статье я хочу рассказать о том, как мы реализовывали хроматическую аберрацию для вида от первого лица, и что это такое.
Читать полностью »

Что посмотреть на (почти уже не) карантине? Подборка материалов от Технострима (часть 7) - 1

Продолжаем нашу подборку интересных материалов (1, 2, 3, 4, 5, 6). На этот раз предлагаем послушать курс об алгоритмах интеллектуальной обработки больших объёмов данных и два новых выпуска ток-шоу для айтишников «Oh, my code» с Павлом Dzirtik Щербининым.
Читать полностью »

Как понять, что нейросеть решит вашу проблему. Прагматичное руководство - 1

Haystacks at Sunset Reimagined by AshnoAlice

Инженер по машинному обучению Джордж Хосу задает вопрос: «Какие проблемы решает машинное обучение?». Или конкретнее, с учетом современного развития отрасли: «Какие проблемы нейросеть способна решить на практике?». Команда Mail.ru Cloud Solutions перевела статью, так как рассуждения на эту тему, как нам кажется, встречаются редко.
Читать полностью »


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