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

Общая картина модульного тестирования - 1

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

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

image

Вот и наступило лето, а мы начинаем поиск спикеров на седьмой DIY-митап, который пройдёт в офисе Mail.Ru Group. Всё будет, как мы любим — много места, крутые спикеры и невероятные электронные штуковины.

Если вы хотите выступить на митапе в качестве докладчика, то ответьте, пожалуйста, на вопросы в форме. Если у вас есть несколько тем, то заполните форму несколько раз, с помощью голосования будет выбрана самая интересная. Другие темы можно будет рассказать на следующих митапах.
Читать полностью »

Пишите код, который легко удалять и отлаживать - 1

Простой в отладке код — это код, который не дурачит вас. Труднее отлаживать код со скрытым поведением, с плохой обработкой ошибок, с неопределённостями, недостаточно или избыточно структурированный, или находящийся в процессе изменения. В достаточно больших проектах вы в конце концов сталкиваетесь с кодом, который не можете понять.

Если проект относительно старый, то вы можете встретить код, про который вообще забыли, и если бы не журнал коммитов, то поклялись бы, что эти строки писали не вы. По мере разрастания проекта становится всё труднее запоминать, что делают разные куски кода. И ситуация усугубляется, если код делает не то, что, вроде бы, должен делать. И когда нужно изменить код, который вы не понимаете, приходится разбираться жёстко: отлаживать.

Умение писать код, который легко отлаживать, начинается с понимания, что вы ничего не помните о ранее написанном.
Читать полностью »

myDribbble Meetup 2017 в Москве - 1

3 июня в Москве прошёл myDribbble Meetup 2017. На этой неформальной конференции для дизайнеров выступили полтора десятка сильных и начинающих специалистов, многие из которых представленны в одной из главных тематических социальных сетей Dribbble. Создатели инструментов Principle и Sympli, Георгий Квасников (Fantasy), Олег Береснев (Beresnev Design), Макс Орлов (ONY), Николай Иванов (AIC), Артём Геллер (Дизайн государственных систем), Иван Васильев (Альфа-Лаборатория), Илья Гришин и Олег Андрианов (ВКонтакте), Дмитрий Чута (Screens Today / Chapps), Радик Загидуллин, Даниал Сиддики, Лена Аникеева (Pixies), Роман Храмов (Tappawards / Cuberto), Андрей Сундиев, Дмитрий Осадчук, Евгений Долгов и Дарья Ганцева (Mail.Ru Group). Было много практически полезных рассказов и историй из жизни дизайнеров и компаний с живым и веселым диалогом со слушателями.
Читать полностью »

Простое объяснение принципов SOLID - 1

Принципы SOLID — это стандарт программирования, который все разработчики должны хорошо понимать, чтобы избегать создания плохой архитектуры. Этот стандарт широко используется в ООП. Если применять его правильно, он делает код более расширяемым, логичным и читабельным. Когда разработчик создаёт приложение, руководствуясь плохой архитектурой, код получается негибким, даже небольшие изменения в нём могут привести к багам. Поэтому нужно следовать принципам SOLID.

На их освоение потребуется какое-то время, но если вы будете писать код в соответствии с этими принципами, то его качество повысится, а вы освоите создание хорошей архитектуры ПО.

Чтобы понять принципы SOLID, нужно чётко понимать, как использовать интерфейсы. Если у вас такого понимания нет, то сначала почитайте документацию.

Я буду объяснять SOLID самым простым способом, так что новичкам легче будет разобраться. Будем рассматривать принципы один за другим.
Читать полностью »

Боевой космический лазер «Скиф» - 1

В 1983 году для широкой общественности окончательно рухнула иллюзия под названием «мирный космос»: президент Рональд Рейган объявил о программе СОИ (Стратегическая Оборонная Инициатива), в рамках которой США собрались развернуть в космосе целый спектр вооружений для перехвата советских межконтинентальных баллистических ракет и их боеголовок. Безусловно, отдавать инициативу в руки противнику мы не могли: со времён Хиросимы и Нагасаки хрупкий мир между странами удавалось поддерживать только с помощью баланса вооружений. И на закате СССР началась разработка отечественного боевого лазерного космического аппарата, массо-габаритный макет которого (без самого лазера) был выведен в космос ракетой-носителем «Энергия». Впрочем, сам лазер тоже испытывали, правда, на самолёте.
Читать полностью »

Вознаграждаем за уязвимости четвёртый год подряд - 1

Специалисты в IT-безопасности, которые умеют находить уязвимости и эксплуатировать их, всегда стоят перед выбором — что, в итоге, с этими знаниями и умениями делать? И надо признать, что довольно большое количество таких специалистов выбирает путь ответственного раскрытия информации о найденных проблемах и уязвимостях. Именно с такими людьми компании должны уметь и хотеть взаимодействовать. Речь идет о Bug Bounty — объявляемых компаниями программах поиска уязвимостей в их продуктах и сервисах за денежное вознаграждение.
Читать полностью »

15 советов по работе с Github - 1

Я 10 лет разрабатываю ПО, участвовал в нескольких open source-проектах и в многочисленных не-open source-проектах, работал в больших и малых командах, и везде мы использовали Github в качестве репозитория версионирования.

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

Жизнь на льдине: дрейфующая станция «Северный Полюс—1» - 1

25 мая исполнилось ровно 80 лет с момента доставки первой партии оборудования для первой в мире дрейфующей научно-исследовательской полярной станции «Северный Полюс—1». В 1937-м четверо самоотверженных учёных — Иван Папанин (руководитель экспедиции), Евгений Фёдоров, Эрнст Кренкель и Пётр Ширшов — высадились на льдине в 8 км от Северного Полюса и основали станцию, на которой прожили 274 дня, постепенно продрейфовав к берегам Гренландии. Эта невероятно смелая экспедиция — на всех этапах: доставки, проживания и эвакуации — позволила собрать уникальные гидрографические, метеорологические и гляциологические данные. Причём настоящий подвиг совершили не только «папаницы», но и экипажи пилотов, доставлявшие экспедицию на Северный Полюс.
Читать полностью »

Многие продукты нашей компании работают с изображениями. Некоторое время назад мы решили добавить в такие сервисы «умный» поиск по фотографиям, их теггирование. Такая функциональность будет входить в Computer Vision API для дальнейшего использования в продуктах компании. Одним из важных способов теггирования изображений является теггирование по сценам, когда в результате мы получаем что-то такое:

Распознавание сцен на изображениях с помощью глубоких свёрточных нейронных сетей - 1
Читать полностью »


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