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

Lua Meetup 2 сентября в офисе Mail.Ru Group - 1

2 сентября 2016 года в офисе Mail.Ru Group пройдёт очередной Lua Meetup — встреча, посвящённая языку программирования Lua и его экосистеме. Анонсированы два доклада (о них вы сможете подробнее прочитать под катом), но мне бы хотелось написать о другой причине, по которой на встречу нужно прийти. В мире очень много языков программирования, и новые языки появляются чуть ли не каждую неделю. Как писал классик, «все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему». Интересуясь исключительно мейнстримовыми языками программирования, мы лишаем себя ощущения контраста, и, как следствие, осознанности в выборе. Lua ни в какой мере не является «несчастливым» языком, но это однозначно язык, стоящий в стороне от мейнстрима. У Lua прекрасный синтаксис и очень легковесная реализация. Мало кто знает, что язык создан в 1993 году — настолько современно он смотрится. Что же мешает ему стать таким же популярным как Python или Go?
Читать полностью »

Новый курс на платформе Stepic: «Углубленное программирование на С-С++» - 1

Мы продолжаем запускать курсы на платформе Stepic. И сегодня делимся с вами очередной новостью: 23 августа был запущен курс по углубленному программированию на языках C/C++. Продолжительность курса чуть больше двух месяцев. Это прекрасная возможность расширить знания и получить новый опыт в условиях, когда на очные занятия просто нет времени.
Читать полностью »

Ломаем сбор мусора и десериализацию в PHP - 1

Эй, PHP, эти переменные выглядят как мусор, согласен?
Нет? Ну, посмотри-ка снова…

tl;dr:
Мы обнаружили две use-after-free уязвимости в алгоритме сбора мусора в PHP:

  • Одна присутствует во всех версиях PHP 5 ≥ 5.3 (исправлена в PHP 5.6.23).
  • Вторая — во всех версиях PHP ≥ 5.3, включая версии PHP 7 (исправлена в PHP 5.6.23 и PHP 7.0.8).

Уязвимости могут удалённо применяться через PHP-функцию десериализации. Используя их, мы отыскали RCE на pornhub.com, за что получили премию в 20 000 долларов плюс по 1000 долларов за каждую из двух уязвимостей от комитета Internet Bug Bounty на Hackerone.
Читать полностью »

подборка книг по типографике

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

Революция ИИ 101 - 1

В этой статье исследуется текущее состояние разработки искусственного интеллекта, рассматриваются вызовы и угрозы, а также особенности работы наиболее признанных учёных, и описываются основные прогнозы, в каком виде может предстать перед нами ИИ. В целом это переработанная и сокращённая версия состоящего из двух частей эссе, написанного Тимом Урбаном для “Wait But Why”.
Читать полностью »

Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту хранить значения в «массиве», индексируя его с помощью строк, в то время как в языке С допускаются только целочисленные ключи массива. В хэш-таблице строчные ключи сначала хэшируются, а затем уменьшаются до размеров таблицы. Здесь могут возникать коллизии, поэтому нужен алгоритм их разрешения. Существует несколько подобных алгоритмов, и в РНР используется стратегия связных списков (linked list).

В Сети есть немало замечательных статей, подробно освещающих устройство хэш-таблиц и их реализации. Начать можно с http://preshing.com/. Но имейте в виду, вариантов структуры хэш-таблиц — несметное множество, и ни один из них не совершенен, в каждом есть компромиссы, несмотря на оптимизацию циклов процессора, использования памяти или хорошее масштабирование потокового окружения (threaded environment). Одни варианты лучше при добавлении данных, другие — при поиске и т. д. Выбирайте реализацию в зависимости от того, что для вас важнее.

Хэш-таблицы в РНР 5 подробно рассмотрены в материале phpinteralsbook, который я написал вместе с Nikic, автором хорошей статьи про хэш-таблицы в РНР 7. Возможно, её вы тоже сочтёте интересной. Правда, она писалась до релиза, поэтому некоторые вещи в ней слегка отличаются.

Здесь же мы подробно рассмотрим, как устроены хэш-таблицы в РНР 7, как с ними можно работать с точки зрения языка С и как ими управлять средствами РНР (используя структуры, называемые массивами). Исходный код в основном доступен в zend_hash.c. Не забывайте, что хэш-таблицы мы используем везде (обычно в роли словарей), следовательно, нужно проектировать их так, чтобы они быстро обрабатывались процессором и потребляли мало памяти. Эти структуры решающе влияют на общую производительность РНР, поскольку местные массивы не единственное место, где используются хэш-таблицы.
Читать полностью »

Планирование юзабилити-тестирования. Часть 2 - 1

Привет, с вами снова Наталия Спрогис, руководитель направления UX-исследований в Mail.Ru Group! Это вторая часть статьи о планировании юзабилити-тестирования. В первой я рассказывала о формулировке целей и гипотез, выборе метода тестирования и инструментов фиксации данных, а также об организационных моментах для исследователя. Эта часть посвящена составлению протокола (сценария) тестирования: продумыванию того, какие задания вы дадите респонденту, какие вопросы будете задавать, какие опросники предложите заполнить.
Читать полностью »

Профессии медицины будущего - 1

Мы много говорим про нейронные сети и развитие искусственного интеллекта, но не будем забывать, что новый виток технического прогресса затрагивает и другие области. Борьба со старением, бессмертие, снижение стоимости медицинских услуг — все это часть огромного океана возможностей, превращающих мир в идеальное место для жизни и творчества.

Биотехнологии и медицина быстро развиваются, и вполне возможно, что через несколько лет будут нуждаться в профессионалах, специализацию которых сегодня трудно вообразить. Если вы сейчас сомневаетесь в выборе профессии или хотите кому-то посоветовать сделать в жизни правильный выбор, обратите внимание на медицину. Не медицину сегодняшнего дня, а ту перспективную отрасль, в которой IBM Watson ставит диагноз в каждой районной поликлинике.
Читать полностью »

Приглашаем на Email Show 9-11 сентября - 1

Привет! Сегодня хотим пригласить вас на форум Email Show, который пройдет в нашем офисе в сентябре. Вопросы email-маркетинга и почтовых рассылок довольно обсуждаемые и вызывают большой интерес. Мы неоднократно писали у себя в блоге на эти темы: рассказывали, почему Почта Mail.Ru включает строгий DMARC, как не стать посредником в рассылке спама, давали технические рекомендации к почтовым рассылкам. А теперь у нас соберутся email-маркетологи со всей России. Вас ждут 3 дня докладов и мастер-классов от лучших email-экспертов. В рамках форума также мы объявим победителей в премии «Email-маркетолог 2015 и 2016 года».
Читать полностью »

Dribbble Meetup 2016 в Москве 21 мая в Москве прошел Dribbble Meetup 2016. На этой неформальной конференции для дизайнеров выступили полтора десятка сильных и интересных специалистов, представленных в одной из главных тематических социальных сетей Dribbble. Команда Framer, Денис Шумов (M18), Андрей Гаргуль (Shopify), Глеб Кузнецов (Fantasy Interactive), Александр Лагута (m—2—h), Николай Березовский (Альфа-Лаборатория), Рустем Мусабеков (Raindrop), Евгений Долгов (Mail.Ru Group), Миша Петрик и Женя Юдин, Сергей Андронов (Hungry Boys), Олег Андрианов (ВКонтакте), Михаил Пономаренко и Андрей Сундиев (Mail.Ru Group) и Олег Чулаков.

Было много практически полезных рассказов и историй из жизни дизайнеров и компаний с живым и веселым диалогом со слушателями.
Читать полностью »


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