Русский
Русский
English
Статистика
Реклама

Mail.ru

Личный опыт Туда и обратно как дизайнер ездил работать в Мадрид и почему вернулся в Москву

02.10.2020 20:21:04 | Автор: admin

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

Именно так поступил Павел Карпов (paul86), который сейчас работает руководителем группы дизайна Mail.ru Cloud Solutions и Tarantool. Передаем ему слово!

Всем привет, меня зовут Паша, я дизайнер и сегодня расскажу о том, почему решил переехать на работу в Испанию, как живется в Мадриде, в чем особенности рабочей культуры в стране, сколько стоит квартира, машина, медицина. Ну и почему решил вернуться в Россию, конечно же. Поехали!

Примечание: пост получился длинный, с большим количеством фотографий, учитывайте это.

Введение: почему решил переехать

Впервые идея о возможном переезде за границу возникла у меня в голове году в 2012-м году. Но на тот момент я был обычным фрилансером, не был известным специалистом, просто брал на известном сайте заказы на 20 тыс. рублей, делал их и брал новые. Еще где-то через год я ощутил стагнацию в карьере на фрилансе приходилось делать очень похожие вещи без особого развития.

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

Далее случился 2014 год, и курс рубля начал себя вести известным образом. Вдруг оказалось, что росшая последние годы зарплата на самом деле в валютном исчислении стала только меньше. В конце 2014 года у нас с женой родилась дочка, супруга ушла в декрет и вот тут мысли о переезде вернулись.

Очень кстати в начале 2015 года через соцсеть Dribbble я получил предложение о работе в одной испанской компании, которая разрабатывала решения для подбора персонала IT-компаний.

Как еще получить оффер с релокейтом в Мадрид? Можно использовать профильные сообщества типа dribbble, а можно подписаться на вакансии с релокейтом в нашем боте @g_jobbot. Он просто и быстро настраивается: сфера, зарплата, локация релокейт. Подходящие вам варианты будут приходить в Телеграм.

Собеседования и подготовка к переезду

Я собрал информацию о компании опасался как бы не оказались мошенниками. Но все оказалось хорошо, и их основатель, с которым я общался, был вполне публичным человеком. Мне предложили сделать пройти собеседование и выполнить тестовое задание.

Звучало круто, но мой английский на тот момент был на уровне London is a capital of Great Britain. Так что я очень боялся собеседования, попросил неделю времени для подготовки и потратил ее всю на подтягивание языка смотрел интервью на английском, что-то читал. Помогло все это, конечно же, не особо, но будущие коллеги отнеслись с пониманием.

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

Стоит признаться, что я вообще слабо себе представлял, как устроен процесс релокации в другую страну, какие нужно собирать бумажки, сколько их и так далее. Когда мне это рассказали я даже испугался и думал уже все-таки отказаться от предложения все показалось очень уж сложным. Но компания мне помогла, там работали специальные люди, которые объясняли, какие бумаги и справки нужно получить, как их заверять, мне лишь оставалось это сделать. В итоге за пару месяцев все было подготовлено, я получил разрешение на работу и рабочую визу и визы для семьи. Десятого мая 2015 года мы с женой и дочкой погрузились в самолет до Мадрида с билетом в один конец.

Утро в Шереметьево перед переездом в МадридУтро в Шереметьево перед переездом в Мадрид

На новом месте: дизайн-карьера и Испании

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

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

Первый офис 520 квадратных метров в центре МадридаПервый офис 520 квадратных метров в центре Мадрида

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

Мне все нравилось, с коллегами отношения были хорошими, работала радовала. Так было до начала 2016 года, когда вернувшись на позитиве из отпуска в России я узнал, что наша компания на грани банкротства, и грядут масштабные сокращения. Руководители объяснили нам, что денег нет, поэтому оставят только тех, кто занимается непосредственно продажами. С выплатой компенсации меня, всех других дизайнеров, маркетинг и разработчиков сократили.

Вот так вот возвращаться в Россию я не хотел, поэтому решил поискать работу в Испании. Конечно, на всякий случай я подстраховался и прошел собеседования в двух крупных московских компаниях и получил от них офферы, но основной упор делал именно на поиски работы в Мадриде. Уже находясь в стране сделать это было не так трудно, я довольно быстро получил первый оффер, который не устроил меня, и вскоре после этого получил приглашение на работу в испанский Uber Cabify.

Процесс собеседований там был похож на описанный в этой статье я прошел несколько собеседований, выполнил два тестовых задания (design challenge). Было непросто, но все закончилось хорошо, и к маю 2015 года я получил оффер и принял его.

Рабочий процесс у них и у нас

Мои испанские компании довольно сильно отличались. Первая по факту была небольшим стартапом с международной компанией, а Cabify уже был серьезным бизнесом с масштабными инвестициями, но работали там по большей части испанцы, иностранцев типа меня было где-то 15% сотрудников. И то в моем отделе дизайна работали помимо меня два мексиканца.

Компания хорошо росла, привлекала сотни миллионов евро инвестиций, штат рос, в том числе и наша дизайн-команда. Рабочий процесс, в целом, был похож на то, как мы работали над дизайном в российских компаниях, использовались те же инструменты. Тоже самое касается и восприятия пользователями люди ждут примерно одинакового удобства. Например, я занимался дизайном приложения Cabify для водителей, и когда вызывал себе такси, пытался расспрашивать их о том, что нравится и не нравится там были вполне традиционные просьбы, ничего необычного.

Большего внимания заслуживает описание work-life баланса и вообще культуры работы в Испании. В Cabify не только сотрудники сами знали, когда кончается их рабочий день и не задерживались в офисе, но даже само начальство регулярно напоминало, что делать этого не стоит. Более того, в пятницу даже был сокращенный рабочий день, когда после обеда в 14:00 уже можно было идти домой. Сделано это было специально в Мадриде как и в Москве много иногородних, а страна не особенно большая, и есть сеть скоростных железных дорог. В итоге за пару часов на поезде сотрудники могли добраться до родного города и все выходные провести с друзьями и родными.

Скоростной поезд AveСкоростной поезд Ave

Жизнь в Испании: общие впечатления

В целом, жизнь в испанской столице мне нравилась, но было несколько напрягающих моментов, помимо испанского языка. Во-первых, это жара. В начале июня она приходит и до конца сентября 33 градуса это минимальная температура днем, причем легко бывает и 37С. И за это время набирается еще в общей сложности дней тридцать, когда температура переваливает за 40С.

Вторая проблема как ни странно холод. Зимой это очень прохладный город. Неподалеку расположены горы, и как только уходит солнце, с них приходит прохлада. И если зимой днем еще может быть комфортная температура 8-10 градусов, то ночью поднимается ветер, и температура в +2С ощущается как все -10С. Такая погода накладывает отпечаток и на стоимость коммунальных услуг, но об этом ниже.

Пожалуй, это весь негатив, а плюсов жизни в Испании было много. Один из главных дешевые перелеты как по стране, так и по Европе. Мы много путешествовали, объездили всю страну, были в Португалии, Франции это было очень интересно.

Еда очень хороша. В Испании огромное количество вкуснейших блюд, по паэлье, например, я скучаю до сих пор, но полюбил и хамон. Мадрид красивый город, по которому приятно гулять.

Район Tres Olivos на севере Мадрида. Очень тихий, спокойный и приятный район в 15 минутах от ЦентраРайон Tres Olivos на севере Мадрида. Очень тихий, спокойный и приятный район в 15 минутах от Центра

Еще очень нравились люди они приятные и простые в общении. История в подтверждение когда мы снимали первую квартиру, то я особо не обратил внимание на хозяина. Просто был очень рад, потому что дело это непростое, претендентов хватало. В итоге мы жили в этой квартире, и как-то раз зимой накрылся кондиционер а было холодно, как я уже говорил. Я сразу написал хозяину (который, как настоящий испанец, не говорил по-английски) о проблеме. А заодно сообщил ему, что есть небольшие проблемы с дверью морозилки в холодильнике.

Хозяин пришел с мастером по кондиционерам. Пока тот чинил климатическую систему, хозяин с отверткой в руках полез чинить холодильник. Тут мне пришло в голову загуглить , кто он такой. Каково мое было удивление, когда он оказался одним из тренеров мадридского Реала, а в прошлом, очень известный испанский футболист. То есть тренер одного из лучших клубов мира чинил у меня дома холодильник

Еще одна история про футбол у нас рядом с домом был небольшой участок, где мы гуляли с дочкой и часто встречали мужчину, который гулял с собакой и всегда вежливо здоровался. Он мне сразу показался знакомым, но я не мог помнять, кто это. Уже потом знакомые подсказали, что это Фернандо Морьентес , еще более известный испанский футболист в недавнем прошлом играл за Реал, Монако и Ливерпуль.

На работе в обеих компания у меня тоже были со всеми хорошие отношения, плюс начальство нас часто поощряло. Например, в первой компании у нас был четко раз в месяц корпоратив, куда можно было брать семью, а в Cabify как-то раз нам устроили такой тимбилдинг для всей дизайн-команды сняли дом с бассейном в горах Каталонии, и мы на неделю туда заселились. Это был не отпуск днем мы работали, но также и отдыхали, общались. Было очень круто.

Тот самый тимбилдингТот самый тимбилдингРождественский корпоратив в CabifyРождественский корпоратив в Cabify

Кстати про общение, выучив неплохо английский, и говоря на нем в основном с испанцами, я настолько привык к испанскому акценту, что потом мне было сложно воспринимать речь английских нэйтивов. Я стал прекрасно понимать испанский английский (спенглиш), с мягкими словами, без использования звука sh, что потом пришлось принудительно слушать настоящую английскую речь, чтобы перестроить мозг а правильное произношение. Об этом моменте стоит помнить, планируя переезд.

Что еще надо знать про испанцев главное слово для них maana (в переводе на русский завтра). Если у вас есть какая-то просьба или дело к испанцу, скорее всего он вам ответит, что все будет сделано, но maana. При этом данное выражение не означает, что все будет сделано именно завтра. Maana это когда-то в будущем, это может быть как утро следующего дня, так и вечер через 2 месяца.

Стоимость жизни

Немного расскажу о том, что сколько стоит. Сначала поговорим об одной из главных расходных статей аренда квартиры. В Мадриде есть аналог московского третьего кольца M30. Если снимать внутри него, цена за квартиру с одной спальней будет на уровне 750-1000 евро. Если за его пределами, то 600-750. В 10 минутах езды до М30 можно найти жилье и за 500 евро. В целом, Мадрид не такой большой, в несколько раз меньше Москвы. Поэтому снимать не в центре не страшно, все равно будете добираться до работы за полчаса.

Район Vinateros, рядом с кольцевой трассой М-30 (аналог московского ТТК)Район Vinateros, рядом с кольцевой трассой М-30 (аналог московского ТТК)

Мы снимали квартиру с двумя спальнями в 7 минутах ходьбы от M30 за 595 евро. Жить в городе везде безопасно, но лучше не рассматривать район Карабанчель, да и в принципе все на юге города. Там жилье чуть дешевле, от этого в районе много нелегалов. Север, запад и восток города чуть подороже, но зато безопаснее. Самый север (районы Монтекармело, Лас Таблас) очень дорогой, потому что состоит только из новостроек с красивыми видами на горы. Цены начинаются от 1300 евро, но из-за отсутствия хорошо развитой инфраструктуры такая стоимость выглядит совсем неоправданной.

За подписание контракта аренды берут за первый месяц проживания, услуги агентства составляют 100%, также возьмут 100% или 200% в качестве депозита.

По коммуналке она довольно дорогая, а если не знать нюансов, то может стать просто неимоверно дорогой. К примеру, в первую нашу зиму мы по привычки хотели натопить в квартире, чтобы было комфортно получили счет за электричество на 240 евро. Потом уже мне объяснили, что нужно найти квартиру с индивидуальным газовым отоплением когда я это сделал, то счет снизился до 80 евро. И надо понимать, что эти деньги мы платили, чтобы дома была температура хотя бы 20-21 градус.

Обогреваться лучше газом, это точноОбогреваться лучше газом, это точно

В Испании есть дома с собственным водоснабжением, а есть с центральным городским. За городское водоснабжение средний счет составит 20-30 евро в месяц.

Что касается интернета, то выгоднее брать и домашний интернет и мобильную связь пакетом. Обычно это стоит от 60 евро и выше. При этом о московских скоростях можно сразу забыть. За 60 евро вы получите скорость до 300 мбит/с за домашний интернет (у нас по факту больше 100 мбит/с не было) и 2 ГБ мобильного трафика. В первое время это сильно раздражает, потом привыкаешь.

Городской транспорт в Мадриде хороший. Одна поездка на автобусе стоит 1,5 евро. Поездки на метро тарифицируются по количеству станций:

  • до 5 станций 1,5 евро;

  • от 6 до 9 остановок 1,6 -1,9 евро (прибавляется по 10 центов за каждую станцию);

  • от 10 остановок и больше 2 евро.

Не самая простая система, контролеров особенно нет билеты чаще проверяют на входе, поэтому все просто покупают самый дешевый билет за 1,5 евро и едут, куда нужно. Есть еще проездные, с их помощью стоимость одной поездки можно снизить. Причем цена проездного на месяц зависит от возраста если вы моложе 27 лет, то стоимость составит 20 евро, а если старше 54,6 евро.

Мадридское метро в час пик, да, это онМадридское метро в час пик, да, это он

Владеть в Испании машиной недешево. Подержанный двухлетний Форд Фокус с пробегом 40 тысяч километров обойдется в 10-14 тысяч евро.

Вот этот Focus за 10 тысяч евроВот этот Focus за 10 тысяч евро

Подавляющее большинство машин по ощущениям 95 процентов на механике. Литр бензина обойдется в 1,2 евро, дизель 1 евро, стоянка внутри кольца М30 и в центре каждого города 2-3 евро за час. При этом дольше 3 часов стоять на одном месте нельзя. Можно сделать абонемент на месяц за 40-80 евро (в зависимости от оператора парковки), но нет никаких гарантий, что сможете найти свободное место в радиусе действия этого абонемента.

Что касается еды, то в период, когда я жил в Мадриде, средний чек похода в магазин был на уровне московского. Что-то дешевле, что-то дороже, но в среднем похоже.

  • помидоры от 60 центов кг, нормальные от 2 евро.

  • бананы от 1,2 евро (привозные), испанские от 2 евро.

  • литр молока 0,8-1,2 евро,

  • багет 0,7-1 евро,

  • 5 круассанов 2 евро,

  • килограмм картофеля 1-1,5 евро,

  • апельсины 1 евро.

Рыба, которой богата Испания, стоит как в Москве, мясо на уровне продукции Мираторга. Что получше, то подороже. Хамон надо брать либо целой ногой, либо попросить нарезать. Цена 50-60 евро за ногу 6-7 кг или 2 евро за 100 грамм нарезанного хамона. Нарезка в вакуумной упаковке не то.

Настоящий хамонНастоящий хамон

Теперь про кафе и рестораны. Цены на бизнес-ланч в районе 10-13 евро. В эту цену включены салат (или первое), второе, напиток, десерт и хлеб. Рестораны представлены в основном местной кухней, мексиканской, американской и азиатской. Есть сети, где платишь фиксированную сумму и набираешь столько еды, сколько захочешь. Средний ценник зависит от уровня заведения, 20-30 евро с человека за ужин среднем ресторане и 40-80 в дорогом.

Кстати, после возращения из Испании я очень сильно изменился даже визуально сбросил 20кг.

Еще из интересного то, как в Мадриде работают различные предприятия после Москвы вызывает удивление. Например, банки работают до 14:00, в четверг до 16:00.

По медицине. У каждого иностранца с видом на жительство, как и у всех местных жителей, есть обязательный местный ОМС, по которому можно бесплатно обращаться в поликлиники и больницы. Называется Tarjeta sanitaria (читается как тархета санитария). В целом, для базовой медицинской помощи ее вполне достаточно. Мы по ней дочери сделали все обязательные прививки, которые по графику на 95% совпадают с российскими, наблюдались у педиатра, а я сам два раза оказывался в больнице, но, к счастью, без госпитализации.

Качество медицины мне показалось средним, то есть как повезет. Под спойлером пара примеров моего взаимодействия с испанской медициной, если вдруг кому интересно.

Spoiler

Пример в первый раз я оказался в больнице с такой неприятной проблемой как вросший ноготь на ноге. Прождал я в очереди 3,5 часа, потом пытался объяснить доктору, не понимающему английский, свою проблему. После десяти минут общения через гугл переводчик врач собрал консилиум. Среди коллег них был один, говорящий на спенглише. В итоге, после 10 минут совещаний, они мне дали 2 тюбика йода и один тюбик перекиси водорода, и сказали мазать несколько дней.

На третий день выполнения их рекомендаций я понял, что занимаюсь полным бредом, взял полотенце потолще, вставил его в рот, чтобы сильно не орать (слышимость в испанских новостройках такая, что слышно все, что творится у соседей, которые живут выше или ниже на 2-3 этажа), и через дикую боль самостоятельно удалил себе вросшую часть ногтя. Через 3 дня все прошло и больше проблема не возвращалась.

Второй визит был более удачный. На своем Форде мы частенько выбирались на выходные в горы это где-то 40 км от Мадрида. Однажды у меня был сильный насморк, но я решил съездить в очередной раз в горы. Поднимаясь по серпантину, изменяющееся давление постепенно стало закладывать уши (помните то ощущение в самолете?), и в этот момент я почувствовал, как в ухе вдруг что-то щелкнуло и внутри появилась влага. На следующий день я стал хуже слышать, а еще через день слух почти полностью пропал, а сами уши заболели так сильно, что не помогали даже обезболивающие.

Я поехал в больницу, объяснил местной тете из регистратуры они там мало чем отличаются от сотрудниц регистратур российских поликлиник что у меня за проблема, отправили в очередь, но, к счастью, в этот раз я ждал всего 30 минут. Далее врач мне за пару минут поставила диагноз отит, выписала нужные лекарства и отпустила домой. Проблема ушла за пару дней.

И еще один случай. Про лечение зубов. У меня сильно разболелся зуб, поэтому я сразу полез в Гугл карты искать стоматологию с нормальным рейтингом. Нашел недалеко от дома, плюс она позиционировалась как демократичная по ценам. Когда я пришел, стоматолог меня осмотрела, сказала, что все займет 3-4 процедуры и все лечение встанет почти в 700 евро. Я уже потом узнавал, и понял, что в эту же цену мне встал бы перелет Аэрофлотом до России и обратно, и полное лечение в хорошей стоматологической клинике Москвы за пару визитов. Естественно я согласился на испанские условия, зуб вылечил. Но вот буквально недавно ходил на плановое обследование по ДМС в Москве, мне сделали рентген, и сказали, что именно у этого зуба образовалась киста. Лечению почти не поддается, нужно вырывать, полгода ходить без зуба и ставить имплант.

Я для себя сделал вывод, что починкой организма лучше заниматься в Москве, выйдет не дороже и со вполне сравнимым (а то и лучше) качеством. А еще я заметил, что даже обычная простуда в Испании почему-то всегда протекает тяжелее.

Почему вернулся и в какую компанию

Cabify отличная компания, но к концу 2016 года мне стало скучно в ней работать. Штат дизайнеров рос, нас становилось все больше, а задач осталось столько же. В итоге со временем получалось так, что я успевал сделал все свои дела за пару дней на неделе, а оставшееся время просто не знал, чем заняться. И при этом работа все равно шла медленно. То, что с моей командой в России мы делали два дня тут растягивалось на неделю и больше.

Еще один момент в Испании очень подвижная налоговая система. Ставки то понижают, то повышают. Я попал на момент, когда подняли ставку налога для эмигрантов. В итоге моя зарплата на ровном месте уменьшилась на пару сотен евро. Разговор с менеджерами не помог мне сказали, что нужно доработать до завершения первого года контракта, а потом мол вопрос будет рассмотрен. Получалось так, что работа скучная, денег стало меньше.

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

Так возникла идея рассмотреть варианты в России. Тогда коллеги из Mail.Ru как раз занимались поисками ведущего дизайнера на проект Mail.Ru для бизнеса. Я написал Юрию Ветрову, который тогда еще работал в Мейле, я выполнил тестовое задание, и меня позвали на собеседование. Было забавно я поехал на onsite в Москву так же, как обычно люди ездят за границу. Мне оплатили билеты и т.п.

Через пару недель я получил оффер, зарплату предложили не меньше чем в Испании. Никаких причин оставаться в Мадриде просто не осталось. В Cabify, конечно, все удивились такому ходу обычно все едут в Европу, а не наоборот. Но я принял другое решение, и оно до сих пор кажется мне правильным. В Mail.ru работа очень интересная и куда более интенсивная, чем в была у меня в Испании, семье тоже комфортно в Москве так что я получил то, чего мне не хватало в Мадриде.

Советы эмигрантам: к чему готовиться, на что смотреть

В завершение, несколько мыслей о том, что стоит знать перед переездом, и несколько советов:

  • Если вы хотите работать в интересных стартапах, то Мадрид не лучший город. Испанский стартап-хаб это Барселона, но в целом Берлин или Лондон кажутся куда более интересными местами с этой точки зрения.

  • Эмиграция в Испанию означает, что надо учить испанский. В условном Берлине можно всю жизнь прожить только с английским, в Мадриде это будет куда менее комфортно, потому что подавляющее большинство людей говорит только на испанском.

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

Понятно, что в России у нас есть свои риски например, нестабильный курс рубля. Зарплата в 1500 евро у нас может легко превратиться в 1000 (хотя в IT-сфере зарплаты быстро возвращаются на прежний уровень в валюте).

В общем, переезд туда или обратно это всегда решение, основанное на анализе множества факторов. Я свой выбор сделал, и ни разу не пожалел.

***

Используйте бот g-mate (@g_jobbot), чтобы получать вакансии по своему профилю с возможностью релокации в Европу, удаленной работы или в России прямо в Telegram. Компании могут опубликовать первые 3 вакансии бесплатно переходите по ссылке.

Подробнее..

Личный опыт Как простой парень из Подольска стал Lead Product Designer в Mail.Ru Group?

11.01.2021 22:22:18 | Автор: admin

Вблоге мымного рассказываем про карьеру программистов. Сравниваем изкаких стран лучше работать ичто выбрать: российскоеIT, релокейт или ремоут. Идля программиста сценарий переезда кажется вполне понятным иреальным, нокак это выглядит удизайнеров?

Мыпоговорили сПавлом Карповым @paul86, Lead Product-дизайнером вMail.Ru Group. Напервый взгляд, онвсе всвоей карьере сделал неправильно, нопри этом добился впечатляющих результатов.

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

Павел рассказал, какие навыки помогают вразвитии, как интенсивно расти вкарьере ипопасть наработу вMail.Ru Group без профильного образования. Кстати, вэтом году онбудет расширять свою команду вМэйле, поэтому если выхотите попробовать свои силы, встатье есть пара рекомендаций.

Изинженера вдизайнеры

Уже напятом курсе МАДИ Павел понял, что изучать фотошоп ему интереснее, чем думать окарьере инженера. Покопался внастройках программы ирешил попробовать сделать сайт заметил, что уфутбольной команды Подольска Витязь его еще нет. Работу Павла увидели руководители клуба, иему предложили стать внештатным дизайнером, апозже работу вадминистрации ФК. Формально онсчитался футбольным функционером, нозарплата была небольшой, азадач неочень много. Зато была возможность прокачиваться вдизайне изаниматься тем, что нравится. В20092010годах большую часть дня Павла занимало самообразование всфере дизайна, ас2011 года онстал создавать простенькие сайты за1520тысяч рублей как фрилансер.

Вначале дизайнерской карьеры Павел пытался программировать сам, нопонял, чтосконцентрироваться стоит начем-то одном.

Втот момент небыло онлайн-школ.Британская высшая школа дизайнатолько начинала свою работу, ноценник заобучение там был около200300тысяч рублей. Втовремя для Павла это сумма была космической, деньги нужны были нажизнь, поэтому онвыбрал путь саморазвития. Доконца 2012 работал иучился, нопочувствовал стагнацию ив2013 году перешел наофисную работу вкомпанию Forward Media Group. Вофисе больше чувствовался профессиональный рост. Работа бок обок сдругими дизайнерами иобмен опытом помогает быстрее расти иучиться уних новым фишкам. Компания платит заобучение. PROFIT

Портфолио, собеседование ирелокация

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

Вначале 2015года, CEO одного изиспанских стартапов нашел портфолио наDribbble ирешил позвать его наинтервью. Приглашение попало вспам, иеслибы Павел нерешил почистить эту папку, никто незнает, как сложиласьбы его карьера. Компания занималась разработкой решения для подбора персонала вIT.

Как составить портфолио чтобы тебя заметили? Рекомендации Павла

  • Неворуйте чужие работы инезавышайте свои знания.Вас обязательно попросят выполнить тестовое задание, которое покажет реальный уровень.

  • Несоздавайте презентацию вPower Point открывать ееилистать никому неудобно, унекоторых нетPP накомпьютере. Архивы RAR тоже лучше неотправлять ихвообще неоткроют, тоесть ваше портфолио неувидят. PDF-файлы вариант, возможно ихпосмотрят. Нолучший выбор онлайн-портфолио.

  • Если натекущей работе выделаете скучные ишаблонные проекты, которые стыдно добавлять впортфолио,готовьте две версии работы: одну для портфолио, вторую для проекта.Шаблонный вариант для руководства иинтересный для портфолио.

  • Всегда держите портфолио вактуальном состоянии.Недобавляйте работы, вкоторых неуверены, удаляйте старые проекты, утратившие актуальность. Например, точто было стильно-модно-молодежно 10лет назад, сейчас кажется избитым. Нехраните старые работы, даже если они вам кажутся удачными. Необманывайте себя, ваши первые работы 100% хуже текущих.

  • Старайтесь добавлять хотябы небольшой сопроводительный текст ксвоим работам, чтобы показать, почему вывыбрали тоили иное решение.

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

  • Неотчаивайтесь если первые дватри раза вам откажут насобеседовании. Тестовые задания хорошая тренировка, асобеседования развивают навыки самопрезентации. Первые три компании откажут, ачетвертая сделает оффер.

Собеседование наанглийском без знания английского. Whaaaat?

Сразу пройти собеседование Павел немог из-за того что незнал английский. Мой лексикон заканчивался нафразе: London isthe capital ofGreat Britain.

Ноонрешил несдаваться ипопросил отсрочку нанеделю, вовремя которой готовился повидео наYouTube ивыписывал фразы для собеседования. Это неслишком помогло, ивсамом начале Павел признался, что очень сильно нервничает ибудет ошибаться. Нособеседник его успокоил, сказав, что для дизайнера необязательно говорить идеально, аеще компания была готова нанять ему преподавателя.

Совет тем, кто планирует переезд вдругую страну учите языки заранее. Желательно нетолько английский, ноеще иязык той страны, вкоторую выхотите релоцироваться.

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

Как переехать вИспанию порабочей визе

Подготовка документов

  • Свидетельство орождении +апостиль+ заверенный перевод

  • Свидетельство обраке + апостиль + заверенный перевод

  • Свежий загранпаспорт на10лет

  • Апостиль дипломов + заверенный перевод

  • Справка спрошлого официального места работы + заверенный перевод

Апостиль международная стандартизированная форма заполнения сведений озаконности документа для предъявления натерритории стран, признающих такую форму легализации. Штамп Апостиль ставится наоригиналы икопии документов.

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

Оформление визы

Обычно всем оформлением занимается принимающая сторона. Отвас требуется только свидетельство обраке сапостилем (если выпереезжаете смужем или женой) исправки оботсутствии судимости сапостилем. Все справки должны быть свежими ивыданы непозднее трех месяцев.

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

Сначала Павел испугался всей этой бумажной волокиты ихотел уже отказаться отпереезда. Агентство, вкоторое онобратился запомощью, только сильнее напугало. Они убеждали его, что порабочей визе вИспанию переезжают только 5% отподающихся, аесли нет высшего образования внужной сфере, тонадеяться неначто. Нокомпания предоставила юриста, который помог соформлением всех документов, иуже через два месяца уПавла наруках была рабочая виза. Вывод: нестесняйтесь просить помощи убудущего работодателя. Скорее всего, компания уже сталкивалась срелокацией, изнает, как это делается.

Вмае 2015 года Павел ссемьей переехал вМадрид.

Адаптация исмена работы

Первый месяц Павел адаптировался кязыку именталитету коллег. Впервый день работы прошел повсем ипожал руку, взнак приветствия изнакомства. Навторой день снова прошелся повсем ипожал руки, начто испанцы ответили: Зачем? Мыже знакомы

Павел подтягивал свои знания вобласти английского языка, новИспанииоколо 94% жителей говорят только наиспанском языке, инезнают английского. Аколлеги разговаривают наспанглише. Это смесь английского ииспанского.

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

  • испанский (официальный);

  • каталанский;

  • галисийский;

  • баскский;

  • аранский.

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

Через некоторое время Павел чувствовал себя как дома. Ему нравилась рабочая атмосфера исам город. Нокомпания оказалась награни банкротства, ируководители сократили всех кроме отдела продаж.

Возвращаться вРоссию Павел неторопился иискал работу вИспании, нодля подстраховки проходил собеседования народине иполучил два предложения оработе. Через некоторое время пришел оффер изиспанского Uber Cabify.

Почему вернулся народину?

Павел быстро развивался, ивCabify ему стало скучно. Штат дизайнеров увеличивался, азадачи неприбавлялись, витоге получалось, что онделал недельную работу запару дней инезнал чем себя занять. То, что сейчас Павел скомандой вРоссии делает задва дня, там растягивается нацелую неделю.

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

Втот момент наглаза попалась вакансия вMail.Ru Group. Павел выполнил тестовое задание, прилетел вМоскву насобеседование ичерез пару недель получил оффер.

Работать вкрупных компаниях намного интереснее, чем внебольших стартапах. Особенно новичкам. Вкаждой крупной компании свои фишки. Например, вМэйле есть UX-лаборатория, вкоторой постоянно проводят исследования пользовательского поведения. Дизайнеру полезно присутствовать натестах, потому что это уникальная возможность посмотреть навзаимодействие пользователей синтерфейсом вреальном времени.

Респонденты пользуются сайтом, пока заними следит исследователь. Замеряют всё: насколько секунд оностановился натой или иной картинке, как быстро нажал накнопку итак далее. После теста группе респондентов задают вопросы поизменениям всайте. Аналитика пользовательского поведения влияет нарешения дизайн-команды. Например, главная Mail.ru Cloud Solutions постоянно тестируется влаборатории, авсе решения иизменения основаны наанализе этих тестов. Так главная страница загод изменилась около пятнадцати раз, нопользователь, скорее всего, ничего незаметил. Главное увеличилась конверсия.

Что еще нужно дизайнеру, чтобы найти работу

Конечно, портфолио

Вэтом году Паша планирует открыть набор всвою команду иотбирать будет попортфолио, анерезюме: интереснее, какими навыками обладает дизайнер, ареального опыта работы может инебыть. Если виден потенциал, человека принимают вштат без лишних вопросов. Достаточно сделать портфолио наbehance.net иdribbble.com ивыполнить тестовое задание.

<рекламная пауза>

Настройка ботаНастройка бота

Следите зановыми вакансиями внашем боте @g-jobbot. Вакансия кПавлу внем тоже появится.Подпишитесь, чтобы неупустить возможность попасть вкоманду Mail.Ru Group.

</рекламная пауза>

Возраст непомеха?

Дизайнер очень молодая для России профессия. Сейчас, скорее всего, сложно найти людей50+, которые работают вэтой сфере. Вкомпаниях средний возраст колеблется от22до40лет.

Это неозначает, что после 40лет карьера заканчивается, исейчас средний возраст дизайнеров растет. Новкакой-то момент становится логичнее развиваться как менеджеру или открывать свое дело.

Что нужно дизайнеру чтобы добиться успеха вкарьере

Высшее образование для дизайнера сегодня вторично. Даже крупные компании могут взять человека без профильного высшего, носотличным портфолио играмотно выполненным тестовым. Навыки дизайна первичны.

Существует миф, что компании требуют отдизайнера знания программирования, ноэто нетак примерно в99% случаев. Да, программирование дополнительный плюс, хорошо, если дизайнер умеет верстать или понимает как это делается. Так некоторые вещи можно будет отсечь еще наэтапе идеи, инепотерять время направки. Изучение Pythonа тоже необязательно, ноесли выего знаете, это будет плюсом. Например, Python активно используется архитекторами ипромышленными дизайнерами для алгоритмического моделирования вRhinoceros при помощи плагина Grasshopper.

Как выглядит идеальный продуктовый дизайнер

На60% инженер. Взадачи продуктового дизайнера входит нетолько делать красивые картинки, ноипроектировать, строить ирушить гипотезы, выбирать лучшее решение для проекта. Такое мышление как раз присуще инженерам.

На30% креативщик. Перед ним стоит задача сделать нетолько лучший продукт, ноиуникальный.

На10% ондолжен состоять изграмотности икоммуникабельности. Работа дизайнера это работа скомандой. Без общения неполучится довести проект доума.

Важноли иметь впортфолио громкие кейсы

Существуют компании, которые требуют только коммерческий опыт. Имважно, чтобы проекты изпортфолио обязательно вышли впродакшен. Если выизтех, укого допродакшена доходит1520 %работ, итепод NDA, смотрите всторону других работодателей.

Например, Mail.Ru Group иЯндекс такого нетребуют. Имважно исполнение инавыки, аневыход проекта впродакшен. Павел до2016 года делал только краткосрочные проекты, которые заканчивались наэтапе рекламной кампании.

Можноли получить оффер, выступая наконференциях ифорумах?

Личный бренд для дизайнера важен. Выступая наконференциях выпривлекаете ксебе больше внимания, вас знают всообществе. Например, Павел рекомендует участвовать вRussian Design Сup. RDC это ежегодный конкурс для начинающих иопытных графических дизайнеров идизайнеров интерфейсов.

В2016 году Павел прошел отбор намероприятие ииз608 участников попал в20-кулучших. Онненадеялся даже пройти даже отбор наRDC, авитоге занял 4место втурнире. Сразу после этого получил около 10предложений оработе. Компания изЛондона даже предлагала просто пройти собеседование, без тестового задания.

Поэтому участие вподобных мероприятиях увеличивает возможность получить отличный оффер.

История Павла показывает, что построить успешную карьеру можно при помощи усердия, хорошего портфолио идоли удачи.

Полная версия вебинарананашем канале:

Подписывайтесь нанаш блог: публикуем расшифровки вебинаров сполезными ссылками, истории IT-специалистов игайды порелокации.

Подробнее..

Как мы провели Hack and Learn Initiative CTF

28.01.2021 16:20:38 | Автор: admin

В декабре 2020 года, за неделю до нового года, компании Semrush и Mail.ru Group решили провести совместное обучающее мероприятие по информационной безопасности в формате CTF.
Причём тут разработчики, тестировщики и devops, зачем и почему расскажем в этой статье.

CTF соревнования уже не являются чемто новым, а практика их проведения в ITкомпаниях только растет. Сейчас будет довольно сложно найти человека, который не слышал о соревнованиях для хакеров.

Что такое CTF и почему сейчас про него слышно из каждого утюга

Capture The Flag (CTF) это игра, в которой участники соревнуются, чтобы захватить флаг противников и защитить свой. Наверняка многие играли или слышали про такой режим в некогда популярных командных шутерах Quake и Team Fortress. В какойто момент эта идея пришла в мир информационной безопасности.

CTF в мире ИБ это важный пункт в категории обучение и используется для прокачки навыков поиска и эксплуатации уязвимостей. Как правило, у компаний есть свои команды, выступающие как на мировых соревнованиях, так и на локальных: например, перед крупными конференциями, такими как Positive Hack Days, ZeroNights и OFFZONE обязательно проводятся CTFсоревнования.

CTF может проходить в двух форматах.
Первый Attack-defense, где часть команд это защитники, часть команд атакующие.
Команды защитников получают свой набор серверов или сегмент сети, который нужно защищать от нападающей стороны. Нападающим, в свою очередь надо атаковать и добывать флаги.
Второй Task-based, где участник/команды просто решают задачи.

В нашем случае формат CTF был Taskbased, при котором командам необходимо решить задачи в разных категориях, например Web, Infrastructure, Development, Crypto и другие.

Какие цели мы преследовали и где тут SDL

Security development lifecycle (SDL) это набор различных практик безопасности на всех этапах жизненного цикла продукта. Эта методология существует уже довольно давно, изначально её анонсировала компания Microsoft, после чего методология получила широкое распространение. Узнать детали вы можете почитать на сайте Microsoft и на Хабре.

Современный подход и постоянное выполнение практик SDL позволяет снизить вероятность возникновения уязвимостей и попадания их в прод, сформировать процессы ИБ, ускоряющие исправление уязвимостей и выработать культуру безопасной разработки. Всё это позволяет сделать продукт более защищенным.

Одной из практик SDL принято считать Security Awareness для сотрудников, в том числе обучение разработчиков аспектам информационной безопасности.

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


выдержки из feedback:

Какие задания заставили тебя по-новому взглянуть на свой код?

Мой код идеален!

Cornichon наслышан об уязвимости в pickle десериализации, но вот познакомился на практике

Cloud Eats аккуратнее буду с JWT и заголовками, буду смотреть за правами у сервисных аккаунтов, если буду их использовать

Dumbank рад, что я не dumb и таких ошибок не делаю

Какие из полученных знаний будут полезны тебе в работе?

Cloud Eats (планирование инфраструктуры), Logger (познакомился с protobuf)
Все: смогу быстрее принимать баланс между безопасностью и скоростью разработки, т.к. вижу пути атак

*Cornichon, Cloud Eats, Dumbank, Logger названия заданий


Почему мероприятие совместное?

В обеих компаниях применяются практики SDL и внутренний CTF проводится как минимум раз в год. Сложившаяся практика имеет положительный отклик внутри компаний, появляются CTF команды и растет интерес сотрудников к ИБ, ровно как и налаживается контакт с отделами ИБ. Поэтому мы решили разбавить привычный для команд формат и устроить небольшой нетворкинг с товарищеским матчем!

В том числе, насколько нам известно, это первое мероприятие подобного характера, где участвуют команды двух компаний (не считая Counter-Strike и подобные), если это не так пишите в комментарии :)

Как готовились

На подготовку к каждому CTF мы закладываем две недели работы пары инженеров Application Security. В этот раз задача была более сложная, так как участвовали команды из разных компаний, поэтому приготовить для нас задания и платформу мы пригласили третью сторону сообщество SPbCTF.

Первым этапом мы устроили мозговой штурм между организаторами и сообществом SPbCTF, вспомнили недавние уязвимости и разбили задачи на категории.

Далее, спустя пару недель, получили описание заданий и начали любимый всеми процесс обсуждения правок с заказчиком :)

Как результат, мы получили более 20ти классных задач, покрывающих наш технологический стек. Среди этих задач также были задачи, которые будет интересно решать не только разработчикам.

Технологический стек заданий

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

Как готовить неправильных хакеров :)Как готовить неправильных хакеров :)

Мы сделали упор на уязвимости в ходе разработки на языках программирования Golang, Python и Nodejs, а команды имели доступ к исходному коду некоторых заданий.

Также мы не забыли про недостатки конфигурации облачных сервисов и типовых настроек apache & nginx, приводящие к серьезным последствиям.
Другими словами, ключевики, которые мы использовали при планировании задач:

Как и прочие CTF соревнования, наше не обошлось без других, не менее интересных задач в области криптографии, обратной разработки (reverse) и недостатков процессов оплаты, использующих 3DS.

Что мы получили

Соревнования длились с вечера пятницы до конца дня воскресенья. За это время зарегистрировались 40 команд, из которых 32 сдали хотя бы один флаг.
12 команд набрали более 3000 баллов, необходимых для получения призов, а две смогли решить все задания!
Здесь можно посмотреть разброс очков, набранных командами:

Scoreboard Scoreboard

В ходе соревнования CTF команды сдавали флаги каждый час! Это значит, что участники делили задачи внутри команды и эффективно использовали ночное время достойно уважения.

 Количество попыток сдать флаг за время соревнований Количество попыток сдать флаг за время соревнований

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

18 Dec 2020 18:03:35

108:team08/AlexandrosDaSilva

covidinc3

18 Dec 2020 18:03:35

108:team08/darkstar_spb

lords1

Последний успешный флаг был сдан всего за семь минут до конца соревнований!

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

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

Одна из команд была быстрееОдна из команд была быстрее

География участников получилась не менее занимательная Санкт-Петербург, Москва, Нижний Новгород, Воронеж, Прага, Лимассол и другие.

Где ошиблись и какие уроки вынесли

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

  • пандемия и отсутствие возможности быстро коммуницировать с коллегами вживую

  • близость к новому году и множество связанных с этим семейных дел сильно ограничило свободное время для участия некоторых сотрудников

  • проблемы с логистикой в предновогодние дни

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

Призы

  • 1 место годовая подписка на HackTheBox (каждому участнику команды)

  • 2 место годовая подписка на PentesterLab (каждому участнику команды)

  • 3 место годовая подписка на TryHackMe (каждому участнику команды)

В этот раз мы решили попробовать уйти от материальных призов и мотивировать коллег сражаться на общеизвестных полях боев :)

Несмотря на необычность призы победителям понравились, хотя нашлись и те, кто не отказался бы и от чего-то материального. Мы обязательно учтем это в менее COVIDные времена. Приятным сюрпризом для нас стало то, что некоторые коллеги после соревнований сами решили приобрести себе подписку на Hack The Box и продолжить улучшать свои навыки!

Интересные задания

Одним из самых интересных заданий было Cloud Eats, где участником предлагалось найти уязвимости в реализации приложения в облачной платформе Google Cloud.

Задача была разбита на 4 этапа:

  • найти в приложении на Golang стандартную отладочную ручку /debug/pprof/

  • вытащить чувствительную информацию из дампа памяти кучи

  • используя GCPтокен из дампа получить информацию об аккаунте разработчика

  • обойти Google Identity Application Proxy

  • получить доступ к административной части веб приложения

  • прочитать файлы из бакета

  • достучаться до сервера во внутренней инфраструктуре и внимательно посмотреть на его сертификат :)

Мы не сможем рассказать более подробно и красочно, чем наш коллега Дима Богер, его writeup можно найти здесь.
Стоит отметить задание про депикселизацию на основе недавних новостей.
Участникам необходимо было получить флаг из этой картинки:

http://personeltest.ru/aways/ibb.co/NVwtxQ2https://ibb.co/NVwtxQ2

С помощью https://github.com/beurtschipper/Depix/ вы можете попробовать решить это задание, однако имейте в виду, что для решения задачи только этого репозитория не достаточно.

Смешные моменты

Во время соревнования мы отметили несколько забавных моментов в действиях команд.
Ктото настойчиво требовал флаг по почте:

Другие пытались подобрать пароль от аккаунтов организаторов:

Или пытались добыть флаги, общаясь с живыми разработчиками вместо бота, которого нужно было взломать:

Выводы

В ходе соревнований мы собрали CTFкоманды обеих компаний в один товарищеский матч. Более 100 коллег приняли участие в соревнованиях, и мы уверены, что каждый узнал чтото новое и получил представление как о характере задач, так и о формате мероприятия. Такая кооперация имеет преимущество это возможность распределить нагрузку в организации мероприятия между ИБотделами разных компаний.

Стоит упомянуть повышение мотивации и спортивный азарт, возникающие в таком взаимодействии. Желание сделать родную компанию как можно выше в рейтинге заметно сказывается на вовлечённости.

Качество таких мероприятий мы будем оценивать уже согласно внутренним метрикам, однако замечено, что мероприятие уже принесло свои плоды коллеги закрепили свои знания на практике и теперь стали проявлять подлинный интерес к вопросам ИБ!

Подробнее..

Кибербуллинг почему люди становятся наблюдателями

11.11.2020 20:10:19 | Автор: admin

Мы второй год подряд проводим всероссийскую кампанию по борьбе с травлей в интернете День борьбы с кибербуллингом. Приглашаем объединиться всех, кто верит, что агрессия в сети и за ее пределами недопустима.

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

Исследование проводилось в сентябре-октябре 2020 года совместно с Research.me, UX-лабораторией Mail.ru Group и UXSSR. Здесь вы можете скачать полные результаты исследования. Некоторые из них весьма печальны для нашего общества. Второй карантин, экономический кризис, преддверие зимы всё это не помогает людям быть добрее и терпимее друг к другу. Это подтверждает опрос: половина респондентов считает, что уровень агрессии в обществе вырос в ходе пандемии. Причём эта агрессия в интернете чаще всего не обоснована. Любопытно, что люди считают грубость и оскорбления в интернете неприемлемыми но готовы использовать их для самозащиты. Прямо напрашивается аналогия с физическим нападением.


При этом большинство занимают позицию наблюдателя, когда становятся свидетелями кибербуллинга. И главная причина в том, что публичный спор многие считают бессмысленным. Вторая по популярности причина люди не знают жертву лично. Странная логика, но так считает 28% опрошенных. Третья причина, по которой люди просто наблюдают за кибертравлей, заключается в том, что они не уверены в состоятельности своих аргументов. И наконец, 13% признались, что не вступают в защиту других из боязни стать мишенью.


Так что очевидно, что бороться с кибербуллингом необходимо, он стал частью нашей повседневности.

Краткие выводы по результатам исследования


  • Наблюдатель может сам стать агрессором, если вместо поддержки жертвы унижает агрессора. Написать грубый или эмоциональный комментарий в защиту другого человека приемлемо для 26% пользователей рунета.
  • Почти половина респондентов (49%) считает, что уровень агрессии в российском обществе в период пандемии вырос. Чаще это отмечают женщины (52% против 46% мужчин). При этом каждый четвертый не заметил изменения уровня агрессии.
  • За последний год каждый второй (52%) никогда не заступался ни за кого в интернете, а 44% в офлайне. Свидетели агрессивного поведения чаще заступаются за жертв в реальной жизни, чем в интернете.
  • Каждый пятый (20%) опрошенный испытывал бессилие, не зная, как помочь жертве (как онлайн, так и в реальной жизни). Наблюдение за травлей влияет на эмоциональное состояние интернет-пользователей.
  • Главная причина, по которой наблюдатели не поддерживают жертв агрессии в интернете, нежелание участвовать в публичном споре. Это выглядит бессмысленным для 65% опрошенных. В реальной жизни треть наблюдателей (33%) не заступаются за жертв агрессии, потому что не знакомы с ними лично.
  • 38% свидетелей проявления агрессии в интернете не пытаются разобраться, кто жертва, а кто виновник конфликта. В основном вникнуть в суть стараются подростки (85%).
Подробнее..

Как и зачем Mail.ru Group провела редизайн мобильной версии главной страницы портала

04.06.2021 16:20:58 | Автор: admin


Появление новых сервисов стало испытанием для главной страницы Mail.ru пользователям стало сложнее находить нужные разделы, и в компании решили обновить дизайн. Специалисты Mail.ru Group рассказали об изменениях в мобильной версии главной страницы портала, какие задачи он решает и к каким результатам позволил прийти.

Как было раньше


Старая версия мобильной главной в течение нескольких лет полностью решала те задачи, которые от нее ждали. Пользователи легко перемещались между вкладками, без труда находили Почту, Поиск и Новости. Однако появление новых продуктов Mail.ru Group становилось все большим вызовом интегрировать их в текущую версию получалось сложнее, появлялась разрозненность между блоками. Например, строку Поиска или окно входа в Почту стали замечать хуже, падала глубина скролла страницы, а пользователи уходили с середины новостной ленты.


Старая мобильная версия главной страницы Mail.ru

Кроме того, из-за редизайна бренда Mail.ru Почта и Поиск стали заметно отличаться от визуального стиля главной страницы. Стало понятно, что пора полностью обновить главную органично оформить текущие продукты компании, заложить основу для новых сервисов и партнеров.

План выглядел так:

  • Изменить визуальный стиль главной страницы, опираясь на новую дизайн систему Mail.ru;
  • Сделать доступ ко всем сервисам удобным и быстрым;
  • Добавить навигации по странице развлекательный характер за счет индивидуальных рекомендаций материалов и способов их оформления;
  • Сохранить видимость всех продуктов и учесть интересы тех, на которые пользователи чаще всего переходят с главной страницы Почты,Поиска и Новостей;
  • Адаптировать изменения под устройства с маленькими экранами, чтобы каждому пользователю было комфортно.

С чего начали


Сильные изменения в UX любого продукта могут привести к трудностям у пользователей. Чтобы адаптация к новому дизайну проходила менее болезненно, главную мы решили обновлять поэтапно.

Для начала мы решили направлять внимание пользователя на важные элементы только визуальными инструментами.


Первые UI варианты страницы

На первом этапе разработали три варианта главной страницы. Видна одинаковая последовательность блоков: Почта вверху, Поиск посередине, затем реклама и Новости. Мы убрали из первого экрана все неприоритетные элементы, чтобы сфокусировать внимание пользователя на ключевых продуктах и не отвлекать от Почты и Поиска. В этих вариантах глобально мы изменили только UI, частично применили нашу новую дизайн систему, а именно: закруглили блоки и кнопки, добавили тень и сделали виджеты погоды и котировок, но оставили много акцентного цвета.

Затем мы поработали над остальными продуктами за скроллом. Каждый блок и продукт обрел свой дизайн, который помогал выполнять их функции.


Новая лента

Например, для Кино Mail.ru сделали темную подложку так мультимедийный контент удобнее воспринимать. Для игр добавили большие карточки с обложкой, на которых заметны обновления. Телепрограмме добавили удобное переключение между каналами, чтобы пользователю было проще найти передачи, которые его интересуют. Еще мы недавно внедрили Пульс персональную ленту рекомендаций. На новой главной мы немного изменили ее стиль, добавили темный фон, что увеличило кликабельность.

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

Изменение UX страницы


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


Варианты главной страницы для UX исследований

Для тестирования в UX-лаборатории мы собрали несколько макетов с разным расположением блоков, чтобы определить, какое из сочетаний будет лучше восприниматься пользователями. В них мы изменили структуру, а именно:

  • Поиск разместили сверху, так как он означает начало изучения страницы, и такое расположение в целом более привычное для пользователя;
  • Почту расположили под Поиском в виде виджета, чтобы человек не тянулся постоянно наверх. В дальнейшем мы будем выводить не только виджет Почты, но и календарь, Облако и социальные сети. Так пользователь сможет быстро и удобно переключаться между задачами и продуктами. Ниже расположили основную информацию на день: погоду, котировки и новости;
  • В процессе работы Погоду и котировки мы меняли местами с виджетом Почты. По итогам тестирования выбрали вариант, когда погода была ниже и не разделяла Поиск и Почту. Поменяли расположение рекламы;
  • Убрали акцентный цвет и сделали страницу максимально чистой.

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

Новости остались на том же месте, но мы немного поработали над самим блоком: изменили количество новостей (необходимость этого также показали тесты), добавили отступы между материалами и увеличили размер шрифта. В ленту добавили Пульс, сделав ее бесконечной, поэтому футер перенесли в бургер меню вверху слева так мы получили место для других проектов Mail.ru Group без потерь для дизайна и пользователя.

Изначально мы решили, что реклама будет наверху, отдельно от остальных блоков нам казалось, что так удобнее. Но участники тестирования воспринимали всю страницу как рекламную, поэтому поместили ее ниже.

Для дальнейшей разработки дизайна был выбран вариант с лучшим результатом после тестирования в лаборатории, где:

  • Наверху расположен навигационный блок с меню, геолокацией и профилем;
  • Поиск выше Почты, а Погода рядом с Новостями;
  • Меньше акцентного цвета (синими остались только логотип и Поиск).

Финальные штрихи


Мы определились со структурой, теперь осталось не менее важное визуальная часть.

У нас было несколько вариантов с разными формами и деталями. В итоге страница стала чистой: белого цвета с грамотно забрендированными ключевыми блоками. Фирменный цвет органично выделял Поиск, Почту и Новости. Строку Поиска сделали закругленной, чтобы она сильнее выделялась и не сливалась с виджетами ниже. Погоду и котировки разделили горизонтальные блоки более адаптивны и позволяют добавлять новые элементы.


Добавление виджетов

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


Сравнение старого и нового дизайна мобильной версии главной страницы Mail.ru

Как новая главная живет и процветает


Мы всегда раскатываем обновление постепенно, чтобы не сломать привычные сценарии пользователей. Пользователи положительно воспринимали новый дизайн, что подтвердил рост конверсии и переходов, говорит Вячеслав Яшков.



В результате мы заметили такие изменения:

  • +12% к переходам на медиапроекты, включая погоду и ковид;
  • +4% к переходам в Поиск;
  • +5% к переходам в Почту.

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

Состав творческой группы:

  • Алена Китабова менеджер продукта.
  • Вячеслав Яшков руководитель команды дизайна Search & AI.
  • Елена Джуга дизайнер Search & AI.
  • Игорь Фролов руководитель группы frontend-разработки главной страницы и портальной навигации.
  • Владимир Францкевич программист группы frontend-разработки главной.
  • Денис Стасьев младший программист группы frontend-разработки главной.
  • Александр Буки программист группы frontend-разработки главной.
  • Анастасия Краснова ведущий инженер по тестированию.
Подробнее..

Как разговорить Марусю FAQ по созданию скиллов для голосового ассистента

18.12.2020 10:08:54 | Автор: admin


Голосовые помощники как технология возникли благодаря развитию целого созвездия других технологий. И одним из таких голосовых помощников стала Маруся, относительно недавно созданная в Mail.ru Group. В её основе лежат последние разработки компании в области распознавания речи, машинного обучения и быстрой обработки крупных массивов данных. Маруся это диалоговая платформа. Она способна взаимодействовать с человеком не только звуком, но и посредством изображений или текста. Есть много ситуаций, в которых она ответит не голосом, а изображением, текстом или ссылкой.

Маруся дебютировала еще в прошлом году, а первое устройство с этим ассистентом появилось в апреле 2020. Компания развивает его, делает умнее и наполняет библиотеку скиллов. В частности, ассистент стал лучше понимать пользователя, улучшился TTS. Кроме того, Маруся научилась управлять умным домом. В июне 2020 года Mail.ru Group открыла возможность создавать свои собственные скиллы. С тех пор протокол сильно прокачался и возможности ассистента намного выросли, а для разработчиков появился отладчик, где можно протестировать созданные скиллы.

Содержание:

  1. Как работает Маруся.
  2. Как сделать скилл полезным.
  3. Как создать скилл для Маруси.
  4. Как перенести скилл из других ассистентов.
  5. Как устроена среда отладки скиллов.
  6. Как добавить скилл через ВКонтакте.
  7. Как осуществляется модерация скиллов.
  8. Как добавлять изображения в Марусю.
  9. Как добавлять звуки в Марусю.


1. Как работает Маруся


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

На сегодняшний день Марусю поддерживают:


Платформа не ограничивает вас тем набором скиллов, который заложен разработчиками. Вы можете создавать их самостоятельно.

2. Как сделать скилл полезным


Прежде чем начать создавать скилл, постарайтесь абстрагироваться от всех инструментов и процессов. Представьте, что пользователь разговаривает не с устройством, а просит выполнить свою задачу какого-нибудь специалиста. Задумайтесь: Если бы вместо моего скилла был человек, идеально выполняющий эту задачу, как бы он общался с заказчиком? Распишите по шагам, как будет проходить этот диалог, какой информацией будут обмениваться заказчик и исполнитель. Учитывайте, что диалог и сценарий использования может отличаться для Маруси в умной колонке и в приложении. В приложении вы можете часть информации вынести в визуальный интерфейс, а в умной колонке доступно только голосовое управление.

При общении с Марусей пользователь может говорить что угодно, и нужно предусмотреть пограничные ситуации, чтобы он не зашёл в тупик. Для этого проверьте свой скилл по чеклисту TRINDI (на русском).

После оттачивания сценария нужно продумать интерфейс. Для проверки его удобства рекомендуем второй важный чек-лист usability-эвристики Нильсена (на русском). По нему проверьте ключевой сценарий и все подзадачи и ответвления. Чек-лист покажет, доносите ли вы всеми необходимыми способами пользователю сигналы о том, что скилл сработал и как он сработал. А заодно поможет правильно обработать ошибки: не просто выдав уведомление, а с пояснением, что делать дальше.

А еще мы советуем использовать длинное тире () в диалогах с пользователем, а в качестве кавычек использовать только начертание, принятое в русской типографике ёлочки. И не забывайте, что Маруся обращается на вы в независимости от возраста пользователя.

3. Как создать скилл для Маруси


  1. С помощью конструктора голосовых приложений Aimylogic. Он позволяет создать любой скилл, получить для него вебхук (webhook). При этом все разработчики, которые создают скиллы для Маруси с помощью Aimylogic, могут хостить эти скиллы бесплатно. Для этого есть специальный тариф Skillmaster.

  1. Разработать самостоятельно. Для этого придётся изучить подробную документацию по созданию скиллов для Маруси.
  2. Заказать разработку скиллов у сторонних разработчиков.

4. Как перенести скилл из других ассистентов


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


На что стоит обратить внимание при переносе скилла:

  1. Проверить скилл на упоминания брендов и компаний.
  2. Убрать стороннюю монетизацию, ссылки на другие каталоги и прочие специфичные настройки.
  3. Проверить разметку голосового синтеза. Подробная инструкция по ссылке.
  4. Проверить хостинг картинок. Возможно, в переносимом скилле изображения подгружаются из облачного хранилища. Для работы с изображениями необходимо их загрузить в интерфейсе ВКонтакте.
  5. При желании можно конвертировать аудио, используя библиотеку звуков Маруси.

5. Как устроена среда отладки скиллов


Нам важно, чтобы разработчики могли быстро проверять свои идеи, легко отлаживать и тестировать скиллы на нашей платформе. Для этого мы создали среду для тестирования скиллов.

Она позволяет не публикуя скилл опробовать его на любом клиенте Маруси. Для начала работы достаточно указать среде Webhook URL разрабатываемого скилла. При этом нет необходимости выкладывать его в сеть разработчик может подключить к тестовой среде скилл, развёрнутый на своём компьютере, указав локальный адрес, например:

http://localhost:3000/webhook

Подключенный к среде скилл можно тестировать в любом клиенте Маруси: на колонке Капсула, в мобильном приложении, во ВКонтакте или во встроенном в среду эмуляторе. Разработчик может переопределять некоторые параметры клиента, передаваемые в скилл: временную зону, геолокацию, язык интерфейса, признак наличия дисплея это удобно для тестирования сценариев работы скилла.

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

6. Как добавить скилл через ВКонтакте


Сам скилл можно создать в разделе для разработчиков ВКонтакте. Чтобы добавить готовый скилл:

  1. В типах приложения выберите Скилл Маруси.
  2. Добавьте название, которое будет совпадать с командой для активации скилла.
  3. Введите в поле Webhook URL адрес сервера, по которому будет размещен скилл, например https://example.com/test-webhook.
  4. Подтвердите действие.

Вы попадёте в интерфейс администрирования.

Обратите внимание: имя является первой фразой-триггером для вызова скилла. Фразы должны быть специфичны и уникальны, чтобы мы могли использовать их для внешних скиллов. Например, фразу Расскажи анекдот добавить не сможем, т.к. она уже используется во внутренних скиллах Маруси. А вот Давай сделаем кодревью пока можно использовать. Длина фразы активации не может превышать 64 символа.

7. Как осуществляется модерация скиллов


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

Каких правил нужно придерживаться, чтобы ваш скилл для Маруси был успешно допущен к использованию:

  • картинки должны соответствовать теме скилла и законам РФ, а также не нарушать авторских прав;
  • описание скилла должно быть простым, кратким и ёмким;
  • категория должна соответствовать тематике скилла;
  • скилл должен быть полезен и не носить рекламного характера;
  • название скилла и активирующей его фразы не должно содержать известные торговые марки (исключение: если скилл представлен владельцем этой марки);
  • скилл не должен давать доступ к контенту, защищенному авторским правом, если права на контент не принадлежат разработчику скилла.

Если ваш скилл удовлетворяет этим условиям, то всего за один день он будет промодерирован и опубликован.

8. Как добавлять изображения в Марусю


Маруся позволяет в ответе из внешнего скилла вставлять картинки. Для использования своего изображения необходимо загрузить с помощью формы загрузки изображений на странице редактирования информации о скилле на платформе загрузки скиллов ВКонтакте. После того, как изображение будет успешно загружено, оно отобразится рядом с формой загрузки вместе со своим идентификатором. Идентификатор изображения необходимо указывать в ответе внешнего скилла в поле image_id. Выглядеть такой ответ будет следующим образом:

{  "response":{    "text":"Сейчас очередь в столовой 5 человек.",    "tts":"Сейчас очередь в столовой пять человек.",    "card":{      "type":"BigImage",      "image_id":239017,      "title": "Заголовок для изображения",      "description": "Описание изображения"    },    "buttons":[      {        "title":"Надпись на кнопке",        "payload":{},        "url":"https://example.com/"      }    ],    "end_session":true  },  "session":{    "session_id":"574d41e0-a41e-4028-a73a-6f5b5",    "message_id":0,    "user_id":"3eae3c2f69b9f04e8cb15e157c4a9e05"  },  "version":"1.0"}

9. Как добавлять звуки в Марусю


Произносимый Марусей текст можно разнообразить звуковыми эффектами, которые входят в библиотеку звуков Маруси. Для этого в поле tts (текст, предназначенный для перевода в речь) ответа внешнего скилла нужно вставить самозакрывающийся тег speaker, в котором необходимо указать атрибут audio. Выглядит это так:

tts = Поздравляю! <speaker audio=marusia-sounds/game-win-1 /> Вы правильно ответили на все мои вопросы!

В произносимую речь можно вставлять и собственные звуки. Для этого нужно создать скилл на платформе ВКонтакте, а затем на странице редактирования скилла загрузить свои аудиофайлы. Они будут доступны только для использования в вашем внешнем скилле. После того как звуки станут доступны, их можно вставить в речь с помощью тега speaker с указанием атрибута audio_vk_id. Значением атрибута будет идентификатор загруженного вами звука. Выглядит это так:

tts = Угадайте, чей это голос? <speaker audio_vk_id=-2000000002_123456789 />

Платформа скиллов Маруси будет и дальше развиваться. Мы будем радовать разработчиков новыми фичами и развивать инструменты, чтобы создавать скиллы для Маруси было еще легче и интереснее. Следите за новостями и присоединяйтесь к нашему сообществу в Telegram!
Подробнее..

IT-валентинка 53 способа признаться в любви

12.02.2021 14:21:36 | Автор: admin

Однажды на Zoom-созвоне нашей команды нить дискуссии ушла за пределы планируемого. На удаленке такое часто случается, потому что всем не хватает обычного кухонного общения в офисе. Разговор начался с итальянской книги, где на всех языках мира написано Я тебя люблю. Потом были возражения, что языки программирования тоже языки, почему их там нет??? Затем мы вспомнили, что не за горами День всех влюбленных. Так мы придумали, как сделать ремейк этой книги на свой лад, а заодно вспомнить про свежий рейтинг языков программирования от IEEE.

Книгу мы выпустили небольшим тиражом, а в этом посте публикуем ее содержание: признания в любви на 53 самых популярных языках программирования. А в качестве бонуса предлагаем краткое описание каждого из них.


1. Python. Объектно-ориентированный и интерпретируемый язык, который в значительной степени опирается на большое количество библиотек, включая популярные модули для машинного обучения и научных вычислений.

print('I love you!')

2. Java. Объектно-ориентированный язык, создающий код, предназначенный для запуска в виртуальной машине. Это позволяет запускать его на разных платформах с незначительными изменениями. Java популярный выбор разработчиков веб-приложений.

public class ILoveYou{    public static void main(String[] args)    {        System.out.println("I love you!");    }}

3. C. Используется для написания программ, в которых важны скорость и гибкость. Например, во встраиваемых системах или высокопроизводительных вычислениях.

#include <stdio.h> int main(void){    printf("I love you!\n");    return 0;}

4. C++. Объектно-ориентированная версия C, которая оказалась логичным продолжением для программного обеспечения, управляемого графическими пользовательскими интерфейсами.

#include <iostream> int main(){    std::cout << "I love you!" << std::endl;    return 0;}

5. JavaScript. Язык сценариев, используемый в основном для добавления функциональности веб-браузерам на лету, позволяет создавать сложные веб-страницы.

document.write("I love you!");

6. R. Язык и среда программирования, предназначенные для приложений статистического анализа и интеллектуального анализа данных.

print("I love you!")


7. Arduino. Основанный на языке Wiring и среде разработки на языке Processing, родной язык микроконтроллера Arduino стал основой для огромного количества самодельных и прототипных устройств.

void setup() {Serial.begin(9600);Serial.println("I love you!");} void loop() {}

8. Go. Созданный Google, Go имеет встроенную поддержку программ, которым необходимо обмениваться информацией при одновременной работе на разных ядрах или компьютерах.

package main; import "fmt" func main(){    fmt.Println("I love you!")}

9. Swift. Язык Apple для создания программного обеспечения iOS и macOS. Совместим с кодом C, C++ и Objective-C.

print('I love you!')

10. MATLAB. Язык сценариев для вычислительной среды MATLAB от MathWorks. Предназначен для задач численных вычислений, таких как инженерное или научное моделирование.

disp('I love you!')

11. Ruby. Язык сценариев, разработанный для обеспечения большей поддержки объектов, чем в других подобных языках.

puts "I love you!"

12. Dart. Разработанный Google, Dart может быть скомпилирован для архитектур ARM и x86 для мобильных устройств или перенесен на JavaScript для браузерных приложений. Фреймворк Flutter, созданный на основе Dart, предназначен для создания собственных книг для iOS и Android.

void main() {  print('I love you!');}

13. SQL. Специализированный язык, предназначенный для запросов к базам данных и управления ими. Существуют расширения для написания общих программ, позволяющих, например, запускать бизнес-логику вместе с базой данных.

CREATE TABLE iloveyou (phrase TEXT);INSERT INTO iloveyou VALUES ("I love you!");SELECT COUNT(*) FROM iloveyou;

14. PHP. Язык сценариев, разработанный в первую очередь для поддержки динамических веб-сайтов.

<?phpecho "I love you!";?>

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

    global  _main    extern  _printf     section .text_main:    push    message    call    _printf    add     esp, 4    retmessage:    db  'I love you!', 10, 0

16. Scala. Программы, написанные на Scala, могут работать на той же виртуальной машине, что и программы Java.

object Love {    def main(args: Array[String]) = {        println("I love you!")    }}

17. HTML. Специализированный язык для описания внешнего вида и содержания веб-страниц, часто расширяемый с помощью CSS.

<!DOCTYPE html><html>    <head>        <title>Love</title>    </head>    <body>        <p>I love you!</p>    </body></html>

18. Kotlin. Как расширение Java код Kotlin может работать на виртуальной машине Java или быть скомпилирован в JavaScript либо собственное Android-приложение.

fun main(args: Array<String>) {    println("I love you!")}


19. Julia. Язык разработан для статистических и научных вычислений, совместим с устаревшими библиотеками, написанными на Fortran и C.

println("I love you!")

20. Rust. Язык, разработанный для упрощения надежного программирования параллельных систем.

fn main() {    println!("I love you!");}

21. Shell. Общий термин для обозначения ряда фреймворков, которые позволяют создавать сценарии для командной строки операционной системы.

#!/bin/sh echo I love you!

22. Processing. Этот язык был создан в Массачусетском технологическом институте, чтобы облегчить художникам, дизайнерам и любителям создание визуализаций. Тесно связанная с ним JavaScript-библиотека под названием p5.js позволяет создавать браузерные приложения.

PFont font; void setup() {  size(200,200);  font = loadFont("CharterBT-Roman-48.vlw");} void draw() {  background(255);  textFont(font,20);  fill(0);  text("I love you!",10,100);}

23. C#. Объектно-ориентированный язык, созданный Microsoft для разработки программного обеспечения для платформы .NET. Поддерживает множество приложений для Windows и Azure.

using System; class ILoveYou{    static void Main()    {      Console.Write("I love you!");    }}

24. SAS. Язык анализа данных и статистического анализа.

data foo ;    bar="I love" ;    put bar= "you!";run ;

25. Fortran. Созданный в 1950-х годах, Fortran предназначен для высокопроизводительных научных и инженерных вычислений.

      program iloveyou          print *, "I love you!"       end program

26. CUDA. Платформа и набор инструментов от производителя графических чипов NVIDIA, которые позволяют программистам использовать возможности графических процессоров для вычислений общего назначения.

__global__ void cuda_love(){    printf("I love you!\n");} int main() {    cuda_love<<<1,1>>>();     return 0;}



27. Visual Basic. Microsoft создала Visual Basic для быстрой разработки Windows-приложений, но больше не поддерживает его. Потомок Visual Basic .NET, который все еще поддерживается, работает с более современной платформой .NET.

Imports System Module Love    Sub Main()        Console.WriteLine("I love you!")        Console.ReadLine()    End Sub End Module

28. Objective-C. Был любимым языком Apple для написания приложений для OS X и iOS до появления Swift.

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {    @autoreleasepool {        NSLog(@"I love you!");    }    return 0;}

29. Delphi. Производная Pascal, используемая для приложений Windows. Принадлежит компании Embarcadero Delphi. Реализации с открытым исходным кодом под Open Pascal существуют для других платформ.

program ILoveYou; {$APPTYPE CONSOLE} begin  WriteLn('I love you!');end.

30. Perl. Когда-то единый язык часто использовался в качестве связующего звена в сложных системах. Теперь же Perl относится к двум тесно связанным, но разным языкам: Perl 5 и обновленному Perl 6.

print('I love you!')

31. Verilog. Язык описания оборудования (определенный стандартом IEEE 1364), который используется при создании и анализе электронных схем. Составляет основу более позднего и расширенного SystemVerilog (IEEE 1800).

module love_you ; initial begin  $display ("I love you!");   #10  $finish;end endmodule

32. VHDL. Язык описания оборудования, используемый при создании и анализе электронных схем.

entity T01_ILoveYou isend entity; architecture sim of ILoveYou isbegin     process is    begin         report "I love you!";        wait;     end process; end architecture;

33. Elixir. Расширение языка программирования Erlang, Elixir предназначен для крупномасштабного программного обеспечения, такого как веб-сайты с высокой посещаемостью, или обработки больших объемов данных.

Erlang/OTP 21.0 [64-bit] [smp:2:2] [...] Interactive Elixir (1.11.3) - press Ctrl+C to exitiex(1)> "I " <> "love " <> "you!""I love you!"

34. F#. Разработанный Microsoft, F# нацелен на программную среду .NET, наиболее часто встречающуюся в Windows. Он в основном построен на функциях, но также поддерживает объектно-ориентированное программирование.

[<EntryPoint>]let main argv =     printfn "I love you!"    0


35. Prolog. Этот язык, зародившийся в сообществе разработчиков искусственного интеллекта, в основном используется как инструмент обучения и исследований.

$ swipl<...banner...>?- write('I love you!'), nl.

36. Lua. Этот язык сценариев часто используется, чтобы сделать другие приложения программируемыми, особенно в областях анимации и игр.

print("I love you!")

37. Lisp. Созданный в 1950-х годах, Lisp стал широко использоваться исследователями искусственного интеллекта, но в последние годы его популярность уменьшилась. Однако разновидности Lisp, такие как Clojure и Scheme (перечисленные отдельно), могут похвастаться активными сообществами.

CL-USER> (defun love ()           (format t "I love you!~%"))LOVECL-USER> (love)I love you!NILCL-USER>

38. Ada. Изначально разработанный для Министерства обороны США язык используется для приложений, в которых надежность имеет решающее значение, таких как, например, системы управления аэрокосмическими комплексами.

with Ada.Text_IO;    procedure sayLove is   begin      Ada.Text_IO.put("I love you!");    -- Output some text!   end sayLove;

39. Apache Groovy. Объектно-ориентированный язык программирования, работающий на платформе Java. На Groovy написан известный фреймворк для создания веб-приложений Grails.

public class Love {    public static void main(String args[]) {        System.out.println("I love you!");    }}

40. Scheme. Изначально задуманный как язык для учебных целей, теперь Scheme представляет собой семейство вариаций Lisp, которые используются в таких приложениях, как, например, App Inventor для Android. Это позволяет быстро разрабатывать мобильные сервисы.

(begin  (display "I love you!")  (newline))

41. Haskell. Язык, построенный на принципах чистого функционального программирования, разработан для приложений, в которых важна надежность.

main :: IO ()main = putStrLn "I love you!"

42. COBOL. ПО COBOL, созданное в конце 1950-х годов для деловых и финансовых приложений, до сих пор управляет критически важными системами во многих крупных организациях.

PROCEDURE DIVISION.    DISPLAY 'I love you!'.    STOP RUN.

43. Clojure. Диалект Lisp, совместимый с той же виртуальной машиной, которая поддерживает программы Java.

(ns helloworld.core) (defn -main  "I can say 'I love you!'."  []  (println "I love you!"))

44. ABAP. ABAP (Advanced Business Application Programming) это язык программирования для бизнес-сервисов, созданный SAP.

REPORT  ILOVEYOU.  WRITE 'I love you!'.

45. D. Созданный как преемник C++, D имеет встроенный ассемблер для использования архитектурно зависимого оборудования.

import std.stdio; void main(){    writeln("I love you!");}

46. Forth. Изначально разработанный для управления радиотелескопами, этот язык программирования до сих пор используется для таких приложений, как загрузчики и прошивки.

: LOVE  ( -- )  CR ." I love you!" ;

47. OCaml. Объектно-ориентированный язык с упором на надежность программного обеспечения.

print_string "I love you!\n";;

48. Tcl. Интерпретируемый язык, предназначенный для быстрого создания прототипов и поддержки графического пользовательского интерфейса Tk, используемого в основном системами Unix.

#! /usr/local/bin/wish8.5button .love -text "I love you!" -command { exit }pack .love


49. Erlang. Выпуск Erlang как языка с открытым исходным кодом, созданного Ericsson для встраиваемых приложений телефонии, в 1998 году увеличил его популярность среди программистов, разрабатывающих сервисы, которые должны обрабатывать множество задач одновременно.

    -module(love).    -export([love_you/0]).     love_you() -> io:fwrite("I love you!\n").

50. Eiffel. Объектно-ориентированный язык, оказавший влияние на несколько других распространенных языков. Важный принцип заключается в том, что как можно больше работы по оптимизации кода следует доверить компилятору, а программист при этом сосредоточится на фундаментальной логике и удобочитаемости кода.

   on_paint (paint_dc: WEL_PAINT_DC; invalid_rect: WEL_RECT)        do            paint_dc.draw_centered_text("I love you!", client_rect)           end

51. CoffeeScript. Разработан для упрощения написания кода на JavaScript за счет реализации синтаксических соглашений из других языков.

console.log("I love you!")

52. J. В основном используемый для аналитики и математического программирования, код, написанный на J, часто бывает очень кратким.

#!/bin/jcecho 'I love you!'exit ''

53. Racket. Являясь вариацией Lisp, этот язык упрощает создание ваших собственных предметно-ориентированных языков.

> "I love you!"
Подробнее..

Долголетие технологии и рынок. Будущее, которое мы заслужили, эпизод 1

12.05.2021 12:08:48 | Автор: admin


На днях мы запустили новый подкаст Будущее, которое мы заслужили. Первый выпуск посвятили технологиям долголетия. И для тех, кому удобнее читать, а не слушать, мы подготовили рассказ по мотивам беседы наших гостей: Максима Холина и Петра Федичева, сооснователей компании Gero, разрабатывающей лекарства для системной борьбы со старением с помощью искусственного интеллекта.

Для чего замедлять старение?


Пётр Федичев закончил Физтех и продолжил научные исследования в Голландии и Австрии в области теоретической физики. С 2004 года перешел в биотехнологические проекты. Вскоре Петру и его коллегам стало очевидно, что проблема современной медицины не в том, что фарминдустрия не может подобрать лекарственную молекулу против конкретной биологической мишени. А в том, что биологи и врачи зачастую просто не знают, против каких белков, генов и мишеней нужно сделать лекарство, чтобы вылечить какую-либо болезнь. Размышляя о том, как решить эту проблему с помощью своих знаний и опыта, учёные пришли к выводу, что единственная болезнь, которую сегодня можно решить с точки зрения физики и математики это старение.

Исследователи разработали алгоритмы анализа больших биомедицинских данных для эффективного поиска маркеров и регуляторов старения. Предложены практические инструменты, использующие количественные модели старения и сочетающие в себе применения искусственного интеллекта и подходы физики, заимствованные из физики сложных динамических систем. Новые гипотезы проверяются лабораторно на животных в ведущих зарубежных лабораториях, а результаты исследований публикуются в ключевых научых журналах. Исследователям уже удалось омолодить мышей при помощи экспериментальной терапии против мишени, предсказанной ИИ. Средства на это 2,2 млн долларов привлекла российско-сингапурская компания Gero, которая специализируется на разработках способов замедления старения с помощью ИИ.

Идея разрабатывать препарат именно против старения, а не какой-то болезни, довольно необычна для фармацевтической и медицинской промышленности. Обычно вам сначала нужно заболеть, чтобы вас начали лечить. А от старения нужно начинать лечить до того, как вы заболели. Привлекать деньги под такие проекты до недавнего времени было тяжело, но сейчас находить инвесторов стало проще. Население во многих странах стареет. Например, через несколько лет в Китае будет 250 млн человек старше 60. Очевидно, что их трудоспособность будет ограничена, они будут страдать от целого букета возрастных заболеваний. А из-за того, что в Китае раньше был разрешён только один ребёнок на семью, сейчас это ограничение уже снято, ситуация со старением населения начнёт улучшаться только лет через 20. В развитых странах похожие проблемы: если количество стариков будет увеличиваться в том же темпе, что и сегодня, да ещё на фоне постоянного снижения населения, то нагрузка на пенсионную и медицинскую систему скоро станет непомерной.

Главная причина снижения продуктивности труда с возрастом снижение нейропластичности, то есть способности учиться и переучиваться. А это сегодня требуется всё чаще.Поэтому с определённого возраста люди становятся неликвидными на рынке труда, их никто не хочет нанимать. Нужно помочь им как можно дольше сохранять свои физические и когнитивные способности на пике формы, это даст огромный экономический эффект. Эта проблема стоит десятки триллионов долларов. И для её решения фактически создается отрасль, задача которой попробовать затормозить старение и помочь людям сохранить свою продуктивность, зарабатывать хотя бы на себя в течение максимально долгого времени. Поколение бэби-бумеров, которое сейчас начинает массово умирать, это самое богатое поколение в истории цивилизации. Эти люди контролируют и управляют десятками триллионов долларов. Поэтому создатели технологических решений, которые способны как-то увеличить качество жизни бэби-бумеров, получат самую благодарную аудиторию и смогут заработать огромные деньги.

Голые землекопы


Сегодня в технологии замедления старения активно инвестируют многие компании, в том числе технологические гиганты. Google создал компанию Calico, которая провела эксперименты с 6000 голых землекопов это маленькие роющие грызуны, живущие под землёй. Они размером чуть больше мыши, но если мыши живут 1,5 года, то голые землекопы около 30, и на протяжении всей жизни у них не наблюдается видимых возрастных изменений. Это животные с развитой формой социального устройства. У них интересная реакция на стресс: если он очень сильный, то землекопы выбирают одного из них и убивают, чтобы расслабиться. Ведь должен же кто-то ответить за безобразие. Во многом похоже на реакцию на страх в человеческом обществе.

Ученых Gero вдохновляют примеры голого землекопа и других нестареющих животных (обладающих так называемым пренебрежимым старением). Отсутствие видимых признаков старения у значительного (и постоянно растущего) числа видов заставляет думать о том, что старение не закон природы, природа уже сделала многих животных нестареющими. Еще интереснее то, что выключение старения произошло у разных животных разными способами, что дает надежду и нам, людям.

У человека риск смерти удваивается каждые 8 лет начиная примерно с 40 лет. Если бы наше здоровье можно было сохранить на уровне 30-40 лет, то ожидаемая продолжительность жизни была бы 300-500 лет.Если вам сейчас 30 лет, то вы проживете, скорее всего, ещё 40. Если вам 70 лет, то вы проживете, вероятно, ещё 10, если вам 80 лет, то впереди у вас считанные годы. То есть ожидаемая продолжительность жизни постоянно сокращается. А у землекопа в любом возрасте по состоянию его организма впереди 30 лет жизни. Он не стареет, то есть его организм не испытывает никакого функционального ухудшения своего состояния.

Кровь молодых и мёртвых


Если соединить кровеносную систему молодой и старой мыши, то старая молодеет, а молодая стареет. То есть в крови старых животных есть что-то молекулы или клетки, запрещающее стволовым клеткам участвовать в регенерации повреждений. Например, если отправить на беговую дорожку молодых мышей со стволовыми клетками из старых мышей, то на следующий день они нарастят мускулы из этих самых стволовых клеток. Старые мыши не могут набрать мышечную массу вовсе не потому, что их стволовые клетки как-то повреждены или не функциональны. Эксперименты показывают, что в окружении стволовых клеток (скорее всего в крови) присутствуют факторы старения молекулярные сигналы, подавляющие скорее желание чем способность стволовых клеток к регенерации.

Англия страна запасливая. Там есть и банк замороженной крови уже умерших доноров, которые сдавали кровь несколько раз в течение 15 лет. Учёные из Gero исследовали содержание более 1000 белков в каждом образце крови и с помощью машинного обучения выявили те белки, которые оказались причиной старения доноров. Эти белки ученые с помощью антител заблокировали у мышей, и впервые в мире после одной инъекции получили эффект системного омоложения. В результате экспериментов с очень старыми животными удалось добиться задержки смертности, а также улучшения состояния животного, определяемого при помощи функциональных, молекулярных и клеточных признаков старения. Специалисты надеются, что лекарства, разработанные против предложенной мишени могут стать сильным средством против старения у человека.

Анализ данных


Огромную роль в поиске средств замедления старения играют накопленные статистические массивы данных о здоровье и образе жизни населения так называемые биобанки. Скажем, в рамках одного из английских проектов уже почти 15 лет собирается информация о показателях здоровья 500 тыс. граждан, результаты анализов крови, диета, образование, всевозможные диагнозы, даты смерти родителей, генетические исследования (с этого года начали делать исследование нового поколения полное секвенирование экзома) и многое другое. За время наблюдения значительное количество участников умерло от разных болезней. Располагая таким набором исследователи могут выяснить, какие факторы, в том числе и генетические, определяют вероятность возникновения заболеваний и выживания заболевших. Это даёт отправные точки для разработки новых лекарств.

Оценку биологического возраста, т.е. риска смертности от всех причин, можно оценить даже по спонтанной двигательной активности пользователя смартфона или другого носимого устройства. В 2021 году компания Gero сделала бесплатное мобильное приложение GeroSense, которое может скачать и использовать любой человек, а также выпустило API для индустрии велнеса, здорового питания, страховых и любых других игроков, заинтересованных в мониторинге изменений здоровья пользователя в ответ на изменения образа жизни или медицинских интервенций. С появлением подобных технологий, индустрия ЗОЖ должна трансформироваться и предложить людям продукты с доказанной эффективностью, включая средства персонализации рекомендаций по улучшению его здоровья и продаваемых ему продуктов и услуг.

Сейчас для того чтобы что-то продавать в велнесе закон не требует клинических испытаний, подтверждающих положительное влияние на здоровье потребителя, а сами клинические испытания дороги и во многих случаях экономически не оправданы из-за невозможности защитить патентом продаваемые продукты. Многие ранее модные опции, типа мультивитаминов, оказались совсем не всем и не так полезны, как хотелось бы представить их производителям. Кроме того, все люди разные. Что-то, что поможет одному, причинит вред второму и будет бесполезной покупкой и тратой времени и сил для третьего. В итоге потребитель вынужден полагаться не на объективные данные, а на рекламу, моду и удачу при выборе именно для него. Шансы угадать не велики. GeroSense призван изменить эту ситуацию, дав всем заинтересованным сторонам возможность неинвазивно получить обратную связь о здоровье и полностью изменить рынок.

Любой стресс повышает биологический возраст. При снятии стресса, если человек здоров, маркер биологического возраста через 2-3 месяца возвращается к норме, а сама скорость возврата в норму после пережитого стресса выражаясь по-научному резилиенс является чрезвычайно важным показателем состояния здоровья и биомаркером старения человека

Для того чтобы осмыслить, что такое резилиенс, в наших широтах полезно напомнить о похмелье характерном признаке, т.е. одним из из маркеров старения. В молодом возрасте почти не важно, что и в каком порядке пить. Но к 50 годам люди переходят на качественный алкоголь неспроста пить дешёвку здоровье уже не позволяет.

Вопросы определения биологического возраста представляют далеко не праздный академический интерес. В период мировой пандемии риски смерти в результате осложнений повышаются у всех, но более всего это касается именно пожилых. Достаточно сказать, что риск смерти от КОВИД тоже удваивается каждые 8 лет, т.е. так же быстро как и смертность в результате старения.

Целью биотехнологий против старения является взятие под контроль биологического возраста, чтобы не дать ему расти, а еще лучше снижать. Чтобы в 50 лет чувствовать себя на 30. К слову, разница в продолжительности жизни между людьми разных социальных классов в развитых странах составляет примерно 15 лет.

Возраст и ЗОЖ


Какой возраст является границей, после которой никакой спорт и полезное питание уже не помогут? Условно говоря, до 25 лет человек ведёт здоровый образ жизни, чтобы лучше выглядеть, а после 35 чтобы не получить хроническую болезнь. Многие возмутятся моими словами, но пока у тебя нет хронической болезни, то при отказе от курения твои маркеры функциональные, молекулярные, клеточные через несколько месяцев придут в норму. Об этом хорошо известно страховым компаниям. То же самое касается и спорта: пока им занимаешься, маркеры немного изменятся, как только бросишь они скоро вернутся к прежним значениям. После 35 лет ищите либо хорошего доктора, либо хороший спортзал. Спорт позволяет отсрочить возникновение хронических заболеваний. 10 раз сходить в спортзал, чтобы продлить жизнь на 5 лет, не выйдет. Спортом нужно заниматься постоянно, иначе эффект исчезнет.

В развитых странах, на первое место по смертности вместо болезни сердца, как было раньше, сейчас выходит онкология. К слову, Москва очень похожа по структуре хронических заболеваний и смертности на развитые страны. Возраст первого инвалидизирующего заболевания, от которого качество жизни меняется травматически, перешагнул за 65 лет. И если завтра появится таблетка, которая вылечит все виды рака за один день, то сначала смертность снизится, но продолжительность жизни вырастет всего на 2-3 года. Потому что те, кто сейчас умирают от рака, умрут через несколько лет от другой хронической болезни. Кстати, если при появлении рака есть шансы, выживаемость превысила 50 %, то от деменции лечения нет вообще никакого. Все экспериментальные лекарства провалились при клинических исследованиях. Поэтому, если мы не остановим старение, то вылечив сердечно-сосудистые заболевания и онкологию мы получим эпидемию деменции в районе 70 лет, что приведёт к чудовищным расходам на лечение и уход.

Если вам 70 лет и вы случайно еще здоровы, то правильной стратегией будет участие в любом клиническом исследовании любого препарата от старения. Информация о клинических исследованиях доступна. Если вам 20 лет, то достаточно велика вероятность, что в течение последующих 20 лет будет создано эффективное лекарство от старения. Интересная дилемма возникает у тех людей, которым сейчас около 50 лет. Те интервенции, которые сегодня в стадии клинических исследований, будут доступны, наверное, лет через 5, но сперва их будут применять к очень больным людям. Еще 5 лет уйдёт на то, чтобы врачи освоились с новыми лекарствами, поняли, как их применять, и начали назначать тем, кому сегодня 50 и кто условно здоров. И если вы потеряете здоровье в течение ближайших 10 лет, то вы уже не успеете воспользоваться результатами революции в долголетии. Те, кому сейчас 40, у кого есть 15 лет до возникновения первого хронического заболевания, могут относительно расслабиться.

Приведу пример. У бывшего американского президента Джимми Картера недавно в возрасте 90 лет начался рак кожи, в мозге возникли метастазы. 10-20 лет назад это был бы приговор. Картеру провели экспериментальную терапию, и он полностью излечился. Причём ему ещё повезло, что он заполучил рак в 90, а не в 70-80, как другие. За это время разработали технологии, которые позволили излечить Картера, который, возможно, проживёт ещё лет 10.

Никогда раньше эффект от ЗОЖ не был так силён. Он сам по себе невелик, 5-10 лет жизни, но с учетом того, как быстро развиваются технологии, прирост может вырасти экспоненциально за счет появления новых медицинских технологий. 5 лет на авокадо и сельдерее, и спортзал вместо картошки фри и бара и есть шанс, что ты сохранишь здоровье до появления прорывных технологий долголетия. В этом году опубликованы результаты эксперимента: в результате полуторалетней интервенции применения комбинации экспериментальных препаратов удалось снизить биологический возраст испытуемых на 1,5 года.

Перенаселение и социум


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

В 1970-е прогнозировали, что к 2025 году людей будет гораздо больше, чем в оказалось в действительности. Рост населения замедлился. Вместо взрывного, экспоненциального роста, популяция людей приближается к стабильному уровню. Сегодня считается, что этот уровень будет около 12 млрд человек.

Петр советует обратить внимание на труды нашего великого соотечественника Сергея Капицы (сын Нобелевского лауреата Петра Капицы, популяризатор науки, создатель передачи Очевидное-невероятное). Теоретическая история профессора Капицы нам дорога не только потому, что невероятно технопозитивна. Во-первых (и это самое важное), теория предсказала и объяснила демографический переход и стабилизацию населения планеты 50 лет назад, когда признаки демографических изменений были минимальными, а большинство футурологов опасалось перенаселения и катастроф.

Во-вторых, максимальное возможное количество живущих на планете людей в теории Капицы определяется не количеством доступной пищи или влиянием человеческой массы на климат. Оно ограничено скоростью взросления и передачи знаний следующему поколению людей, то есть вполне себе биологически, социально и даже генетически предопределенными (а значит, и модифицируемыми!) свойствами, в первую очередь продолжительностью жизни. В теории Капицы мировые проблемы в точке демографического перехода, который мы сейчас все переживаем, находят свое решение в области биотехнологии и медицины.

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

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

Учитывая, что после 40 лет нейропластичность снижается, идея про пожизненное обучение это фикция, эйджизм и дискриминация. Но если появятся интервенции, которые позволят зафиксировать нейропластичность, то тогда идея постоянного переобучения для вовлечения в новые производственные процессы станет реальной.

Возможно, технологии долголетия будут применяться не только для того, чтобы нам дольше жилось комфортно, но и для того, чтобы люди могли выживать в каких-нибудь экстремальных условиях вроде освоения Луны, Марса или астероидов. Никто не обещает, что жизнь в будущем станет проще. Возможно, мы будем жить столько же, сколько и сейчас, но вкалывать в 10 раз больше.

Как попасть в отрасль?


Правительства всех стран заинтересованы в решении проблем хронических заболеваний и старения. Например, в Сингапуре с населением около 6 млн человек директор клинического центра с виноватым видом говорил мне: Понимаете, у нас оцифровано пока только 2 млн человек, извините, пожалуйста, но к концу года будут оцифрованы все. Кроме того, продукты на пересечении биотеха, ИТ и медицины позволят создавать огромную добавленную стоимость, что только увеличивает привлекательность этой отрасли как для инвесторов, так и для тех, кто подумывает о смене рода деятельности. Я уверен, что шести-семизначные зарплаты, опционы и доли будущих биотех-компаний доступны специалистам по математике, обработке и анализу данных, машинному обучению. Такие люди нужны всем участникам этого рынка. Если же у вас нет подобного образования, то в качестве первого шага можно пойти в онлайн-школу GeekBrains, которая недавно запустила курс по большим данным в медицине.

Прогноз на будущее


По мнению Петра, в течение 20 лет с вероятностью больше 80 % удастся достигнуть Longevity escape velocity ситуации, когда биотехнологии смогут добавлять людям в среднем больше лет жизни, чем люди будут терять за то же время. К чему это приведет? Ответ на этот вопрос выходит за рамки инженерной дискуссии. Учитывая достижения ИТ, мы можем оказаться в цифровом концлагере, в котором будем жить не 50 лет, а 500. Но хочется надеяться, что жить мы будем не только долго, но и весело.

Интересные ссылки


Подробнее..

Надежный выбор лидера в Tarantool Cartridge

06.08.2020 14:19:11 | Автор: admin


Сегодня я немного расскажу о том, какие есть мысли по поводу фейловера в tarantool/cartridge. Сначала пару слов про то, что такое cartridge: это кусок lua-кода, который работает внутри tarantool и объединяет тарантулы друг с другом в один условный кластер. Это происходит за счет двух вещей:

  • каждый тарантул знает сетевые адреса всех других тарантулов;
  • тарантулы регулярно пингуют друг друга через UDP, чтобы понять кто жив, а кто нет. Тут я намеренно немного упрощаю, алгоритм пинга сложнее чем просто request-response, но это для разбора не сильно принципиально. Если интересно погуглите алгоритм SWIM.

Внутри кластера все обычно разделяется на тарантулы с состоянием (master/replica) и без состояния (router). Тарантулы с состоянием ответственны за хранение данных, а тарантулы без состояния за маршрутизацию запросов.

Вот как это выглядит на картинке:



Клиент делает запросы к любому из активных роутеров, а те перенаправляют запросы на тот из стораджей, который сейчас является активным мастером. На картинке эти пути показаны зелеными и синими стрелочками.

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

Сначала поговорим о том, как узлы узнают адреса друг друга. Для этого у каждого из них на диске лежит yaml-файл с топологией кластера, то есть с информацией о сетевых адресах всех членов, и кто из них кем является (с состоянием или без). Плюс потенциально дополнительной настройки, но пока это тоже оставим в стороне. Конфигурационные файлы содержат настройки всего кластера целиком, и одинаковы для каждого тарантула. Если в них вносятся изменения то вносятся синхронно для всех тарантулов.

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

Сценарий отказ узлов, переключение


В ситуации когда отказывает роутер, все более или менее просто: клиенту достаточно пойти в любой другой активный роутер, и он доставит запрос до нужного стораджа. Но как быть, если упал, например, мастер одного из стораджей?

Прямо сейчас у нас для такого случая реализован наивный алгоритм, который опирается на UDP ping. Если реплика в течение небольшого промежутка времени не видит откликов от мастера на ping, она считает, что мастер упал, и сама становится мастером, переключаясь в read-write режим из read-only. Роутеры действуют точно так же: если они не видят некоторое время отклика на ping от мастера, они переключают трафик на реплику.

Это работает относительно неплохо в простых случаях, кроме ситуации split brain, когда половина узлов оказывается отделено от другой какой-то сетевой проблемой:



В этой ситуации роутеры увидят, что другая половина кластера недоступна, и будут считать свою половину основной, и получится, что в системе одновременно два мастера. Это первый важный кейс, который нужно решить.

Сценарий редактирование конфигурации при сбоях


Еще один важный сценарий это замена вышедшего из строя тарантула в кластере на новый, или добавление в кластер узлов, когда кто-то из реплик или роутеров недоступен.

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

Но когда кто-то недоступен, применять новую конфигурацию нельзя, потому что когда эти узлы снова станут доступны, будет непонятно, кто из них кластера обладает правильной конфигурацией, а кто нет. Еще недоступность узлов друг для друга может означать, что между ними есть split brain. И редактировать конфигурацию просто небезопасно, потому что можно по ошибке ее отредактировать по-разному в разных половинках.

По этим причинам мы сейчас запрещаем редактировать конфигурацию через API, когда кто-то недоступен. Поправить ее можно только на диске, через текстовые файлы (вручную). Тут вы должны хорошо понимать, что вы делаете и быть очень внимательными: автоматика уже ничем не поможет.

Это делает эксплуатацию неудобной, и это второй кейс, который нужно решить.

Сценарий стабильный фейловер


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

Это может как быть, так и не быть проблемой. Мастер перед включением обратно догонит с реплики транзакционные логи, поэтому большого отставания по данным скорее всего не случится. Проблема будет только в том случае, когда есть неполадки в сети, и есть потеря пакетов: тогда скорее всего будет периодическое мигание мастера (flapping).

Решение сильный координатор (etcd/consul/tarantool)


Для того чтобы избежать проблем со split brain, и дать возможность редактировать конфигурацию при частичной недоступности кластера, нам нужен сильный координатор, который устойчив к сегментации сети. Координатор должно быть можно распределить по 3-м датацентрам, чтобы при отказе любого из них сохранять работоспособность.

Сейчас есть 2 популярных координатора, основанных на RAFT, которые для этого используют etcd и consul. Когда в tarantool появится синхронная репликация, его тоже можно будет для этого использовать.



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

Управление конфигурацией с сильным координатором


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

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

Редактирование конфигурации тоже становится проще: это можно сделать через API любого тарантула. Он возьмет блокировку в координаторе, заменит нужные значения в конфигурации, дождется пока все узлы ее применят, и отпустит блокировку. Ну или в крайнем случае можно будет отредактировать конфигурацию в etcd вручную, и она применится ко всему кластеру.

Редактировать конфигурацию можно будет даже если какие-то тарантулы недоступны. Главное, чтобы было доступно большинство узлов координатора.

Фейловер с сильным координатором


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

Алгоритм фейловера меняется вот как:

  1. Один из тарантулов в кластере выигрывает роль главного при помощи механизма блокировок в координаторе.
  2. Если главный тарантул видит через UDP-пинг, что кто-то из мастеров умер, он начинает процесс фейловера.
  3. Дальше он принимает решение о том, кто должен быть новым мастером.
  4. Пишет нового мастера в координатор.
  5. Все тарантулы в кластере получают уведомление об изменении конфигурации в координаторе и меняют свои роли соответственно, переходя в read-only или read-write.
  6. Если главный тарантул падает или оказывается отрезан по сети от других датацентров, он теряет роль главного, и через координатор проходят перевыборы.

С координатором также возможна защита от flapping-а. В координаторе можно фиксировать всю историю переключений, и если в течение последних X минут было переключение мастера на реплику, то обратное переключение делается только явно админом.

Еще один важный момент это так называемый Fencing. Тарантулы, которые оказываются отрезаны от других датацентров (либо подключены к координатору, потерявшему большинство), должны предполагать, что скорее всего оставшаяся часть кластера, к которой потерян доступ, имеет большинство. И значит в течение определенного времени все отрезанные от большинства узлы должны перейти в read-only.

Проблема с недоступностью координатора


Пока мы обсуждали подходы к работе с координатором, мы получили просьбу сделать так, чтобы если координатор падает, но все тарантулы целые, не переводить весь кластер в read only.

Сначала казалось, что сделать это не очень реально, но потом мы вспомнили, что кластер сам следит за доступностью других узлов через UDP-пинги. Это означает, что мы можем ориентироваться на них и не запускать перевыборы мастера внутри репликасета, если через UDP-пинги видно, что весь репликасет жив.

Такой подход поможет меньше беспокоиться о доступности координатора, особенно если нужно его например перезагрузить для обновления.

Планы на реализацию


Сейчас мы собираем обратную связь и приступаем к реализации. Если вам есть что сказать пишите в комментарии или в личку.

План примерно вот такой:

  • Сделать поддержку etcd в tarantool [готово]
  • Фейловер с использованием etcd как координатора, с фиксацией состояния [готово]
  • Фейловер с использованием тарантула как координатора, с фиксацией состояния [готово]
  • Хранение конфигурации в etcd [в процессе]
  • Написание CLI-инструментов для ремонта кластера [в процессе]
  • Хранение конфигурации в тарантуле
  • Управление кластером при недоступности части кластера
  • Fencing
  • Защита от flappingа
  • Фейловер с использованием consul как координатора
  • Хранение конфигурации в consul

В будущем мы почти наверняка будем полностью отказываться от работы кластера без сильного координатора. Скорее всего это совпадет с реализацией синхронной репликации в тарантуле на базе RAFT.

Благодарности


Спасибо разработчикам из Почты Mail.ru и админам за предоставленный фидбэк, критику и тестирование.
Подробнее..

Мобильная разработка индивидуально или в команде?

18.06.2020 18:21:58 | Автор: admin


Привет! Как многим известно, Mail.ru Group ведет образовательные проекты для студентов в 9 вузах: МГТУ им. Баумана, МГУ, МИФИ, МФТИ, СпбПУ, Мосполитех, МАИ, ВГУ и ПГУ. Среди 70 дисциплин есть курсы по мобильной разработке под платформы Android и iOS.

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

Как работает индивидуальный подход?


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

Среди недостатков индивидуального обучения можно выделить отсутствие обмена опытом. Работая в одиночку можно полагаться только на свой опыт, которого определенно меньше, чем у команды из 34 человек. Кроме того, работая в одиночку, нельзя повысить уровень технических навыков для работы в команде. Например, работа с gitом упрощается до add, commit, push. И нет шанса испытать ни реального git flow, ни проблем которых он решает, ни проблем, которые встретятся в реальных проектах.



Как работает командный подход?


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

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

Другой плюс командной разработки устойчивость к нештатным ситуациям.

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

Еще один плюс такого подхода, не лежащий на поверхности, заключается в том, что студенты учатся отстаивать свои решения. Если студент предложил своей команде использовать в проекте какую-то библиотеку он должен убедить в ее необходимости, объяснить выбор. Аналогично с выбором архитектуры, базы данных, подходов верстки и так далее. Как показывает практика, в начале карьеры разработчику сильно проще научиться работать в команде, договариваться с коллегами и эффективно вести коммуникации, чем после нескольких лет одинокого фриланса.

При этом у командного подхода тоже можно выделить некоторые минусы.

При командном подходе тратится дополнительное время на синхронизацию, митинги, споры, Merge Conflictы которые возникают у участников. У участников может не быть полной экспертизы в проекте. Кто-то, показавший недостаточную результативность, может спрятаться за активным участником команды. Кроме того, потеря одного члена команды например, когда кто-то решает, что это ему больше неинтересно, и покидает команду обязательно негативно отражается на результате.

Подводим итоги

Плюсы командного подхода Плюсы индивидуального
Прокачка soft skills Всесторонний опыт: студент сам проходит все этапы обучения
Обмен опытом с другими членами команды Самостоятельное обучение в конкурентной среде
Возможность отстоять свое решение перед другими членами команды Прокачка time-менеджмента
Возможность делать более сложные проекты Понимание собственной ответственности за результат
Наши преподаватели поделились мнением о том, как индивидуальный и командные подходы влияют на процесс обучения и подготовку к работе в серьезных проектах. Как по-вашему, какие моменты еще следует учесть и какой подход вы бы предпочли при изучении нового направления разработки?
Подробнее..

Выпускные проекты как позаботиться о себе, завести питомца, найти пункт переработки и получить ответ на любой вопрос

11.02.2021 12:14:32 | Автор: admin


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

Recycle Points интерактивная карта пунктов приёма вторсырья (Технопарк)


Проект подготовлен в сотрудничестве с GreenPeace.

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

Команда студентов Технопарка проанализировала сервис, пообщалась с куратором от GreenPeace и подготовила собственное решение. В итоге получилось веб-приложение с картой пунктов для сбора отходов на переработку, которая загружается быстрее аналогичной на сайте.


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


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

Для фронтенд-разработки команда использовала библиотеки React, MobX и PWA. Бэкенд написан на Go. В качестве базы данных выбрали PostgreSQL вместе с PostGis. Сервис базируется на карте Mapbox из-за наличия у них спецификации MVT, с помощью которой сделали кластеризацию на сервере и ускорили поиск.


На сегодняшний день приложение содержит информацию о более чем 8000 точек раздельного сбора мусора, и данные регулярно обновляются. Команда планирует продолжить работу, создать открытый API, усовершенствовать административную панель для модераторов, настроить статистику и аналитику, усилить интерактивность и добавить геймификацию.

Команда: Дмитрий Андронов, Дарья Ефимова, Нозимжон Юнусов.

Видео с защитой проекта.

Приложение для Ответов Mail.ru во ВКонтакте (Технопарк)


Зачастую пользователи ищут ответы на свои вопросы в сети, в том числе через сервис Ответы Mail.ru. И команда выпускников решила создать продукт для привлечения новых пользователей сервиса. Для этого они интегрировали его в приложение во ВКонтакте. Так пользователи могут оставаться в привычном интерфейсе и одновременно использовать Ответы Mail.ru.

Для входа в приложение нужен аккаунт на Mail.ru. В начале пользователь выбирает интересующие категории, а приложение отображает ленту с потенциально интересными вопросами и ответами на них. Каждый из ответов можно развернуть и прокомментировать. Пользователям приложения, как и всем остальным, доступны опросы и видны рейтинги отвечающих.


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


Бэкенд для разработки предоставил сам сервис Ответы Mail.ru, а фронтенд подготовлен студенческой командой. Все компоненты разрабатывались специально под продукт. Для платформы vkminiapp был выбран фреймворк React. Код писался на Typescript и SCSS, для управления состоянием приложения использовали библиотеку mobX.

Команда: Святослав Кряжев, Юлия Плаксина, Сергей Шепелев.

Видео с защитой проекта.

Petmate приложение для поиска домашних животных в приютах (Технопарк)


Если человек хочет взять животное из приюта, ему приходится просматривать каждое место отдельно, писать множество писем, созваниваться и запоминать, какой зверь приглянулся, где это было и чем завершилось общение. Команда Petmate решила упростить поиск и переговоры с приютами.

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


Поиск в приложении оснащён фильтрами и использует геотеги для создания более точной выборки. Геотег приюта генерируется автоматически при введении адреса. А местоположение пользователей может задаваться автоматически или вручную. Выбранные пользователем анкеты животных собираются в галерею, после чего можно списаться с приютом для одобрения, уточнения деталей и прочих договоренностей.


Основное хранилище приложения на основе PostgreSQL. В бэкенде использовали Django и Celery, фронтенд разработали с помощью React, MobX и styled-component. Геолокацию и рассылку почтовых уведомлений настроили с помощью Mail.ru для бизнеса и Yandex Map API.

Планируется доработка продукта и интеграция с крупными сервисами, например, с Юлой или ВКонтактом.

Команда: Артем Бакулев, Елизавета Прохорова, Анастасия Сушина.

Видео с защиты проекта.

Ecosmetica приложение для оценки безопасности состава косметики (Технотрек)


При покупке косметического средства сложно оценить потенциальную пользу или вред его ингредиентов. Научные, латинизированные и экзотические названия не подскажут обычному покупателю, содержит ли продукт вещества, опасные для потребителя или окружающей среды. Приходится самостоятельно искать информацию о каждом элементе или спрашивать консультанта. Согласно проведенному командой опросу, 51 % пользователей обращают внимание на состав продукта и хотели бы понимать, из чего на самом деле состоит косметика.

Студенты Технотрека предложили приложение Ecosmetica, которое позволяет отсканировать штрих-код и узнать о составе косметики и безопасности продукта. Если продукт не опознается по штрих-коду, можно сфотографировать описание состава и загрузить продукт в базу данных. Сервис автоматически распознает ингредиенты и даст оценку.


Оценка выставляется по шкале от 1 до 10 и зависит от натуральности и безопасности. Грязные ингредиенты имеют больший вес и снижают рейтинг косметического средства. Сведения о безопасности ингредиентов берутся с открытых экспертных сайтов. В декабре 2020 года база данных Ecosmetica насчитывала более 300 000 продуктов и хранила информацию о более чем 5000 ингредиентов.


Пользоваться приложением, читать про ингредиенты и оставлять отзывы можно с регистрацией или без. Авторизация позволяет сохранять историю поиска, легко находить запрошенные ранее товары и формировать список понравившихся средств через избранное.

Для распознавания текста в описании состава команда использовала Google Cloud Vision. Фронтенд создан на React Native. API, бизнес-логика и доступ к базе данных работают на Django, что позволяет быстро обрабатывать текстовую и визуальную информацию и оперативно выдавать данные.


Команда: Евгений Вихрев, Мария Керечанина, Татьяна Мельникова.

Видео с защиты проекта.

Почитать о других учебных проектах наших студентов можно по ссылкам:

Подробнее..

Нидерланды, Латвия, Россия как устроена удалёнка 3

16.02.2021 22:10:00 | Автор: admin

Завершаем серию разговоров обудалёнке. Дизайнер изНидерландов, фронтендер изЛатвии ируководитель проекта измосковского Mail.ru поделились снами, как проходят ихрабочие будни икак устроена работа вформате ремоут. При чём тут джинн? Рассказываем под катом. Делитесь своими инсайтами обудалёнке вкомментариях.





Рустам Султанов


Mail.ru, руководитель проекта Boosty.to, Россия, Москва


Macbook pro основной рабочий девайс, использую только всвязке сэппловскими мышкой ивнешней клавиатурой, подключая кмонитору, кроме ситуаций, когда беру ноутбук вкомандировку (ха-ха, командировки...). Вотличие отноута, монитор покупал сам это Dell сматрицей на165Гц. Раньше считал высокую герцовку блажью, апотом попробовал иуже немогу без такой плавной картинки.


Нафото видна вторая пара клавиатуры имышки, они подключены кобычному настольному (насамом деле подстольному) компьютеру. Для меня это работает как разделение рабочего иличного пространства, переключаюсь нанего, чтобы, например, порубиться вигры после тяжёлого дня. Клава какая-то дешёвая китайская механика, амышь Razer простая инадёжная, как молоток.


Наушники HyperXс микрофоном, можно использовать для звонков, нонаделе для звонков использую айпад. Сверху стола стоит блютуз-колонка JBL целыми днями слушаю музыку. Стол, кресло илампа какие-то обычные изИкеи.


Также вкадре:


Неоновая ёлочка создавала новогоднее настроение, ноубирать, как полагается, нетороплюсь.


Блокнот иручка пишу набумаге всё реже, обычно просто рисую каракули.


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


Как имногие компании, мыушли наудалёнку вмарте, асколько ещё пробудем незнает, кажется, никто. Впрочем, кому очень нужно или хочется, вофис ходят. Для этого сдать тест прямо навходе вофис, подождать результата, иесли всё ок томожно работать три дня. Насколько мне известно, есть планы упростить эту процедуру для тех, кто полностью вакцинируется отковида.


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


Непомню про какие-то отдельные бонусы откомпании, новцелом всем, кому требовалось, помогли перевезти домой офисные вещи, вплоть докресел. Кому нужны были дополнительные мониторы ипрочие девайсы они покупались без проблем идокарантина.


Фишкой удалёнки стало переосмысление многих вещей вжизни. Например, яузнал, что живу вочень маленькой квартире. Доковидных времён яочень мало времени проводил дома, фактически только ночевал. Атеперь наоборот, захотелось иметь больше пространства вокруг себя. Даикжеланию продолжать жить именно вМоскве добавился знак вопроса. Снетерпением жду времён, когда границы вновь станут открытыми, аудалёнка станет обычным режимом работы.





Кирилл Зима


Дизайнер, Нидерланды


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


Боль или счастье работать наудалёнке очень зависит оттого, кого спрашивать. Я, например, немогу без людей вокруг, поэтому для меня окей, если всё работает вштатном режиме (кафе, магазины, музеи) иможно путешествовать. После локдауна ябы хотел 3дня внеделю работать издома, ина12 дня приезжать вофис для встреч иворкшопов. Вцелом, для меня больше счастье, чем боль, при условии, что локдауна нет.


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


Моя фишечка приучить себя крабочему распорядку дня, иначе эффективность разбивается вдребезги. Записи митингов ифолоуапы напочту очень удобно, когда команда работает внескольких часовых поясах. Включать видео назвонке насколько это возможно иуместно, чтобы сохранять человечность общения.





Антон Корочинский


Фронтенд-разработчик @ Juro, Латвия


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


Для меня самая сильная боль это первые недели формата ремоут после офисного инаоборот. Смена обстановки кардинально сбивает режим, ипервое время сложно включиться вработу. Когда уже настроился проблем невозникает.


Хотя бывали вмоей жизни места работы, где ямечтал ототальной удалёнке, сейчас такого представить немогу. Правда, думаю, это были наивные юношеские мечты: яфанат живого общения, без него становится грустно. Даижена работает издома постоянно, поэтому работать бок обок встудии-однушке тесно.


Хотя есть иплюсы: могу дома слушать музыку внаушниках открытого типа или вколонках. Вофисе такой кайф достижим только сотдельным кабинетом, наверное. Плюс яфанат механических клавиатур, асреди коллег приходится держать очень тихую, чтобы нераздражатьих. Зато дома очень-очень громкая клавиатура, ноочень-очень любимая. Даивозможность вырваться куда-то среди дня, разбив его на2части, прекрасна сколько окрестностей яизучил вобед, работая прошлой весной издома, несосчитать.


Сейчас больше люблю ходить вофис, впервую очередь, из-за потрясающей команды. Ещё там есть standing desk, фитнес-шары иразные прикольные табуреточки для сидения, можно втечение дня ихчередовать, испина останется очень довольна. Нуидорога уменя занимает 30минут пешком, идеальная длительность чтобы взбодриться ипереключить контекст. Вобщем, как мне кажется, главное научиться выстраивать рабочий процесс без боли ивофисе, идома итогда везде будет счастье.


Пока был закрыт офис, мыразобрали рабочие кресла такие плюшки откомпании. Апосле окончания локдауна компания предложила остаться наудалёнке тем, кто захочет, икупила сотрудникам рабочее оборудование домой.


Моя фишечка наудалёнке виниловый проигрыватель. Ненашёл другого настолько крутого способа сделать паузу среди рабочего дня, кроме как поставить пластинку, залипнуть наполчаса иниочём недумать. Дело, конечно, невмузыке, авпроцессе, который уносит меня куда-то туда. Еслибы неэта возможность, думаю, совсем отказалсябы отработы издома (при условии открытого офиса, конечно).


Иещё есть мой волк Василий, синий наколонке стоит. Онмой давний спутник поразработке, уже лет 8вместе сомной тусуется, мыдаже конференции напару посещаем.



Подробнее..

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

19.06.2020 20:14:58 | Автор: admin


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

Алгоритмы интеллектуальной обработки больших объемов данных (Data Mining), осень 2019


Цель курса познакомить с классическими и современными подходами к решению задач Data Mining с помощью алгоритмов машинного обучения. Кроме того, вы изучите методы построения, преобразования и отбора признаков, научитесь оценивать качество построенных моделей и визуализировать результаты анализа.

Программа лекций:

  • Задачи Data Mining. Постановка задачи машинного обучения. Какие бывают признаки. Типы задач машинного обучения. Разбор прикладных задач. Сравниваем алгоритмы. Переобучение и обобщающая способность. Как обнаружить и бороться с переобучением?
  • Метрики классификации и регрессии. Метод ближайшего соседа. Базовые понятия. Пример переобучения. Гипотеза компактности. Гипотеза непрерывности. Метрические алгоритмы. Примеры классификации и регрессии. Структурные параметры. Скользящий контроль. Оценка качества классификации и регрессии. Метрики алгоритмов. Нормировка признаков. Расстояния на категориальных признаках. Изучение метрик. Уменьшение размерности. Отбор признаков. Сложность алгоритмов. Приближенный поиск ближайших соседей.
  • Линейные модели регрессии. Параметризация. Представление. Оценка. Оптимизация. Нормализация данных. Регуляризация. Разреженные данные.
  • Логистическая регрессия. Линейные модели классификации. Построение разделяющей поверхности. Отступ. Функционал эмпирического риска. Аппроксимация логистической регрессии. Сигмоида. Логистическая регрессия. Math Recap: Метод Максимального Правдоподобия. Recap: Метрическая логика. Порождающая модель p(x). Метрики оценки. Как подобрать порог.
  • Задачи классификации. SVM. Многоклассовая классификация: one-vs-all. Как предсказать класс? Многоклассовая классификация: softmax. Метрики многоклассовой оценки. Геометрическая интерпретация. Построение разделяющей поверхности. Отступ. Функционал эмпирического риска. Аппроксимация SVM, Hinge Loss. SVM: Неразделимый случай. Штрафы за ошибки. SVM: переход к двойственной задаче. Условия Куна-Таккера (ККТ). Нелинейная классификация SVM ядра. Kernel Trick.
  • Решающие деревья. Определение бинарного решающего дерева. Варианты разделяющих функций. Как строить деревья. Критерии информативности для классификации. Как выглядят меры неопределенности. Критерии информативности для регрессии. Критерии останова. Обработка пропущенных значений. Обработка категориальных признаков. Специальные алгоритмы построения деревьев. Композиции деревьев. Бэггинг. Random Forest. Extra Trees (Extremely Randomized Trees).
  • Обработка естественного языка. Применение NLP в Почте Mail.ru. Предобработка: токенизация, лемматизация, стемминг. Признаковое описание текста: BOW, TF-IDF, CountVectorizer, HashingVectorizer. Дистрибутивная семантика: word2vec, fastText. Поиск околодубликатов: minhash, simhash, LSH.
  • Байесовские методы машинного обучения. Оптимальное байесовское правило. Вероятностное описание моделей. Байесовский подход. Оптимальный байесовский классификатор. Преобразовываем оптимальное байесовское правило. Как оценить p(y). Смысл формулы оптимального байесовского классификатора. Методы восстановления плотности. Наивный байесовский классификатор. Сглаживание. ММП vs Bayes. Логистическая регрессия. Регуляризация. Предсказание.
  • Задача кластеризации. Какая бывает кластеризация? Метрики качества кластеризации. Алгоритм k-means. Выбор числа кластеров. Начальная инициализация. K-medoids. Основные положения иерархических алгоритмов. Расстояния между кластерами: Алгоритм k-means ++. Формулы Ланса-Вильямса. Плотностные алгоритмы. Кластер моего кластера мой кластер.
  • ЕМ-алгоритм. Метод максимума правдоподобия. Экспоненциальный класс. Распределения из экспоненциального класса. Модели со скрытыми переменными. Тематические модели. Вариационная нижняя оценка. ЕМ-алгоритм. Дивергенция Кульбака-Лейблера. E-шаг. М-шаг. Метод Ньютона. Многомерное нормальное распределение. Смесь распределений. Правдоподобие. EM для смеси нормальных распределений. GMM как генеративная модель. Байесовский классификатор как генеративная модель.

Ссылки на видеозаписи.

Будущее голосовых помощников


Вадим Пуштаев руководитель разработки инфраструктуры голосового помощника Маруся расскажет о настоящем и будущем голосовых помощников. Наступят ли времена и как скоро когда с голосовым помощником можно будет общаться, как с полноценным собеседником? К тому же Вадим поделится опытом разработчика и преподавателя.


Егор Толстой человек и Подлодка


Егор Толстой Product manager в Kotlin и ведущий подкаста Podlodka расскажет про язык программирования как продукт. Как сегментируются программисты, как язык продвигается и растет. Как устроены процессы разработки в команде Kotlin. И зачем тут продакт-менеджеры.


Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов по-прежнему публикуются на канале Технострим. Подписывайтесь, чтобы не пропустить новые лекции!
Подробнее..

Выдающийся год наши итоги за 2020-й

30.12.2020 16:07:24 | Автор: admin

Этот год был необычный. Мы очень рады, что он наконец-то заканчивается, и надеемся, что следующий будет благополучнее для всех. И по нашей маленькой традиции подводим итоги блога с самыми жирными постами по плюсам. В довесок публикуем чемпионов по комментариям, добавлениям в избранное и просмотрам для невошедших в первый шорт-лист.

Чемпионы по рейтингу


Zip-файлы: история, объяснение и реализация (AloneCoder)


Мне давно было интересно, как сжимаются данные, в том числе в Zip-файлах. Однажды я решил удовлетворить своё любопытство: узнать, как работает сжатие, и написать собственную Zip-программу. Реализация превратилась в захватывающее упражнение в программировании. Получаешь огромное удовольствие от создания отлаженной машины, которая берёт данные, перекладывает их биты в более эффективное представление, а затем собирает обратно. Надеюсь, вам тоже будет интересно об этом читать.

Коты в коробочках, или Компактные структуры данных (Serine)


Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает Память телефона заполнена, а приложение едва на половине загрузки важного контейнера?

В целом, можно ли сжать структуру данных, чтобы она занимала заметно меньше места, но не теряла присущих ей достоинств? Чтобы доступ к хэш-таблице оставался быстрым, а сбалансированное дерево сохраняло свои свойства. Да, можно! Для этого и появилось направление информатики Succinct data structures, исследующее компактное представление структур данных. Оно развивается с конца 80-х годов и прямо сейчас переживает расцвет в лучах славы big data и highload.

Чему меня, как разработчика, научили аварии в космосе (AloneCoder)


Андрей Ситник, автор PostCSS и Автопрефиксера, сделал подборку историй, связанных с освоением космоса Советским Союзом. Вы узнаете, какие уроки из них извлёк Андрей, чтобы вырасти как разработчик и участник опенсорс-движения. Неудачная стыковка, драматический вход в атмосферу и уникальный переход вдоль поручня между космическими кораблями какое отношение всё это имеет к современной веб-разработке? Обо все этом читайте в посте!

Хабр Конвертер: чтобы версталось легко (AloneCoder)


Наверняка многие из вас хотя бы однажды пользовались хабраконвертером, который официально рекомендован администрацией Хабра https://shirixae.github.io/habraconverter-v2/. Несколько лет назад его создал хабравчанин meta4, а потом доработал Shirixae. Принцип простой: открываете гуглодок с постом, Ctrl-A, Ctrl-C и вставляете в окно конвертера. Нажимаете кнопку Конвертировать и получаете готовый код вёрстки, который можно вставлять в редактор Хабра и публиковать. Только перед этим нужно пройтись и поправить кое-какие мелочи.

И всё бы хорошо, если верстать приходится не слишком часто. Или посты небольшие, несложные. Но если вы верстаете помногу, и в постах есть и картинки, и таблицы, и куски кода, то из раза в раз приходится делать рутину: вставлять нужные пустые строки и убирать лишние, заменять теги <sоurce> на <cоde>, и т.д. и т.п. Мы решили потратить день, чтобы потом долетать за час, и допилили конвертер.

SHISHUA: самый быстрый в мире генератор псевдослучайных чисел (AloneCoder)


Полгода назад мне захотелось создать лучший генератор псевдослучайных чисел (ГПСЧ) с какой-нибудь необычной архитектурой. Я думал, что начало будет лёгким, а по мере работы задача станет медленно усложняться. И думал, смогу ли я научиться всему достаточно быстро, чтобы справиться с самым сложным.

Как реализованы конвейеры в Unix (AloneCoder)


В этой статье описана реализация конвейеров в ядре Unix. Я был несколько разочарован, что недавняя статья под названием Как работают конвейеры в Unix? оказалась не про внутреннее устройство. Мне стало интересно, и я зарылся в старые источники, чтобы найти ответ.

Об одной уязвимости в (z3apa3a)


21 марта 2019, в баг баунти программу Mail.ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неинициализированной памяти, в которых чаще всего раскрывались фрагменты из GET-параметров и заголовков других запросов к тому же серверу.

Это критическая уязвимость, т.к. запросы содержат в том числе сессионные куки. Через несколько часов был сделан временный фикс, который фильтровал нулевой байт (как потом выяснилось, этого было недостаточно, т.к. оставалась возможность инъекции CRLF /ASCII 13, 10, что позволяет манипулировать заголовками и данными HTTP-ответа, это менее критично, но все равно неприятно). Одновременно с этим проблема была передана аналитикам безопасности и разработчикам для поиска и устранения причин возникновения бага.

ZFS: архитектура, особенности и отличия от других файловых систем (gmelikov)


Я, Георгий Меликов, являюсь контрибьютором проектов OpenZFS и ZFS on Linux. Также я занимаюсь разработкой IaaS в команде облачной платформы Mail.ru Cloud Solutions. Хотя в продакшене нашего подразделения мы и не используем ZFS, но хозяева подкаста SDCast пригласили меня рассказать именно о нём. Из выпуска и родилась эта статья, а вот тут можно послушать аудиоверсию.

Итак, сегодня я рассказываю про ZFS. Как устроена файловая система ZFS, из каких компонентов она состоит и как работает, а также про новые фичи, которые появились или скоро появятся в последних релизах.

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее (ngOo)


Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions. На дворе 2020 год, а мы продолжаем обсуждать нововведения ES6-синтаксиса и преимущества MobX над Redux. Существует много причин использовать Redux в своем проекте, но так как я не знаю ни одной, расскажу о том, почему мы выбрали MobX.

Как генерируются UUID (AloneCoder)


Вы наверняка уже использовали в своих проектах UUID и полагали, что они уникальны. Давайте рассмотрим основные аспекты реализации и разберёмся, почему UUID практически уникальны, поскольку существует мизерная возможность возникновения одинаковых значений.

Современную реализацию UUID можно проследить до RFC 4122, в котором описано пять разных подходов к генерированию этих идентификаторов. Мы рассмотрим каждый из них и пройдёмся по реализации версии 1 и версии 4.

Чемпионы по комментариям


Математика восхождения по лестнице богатства (randall)


С точки зрения программиста среднемесячная зарплата в России составляет 44 тыс. руб. ниже всяческих ожиданий богатства и успеха. Но откуда вообще берутся представления об успехе, финансовом достатке и о методах их достижения?

Как изменится ваша жизнь, если дать вам 10 тыс. руб.? А как насчет 1 млн руб.? Или 100 млн руб.? Ответ на этот вопрос не так прост, как кажется, и зависит от вашего возраста, семейного положения и текущих накоплений. Еще более важно, что изменения, которые произойдут с вашим поведением после того, как у вас появится такая сумма, могут многое рассказать о текущем финансовом положении.

Стюарт Баттерфилд, создатель Flickr и Slack, развил эту мысль до самобытной концепции пирамиды богатства, которая помогает прийти к парадоксальному выводу: даже большие деньги не обязательно улучшат вашу жизнь каким-либо заметным образом.

Кибербуллинг: почему люди становятся наблюдателями (kseniaegorova)


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

Исследование проводилось в сентябре-октябре 2020 года совместно с Research.me, UX-лабораторией Mail.ru Group и UXSSR. Здесь вы можете скачать полные результаты исследования. Некоторые из них весьма печальны для нашего общества. Второй карантин, экономический кризис, преддверие зимы всё это не помогает людям быть добрее и терпимее друг к другу. Это подтверждает опрос: половина респондентов считает, что уровень агрессии в обществе вырос в ходе пандемии. Причём эта агрессия в интернете чаще всего не обоснована. Любопытно, что люди считают грубость и оскорбления в интернете неприемлемыми но готовы использовать их для самозащиты. Прямо напрашивается аналогия с физическим нападением.

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний (DmtrKzmn)


Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы.

Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, мнения разработчиков и крупных работодателей о том, какие языки программирования будут востребованы в ближайшие годы. И рассказываем, на что ориентироваться при выборе.

Чемпионы по добавлению в избранное


Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения) (pxeno)


Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчить работу с Git, а также подборку статей и мануалов более продвинутого уровня.

Git появился почти 15 лет назад. За это время он прошел путь от андердога до непобедимого чемпиона. Сегодня новые проекты часто начинают с команды git init. Несомненно, это важный инструмент, который многие из нас используют ежедневно, но зачастую он напоминает магию яркую, но опасную.

На Хабре опубликовано много статей, как начать работу с Git, как устроен Git под капотом, описания лучших стратегий ветвления. Здесь автор сфокусировался на том, как упростить работу с Git.

Саморазвитие: как я не усидел на двух стульях и нашел третий (EdT)


Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень актуален, так как машинное обучение развивается крайне стремительно, и чтобы хотя бы быть в теме, надо потратить уйму времени. Поэтому вопрос, как и на что тратить время для развития, стоит достаточно остро.

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

Полный список вопросов с собеседований по Python для дата-сайентистов и инженеров (pxeno)


Бывает, что компания ищет дата-сайентиста, а на самом деле ей нужен Python-разработчик. Поэтому при подготовке к собеседованию есть смысл освежить в памяти информацию по Python, а не только штудировать алгоритмы.

Команда Mail.ru Cloud Solutions перевела статью разработчика, который не раз попадал в такую ситуацию и на основе своего опыта составил список из 53 вопросов и ответов для подготовки к собеседованию. Большинство исследователей данных пишут много кода, поэтому такой список пригодится и дата-сайентистам, и инженерам. Он будет полезен и для соискателей, и для тех, кто проводит собеседования, и для тех, кто просто изучает Python.

Чемпионы по просмотрам


Созерцание великого фрактального подобия (randall)


Фракталы не просто красивое природное явление. Согласно проведенным исследованиям, рассматривание фрактальных структур на 60 % повышает стрессоустойчивость, измеряемую на основе физиологических показателей. При созерцании фракталов в лобной коре головного мозга всего за одну минуту увеличивается активность альфа-волн как во время медитации или при ощущении легкой сонливости.

Неудивительно, что фрактальный биодизайн оказывает на человека умиротворяющее воздействие. Нам нравится смотреть на облака, на языки пламени в камине, на листву в парке Как это работает? Ученые предполагают, что естественный ход поисковых движений наших глаз фрактальный. При совпадении размерности траектории движения глаз и фрактального объекта мы впадаем в состояние физиологического резонанса, за счет чего активизируется деятельность определенных участков мозга.

Но не все фракталы одинаково полезны. В данной статье расскажем о фрактальной размерности и о её влиянии на здоровье.

Определяем COVID-19 на рентгеновских снимках с помощью Keras, TensorFlow и глубокого обучения (AloneCoder)


С помощью этого руководства мы с помощью Keras, TensorFlow и глубокого обучения научимся на собранном вручную датасете из рентгеновских снимков автоматически определять COVID-19.

Мнемотехника: исследуем методы увеличения памяти мозга (randall)


Хорошая память нередко является врожденной особенностью некоторых людей. И потому нет смысла соревноваться с генетическими мутантами, изматывать себя тренировками, включающими запоминание стихотворений и придумывание ассоциативных историй. Раз все записано в геноме, выше головы не прыгнешь.

Действительно, строить, как Шерлок, дворцы памяти и визуализировать любую последовательность информации не каждому дано. Если вы перепробовали основные приемы, перечисленные в статье по мнемонике в Википедии, и у вас ничего не получилось, то ничего страшного в этом нет техники запоминания для перегруженного работой мозга становятся сверхзадачей.

Однако не все так плохо. Научные исследования показывают[1], что некоторые мнемотехники буквально физически могут поменять структуру мозга и повысить скилл управления памятью. Многие из самых успешных в мире мнемонистов, участвующих в профессиональных соревнованиях по запоминанию, начинали учиться уже в зрелом возрасте, и им удалось значительно усилить возможности мозга.



Спасибо всем дочитавшим. И с наступающим!
Подробнее..

Из частных предпринимателей в руководители проектов банка история фронтенд-разработчика

03.03.2021 20:06:54 | Автор: admin

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

Типичной эту историю назвать нельзя, поэтому решили рассказать о ней на Хабре. Кому-то просто интересно будет почитать, а кто-то почерпнет что-то полезное для себя.

Всё началось с математики и программирования


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

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

Но бизнес был не очень стабильным, сказывались кризисы, поэтому начал искать альтернативу работу, которая была бы одновременно и интересной, и доход приносила. На этом этапе я снова обратил внимание на разработку и решил попробовать вернуться к основам стать программистом. Правда, сначала я обучился на тестировщика, пройдя бесплатные курсы Portnov Computer School. После завершения курсов удалось найти работу в одной из компаний Ростова. Этот момент можно считать первым шагом на длинном карьерном пути в IT. Занимался ручным тестированием, проверял задачи на удовлетворение бизнес-требованиям, а чуть позже разобрался с автотестами на базе Selenium WebDriver.

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

Эта сфера привлекала все больше, поэтому я решил поступить на курсы по программированию. Выбор пал на курс Frontend-разработчик, поступить мне удалось бесплатно я победил в конкурсе GeekBrains Мы ищем таланты. Занять первое место помогло как институтское профильное образование, так и опыт тестировщика.

Следующий этап фронтенд


Почему выбрал именно фронтенд? Во-первых, я понимал обширные возможности отрасли, во-вторых, веб-разработка очень востребованная сфера с постоянным дефицитом разработчиков. Мне всегда хотелось работать там, где пригодятся весь мои опыт и знания.

Я отдавал себе отчет в том, что просто так веб-разработчиком не станешь, поэтому прилежно учился. На учебу уходило 4-5 часов в день в течение 8-9 месяцев, я старался на практике применять полученные знания. Ниже примеры моих работ, выполненных во время обучения.


Вот ссылка на этот проект.

А вот примеры вёрстки, это два курсовых проекта.


Вёрстка из курса HTML5/CSS3. Смотреть онлайн: здесь и тут.

Ну а потом выпуск и поиск работы. Не знаю, повезло ли мне, или работодатель оценил мой опыт тестировщика, но устроиться удалось во время учебы на курсах, через несколько месяцев с начала обучения. Поиски вакансий я вёл через HeadHunter. Забегая вперёд, скажу, что здесь же меня хантят рекрутёры: предложений приходит достаточно много. Другими ресурсами или сервисами на тот момент не пользовался. Разве что завел профиль на LinkedIn, так сказать на вырост.

На работе не только выполнял текучку, но и продолжал активно учиться, благо задачи были самые разные. Объём практического опыта быстро рос. Через полтора года после старта моей карьеры в IT я стал веб-разработчиком полного цикла. Научился создавать как серверную, так и клиентскую стороны приложений. Стек технологий на тот момент (прошло около двух лет) включал Vue (Vuex, Nuxt.js, Apollo), React (Redux) и Node.js (TypeScript, GraphQL, Mongodb). Ну а опыт тестировщика помогал выполнять работу еще эффективнее.

А что сейчас?


Приложить опыт и знания есть куда сейчас я работаю в Сбере. Компания постепенно преобразуется в высокотехнологичную организацию, где используется огромное количество современных цифровых инструментов и продуктов. Многие из них созданы стараниями сотрудников.

Чтобы поддерживать знания на актуальном уровне, я не только читаю книги, смотрю профессиональные видео и т.п., но и посещаю IT-конференции. За 2019 год я посетил около 50 таких конференций, а также стал активным участником разных IT-сообществ. На мероприятиях получаешь новый опыт, новые идеи, знакомишься с интересными людьми. Нетворкинг в разработке крайне важен.

Не забыл я и свое прошлое участника школьных олимпиад. Я регулярно принимаю участие в разных соревнованиях для программистов. Во многих побеждаю, что придает уверенность в своих силах. Соревнования хороши, в первую очередь, тем, что позволяют понять собственные возможности в сравнении с другими профессионалами.

Текущие задачи и планы на будущее


Сейчас я работаю в отделе интеллектуальной системы управления, которая позволяет улучшать эффективность и качество работы сотрудников. Компания благодаря этому лучше справляется с налаживанием процессов управления. Я главный по фронтенд-направлению: отвечаю за весь код, который будет исполняться на компьютерах пользователей. Мы используем React + TypeScript на фронте и Python на беке. У нас очень популярный и современный стек: Webpack, Redux, Thunk, Styled-Components.

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

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

Немного советов


В процессе учебы и работы я сделал для себя несколько выводов относительно профессионального развития, которыми хотел бы поделиться с Хабром. Скорее всего, они будут интересны тем, кто только начал карьеру в IT или собирается её начать. Ну а профессионалы с многолетним опытом могут дополнить советы в комментариях.

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


Если же нужно подготовиться к интервью в крупную компанию, то необходимо научиться решать алгоритмические задачи, а также хорошо освоить теорию по паттернам проектирования. Проверить себя в решении таких задач можно здесь и здесь.

А чтобы проверить себя на готовность стать программистом, рекомендую закончить бесплатные курсы. Если понравится и всё будет получаться, то, определённо, можно и дальше шагать в этом направлении. Ну а если нет вы ничего не теряете.
Подробнее..

Почта для домена от Mail.ru и от Яндекса выбираем из двух хороших сервисов

16.07.2020 20:13:21 | Автор: admin
image

Всем привет. По долгу службы мне приходится сейчас искать сервисы почты для домена, т.е. нужна хорошая и надежная корпоративная почта, причем внешняя. Раньше я искал сервисы для видеозвонков с корпоративными возможностями, теперь вот настал черед почты.

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

Яндекс.Почта для бизнеса


Это отдельный сервис компании, который сейчас входит в состав платформы Яндекс.Коннект. Она включает сервисы для управления проектами внутри компании, и предназначена, по большей части, для корпоративных пользователей. Ну или для фрилансеров, которые работают в команде.

Сначала немного о самом Коннекте. В его состав входят такие инструменты, как:

  • Почта это корпоративная почта на домене.
  • Диск общее файловое пространство.
  • Календарь здесь можно как создавать события, так и вести учет дел.
  • Вики база знаний компании, с общим доступом для сотрудников.
  • Трекер управление задачами и проектами с возможностью распределять таски, назначать исполнителей и т.п.
  • Формы создание опросов, сбор фидбеков.
  • Чаты корпоративный внутренний мессенджер, который работает как в браузере, так и в качестве десктопного или мобильного приложения.

В Коннект была перенесена именно бизнес-почта, т.е. корпоративная почта на домене. Обычная же Яндекс.Почта осталась независимым и полностью бесплатным для своих пользователей сервисом.

После переноса каждый домен из ПДД (почта для домена) стал отдельной организацией в Коннекте. Если есть другие организации, можно добавить и их. Для этого нужно зайти в Коннект с главного аккаунта, выбрать соответствующий список и добавить новую организацию. После этого необходимо подтвердить факт доступа к домену. Собственно, эта процедура почти не отличается от того, что было в Почте для домена.

Работа с почтовыми ящиками


Здесь все немного иначе, чем раньше (если, конечно, вы застали это раньше). Чтобы использовать почту, нужно зайти в раздел Админка с главной страницы сервиса. После этого пользователь попадает в подраздел Оргструктура.

image

Здесь и выполняется основная работа с новыми ящиками их можно создавать, редактировать и удалять. Каждому сотруднику обычно выделяется по отдельному языку/аккаунту. Добавлять сотрудников нужно через кнопку Добавить. Еще есть возможность создавать отделы со своей собственной почтой и сотрудниками.

image

Администратор может добавлять и редактировать информацию о сотрудниках из администраторской панели. Раньше эта операция была более запутанной, поскольку в Почте для домена нужно было создать ящик, авторизоваться, добавить данные пользователя, а затем повторить все снова если, конечно, пользователей больше, чем один.

image

С каждым ящиком нужно было работать как с отдельным аккаунтом, включая все вытекающие задачи. Например, для смены аватарки пользователей (например, в корпоративном стиле) нужно было по очереди логиниться в каждый, и по очереди же менять аватарки, на что требовалось немало времени. В Коннекте все проще администратору не нужно заново логиниться под каждым из пользователей (а представьте, если их десятки или даже сотни). Он управляет учетной записью каждого сотрудника из своего аккаунта.

Возможности корпоративной почты от Яндекса


Есть платный и бесплатный тарифы. Что касается бесплатного, то количество пользователей ограничено тысячей человек и 10 ГБ файлового хранилища. Причем в бесплатной версии у каждого из пользователей свой собственный Диск, тоже бесплатно, а вот в платной файловое хранилище общее, и объем его начинается с 1 ТБ. Чем более продвинутый тариф, тем больше файлового пространства.

Компания пользователь сервиса может получить и больше 1000 ящиков, но каждая заявка рассматривается отдельно. Для того, чтобы повысить свой лимит, активность пользователей должна быть высокой и стабильной. Платить за это не нужно, насколько можно судить, компания монетизирует сервис за счет показа рекламы для пользователей почты.

Личные впечатления


В целом, все хорошо, но я бы сказал, что корпоративная почта от Яндекса больше подходит небольшим компаниям, которым нужно не более 10-15 адресов. Корпоративную почту Яндекса могут использовать и более крупные компании, но это будет уже чуть сложнее.

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

Почта для домена Mail.ru


Mail.ru представила свою почту как облачный сервис для компаний 7 лет назад. Это проверенный временем и пользователями продукт. Принцип работы с ней примерно такой же, как и у обычной почты Mail.ru, но функций здесь больше. В этом году Почта для домена Mail.ru эколюционировала в новых продукт для крупного бизнеса и госсектора. Это уже не облачное решение, а коробочный продукт, который устанавливается на сервера компании-заказчика и он вошел в Реестр отечественного ПО. Этот фактор может быть крайне важным для отечественных организаций, в особенности государственных.

Как и в предыдущем случае, почта для домена Mail.ru входит в состав мультисервисной платформы, включающей сервисы для корпоративных коммуникаций. Это файловое хранилище, мессенджер, календарь и т.п. Но у почты от Mail.ru есть еще одна возможность это групповые звонки полностью бесплатные и без ограничения по времени.

В состав почты для домена Mail.ru входит непосредственно почтовый сервис, а также календарь и адресная книга. Для управления функциями почты компании предусмотрена административная панель, которая дает возможность настраивать и модифицировать возможности по каждому пользователю на домене.

Среди прочих возможностей почты поддержка протоколов SMTP и IMAP с популярными почтовиками вроде Outlook, Gmail, Thunderbird, The Bat и Почта на Mac.

Возможности корпоративной почты от Mail.ru


Кроме обычной работы с письмами, сервис предлагает такие функции, как управление рассылками, группами контактов, есть также возможность общего доступа к отдельным папкам пользователей. Прямо из почты можно назначить видеовстречу и разослать приглашения участникам. Последним не нужно ничего, кроме ссылки загружать приложение не нужно.



Компания может пересылать по почте файлы любого размера даже в бесплатной версии почты для домена Mail.ru нет ограничения на размер почтовых ящиков и пересылаемых аттачей. Если файл превышает 25 МБ он будет загружен в облако и отправлен как ссылка в письме.

Административная панель позволяет управлять правами доступа, логиниться под любым пользователем, плюс восстанавливать удаленные каким-либо пользователем письма. Ведется логирование действий пользователей и подключения разных устройств. Для удобства добавлена возможность синхронизации с Active Directory для работы с данными пользователей.



Бизнес-почта Mail.ru подключена к программе Bug Bounty HackerOne, согласно условиям которой Mail.ru выплачивает от $10 000 до $35 000 тем, кто находит уязвимость.

И еще есть русскоязычная поддержка, которая весьма оперативно работает. Этого нет у большинства других почтовых сервисов, так что кому это важно имейте в виду. Саппорт делится на базовый, когда вопросы решаются по e-mail в рабочее время и премиальный, с режимом работы 24/7 не только по e-mail, но и по телефону.



Личные впечатления


В целом, почта производит положительное впечатление возможностей много, плюс саппорт, плюс гибкое управление. Как мне показалось, это чуть более взрослый сервис, чем Яндекс. Больше функций, есть видезвонки, система доступов и вот это все. Конечно, мнение субъективное, так что если не прав давайте обсудим в комментариях.

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

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru