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

image

Пятого марта прошел финальный раунд Технокубка — олимпиады по программированию для школьников. В этом году в ней приняли участие 3000 человек, 400 из которых прошли в финал. Предлагаем вам взглянуть итоги финала и разбор задач:

A. Андрюша и носки
B. Место встречи изменить нельзя
C. Андрюша и разноцветные шарики
D. Иннокентий и футбольная лига
E. Подземная лаборатория
F. Аксель и Марстон в Битландии
G. Андрюша и живые барьеры
H. Автобусы и интранет

Что такое Технокубок? Это олимпиада по программированию для учащихся 8-11 классов, организуемая Mail.Ru Group совместно с МГТУ им. Баумана и МФТИ. Она состоит из трех этапов: ознакомительного (онлайн), отборочного (онлайн) и заключительного (очно).

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

image

В течение полугода я программировал преимущественно на Go. И я разочарован. По двум причинам:

  • В Go особенно трудно придерживаться функциональной парадигмы. По сути, язык препятствует функциональному программированию. Меня это разочаровало, потому что в императивном коде, который я пишу, большое количество шаблонных кусков. К тому же, как мне кажется, в этом случае выше риск ошибок, в отличие от использования функциональных абстракций.
  • Я считаю, что Go упускает свои шансы. В программных языках появились замечательные нововведения (особенно в сфере проверки и вывода типов — type inference), делающие код безопаснее, быстрее и чище. Мне хотелось бы, чтобы Google использовала своё влияние, чтобы поддержать некоторые из этих идей.

Я не первый, кто воспринимает Go подобным образом. Вот публикации других людей, разделяющих мои впечатления:

Ниже я добавлю свои соображения. Чтобы показать, как именно можно улучшить Go, я буду сравнивать его с Rust.

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

Стартап дня, начало (февраль 2017-го) - 1

Меня зовут Александр Горный, в последнее время я занимаюсь в Mail.Ru Group поиском и изучением новых стартапов для покупки или инвестиций. В реальных сделках мы сосредоточены в основном на российском рынке, но, чтобы составить своё мнение о локальном проекте, всегда неплохо поискать иностранные аналоги. Кроме того, часто бывает очень полезно просто смотреть на растущие истории со всего мира: если нравятся — то можно и у нас что-то похожее найти, зная, что искать. И в какой-то момент в голове стало так много всего интересного, что показалось преступлением этим не делиться; так в начале 2017 года возник мой блог #стартапдня, который я веду в Facebook, ICQ и Телеграме.

Сегодня я представляю вниманию Хабра небольшой дайджест самых интересных проектов из тех, которые я описывал в феврале. Строгий отбор прошли только пять из двадцати восьми. По техническим причинам выпуск задержался почти на месяц, но, кажется, срочности не было, ни один стартап закрыться или сильно пивотнуться за это время не успел. Описания немного сократил: текст и так получился очень длинным, в блоге подробностей и комментариев чуть больше, а здесь только самое важное.
Читать полностью »

image

Мы продолжаем нашу рубрику «Интернет по всему миру» и сегодня поговорим о двух странах, ранее бывших единым государством, а сегодня являющихся непримиримыми соперниками — об Индии и Пакистане.

Предыдущие публикации: Япония и Сингапур, Европа, Африка, Иран, Ирак и Саудовская Аравия, Китай и Тайвань, Северная и Южная Кореи.

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

Микрооптимизации важны: предотвращаем 20 миллионов системных вызовов - 1

Эта публикация — логическое продолжение поста «Как настройка переменной окружения TZ позволяет избежать тысяч системных вызовов». Здесь мы рассмотрим характерную ситуацию, когда микрооптимизации (например, удаление системного вызова) очень сильно влияют на производительность.

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

Отчет с Moscow.pm 2 февраля - 1

2 февраля в нашем московском офисе прошла встреча Perl-программистов Moscow.pm, ставшая уже традиционной на протяжении 10 лет. Под катом вы сможете найти видео и презентации трех докладов:

  • «Автотесты», Вадим Пуштаев, программист отдела внутренней разработки Поиска Mail.Ru
  • «Введение в асинхронно-событийное программирование на Perl», Андрей Еньшин, младший программист команды разработки веб-бэкенда Облака Mail.Ru
  • «Coro. Intro», Евгений Вансевич, программист Почты Mail.Ru

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

image
Original Mighty Morphin Power Rangers by Yurtigo

19 марта прошёл разогревочный раунд нашего чемпионата по спортивному программированию Russian Code Cup 2017. Этот раунд не влияет на итоговые результаты, но позволяет познакомиться с системой чемпионата и его задачами. Сегодня мы хотим рассказать об итогах раунда и разобрать его задачи:

A. Космический корабль
B. Рейнджеры в автобусе
C. Волшебное оружие
D. Рыцари и лжецы
E. Параллелепипед

На раунд зарегистрировалось 2789 человек, это в два раза больше, чем в прошлом году. Только один из них смог решить все пять предложенных задач! Поздравляем Михаила Ипатова. Ещё четыре человека справились с четырьмя из них. Самым популярным языком оказался GNU C++ 14. На нём отправили 565 решений задач. Второе и третье место заняли Python 3.5 (525 решений) и GNU C++ 11 (409 решений).

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

Circut bending — это творческий процесс экспериментирования с различными электронными акустическими гаджетами ради создания уникальных звуковых эффектов. Если вкратце, то методом тыка на печатной плате создаются короткие замыкания, которые преобразуются в звук. Услышав интересное звучание, можно добавить потенциометры, переключатели и прочие элементы, создавая своеобразные музыкальные инструменты и аудиогаджеты. Рассмотрим методику circuit bending на примере изготовления прибора для искажения аудиозаписи.

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

image

С версии 1.5 компилятор Go поддерживает несколько режимов сборки, определяемых флагом buildmode. Их ещё называют режимами исполнения Go (Go Execution Modes). С их помощью go tool может компилировать пакеты Go в нескольких форматах, включая архивы и библиотеки общего пользования Go (shared libraries), архивы и библиотеки общего пользования Си, а с версии 1.8 — и динамические плагины Go.

В статье мы рассмотрим компилирование пакетов Go в библиотеки Си. В этом режиме сборки компилятор генерирует стандартный бинарный файл объекта (shared object) (.so), передавая функции Go в качестве API в стиле Си. Мы поговорим о том, как создавать библиотеки Go, которые можно вызывать из C, Python, Ruby, Node и Java.

Весь код доступен на GitHub.

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

image

«Интернет должен быть, как воздух, всегда» — девиз японского провайдера OCN отражает вектор развития Японии и Сингапура. Обе страны в сжатые сроки прошли тернистый путь, совершив великое экономическое чудо, каждая по-своему. Развитие интернета в этих странах довольно сильно отличается от тех, о которых мы писали ранее. Пример Японии и Сингапура показывает, каких высот может достичь страна и её технологическое развитие, если у руля будут находиться специалисты своего дела и настоящие управленцы. Программы, которые создавались министерствами и правительствами Японии и Сингапура, прописаны максимально детально, а результат реализации программ говорит сам за себя. Попробуем разобраться, как этим странам удалось совершить столь впечатляющий рывок.

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