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

Go: Хороший, плохой, злой - 1

У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобным. Хотя даже в рамках сетевого программирования найдётся немало подводных камней как в архитектуре языка, так и в реализации, что делает Go опасным, несмотря на его кажущуюся простоту.

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

Эпик фейлы в мире роботов - 1

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

image

Друзья, приглашаем вас на пятый московский Data Fest, который состоится 28 апреля на территории дизайн-завода FLACON. Data Fest — крупнейшая бесплатная конференция для исследователей, инженеров и разработчиков, связанных с анализом и обработкой данных, машинным обучением, а также тем, что пресса любит называть AI.

Вы узнаете про AI в продуктах Mail.Ru Group и «умные» ответы в Почте Mail.Ru, как работают рекомендации и компьютерное зрение во ВКонтакте и Одноклассниках, а также машинный перевод в Alibaba и что такое Quantum Machine Learning, а также многое-многое другое!
Читать полностью »

В этой статье я расскажу о реализации одного из алгоритмов расчёта глобального (переотражённого / ambient) освещения, применяемого в некоторых играх и других продуктах, — Voxel Cone Tracing (VCT). Возможно, кто-то читал старенькую статью ([VCT]) 2011 года или смотрел видео. Но статья не даёт исчерпывающих ответов на вопросы, как реализовать тот или иной этап алгоритма.

Глобальное освещение с использованием трассировки вокселей конусами - 1Глобальное освещение с использованием трассировки вокселей конусами - 2
Рендер сцены без глобального освещения, и с использованием VCT:
Читать полностью »

Чего откушать изволите? Высокотехнологичная доставка еды - 1

Человек — такое ленивое животное, которое очень любит комфорт, получать всё сразу и поскорее. И на этих наших свойствах построен бизнес астрономического количества компаний, предлагающих всевозможные услуги. В том числе, услуги по доставке еды. Человеку, который впервые придумал доставлять за деньги готовые блюда, нужно поставить памятник: не нужно никуда идти, что-то готовить самому, тратя на это немало времени и сил. Причём самостоятельные шедевры кулинарии могут обходиться дороже, чем готовые и с доставкой на дом. Многие десятилетия пиком высоких технологий в этой сфере был заказ по телефону. Потом появился интернет, и заказывать еду к своему порогу стало ещё удобнее. Но технологии и выдумка желающих обогатиться на человеческой лени не стоят на месте. Что ещё интересного придумано, чтобы можно было с минимум усилий порадовать желудок?
Читать полностью »

Приглашаем на воркшоп по React Native от разработчика GeekBrains - 1

Всем привет! Друзья, 20 апреля приглашаем вас в московский офис Mail.Ru Group. Разработчик GeekBrains Даниил Скрипник расскажет о своем опыте работы с React Native, его особенностях, а также научит участников писать кроссплатформенное приложение-мессенджер. Программа и регистрация — под катом.

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

Технострим. Учим строить интернет - 1

Интернет открывает широкие возможности для дистанционного обучения разработке и программированию. Наш YouTube-канал «Технострим» уже 5 лет знакомит с миром программирования огромное количество людей. На сегодняшний день канал предлагает более 1000 видеоуроков на самые разные ИТ-темы, его смотрит более 83 000 айтишников. И чтобы помочь вам сориентироваться в обилии видеозаписей, мы решили составить удобный путеводитель по просторам Технострима.
Читать полностью »

Трекер личной продуктивности на Raspberry Pi - 1

Мой трекер продуктивности — это «волшебное зеркало», но вместо времени, погоды и мотивационных цитат оно показывает:

  • Сколько времени я сегодня потратил на рабочие задачи за компьютером и в смартфоне (RescueTime).
  • Мой список дели из Trello.
  • «Радарный график», отображающий мои затраты времени на разные категории приложений по сравнению со вчерашним днём (RescueTime).
  • Недельные итоги (RescueTime).

Если вы потратили больше 50 % времени на рабочие задачи, вокруг зеркала будет яркая зелёная подсветка. Если меньше 50 % — подсветка будет красной, сигнализируя вам, что нужно повысить продуктивность! Впрочем, распределение вы можете задать самостоятельно.
Читать полностью »

Книга «Безопасность в PHP» (часть 5). Нехватка энтропии для случайных значений - 1

Книга «Безопасность в PHP» (часть 1)
Книга «Безопасность в PHP» (часть 2)
Книга «Безопасность в PHP» (часть 3)
Книга «Безопасность в PHP» (часть 4)

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

  1. Для случайного выбора опций из пула или диапазона известных опций.
  2. Для генерирования векторов инициализации при шифровании.
  3. Для генерирования непредсказуемых токенов или одноразовых значений при авторизации.
  4. Для генерирования уникальных идентификаторов, например ID сессий.Читать полностью »

IT-курсы: что остается за кадром - 1

Всем привет, меня зовут Евгений Картавец, я руководитель отдела обучения IT-портала GeekBrains. Мы разрабатываем курсы для будущих программистов. При их создании мы опираемся на опыт практиков отрасли и стремимся дать набор навыков, необходимых для устройства на работу. Я расскажу вам, как среди практикующих программистов мы отбираем преподавателей и с чем сталкиваемся при создании курсов.

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