Category: Обучение

28
Ноя
2020

📈 Почему Big data так быстро развивается?

Чтобы пройти обучение и получить высокооплачиваемую профессию, необходимо понять тенденции развития отрасли. Рассказываем о Big Data – одном из самых перспективных направлений в сфере ИТ.

О работе специалистов по анализу больших данных и необходимых для освоения профессии навыках мы уже писали. В подготовленной при поддержке Факультета аналитики Big Data онлайн-университета GeekBrains статье расскажем о тенденциях развития отрасли и ее перспективах.

Тенденции развития

<a href="https://theappsolutions.com/images/articles/269/cloudhosting.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Объемы данных продолжают увеличиваться

Большинство экспертов сходятся во мнении, что в будущем объем генерируемых данных будет расти экспоненциально. В подготовленном для Seagate отчете “Data Age 2025” аналитики IDC прогнозируют его увеличение до 175 зеттабайт к 2025 году. Что заставляет экспертов верить в такой стремительный рост?

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

Предприятия, которые хранят и анализируют огромные объемы информации, станут управлять 60% больших данных в ближайшем будущем, однако отдельные потребители также играют значительную роль в этом процессе. В отчете IDC сообщается, что к 2025 году 6 миллиардов пользователей, или 75% населения мира, будут ежедневно взаимодействовать с онлайн-данными. Другими словами, каждый подключенный пользователь будет иметь по крайней мере одно взаимодействие каждые 18 секунд.

Столь большие объемы информации сложно хранить и обрабатывать. До недавнего времени эта проблема решалась экосистемами с открытым исходным кодом, вроде Hadoop и серверов NoSQL. Открытые продукты требуют серьезных затрат на внедрение и сопровождение, что оказалось сложным для многих компаний, и заказчики начали переносить большие данные в облака. AWS, Microsoft Azure и Google Cloud Platform полностью изменили отрасль. Раньше, когда компании намеревались запускать приложения с интенсивным использованием данных, им нужно было развивать собственные ЦОД, но облачная инфраструктура обеспечивает большую гибкость, масштабируемость и простоту использования.

Эти тенденции, безусловно, сохраняются и в 2020 году, но с некоторыми изменениями:

  1. Появление гибридных сред: многие компании не могут хранить конфиденциальную информацию на стороне, поэтому определенный объем данных размешается в собственных ЦОД, а остальное переносится в облако;
  2. Появление мульти-облачных сред: компании, которые стремятся максимально удовлетворить свои бизнес-потребности, предпочитают хранить данные с использованием комбинации нескольких публичных и частных облаков.

Конфиденциальность данных остается как никогда актуальной

<a href="https://learn.airoboticslaw.com/hubfs/Data%20Security.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

  1. Дефицит навыков в области кибербезопасности, вызванный отсутствием возможностей для образования и профессиональной подготовки. Этот разрыв постоянно растет и к 2021 году достигнет 3,5 миллиона незаполненных позиций в сфере кибербезопасности, сообщает Cybercrime Magazine;
  2. Эволюция кибератак – используемые хакерами угрозы развиваются и становятся все более сложными с каждым днем;
  3. Нерегулярное соблюдение стандартов безопасности. Хотя правительство разных стран принимают меры по стандартизации правил защиты данных, большинство организаций по-прежнему игнорируют стандарты безопасности.

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

Перспективы сферы больших данных

<a href="https://blog.commlabindia.com/wp-content/uploads/2019/03/artificial-intelligence-elearning.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Машинное обучение будет продолжать менять ландшафт

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

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

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

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

Услуги Data Scientists и CDO’s будут пользоваться все большим спросом

<a href="https://crampete-staticfiles.s3.ap-south-1.amazonaws.com/blogs/Blog-145/Feature.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Должности специалистов Data Science и Chief Data Officer (CDO) являются относительно новыми, и поэтому потребность в таких сотрудниках на рынке труда довольно высока. В 2019 году KPMG опросили 3600 ИТ-директоров и технологических руководителей из 108 стран и выяснили, что 67% из них столкнулись с нехваткой навыков в сфере аналитики больших данных, безопасности и искусственного интеллекта. Неудивительно, что Data Scientist входит в список самых быстрорастущих на рынке труда профессий, наряду с инженерами ML и аналитиками Big data. Большие данные бесполезны без анализа, и только специалисты могут превратить их в действенные идеи.

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

CDO — это руководители уровня C, отвечающие за доступность, целостность и безопасность данных в компании. По мере того, как все больше владельцев бизнеса осознают важность этой роли, найм CDO становится нормой: если верить опросу “Big Data and AI Executive Survey 2019” от NewVantage Partners, 67,9% крупных компаний уже заполнили данную позицию.

Однако позиция Chief Data Officer во многом остается неопределенной, особенно с точки зрения разделения обязанностей между CDO, Data Scientists и CIO. Это одна из ролей, которая зависит от бизнес-потребностей конкретных компаний, а также их цифровой зрелости. Следовательно, позиция CDO будет развиваться вместе с тем, как мир станет более ориентированным на данные.

Быстрые и действенные данные выйдут на передний план

<a href="https://cdn.searchenginejournal.com/wp-content/uploads/2020/01/how-to-leverage-first-party-data-to-boost-ppc-performance-5e1ea1f816ab8.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Еще одно предсказание о будущем связано с появлением так называемых «быстрых данных» и «действенных данных». В отличие от больших данных, требующих наличия сервисов Hadoop и NoSQL для анализа информации, быстрые данные можно обрабатывать в масштабе реального времени. Благодаря такой потоковой обработке информация может быть проанализирована буквально за считанные миллисекунды. Это приносит больше пользы организациям, которые могут принимать бизнес-решения и предпринимать действия сразу же после поступления данных. Быстрые данные также испортили пользователей, сделав их зависимыми от взаимодействия в реальном времени. По мере того, как бизнес становится все более цифровым, качество обслуживания клиентов повышается – пользователи ожидают, что получат доступ к данным на ходу. Более того, они хотят, чтобы это было персонализировано. В подготовленном для Seagate отчете IDC прогнозирует, что к 2025 году к почти 30% глобальных данных будет обеспечен доступ в режиме реального времени.

Действенные данные – недостающее звено между Big data и бизнесом. Как уже упоминалось ранее, большие данные сами по себе бесполезны без эффективного анализа. Обрабатывая их с помощью аналитических платформ, организации могут сделать информацию точной, стандартизированной и действенной. Эти знания помогают принимать более обоснованные бизнес-решения, совершенствовать деятельность и разрабатывать больше вариантов использования собранной информации.

***

Если вы только начинаете свой путь в профессии аналитика Big Data, хотите получить диплом и помощь в трудоустройстве, обратите внимание на курс Факультета Аналитики Big Data онлайн-университета GeekBrains. Помимо основ математики, языка Python и управления базами данных, в программу включена работа с Apache Hadoop и Apache Spark. Обучение ориентировано на применение навыков машинного обучения в бизнесе и построено по принципам практической работы над проектами с ведущими специалистами отрасли и личным помощником-куратором.

26
Ноя
2020

🕵 Offensive или Defensive Security: что лучше, защита или нападение?

Пример разных подходов к безопасности: красные и синие команды. Разбираемся, чему надо учиться для участия в них, и как выбрать между Offensive или Defensive Security.

Традиционная стратегия кибербезопасности фокусируется на защите. Активный переход на дистанционную работу с использованием удаленного и внедрение BYOD (Bring your own device) требуют переключения внимания на обнаружение и реагирование. В этом случае обязательно создание обороняющейся и атакующей команды.

Разница между Offensive и Defensive Security

Существование в компании Offensive security позволяет постоянно совершенствовать защиту, следуя модели «подразумевать взлом» (assume breach). Цель таких «войнушек» – найти слабые места и усилить их, а также сократить время реагирования до минимума.

В одних компаниях красная/синяя команда существуют на постоянной основе. Например, в Microsoft группа сотрудников занимается всесторонней проверкой устойчивости облачной платформы Azure. Что-то подобное есть в Google, McAfee и Tesla. В других компаниях такие команды собираются только на время учений; красная команда предоставляется сторонней организацией, которая на этом специализируется.

Defensive и Offensive security могут быть представлены не только синей и красной командой. Иногда атакует инфраструктуру только один пентестер, а защищает, например, аналитик кибербезопасности. В зависимости от размера и сферы деятельности компании, ей может быть достаточно только тестирования на проникновение, а может быть нужны и пентестеры, и красная команда (их цели различаются, об этом – ниже).

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

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

Атакующие ребята

Offensive security может быть представлена в нескольких форматах. Вот некоторые из них:

<i>Источник: <a href="https://www.anti-malware.ru/analytics/Market_Analysis/Red-Team-Operations-market-overview" target="_blank" rel="noopener noreferrer nofollow">Anti-malware</a>.</i>
Источник: Anti-malware.

Чаще всего путают деятельность красных команд (red teaming) и традиционный пентестинг, так как многие требуемые навыки и выполняемые командами тестеров функции совпадают, но цели и результаты их работы отличаются.

1. Цель пентестеров: поиск уязвимостей, чтобы оценить возможные риски. Цель Red teaming: с помощью целенаправленных атак понять, насколько хорошо защищена система, и подкованы в плане безопасности сотрудники.

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

3. В рабочий процесс пентестеров входит поиск уже известных уязвимостей, их анализ, а в ряде случаев и эксплуатация. Красные команды ищут в том числе угрозы нулевого дня (0-day) и пытаются использовать изъяны для компрометации исследуемого объекта

4. Время поиска. У пентестеров оно ограничено: от нескольких дней до пары недель, чтобы исключить ложноположительные сценарии. Red teams же не ограничены по времени.

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

Необходимые знания и навыки для участников Red team

Вам не обязательно подробно разбираться во всех этих направлениях. Достаточно понимать, как это все работает и быть мастером в чем-то одном. Навыки идут от более общим к более специализированным. Участнику красной команды необходимо:

  • знание ландшафта угроз для отрасли организации-заказчика;
  • понимание способов осуществления атак;
  • креативное, неформальное мышление – нужно постоянно искать новые техники и инструменты;
  • владение методами тестирования на проникновение;
  • OSINT;
  • владение методами имитации угрозы (threat emulation);
  • умение создавать собственные эксплойты;
  • навык осуществления физических атак, понимание физических средств защиты;
  • навыки социальной инженерии;

Стек технологий:

  • ОС и программные пакеты;
  • разнообразные сетевые протоколы и алгоритмы;
  • беспроводная связь;
  • шифрование;
  • Python, Ruby, Perl, PowerShell и др.;
  • BAD USB;
  • продвинутое системное администрирование и инженерия;
  • пользовательские приложения, протоколы и другие технологии;
  • сети;
  • взлом замков (Lock picking).

Примеры задач

  • любыми методами нарушить безопасность компании и получить информацию, проникнуть в систему или физически проникнуть на территорию организации. Вплоть до того, чтобы приехать в офис, представиться курьером и попроситься быстренько отнести посылку в нужный кабинет. Затем просто вставить флешку в ПК кого-то из сотрудников или даже менеджмента;
  • избегать обнаружения синей командой;
  • тестировать средства безопасности на проникновение;
  • идентифицировать и использовать ошибки и слабые стороны инфраструктуры компании.
<i>Источник: книга «Кибербезопасность: стратегии атак и обороны».</i>
Источник: книга «Кибербезопасность: стратегии атак и обороны».

Обороняющие ребята

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

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

К defensive security относятся такие направления кибербезопасности, как security operations center (SOC), threat intelligence (TI), форензика, киберразведка и т. д.

Необходимые знания и навыки для Blue team

  • умение искать и анализировать основные угрозы – здесь поможет OSINT;
  • умение продумывать сценарии рисков;
  • владение техниками и инструментами усиления безопасности;
  • SIEM (Security Information and Event Management).
  • аудит DNS;
  • реверс-инжиниринг;
  • анализ рисков;
  • анализ цифровых следов;
  • DDoS-тестирование;
  • межсетевая защита;
  • антивирусные программы;
  • анализ логов;
  • IDS (Intrusion detection system) и IPS (Intrusion Prevention System);
  • pcap.

Вот примерный стек технологий синей команды:


Примеры задач

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

Вот так выглядит процесс:


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

<i>Источник: книга «Кибербезопасность: стратегии атак и обороны».</i>
Источник: книга «Кибербезопасность: стратегии атак и обороны».

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

  • работой над окончательным отчетом после проверки какого-то из объектов;
  • планированием и разработкой новых решений по усилению защиты;
  • обменом знаниями: синие рассказывают о новых технологиях защиты, а красные – о новых угрозах и техниках пентеста.

Иногда может понадобиться создание фиолетовой команды (purple team). Она работает над эффективностью обеих команд и обычно состоит из их же участников. Фиолетовая команда представляет собой интенсивную временную совместную работу красных и синих – это своеобразный тренинг.

<i>Источник: <a href="https://pentestmag.com/red-teaming-10000-feet/" target="_blank" rel="noopener noreferrer nofollow">Pentesmag</a>.</i>
Источник: Pentesmag.

Пример коммуникации красной и синей команды:


Задачи фиолетовой команды:

1. Установить лучшее понимание инфраструктуры обеих команд.

2. Закрепить практику регулярной обратной связи.

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

4. Анализировать результаты и принимать меры. Например, более полное обучение сотрудников.

Примеры red teaming

1. Получение административного доступа к Active Directory. Кейс от Group-IB.

Была взломана одна из дочерних компаний группы и обнаружен VPN между локальными сетями подразделений. Подключение к сети было хорошо защищено. Команда применила атаку Kerberos «golden ticket», чтобы обойти защиту с помощью смарт-карт на «низком уровне». Используя механизм доверия между доменами Active Directory, команда получила администраторские права в головном офисе.

2. Тестирование с помощью социальной инженерии. Кейс от QCC Global.

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

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

3. Сценарии киберучений от BI.ZONE, они же предоставляют красную команду.

1) Атакующая команда хочет украсть конфиденциальные данные клиентов.

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

2) Преступники получили привилегированный доступ с помощью фишинговой атаки.

Расследование синей командой уже произошедшего инцидента:

  • Был зафиксирован запрос в центр командования и управления. Синяя команда получила данные о каком-то из скомпрометированных хостов: дамп памяти, журнал событий и др. Действия синей команды: использовать методы и инструменты компьютерной форензики.
  • Такой же инцидент, но другие индикаторы компрометации. Агенты EDR собирают телеметрию и посылают на Threat hunting платформу. Там собранные данные анализируются и идентифицируется аномальная активность. Действия синей команды: охота на угрозы (Threat Hunting approach).

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

Как выбрать команду?

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

1. Поучаствовать в attack/defense CTF. В этом типе соревнования ваша команда будет одновременно и атаковывать приложения других команд и защищать свои. Примеры таких конкурсов можно найти здесь.

2. Попробовать свои силы в ежегодной кибербитве the Stand Off. Виртуальный город, который включает в себя все реальные технологии и уязвимости банков, офисов, мобильных операторов, транспортных систем, промышленных объектов, спортивной инфраструктуры и т. д.

Заключение

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

***

На Факультете информационной безопасности GeekBrains можно подтянуть скилы и по offensive, и по defensive security. Вы получите много практики по тестам на проникновение, Python, реверс-инжинирингу, безопасности сетей и криптографии. Успешно окончившим курс студентам онлайн-академия поможет с трудоустройством.

25
Ноя
2020

👨‍🔧️💸10 онлайн-платформ для заработка на тестировании

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

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

Главное – пройти квалификационное тестирование или выполнить пробное задание.


Иностранные платформы

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

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

Userbrain – заработок на тестировании в течение 15 минут. Регистрируетесь, ставите расширение для Chrome или приложение iOS. Необходимо пройти квалификационную проверку, получить одобрение на участие в и можно зарабатывать по 3$ за каждый тест.

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

Userlytics – платформа, где заказчики один известнее другого. Пользовательское тестирование, по итогу которого можно заработать от 5$ до 90$ в зависимости от масштабов. Главное – быть внимательным и хорошо знать английский.

IntelliZoom – платформа с максимально простым и дружелюбным интерфейсом. Компания проводит тесты UX на компьютерах и мобильных устройствах. Оплата за видео-обзоры составляет от 2$ до 10$.

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

Checkealos – онлайн-платформа для отзывов пользователей, которая помогает компаниям создавать лучшие сайты и приложения. Каждый отзыв стоит около 8 евро, сессия длится 15 минут. Если не знаете английский, можно работать на испанском.

PingPong – самые крупные варианты заработка здесь. По описанию сервиса вознаграждение может быть до 200 евро. Главное: стабильные интернет и желание работать.


Отечественные платформы

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

UXCrowd – “начать легко”. Российская платформа для заработка на тестировании. Стандартный путь: регистрация, тестовое задание, одобрение и начало работы. Тестирование оформляется по договору ГПХ, но только для граждан РФ. Официально, честно, прозрачно и для любого опыта.

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

***

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

Плюсом всех платформ являются именитые заказчики, которые ими пользуются. Хотите строчку в резюме про Coca-Cola, Facebook или Loreal? Присмотритесь.

***

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


23
Ноя
2020

❹ ❌👨‍🎓️4 мифа о профессии программиста, в которые вы почему-то еще верите

В этой статье эксперты SkillFactory опровергают расхожие мифы о профессии программиста и подсказывают, что делать дальше.

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


Миф №1. Программирование – только для технарей

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

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

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


Миф №2. Слишком долго учиться

Курсы по программированию длятся от 6 до 24 месяцев, в зависимости от программы. Учеба в вузе отнимет у вас минимум 4 года, но при этом вы изучаете общеобразовательные предметы, вроде риторики, философии, психологии и этики. Не говоря уже о том, что программы в вузах могут устаревать…

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


Миф №3. Нужно много свободного времени на учебу, а работу потом найти сложно

Во-первых, давайте зададимся вопросом: «много времени» – это сколько? 10 часов в неделю – это много или мало? А ведь именно столько времени нужно тратить на обучение новой профессии. Скорее всего эти же 10 часов вы проведете, залипая в ленте Фейсбука или Тиктока.

Во-вторых – со знанием Python сложно остаться без работы. Число вакансий растет с каждым годом: +127% с 2015 года по данным HH.ru. На курсе «Fullstack-разработчик на Python» в SkillFactory вас не только научат программировать, но и помогут найти работу. Начиная с первых недель обучения, ментор поможет определить карьерные цели и не сойти с намеченного пути, а карьерный центр подскажет, как оформить резюме и попасть на собеседования.


Миф №4. Программирование – только для мальчиков

Самый неприятный миф в этой статье. Да, сейчас среди программистов мужчин больше, чем женщин, но если бы этот миф был правдой, то мир никогда бы не узнал о Мариссе Майер (экс-директор Yahoo!), Адель Голдберг (разработала язык программирования Smalltalk), Катарине Фейк (основала фотохостинг Flickr) и других крутых женщинах-программистах.

Если все действительно не так страшно, то куда идти учиться?

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

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

***

С 17 по 30 ноября действуют скидки от 50% на все курсы онлайн-школы SkillFactory. Окончив онлайн-программу, вы сможете сразу же начать работать – это самый безопасный способ войти в сферу IT, не тратя несколько лет на учёбу, но при этом получив все базовые знания. Выгодно используя распродажу сейчас, вы инвестируете в своё будущее.

И кажется, что это одна из самых грамотных инвестиций в свое будущее.

23
Ноя
2020

👨‍🎓️🛠Образование влияет на зарплату QA-инженера: обзор ресурсов для обучения

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

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

Если вы решили подойти к карьере инженера QA серьезно, на ваших полках обязательно появятся следующие книги:

  1. Роман Савин, «Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах» – книга о тестировании ПО для начинающих. В ней доступно описана суть процесса выявления багов. Какие-то части книги могли устареть, но фундаментальные вещи и американский опыт поданы легко и понятно.
  2. Канер Сэм, Фолк Джек, Нгуен Енг Кек, «Тестирование программного обеспечения». QA-инженеры называют эту книгу библией тестировщика. Язык сложноват для новичка, но это объемный и охватывающий все концепции тестирования труд. Читать сложно, зато основы разложены по полочкам с примерами кейсов от реальных компаний.
  3. Стив Круг, «Не заставляйте меня думать» – понятно и обоснованно о принципах работы с интерфейсом, о вариантах создания «чистого» дизайна.
  4. Борис Бейзер, «Тестирование черного ящика. Технологии функционального тестирования программного обеспечения» – общепризнанный труд по поведенческому тестированию. В нем занудно, научно и методично расписаны все базовые техники тестирования.
  5. Ajay Balamurugadas, Sundaresan Krishnaswami, “Mobile Testing: Ready Reckoner” – все о тестировании мобильных приложений от практиков. Сборник полон скриншотов и инструкций, он погружает читателя в мир мобильного ПО. Перевода на русский нет, но мы помним, как важен для тестировщика английский язык.

Другие рекомендованные книги по тестированию ПО можно найти на нашем сайте.


Для тех, кто не очень любит читать и предпочитает слушать, есть отличная альтернатива сериалам:

  1. Курсы на youtube от Сергея Гливинского и его “QA Start UP – IT Training Center” – отличный вариант для прокачки скиллов в формате видео. Каждый урок – отдельная серия.
  2. Видеокурс по основам тестирования на https://itvdn.com/ru. 15 лекций расскажут основы профессии. Качество курса не на высоте, но именно поэтому его предоставляют бесплатно, а отделить зерна от плевел слушателю предстоит самостоятельно.
  3. Andy Key – «Курсы Тестировщиков Онлайн» – начинающий блогер делится мнением о тонкостях работы инженера QA.

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

  1. Курс «Тестирование ПО для начинающих» от Udemy.com. За 6,5 часов вы получите знания о жизненном цикле проекта, методологиях разработки и типах тестирования. Узнаете, как создать баг-репорт или чек-лист. В конце вас ждет несколько упражнений для тренировки навыков тестировщика.
  2. Курс «Основы тестирования» от IMBA – это 7 тематических модулей, 48 уроков и 34 задания, в том числе занятие по поиску клиентов. Уже во время обучения можно попробовать свои силы на фрилансе.
  3. Онлайн-университет Нетология предлагает освоить профессию и даже защитить диплом, а лучших выпускников ждут на собеседовании в «Альфа Банке»!
  4. Факультет тестирования ПО GeekBrains предлагает обучение профессии с нуля. Вас ожидает общение с экспертами, практика с наставниками, стажировка в GeekBrains и компаниях-партнерах, которые приглашают выпускников на работу. На факультете есть два направления: тестировщик ПО и тестирование мобильных приложений, при этом совсем не обязательно выбирать что-то одно.

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

22
Ноя
2020

👨‍🎓️📈Как выбрать специализацию и начать обучение Data Science

Рассказываем об этапах обучения, которые необходимо пройти новичку для начала карьеры в Data Science. Путь от выбора специализации до выработки практических навыков будет непростым.

О необходимых специалисту по анализу данных ресурсах мы писали в статьях «Data Science с нуля: обзор книг и видеокурсов для начинающих» и «10 навыков, необходимых в профессии Data Scientist». Сегодня подробнее расскажем о необходимых для овладения профессией Data Scientist этапах.

Выберите специализацию

<a href="https://i2.wp.com/blog.udacity.com/wp-content/uploads/2014/11/Data-Science-Skills-Udacity-Matrix.png?zoom=1.25&amp;resize=640%2C521&amp;ssl=1" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

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

Об основных специализациях и обязанностях Data Scientist мы подробно рассказали в статье «Data Science и Big Data: сходства и различия».

Выберите инструменты и язык программирования

<a href="https://revolution-computing.typepad.com/.a/6a010534b1db25970b01b7c926d776970b-800wi" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Судя по описаниям вакансий, наиболее фундаментальными навыками и инструментами науки о данных являются следующие:

  • Программирование на Python или R (выбору языка посвящена статья «От “R против Python” к “R и Python”»);
  • Владение популярными инструментами для задач Data science. Если вы выбрали Python, придется изучить такие библиотеки, как Pandas, NumPy, Matplotlib или Plotly и scikit-learn;
  • Очистка и предобработка (data engineering), анализ и визуализация данных;
  • Написание SQL-запросов;
  • Основы статистики и прикладной математики;
  • Навыки машинного обучения и моделирования;
  • Тонкости рабочего процесса и навыки совместной работы (Git, командная строка/bash и т. д.).

Пройдите курсы

<a href="https://i.pinimg.com/originals/58/2d/ab/582dabc4a3bf8e09fdf2c8f69f5c1a2f.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

Статистика и математика:

Курсы Python:

Курсы R:

SQL

Предобработка данных

Алгоритмы:

Применяйте знания на практике

<a href="https://miro.medium.com/max/640/0*ftOal7fKVCNtJr4N.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

Другой способ закрепить полученные знания – участие в конкурсах, соревнованиях (например, Kaggle) и хакатонах по Data Science. Освоение технологий машинного обучения, нейронных сетей, распознавания образов и других передовых методов имеет значение, но большая часть работы над проектом заключается в очистке и подготовке данных к анализу. Участие в соревнованиях позволит закрепить навыки работы с различными типами данных и подготовиться к реальным проектам.

Присоединитесь к сообществу Data Science

<a href="https://image.slidesharecdn.com/alexeynatekin-171122132352/95/open-data-science-beyond-traditional-scientific-communities-by-alexey-natekin-1-638.jpg?cb=1511357048" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

Несколько примеров посвященных Data Science комьюнити, в которые стоит вступить:

Развивайте коммуникативные навыки

<a href="https://blog.vantagecircle.com/content/images/2019/04/7-Reasons-Why-Internal-Communication-is-Important-in-the-Workplace.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Умение донести идею – один из самых важных soft skills в профессии Data Scientist. Чтобы эффективно делиться идеями с коллегами или доказывать свою точку зрения на собраниях, вы должны знать, как донести сложные концепции до широкой аудитории. Это особенно важно в бизнес-сфере, где заказчики проекта могут не владеть техническими навыками и терминологией. Для презентации результатов потребуется умение донести идею простым языком.

Если вам сложно передавать сложные концепции, стоит сделать следующее:

  • Попытайтесь научить менее технически подкованных друзей базовым концепциям науки о данных. Обучая других, вы будете учиться сами;
  • Участвуя в хакатонах и митапах по Data Science, тренируйтесь задавать правильные вопросы и презентовать результаты проектов;
  • Используйте GitHub для размещения проектов и обмена идеями;
  • Будьте активны в сообществах Data Science, задавайте вопросы и оставляйте комментарии.

Не переставайте учиться

<a href="https://www.valamis.com/documents/10197/783138/life-long-learning.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Работа в Data Science требует постоянного изучения новых технологий и методов работы с данными. Наиболее полезными источниками актуальной информации являются блоги и посты в социальных сетях (обратите внимание на лидеров комьюнити Data Science в LinkedIn), которые ведут влиятельные специалисты. Они постоянно публикуют посты о последних веяниях в этой области, своем опыте, достижениях и ошибках на карьерном пути. Уделяйте время прочтению новостей каждый день.

Найдите наставника

<a href="https://content.thriveglobal.com/wp-content/uploads/2019/05/Top-7-qualities-of-the-best-mentors-in-a-business.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

Составьте резюме и подготовьтесь к собеседованию

<a href="https://business.caw.ac.uk/wp-content/uploads/2020/03/How-to-Write-a-CV-Blog-Facebook-Image.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

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

Вы можете создать свое уникальное резюме с нуля, но проще использовать стандартные шаблоны. Несколько примеров c бесплатным доступом: Creddle, VisualCV, CVMKR и SlashCV.

После поиска вакансий и отправки резюме, основательно подготовьтесь к собеседованию. В статьях «Профессия Data Scientist и 20 вопросов на собеседовании» и «Собеседование для Data Scientists: вопросы и ответы» мы рассказали, какие подводные камни будут ждать вас на этом этапе.

Заключение

Популярность Data Science продолжает расти, а навыки работы в этой сфере остаются одними из самых востребованных у работодателей. Если вы только начинаете путь в профессии, стоит обратить внимание на курс Факультета Искусственного интеллекта онлайн-академии GeekBrains.

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

19
Ноя
2020

👨‍🎓️👨‍🔧️50 терминов DevOps: словарь инженера

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

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

Совместно с Факультетом DevOps онлайн-университета GeekBrains мы составили список из 50 терминов, часто употребляемых специалистами в работе.

***

Словарь DevOps

A

Agent

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

Agile

(Гибкая разработка программного обеспечения)

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

Amazon AWS

(Amazon Web Services)

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

Apache

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

API

(Программный интерфейс приложения)

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

Artifact

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

B

Bastion host

(Узел-бастион)

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

Black Box Testing

(Тестирование по стратегии «черного ящика»)

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

Branching

(Разветвление)

Существует для разделения основного кода на пути развития (ветки) в системе управления версиями (например Git). Каждая ветка может содержать собственную модификацию основного кода.

Build Agent

(Агент сборки)

Тип агента, который используется в непрерывной интеграции и отправляет/получает сообщения об обработке сборки ПО.

Build Artifact

(Артефакты сборки)

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

Build Automation

(Автоматизация сборки)

Автоматизация сборки ПО и связанных с ней процессов (компиляция исходного кода в двоичный, упаковка двоичного кода и выполнение автоматических тестов).

C

Canary Release

(«Канареечный релиз»)

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

Capacity Test

(Тест емкости)

Определяет количество пользователей, которое может обработать компьютер, сервер или приложение при максимальной производительности.

Commit

Операция, которая сохраняет последние изменения исходного кода в репозитории (например, Git).

Configuration Management

(Управление конфигурацией)

Дисциплина постоянного мониторинга и поддержания согласованных настроек системы с помощью инструментов для автоматизации ИТ-инфраструктуры (например, Chef, Puppet, Kubernetes, Ansible).

Container

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

Containers-as-a-Service (CaaS)

(Контейнеры как услуга)

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

Continuous Delivery (CD)

(Непрерывная доставка)

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

Continuous Integration (CI)

(Непрерывная интеграция)

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

Cluster

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

D

Deployment

(Развертывание)

Термин, который объединяет все связанные с запуском нового ПО процессы: установку, настройку, запуск и тестирование.

DevOps

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

DevSecOps

(Операции по обеспечению безопасности доставки)

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

E

Exploratory Testing

(Исследовательское тестирование)

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

F

Fail Fast

(«Быстрый провал»)

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

G

Google Cloud Platform

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

H

Hybrid Cloud

(Гибридное облако)

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

I

Integration Testing

(Интеграционное тестирование)

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

K

Kanban

Инструмент организации производства, который является частью agile-философии и позволяет реализовывать принцип «точно и в срок». Достичь необходимого результата можно с помощью визуализации (виртуальной или реальной доски, на которую прикрепляются стикеры или карточки).

L

Lead Time

(«Время производственного цикла»)

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

M

Machine Learning (ML)

(Машинное обучение)

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

Microservices Architecture

(Микросервисная архитектура)

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

Microsoft Azure

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

N

Nginx

HTTP-сервер. ПО с открытым кодом, совместимое с UNIX-системами. Области его применения – от кэширования HTTP до создания инвертированного прокси-сервера.

O

Open Source

(Открытое программное обеспечение)

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

P

Pair Programming

(Парное программирование)

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

Platform-as-a-Service (PaaS)

(Платформа как услуга)

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

Production

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

R

Rollback

(Откат)

Автоматическая или ручная операция возврата продукта или приложения к предыдущей версии.

S

Self-Service Deployment

(Самостоятельное развертывание)

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

Software-as-a-Service (SaaS)

(Программное обеспечение как услуга)

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

Staging Environment

(Промежуточная среда)

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

T

Test Automation

(Автоматизация тестирования)

Использование отдельного ПО для тестирования. Этапы: запуск, инициализация, выполнение, анализ и автоматическая выдача результата. Используется для контроля выполнения тестов и сравнения фактических результатов с прогнозируемыми.

Technical Debt

(Технический долг)

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

U

User Acceptance Testing (UAT)

(Пользовательское приемочное тестирование)

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

Unit Testing

(Модульное тестирование)

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

V

Virtual Machine (VM)

(Виртуальная машина)

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

W

Waterfall

(Модель «Водопад»)

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

White Box Testing

(Тестирование по стратегии «белого ящика»)

Метод функционального тестирования внутренней структуры, дизайна и кода ПО. Отличается от тестирования по стратегии «черного ящика» тем, что исходный код виден тестировщику.

Выводы

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

18
Ноя
2020

🥇👨‍🎓️📈Хакатоны и соревнования для специалистов по Data Science

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

В статье «Научиться Data Science онлайн» мы рассказали, как овладеть стать специалистам по анализу данных с нуля. В подготовленной при поддержке Факультета Искусственного интеллекта онлайн-университета GeekBrains публикации мы собрали все ближайшие хакатоны и соревнования, которые помогут освоить навыки Data Scientist на практике.

Хакатоны

<a href="https://latimeshighschool.files.wordpress.com/2020/08/bytes-of-tech.png" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Хакатон FIT-M 2020

Когда: c 16 по 18 декабря 2020 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: русский

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

Подробнее: https://fit-m.org/hack

Hack Life

Когда: c 21 по 22 декабря 2020 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: русский

Призовой фонд: 100000 рублей

Самое интересное: хакатон для начинающих аналитиков, посвященный комфортной городской среде.

Подробнее: https://hacklife.fun/

SharkHacks

Когда: c 4 по 6 декабря 2020 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

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

Подробнее: https://organize.mlh.io/participants/events/6046-sharkhacks

TechTogether New York 2020

Когда: c 4 по 6 декабря 2020 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: открытый хакатон для всех, кто интересуется STEM – от новичков до опытных хакеров.

Подробнее: https://newyork.techtogether.io/

Who Done It Hacks?

Когда: c 11 по 13 декабря 2020 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: хакатон в стиле Шерлока Холмса, во время которого вам предстоит следовать подсказкам для разгадки тайн.

Подробнее:https://organize.mlh.io/participants/events/6047-who-done-it-hacks

Hack Off

Когда: c 12 по 13 декабря 2020 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: 48-часовой хакатон на темы Data Science, AI, OIT, robotics, blockchain, AR и VR, open innovations.

Подробнее: https://www.hackoff.tech/

RoseHack

Когда: c 16 по 17 января 2021 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

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

Подробнее: https://rosehack.com/

HoyaHacks

Когда: c 29 по 31 января 2021 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

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

Подробнее: http://hoyahacks.georgetown.domains/

Hacklytics

Когда: c 5 по 7 февраля 2021 г.

Где: онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: хакатон на тему “Building a Data-Driven World” для студентов и специалистов Data Science.

Подробнее: https://hacklytics.io/

Соревнования

<a href="https://mysterium.network/wp-content/uploads/2019/10/Artboard-7-100.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Riiid! Answer Correctness Prediction

Дедлайн для регистрации команд: 31 декабря 2020 г.

Дата окончания: 7 января 2021 г.

Призы: 1 место – $50 000 , 2 место – $30 000, 3 место – $10 000, 4 и 5 место – $5 000. Команды-победители также будут приглашены представить свои модели на семинаре AAAI-2021 по образованию в области искусственного интеллекта (Imaginating Post-COVID Education with AI).

В этом конкурсе ваша задача создать алгоритмы для “Knowledge Tracing”, моделирования знаний студентов. Цель состоит в том, чтобы точно предсказать, как студенты будут действовать в определенных ситуациях. Для решения задачи нужно будет совместить навыки в области машинного обучения с данными EdNet Riiid.

Подробнее: https://www.kaggle.com/c/riiid-test-answer-prediction

NFL Big Data Bowl 2021

Дедлайн для регистрации команд: 7 января 2021 г.

Дата окончания: 7 января 2021 г.

Призы: 1-5 место – $15 000. Победители соревнования представят свои результаты в NLF, где одна команда сможет выиграть дополнительные 10 000 долларов.

В этом соревновании используется NFL’s Next Gen Stats data, которая включает в себя позицию и скорость каждого игрока на поле. Вам предстоит использовать данные игроков для всех выпадающих пасов регулярного сезона 2018 года. Цель соревнования – определить уникальные и эффективные подходы к измерению защитных стратегий этих игр.

Подробнее: https://www.kaggle.com/c/nfl-big-data-bowl-2021

Rock, Paper, Scissors

Дедлайн для регистрации команд: 1 февраля 2021 г.

Дата окончания: 8 февраля 2021 г.

Призы: мерч Kaggle достанется пяти лучшим проектам соревнования.

В этом соревновании-симуляторе вы создадите AI, который сможет играть против других в раундах Rock, Paper, Scissors. Сможете ли вы найти закономерности, чтобы выигрывать чаще? Можно ли значительно превзойти случайного игрока, когда в матчах участвуют неслучайные агенты?

Подробнее: https://www.kaggle.com/c/rock-paper-scissors

Predict Future Sales

Дата окончания: декабрь 2020 г.

Заключительный проект курса “How to win a data science competition”. В конкурсе вы будете работать со сложным набором временных рядов, состоящим из ежедневных данных о продажах 1C Company. Вам предстоит спрогнозировать общий объем продаж для каждого продукта и магазина в следующем месяце.

Подробнее: https://www.kaggle.com/c/competitive-data-science-predict-future-sales/overview

INGV – Volcanic Eruption Prediction

Дедлайн для регистрации команд: 30 декабря 2020 г.

Дата окончания: 30 декабря 2020 г.

Призы: мерч Kaggle достанется трем лучшим проектам соревнования.

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

Подробнее: https://www.kaggle.com/c/predict-volcanic-eruptions-ingv-oe

House Prices: Advanced Regression Techniques

Дата окончания: неизвестно

Это соревнование подходит имеющим опыт программирования на R или Python и знакомым с основами машинного обучения студентам, которые хотят расширить навыки перед участием в соревнованиях с денежными призами. С помощью 79 описывающих характеристики жилых домов в Эймсе (штат Айова, США) переменных участникам нужно предсказать окончательную цену каждого объекта. Практические навыки, которые вы сможете развить: Creative feature engineering и продвинутые методы регрессии, вроде random forest and gradient boosting.

Подробнее: https://www.kaggle.com/c/house-prices-advanced-regression-techniques

Digit Recognizer

Дата окончания: неизвестно

MNIST (“Modified National Institute of Standards and Technology”) — это “hello world” компьютерного зрения. В соревновании нужно правильно идентифицировать цифры из десятков тысяч рукописных изображений. Вам предстоит поэкспериментировать с различными алгоритмами, чтобы лучше понять их работу. Практические навыки, которые вы сможете развить: основы компьютерного зрения, включая простые нейронные сети, а также методы классификации, вроде SVM и K-nearest neighbors.

Подробнее: https://www.kaggle.com/c/digit-recognizer

I’m Something of a Painter Myself

Дата окончания: неизвестно

Призы: победители получат один из 3 призов “TPU Star” – 20 часов TPU в неделю на Kaggle в течение четырех недель.

GANs – генеративные состязательные сети, которые состоят их двух нейронных сетей: модели генератора и модели дискриминатора. Они будут работать друг против друга, причем генератор попытается обмануть дискриминатор, а дискриминатору нужно точно классифицировать реальные и сгенерированные изображения. Ваша задача – построить GANs, которые генерируют от 7000 до 10 000 изображений в стиле Моне.

Подробнее: https://www.kaggle.com/c/gan-getting-started

Contradictory, My Dear Watson

Дата окончания: неизвестно

Если у вас есть два предложения, одно может следовать из другого, противоречить ему, или они могут быть не связанными. Natural Language Inferencing (NLI) является одной из проблем NLP, которая заключается в определении связи между парой предложений. Задача соревнования — создать модель NLI, которая присваивает метки, соответствующие влечению, нейтральности и противоречию парам предпосылок и гипотез. Тренировочный и тестовый набор данных включают тексты на пятнадцати различных языках.

Подробнее: https://www.kaggle.com/c/contradictory-my-dear-watson

EMO 2021 HUAWEI Logistics Competition

Дата окончания: 1 марта 2021 г.

Призы: победители будут награждены денежными призами и трофеями, их также пригласят выступить с докладами на EMO 2021.

Соревнование от компании Huawei Technologies Ltd, посвященное оптимизации маршрутизации транспорта.

Подробнее: https://competitions.codalab.org/competitions/27329

***

Если вы только начинаете свой путь в Data Science, хотите получить диплом и помощь в трудоустройстве, стоит обратить внимание на курс Факультета Искусственного интеллекта онлайн-университета GeekBrains. Он включает основательную математическую подготовку, изучение программирования и статистического анализа, а также работу с базами данных реальных проектов.

14
Ноя
2020

🌎 🕵 Навыки OSINT(интернет-разведки) в кибербезопасности

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

OSINT (Open Source Intelligence) – сбор и анализ информации из публично доступных источников. В нынешних реалиях речь идет в основном про интернет-источники. От русскоязычных экспертов можно услышать термин «интернет-разведка», что по смыслу приравнивается к OSINT.

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

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

OSINT удобен тем, что:

  1. подразумевает гораздо меньше рисков: вы не нарушаете чью-то приватность и законы;
  2. дешевле – не нужно какое-то дополнительное оборудование и дорогой софт;
  3. к такой информации легко получить доступ (зайти в интернет), и чаще всего она всегда свежая.

Есть два основных метода сбора информации:

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

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

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

Важно понимать, что не всегда то, к чему вы можете с легкостью получить доступ, – легально.

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

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


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

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

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

1. Метаданные файлов.

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

2. Конфиденциальная документация.

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

3. Данные о домене.

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

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

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

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


Обучение OSINT для использования в информационной безопасности

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

Для погружения в тему и изучения отдельных аспектов стоит почитать следующие книги:

Развитие в OSINT делится примерно не следующие этапы:

1. Освоение базовых техник, вроде Google dorks (продвинутый поиск в Гугл). Для этого – читайте блоги специалистов или специализирующихся компаний. Например:

  • Hrazvedka – в разделе «Разведнет» можно найти подборки разных инструментов. Кроме этого в блоге собираются видео, статьи, книги, фильмы по теме на русском;
  • Sector035 – еженедельные подборки с новыми техниками и инструментами;
  • OSINT Curious – кроме блога у них есть вебкаст, куда приглашают гостей и обсуждают новости;
  • Aware Online;
  • значительная тусовка собрана в Твиттере: i-intelligence, Dutch OSINT Guy, Henk van Ess. В этой подборке можно найти и других деятелей, на которых будет интересно подписаться.

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

Необходимые для разведки инструменты есть в подборках:

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

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

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

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

4. Изучайте более продвинутые инструменты, для которых необходимо знание:

  • Kali Linux. Есть много инструментов OSINT, которые работают только на этой операционной системе.
  • Python – работа с некоторыми инструментами требует знания синтаксиса языка.

5. Пробуйте самостоятельно писать на Python автоматизирующие инструменты по сбору и анализу информации.


Инструменты OSINT в информационной безопасности

1. Shodan – поисковик по устройствам, подключенным к сети (в т.ч. интернет вещей и веб-приложения). Раздел «Explore» поможет начать поиски, так как туда собираются запросы пользователей. Чтобы получить доступ к расширенному поиску, надо зарегистрироваться. В платных версиях у вас будет доступ к большему количеству устройств, а также неограниченное количество поисковых запросов в сутки. Руководство по Shodan на русском (ссылка для скачивания).

2. MaltegoMaltego – ПО, которое собирает все данные вместе, помогает увидеть взаимосвязи и сделать выводы. Результат визуализируется в виде дерева, собирающего в единую систему IP-адреса, е-мейлы, телефоны, домены и т.д. Есть три версии клиента, но большинству специалистов будет достаточно бесплатной. Туториалы по Мальтего: на русском и английском (они разные).

3. Google Dorks – это запросы в Гугл с использованием специальных операторов. Вы наверняка слышали, что для поиска точного словосочетания нужно поставить слова в кавычки, а чтобы исключить какое-то слово из выдачи, необходимо поставить перед ним «-». Это как раз про Гугл доркинг. Здесь вы найдете базовые операторы, а здесь – огромное количество дорков для поиска уязвимостей.

4. Foca – программа, которая помогает с выгрузкой, классификацией и анализом файлов на удаленном веб-сервере. Для этого она сканирует определенный домен с помощью поисковиков Google, Bing, DuckDuckGo. ПО бесплатное и быстро устанавливается. В этом материале можно найти небольшую инструкцию, как пользоваться программой.

5. Spyse – поисковик по технической информации веб-сайтов. С его помощью вы найдете разнообразные данные, вроде уязвимостей, IP-адресов, субдоменов и SSL/TLS.

Заключение

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

***

Чтобы начать использовать базовый OSINT, достаточно на пару дней погрузиться в книги и туториалы по теме. Если же вы планируете выйти на более продвинутый уровень, скорее всего понадобятся курсы по информационной безопасности и помощь наставников. Например, на Факультете информационной безопасности образовательного портала GeekBrains вы сможете подробно изучить работу с Linux и Python. Также портал дает возможность полностью освоить профессию на практический кейсах.

13
Ноя
2020

🐛 🛠 Изучаем инструменты тестировщика

Работа инженера QA требует внимательности при решении множества рутинных задач. Специальные инструменты позволяют автоматизировать управление тестированием и уменьшить объем ручного труда.

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

Управление тестированием

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

  • Jira (https://www.atlassian.com/ru/software/jira/guides) – решение для комфортной работы над проектами, отслеживания задач, совместной корректировки документов, планирования и наглядного проектирования.
  • Redmine (https://www.easyredmine.com/redmine-org/) позволяет контролировать проекты, отслеживать задачи, составлять контрольные списки дел, строить диаграммы и графики. Есть бесплатная пробная версия.
  • TestRail (https://www.gurock.com/testrail/) – решение, созданное специально для команд QA. Оно позволяет управлять тестовыми примерами, планами и запусками, а также получать информацию о ходе тестирования в режиме реального времени. С помощью TestRail можно настроить интеграцию с трекерами проблем.

Скриншоты и работа с ними

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

  • Snagit (https://www.techsmith.com/screen-capture.html) содержит все лучшее из возможного. Приложение вырезает скриншоты, записывает видео и аудио, работает с веб-камерой, создает gif, рисует, пересылает. Есть бесплатная пробная версия.
  • Recordit API (http://help.recordit.co/api/) создает видео и отправляет сразу в приложение, а еще одним кликом превращает его в gif.
  • Monosnap (https://monosnap.com/welcome) редактирует скриншоты, выделает детали, скрывает конфиденциальную информацию.
  • GreenShot (https://getgreenshot.org/) – свободное ПО для создания скриншотов на Windows. Легкий, гибкий и надежный инструмент.

Генераторы данных

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

  • Mockaroo.com (https://www.mockaroo.com/) может не только заполнить тестовые данные человека (имя, номер карты и прочее), но и генерирует SQL-запрос.
  • Bugmagnet (https://bugmagnet.org/) – плагин для Chrome и Firefox. После установки достаточно кликнуть правой кнопкой мыши и нажать название плагина: после этого можно выбирать из предложенных вариантов данных и добавлять свои.

Визуальное отображение и интеллект-карты

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

  • Coogle (https://coggle.it/) – бесплатное онлайн-приложение с простым интерфейсом и большим набором функций.
  • Xmind (https://www.xmind.net/) – кросс-платформенное приложение, доступное в бесплатной и в расширенной платной версиях. Большой его плюс – возможность работать с диаграммами Ганта.
  • Freemind (https://sourceforge.net/projects/freemind/) – бесплатное приложение для создания диаграмм связей с почти полным набором функций для работы. Отлично подойдет начинающим тестировщикам. Единственный минус – устаревший дизайн.

Чек-листы

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

  • Testpad (https://ontestpad.com/) – инструмент для составления плана тестирования и контроля с помощью списков. Комфортный и гибкий в работе.
  • Sitechсo (https://sitechco.ru/) – онлайн-сервис для ведения чек-листов, позволяющий хранить результаты, просматривать отчеты и статистику. Большое достоинство Sitechсo – возможность интеграции с Jira Cloud.
  • Teamsuccess (https://teamsuccess.io) – сервис, в котором перечислены некоторые проверки, которые пригодятся при тестировании и помогут структурировать идею. По аналогии существуют целые базы базы чек-листов, их иногда удобно использовать в работе.

Валидаторы HTML/CSS

Валидатор анализирует данные по URL приложения. Он проверяет правильность разметки веб-документов в HTML, совместимость с мобильными устройствами, работоспособность ссылок и многое другое:

  • World Wide Web (http://validator.w3.org/) создали валидатор, в котором тремя способами можно проверить приложение, найти неработающие alt- параметры и линки.
  • Плагины для браузеров, которые можно скачать в большом количестве по запросу “плагин валидации” и выбрать любой подходящий.
***

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

10
Ноя
2020

📈 🧠 💰 Станьте экспертом по машинному обучению с нуля и бесплатно!

Полное руководство, как освоить машинное обучение (ML) и технологии искусственного интеллекта (AI), не обладая каким-либо опытом в этой области.

Полное руководство о том, как начат…

07
Ноя
2020

🐍 16 мобильных приложений для начинающих изучение Python

Сейчас сложно представить себе жизнь и учебу без смартфонов и мобильных приложений. Мы собрали 16 приложений для iOS и Android, которые помогут в изучении Python.

Приложения для изучения Python на Android и iOS

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

Learn Python (Programminghub)

<span>Programminghub</span>
Programminghub

Programminghub предлагает пошаговое обучение из небольших уроков на английском языке. Каждое занятие длится не больше 5 минут и заканчивается небольшим контрольным тестом. Присутствует интерпретатор для выполнения кода на python прямо в приложении. Программа подойдет для владеющих английским языком новичков.

<span>Programminghub</span>
Programminghub

Устройства: iOS и Android

Оценка в магазине: Google Play 4.7

Язык: английский

Цена: бесплатно, pro версия 499 руб.

Учим Python SoloLearn

<span>SoloLearn</span>
SoloLearn

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

Устройства: iOS и Android

Оценка в магазине: Google Play 4.4, App Store 4.8

Язык: русский, английский, испанский

Цена: бесплатно

Python Code Play

<span>Python Code Play</span>
Python Code Play

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

Устройства: Android

Оценка в магазине: Google Play 4.7

Язык: английский

Цена: бесплатно, присутствует реклама

Programiz

<span>Programiz</span>
Programiz

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

Устройства: iOS и Android

Оценка в магазине: Google Play 4.4, App Store 4.6

Язык: английский

Цена: бесплатно, pro-версия 219 руб./месяц, в бесплатной версии присутствует реклама

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

IDE

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

Pydroid 3

<span>Pydroid 3</span>
Pydroid 3

Поддерживает последнюю версию интерпретатора Python 3.8, расширенные библиотеки NumPy, SciPy и matplotlib для анализа данных. Для машинного обучения есть поддержка Scikit Learn и TensorFlow. Для разработки на основе графического интерфейса можно импортировать Tkinter. Интерфейс на чистом английском, но он интуитивно понятен и содержит множество подсказок, подсветку синтаксиса и другие фишки, облегчающие написание кода.

Платформа: Android

Оценка в магазине: 4.4

Цена: бесплатно, обновление 599 руб.

QPython 3L

<span>QPython 3L</span>
QPython 3L

Еще один эффективный и удобный редактор кода для Android. Есть поддержка библиотеки QPYI и SL4A. Интерпретатор Python работает в автономном режиме, при запуске не требуется подключение к Интернету. В комплект поставки входит подробная документация.

Платформа: Android

Оценка в магазине: 4.0

Цена: бесплатно

Acode

<span>Acode</span>
Acode

Acode – простая и легкая IDE для Andriod. Это приложение не ориентировано исключительно на Python, но поддерживает несколько языков. Без рекламы вы сможете разработать код на Python или создать шаблон с помощью HTML, CSS и JavaScript. В отличие от QPython и Pydroid 3, интерфейс программы локализован.

Платформа: Android

Оценка в магазине: 4.6

Цена: бесплатно

Carnets

<span>Carnets</span>
Carnets

Позволяет писать небольшие Python-программы на iPhone и просматривать на экране результаты их работы, комбинируя код и абзацы текста с разметкой Markdown. Имеет автономный интерпретатор Python, а также предварительно установлены пакеты Numpy, Sympy, Matplotlib, Pandas, lxml, bokeh. Чтобы увидеть полный список пакетов, введите «% pip list» в окне кода, а установить дополнительные можно, используя «% pip install packageName».

Платформа: iOS

Оценка в магазине: 4.2

Цена: бесплатно

Pythonista

<span>Pythonista</span>
Pythonista

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

Платформа: iOS

Оценка в магазине: 4.6

Цена: 899 руб.

Pyto

<span>Pyto</span>
Pyto

Pyto является самой популярной бесплатной IDE для Python в App Store. Приложение поддерживает Python 3.8 для iPad и iPhone, и позволяет запускать код прямо на мобильном устройстве. Вы сможете устанавливать чистые модули Python и запускать сценарии с помощью ярлыков Siri. Поставляется с Numpy, Matplotlib, Pandas, Pillow, SciPy и другими библиотеками.

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

Платформа: iOS

Оценка в магазине: 4.6

Цена: бесплатно

В качестве IDE под Android для серьезных проектов стоит выбрать Pydroid 3, а для небольших тестов и лабораторных работ вполне подойдет Acode. Под iOS хорошо себя зарекомендовала Pyto.

Учебники

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

Python Documentation

<span>Python Documentation</span>
Python Documentation

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

Устройства: Android

Оценка в магазине: Google Play 4.5

Язык: английский

Цена: бесплатно, присутствует реклама

Учим PYTHON

<span>Учим PYTHON</span>
Учим PYTHON

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

Устройства: Android

Оценка в магазине: Google Play 4.8

Язык: русский

Цена: бесплатно

Python. Задачи и примеры

<span>Python. Задачи и примеры</span>
Python. Задачи и примеры

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

Устройства: Android

Оценка в магазине: Google Play 4.2

Язык: русский, английский

Цена: бесплатно, присутствует реклама, premium версия 59 руб.

Программирование игр, создание с нуля (Python) 1,2

<span>Программирование игр, создание с нуля (Python) 1</span>
Программирование игр, создание с нуля (Python) 1

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

Устройства: Android

Оценка в магазине: Google Play 4.9

Язык: русский, английский

Цена: бесплатно, пожертвование в размере 109 руб.

Python Рецепты

<span>Python Рецепты</span>
Python Рецепты

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

Устройства: Android

Оценка в магазине: Google Play 4.4

Язык: русский, анлийский, немецкий, французский и др.

Цена: бесплатно, полная версия 75 руб.

Python для чайников

<span>Python для чайников</span>
Python для чайников

Простой и понятный самоучитель на русском языке. Написан с юмором.

Устройства: Android

Оценка в магазине: Google Play 4.7

Язык: русский

Цена: бесплатно, есть реклама

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

Что лучше выбрать для изучения Python?

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

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

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

***

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

05
Ноя
2020

📖 Как следовать за Big Data: обзор книг и блогов по большим данным

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

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

Блоги и ресурсы

<a href="https://www.elegantthemes.com/blog/marketing/things-all-successful-blogs-have-in-common" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

На русском

Open Data Science

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

MachineLearning.ru

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

Хабрахабр Big Data

Блог про большие данные и машинное обучение от сообщества российских ИТ-специалистов.

Школа Big Data Blog

Раздел, в котором публикуются статьи и новости о технологиях Big Data, Machine Learning и Data Science, администрировании распределенных кластеров Hadoop, NoSQL, Kafka, Spark, а также реальные истории и лучшие практики их прикладного использования в российских и зарубежных компаниях.

На английском

Data Mania

Блог Лилиан Пирсон, цель которого – сделать обучение на основе данных доступным и интересным. Здесь опубликовано более 140 статей по темам науки о данных, больших данных и аналитики. Подойдет для новичков и начинающих специалистов.

Revolutions

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

Stack Overflow Big Data

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

Fast Forward Labs

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

Women in Big Data

Форум и сборник мероприятий в сфере больших данных для женщин.

Datameer

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

Rocket-Powered Data Science

Блог Керка Борна, главного научного сотрудника по анализу данных в Booz Allen Hamilton. Борн входит в топ-20 влиятельных лиц в мире Big Data по версии Onalytica.

Think Big Analytics

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

Planet Big Data

Агрегатор статей из ведущих блогов по Data Science. Охватывает такие ресурсы, как Simplified Analytics, Revolution Analytics, BrightPlanet и Big Data University.

Shape of Data

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

Inside Big Data

Блог компании, возглавляемой Ричом Брюкнером – одним из 20 ведущих авторитетов журнала Forbes. Множество ресурсов на темы больших данных в промышленном масштабе, науки о данных, искусственного интеллекта, машинного обучение и Deep Learning.

IBM Big Data & Analytics Hub

Блог IBM, в котором вы сможете найти различные ресурсы и статей, начиная с аналитики и заканчивая фондами IBM Watson. Рекомендуем обратить внимание на раздел «Big Data & Analytics Heroes», посвященный влиятельным лицам в отрасли.

Книги

<a href="https://www.blogtyrant.com/how-to-write-more/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

На русском

«Теоретический минимум по Big Data. Всё что нужно знать о больших данных» от Су Кеннет и Анналин Ын

<a href="https://www.ozon.ru/context/detail/id/147398870/#section-description--offset-80" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

«Большие данные. Принципы и практика построения масштабируемых систем обработки данных в реальном времени» от Натана Марц и Джеймса Уоррена

<a href="https://www.ozon.ru/context/detail/id/147672544/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Книга рассчитана на читателей, стремящихся освоить принципы построения систем больших данных и внедрить их на практике. В этой книге представлены теоретические основы организации систем больших данных и поясняется, каким образом они воплощаются на практике с помощью таких инструментов как Hadoop, Cassandra и Storm. Для чтения этой книги не потребуются знания анализа данных или NoSQL, но полезно иметь представление о традиционных базах данных.

«Большие данные. Революция, которая изменит то, как мы живем, работаем и мыслим» от Виктора Майер-Шенбергера

<a href="https://www.ozon.ru/context/detail/id/24323469/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

«Работа с BigData в облаках. Обработка и хранение данных с примерами» из Microsoft Azure от Александра Сенько

<a href="https://www.ozon.ru/product/tsifrovaya-kniga-rabota-s-bigdata-v-oblakah-obrabotka-i-hranenie-dannyh-s-primerami-iz-172532583/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

«BIG DATA. Вся технология в одной книге» от Андреаса Вайгенда

<a href="https://www.ozon.ru/context/detail/id/146743323/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Книга одного из ведущих мировых экспертов по будущему Big Data, директора компании Social Data Lab и лектора ИТ-школы Калифорнийского университета Беркли.

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

На английском

«The Ultimate Introduction to Big Data» от Френка Кане

<a href="https://www.manning.com/livevideo/the-ultimate-introduction-to-big-data" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Введение в Big Data, которое обеспечит глубокое понимание приложений для обработки данных в Hadoop и построенных на нем распределенных системах. Онлайн-версия книги также содержит видео и большое количество практических упражнений. Читатели научатся выбирать подходящую технологию хранения данных для приложения, и узнают, как кластеры Hadoop управляются с помощью YARN, Tez, Mesos и подобных технологий. Также они научатся публиковать данные в кластере Hadoop с помощью Kafka, Sqoop и Flume.

«Managing Big Data Workflows for Dummies» от Джо Голдберга и Лилиан Пирсон

<a href="https://www.bmc.com/content/dam/bmc/migration/pdf/ManagingBigDataWorkflowsForDummies_BMC_SoftwareSpecialEdition.pdf" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

«Big Data at Work: Dispelling the Myths, Uncovering the Opportunities» от Томаса Дэвенпорта

<a href="https://www.oreilly.com/library/view/big-data-at/9781422168172/Davenport_Fm.html" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

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

«Too Big to Ignore: The Business Case for Big Data» от Фила Саймона

<a href="https://www.amazon.com/Too-Big-Ignore-Business-Wiley/dp/1119217849" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Книга для членов управленческой команды, которые хотят узнать о больших данных и прогнозной аналитике. В ней рассматривается множество примеров использования технологий Big Data компаниями и органами власти. Например GPS-трекеры/акселерометры, которые определяют рейтинги безопасности клиентов компании, или как в Google прогнозируют локальные вспышки гриппа по всплескам в поисковых запросах. Автор показывает, что большие данные – не только область потенциальных инноваций, но и важнейший фактор, который бизнесу нужно учитывать, чтобы выжить.

«Hadoop: The Definitive Guide, 4th Edition» от Тома Вайта

<a href="https://www.amazon.com/Hadoop-Definitive-Storage-Analysis-Internet/dp/1491901632" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

4-е издание популярной книги о Big Data для технической аудитории. В ней можно найти инструкции по созданию и обслуживанию распределенных систем параллельной обработки данных с помощью Apache Hadoop (HDFS, MapReduce и YARN). В книге также представлены интересные тематические исследования из сферы здравоохранения и генетики.

***

Если вы только начинаете свой путь в отрасли, мы рекомендуем обратить внимание на курс факультета аналитики Big Data онлайн-университета GeekBrainsy. Программа включает основательную математическую подготовку, изучение языка Python и получение навыков практической работы с базами данных. Также изучаются Hadoop и Apache Spark – востребованные инструменты для работы с большими данными. Курс ориентирован на применение машинного обучения в бизнесе и построен по принципам практической работы над проектами с ведущими специалистами отрасли и личным помощником-куратором.

04
Ноя
2020

✅ 10 советов начинающему инженеру QA

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

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

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

Совет № 1. Составьте план

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

Совет № 2. Выбирайте язык

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

Иллюстрация с pixabay.com
Иллюстрация с pixabay.com

Совет №3. Изучите кухню

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

Совет №4. Используйте интеллект-карты

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

Совет №5. Делите тестирование на части

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

Иллюстрация с pixabay.com
Иллюстрация с pixabay.com

Совет № 6. Собирайте базу кейсов

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

К примеру, два инженера QA тестируют расчет алиментов. Один проверил, как они заводятся в системе, как
начисляются, каковы варианты ведения данных в полях. Проверил и смоделировал выплату.

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

Какой результат будет более
объемным?

Совет № 7. Пишите понятно, подтверждайте красиво

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

Совет №8. Освойте отладочные меню и системы баг-трекинга

Обучение инженера QA включает работу с отладочными меню для облегчения тестирования. Системы баг-трекинга Jira, Redmine и Bugzilla помогают управлять процессом и координировать работу.

Совет № 9. Проводите стресс-тестирования

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

Иллюстрация с pixabay.com
Иллюстрация с pixabay.com

Совет № 10. Пройдите стажировку

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

Что стоит почитать для расширения кругозора:

· Гленфорд Майерс, Том Баджетт, Кори Сандлер «Искусство
тестирования программ»

· Тобиас Клейн «Дневник охотника за ошибками.
Путешествие через джунгли проблем безопасности программного обеспечения»

· Ron
Patton
«Software Testing»

· Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло «Как
тестируют в
Google»

· Кэти Сьерра и Берт Бейст «Изучаем Java»

· Линн Бейли «Изучаем SQL»

· Роман Савин.
«Тестирование Дот Ком, или Пособие по жестокому обращению с багами в
интернет-стартапах»

· Святослав Куликов «Тестирование программного
обеспечения. Базовый курс»

· Алан Купер «Психбольница в руках пациентов»

· Борис Бейзер «Тестирование черного ящика.
Технологии функционального тестирования программного обеспечения и систем»

· Константин Азарский «Тестирование. Легкий старт»

Где поучиться:

· Можно пройти стажировку в крупной ИТ-компании. Варианты нетрудно найти на hh.ru с
пометкой «без опыта». Чтобы получить должность, достаточно иметь базовые знания. Денег стажировка скорее всего не принесет, но
вы попадете в
профессиональную среду и при достаточной мотивации обеспечите себе карьерный рост.

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

***

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

03
Ноя
2020

👨‍🔧️ Зачем DevOps сисадмину и программисту?

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

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

Почему DevOps?

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

Разница все-таки есть: практики DevOps (Development Operations) сочетают разработку (Dev) и ИТ-операции (Ops) для обеспечения непрерывной поставки софта заказчикам. Навыки администрирования относятся к Ops – это лишь часть необходимого инженеру багажа, хотя и достаточная для старта в новой профессии. Не случайно многие девопсы вышли из сисадминов, а споры о различиях между профессиями не утихают годами. И те и другие делают, чтобы все работало, но в случае DevOps в квесте возникают дополнительные уровни сложности.

Иллюстрация с pixabay.com
Иллюстрация с pixabay.com

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

Освоивший практики DevOps программист перестает думать алгоритмами и кодом. Эволюция сисадмина идет другим путем, но сходным образом: где разработчики получают навыки администрирования, там администраторы нарабатывают скилы разработчиков. Это грубая и неточная формулировка, но суть дела она отражает. Когда Dev и Ops сходятся в одном человеке, наступает просветление. У программиста появляется навык работы с инфраструктурой и видение всего ландшафта, а понимание привязки приложения к местности позволяет ему писать более качественный код. Отошедший от сферы обслуживания в сторону создания платформы сисадмин учится объединять разрозненные ее части, т.е. создавать для компании новую ценность – интегрированный инфраструктурный продукт.

Как познать мудрость?

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

Иллюстрация с pixabay.com
Иллюстрация с pixabay.com

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

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

***

Чтобы сделать выбор, начать в любом случае стоит с профориентации. Компания OTUS проводит запись на бесплатный день открытых дверей к объемному онлайн-курсу по практикам и инструментам DevOps. Позже будет еще один предварительный вебинар по этой теме, но чтобы на него попасть, нужно пройти тестирование. Аналогичные мероприятие запланированы и для курса по Kubernetes. После регистрации все желающие смогут познакомиться с преподавателем и учебной программой на вебинаре, а прохождение теста позволит поучаствовать в бесплатном вводном онлайн-занятии. Успешно окончившие курс студенты смогут пройти сертификацию от CNCF: CKA и CKAD. Специально к ней не готовят, но встречающиеся на экзамене темы освещаются подробно.

02
Ноя
2020

👨‍🎓️ Кто есть кто в команде data science: путеводитель по профессии

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

Работая в области науки о данных, вы должны знать базовые вещи и выбрать одну из узких специализаций. Поскольку в data science нет их универсального понимания, сделать это будет непросто. Попробуем определить примерный круг направлений, на которые стоит ориентироваться. Знание предлагаемых рынком возможностей даст вам преимущество при трудоустройстве, поскольку для получения конкретной должности нужны определенные навыки.

Роли в команде

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

Основные, которые чаще всего можно встретить среди вакансий

1. Data architect.

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

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

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

Что нужно знать: SQL, noSQL, XML, Hive, Pig, Hadoop, Spark, машинное обучение, визуализацию, моделирование и хранение данных, а также ETL (extraction transformation and loan) и еще немного.

2. Data engineer.

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

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

Что нужно знать: потребуются продвинутые навыки программирования для работы с большими датасетами и построения каналов, по которым приходят данные. Технологии: SQL, noSQL, Hive, Pig, Matlab, SAS, Python, Java, Ruby, C++, Perl, популярные API и ETL-инструменты.

Перспективы: от джуна до главы дата-инженерии.

2. Data analyst.

Эта роль менее техническая, чем data scientist, хотя во многом они похожи и их часто путают.

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

Что нужно знать: математику и статистику, способы принятия решений на основе цифр, методы очистки (подготовки для анализа) и визуализации данных. Также потребуется средний уровень программирования на Python или R, средний уровень знания SQL-запросов, MS Excel, SAS, Tebleau и др.

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

3. Data scientist.

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

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

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

Название этой роли не просто так включает слово «science». Здесь есть процесс научных исследований – тестирование гипотез для получение практических знаний.

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

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

Перспективы: переход в роли ведущего дата-инженера или архитектора данных, инженера по машинному обучению, ведущего дата-сайентиста (chief data officer – главный по данным).

4. Machine Learning Engineer.

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

Типичные задачи: программные решения для автоматизации моделей ML; проектирование, разработка b тестирование ML-систем. Инженер по ML тренирует и впоследствии поддерживает модели машинного обучения.

Что нужно знать: требуется хорошее понимание статистики и математики. Технологический стек: Java, Python, JS, а также ML-фреймворки TensorFlow или Keras, и, разумеется, Hadoop или аналоги.

5. Business Intelligence (BI) Developer.

Основная задача BI-разработчиков – структурировать и представить полученные данные в понятном виде для менеджмента. Обычно они не занимаются анализом.

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

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

Что нужно знать: SQL, хранение данных, SSRS/SSAS/SSIS, ETL, Report Builder, Power BI, DAX, Tableau, дашборды, правила безопасности, языки программирования VB, C#, JavaScript и др.

Перспективы: BI-разработчик —> BI-аналитик —> BI-архитектор —> BI-менеджер.

6. Database administrator (DBA)

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

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

Что нужно знать: языки баз данных (чаще всего SQL, NoSQL), а также тот язык программирования, с которым работает компания. Базы данных от Oracle и Microsoft, облачные сервисы Microsoft Azure и Amazon Web Services.

Перспективы: менеджер компьютерных и информационных систем.

Лучше понять отличия между основными ролями в data science

Источник: <a href="https://www.youtube.com/watch?v=lDkTNURDIaY" target="_blank" rel="noopener noreferrer nofollow">Яндекс Академия</a>
Источник: Яндекс Академия
Источник: <a href="https://blog.udacity.com/2018/01/4-types-data-science-jobs.html" target="_blank" rel="noopener noreferrer nofollow">Udacity</a>
Источник: Udacity

Другие позиции в data science

ML research and development engineer

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

Data journalists

Преобразуют данные в захватывающие истории. Должны разбираться в статистике и уметь кодить.

Subject Matter Expert

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

Заключение

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

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

***

Есть и другой путь в data science. Если вы только начинаете осваивать профессию, пройдите онлайн-курсы Факультета Искусственного интеллекта онлайн-университета GeekBrains. Успешно их окончившим студентам выдают диплом о профессиональной переподготовке и помогают с трудоустройством.

31
Окт
2020

🍏 5 навыков, необходимых iOS-разработчику

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

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

1) Язык Swift

Изучить язык поможет книга Василия Усова “Основы разработки приложений под iOS, iPadOS и macOS” или абсолютный ее аналог – русскоязычный сайт Swiftbook. В разделе “Учебник” есть вся необходимая документация – это перевод руководства по Swift на английском языке. На официальном сайте Swift можно также найти методические рекомендации.
Чтобы усвоить материал, воспользуйтесь бесплатными видеоуроками на YouTube (одного руководства будет недостаточно). Необходимо применять теорию на практике с первых дней обучения, и в этом вам помогут русскоязычные youtube-каналы The Swift Developers, Alex Skutarenko, Школа iOS-разработчиков. Стоит также открыть англоязычный туториал Lets Build That App от Sean Allen или посмотреть курс Стэнфорда. В комментариях вы сами можете поделиться понравившимися каналами.

2) Lifecycle View Controller

Жизненный цикл View Controller – это начинающаяся с создания последовательность шагов. Приходит создание View Controller со storyboard (выставляем view, button) или из кода. Начинается цикл с момента, когда приложение запускается, и на экране появляется первый View Controller. Вторым шагом является инициализация. Нужен View Controller, чтобы все объекты были установлены. Подготовить его к появлению и, вероятно, исчезновению, на экране помогают методы инициализации.

Методы инициализации View Controller:

  • ViewDidLoad

Этот метод устанавливает outlets и prepare, и подходит для первоначальной установки MVC. Можно обновить View в соответствии с Model. Метод вызывается только один раз за все время существования View Controller. Исключения: нельзя помещать зависящие от размера экрана объекты во View Controller с этим методом инициализации. Не будет работать на других устройствах, так как не приспособлен к ним.

  • ViewWillAppear

Метод обновляет View каждый раз, когда мы заходим во View Controller. Он позволяет узнать, что изменилось во View, когда мы были вне его. Метод отправляется каждый раз перед появлением MVC на экране, независимо от того, сколько раз он уже появился до этого. Улавливает состояние Model в тот момент, когда мы находились вне View и вошли в него. Подходит для случая, если Model – это сетевая база данных.

  • ViewDidAppear

Метод вызывается в момент, когда View уже появился на экране. Подходит для анимации, запуска таймера, наблюдения GPS, gyro-position. Вызывается только один раз и только когда мы уже на экране. Также можно применять для подгрузки тяжелых объектов, например, данных из сети. Мы используем именно этот метод для подгрузки данных, потому что он позволяет не блокировать экран от пользователя во время выполнения загрузки. Мы не применяем этот метод, если хотим обновить View в соответствии с Model, так как метод вызывается после вывода View на экран.

  • ViewWillDisappear

Метод вызывается перед уходом MVC c экрана. Используется, чтобы отменить сделанное во ViewDidAppear. Например, остановить выполнение таймера, прервать анимацию, прекратить наблюдение GPS. ViewDidAppear и ViewWillDisappear могут работать вместе. Когда MVC вновь появится на экране, сработает ViewDidAppear

  • ViewDidDisappear

Метод вызывается после того, как MVC полностью вышел с экрана. Применяется редко.

Для объектов, которые зависят от размера экрана (исключение для ViewDidLoad) используются 2 метода:

  1. override func ViewWillLayoutSubviews()
  2. override func ViewDidLayoutSubviews()

3) Архитектурные паттерны

В iOS существуют 4 основных способа организации кода, которые предполагают выделение отвечающих за решение разных задач блоков.

  • MVC (model-view-controller)

Model блок кода, который отвечает за данные.

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

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


  • MVP (Model-View-Presenter)

Presenter посредник между View и Model. Он реагирует на выполняемые во View действия пользователя, извлекает данные из Model и форматирует их для отображения во View.

View – UIView + UIViewController. Получает UI-события от пользователя.

Model блок кода, который отвечает за данные.

Преимущества перед MVC: код лучше разделен, проводить тесты удобнее.

Недостатки по сравнению с MVC: написание кода занимает больше времени, количество кода больше.


  • MVVM (Model-View-ViewModel)

Model данные приложения.

View Элементы пользовательского интерфейса (UI). ViewController + View.

ViewModel Обновляет Model в соответствии с View. Обновляет View в соответствии с данными в Model.


  • VIPER (View–Interactor–Presenter–Entity–Router)

View – Слой подразумевает файлы UIKit(включая UIViewController). Отображает, что сообщил Presenter и передает введенные пользователем данные назад Presenter’у.

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

Presenter – Подготавливает и передает визуальные данные для View/ViewController, которые будут видны пользователю. Presenter получает данные из Interactor и передает его во View. Он реагирует на ввод пользователем данных, запрашивает дополнительные данные из базы, либо, наоборот, передает их ей. Presenter решает, куда перенаправить действие – на Router или Interactor.

Entity – простые объекты данных без логики, которыми управляет Interactor.

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


4) Многопоточность

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

Зачем нужна многопоточность? Любое приложение работает на main thread главный поток. Main thread выполняет код, который отвечает за пользовательский интерфейс. Если добавить в главный поток блок кода, который подгружает данные из сети, отображение пользовательского интерфейса будет работать медленно или вовсе заблокируется. Причина: ядро процессора не может справиться с такой нагрузкой. Чтобы этого не произошло, нужно разделять задачи на потоки.

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


Цель многопоточности – увеличение производительности и отзывчивости пользовательского интерфейса.

Инструменты для многопоточности: Thread, Grand Central Dispatch и Operation.

Применяются на практике последние 2, так как они более высокого уровня.

Сравнение Grand Central Dispatch и Operation поможет решить, какой выбрать:

  • GCD – более простая реализация. Зависимости между блоками не создаются. Управлять блоками кода и планировать их нельзя. GCD вызывает потоки автоматически. Его используют для простых случаев, когда необходимо перенести блоки кода из главного потока.
  • Operation – более высокий уровень по сравнению с GCD. Есть возможность добавить зависимости, повторно использовать, отменить или приостановить. Состояние Operation можно контролировать. Можно указать максимальное количество операций в очереди, которые будут выполняться одновременно. Если нужно полностью контролировать процесс многопоточности, то используется Operation.

5) Grand Central Dispatch

Grand Central Dispatch (GCD) – это API для управления параллельными операциями. Оптимизирует приложение, откладывая времязатратные процессы в фоновый режим (non-main queue). С этой моделью многопоточности работать проще, чем с threads и Operation.

В очередях (queues) выстраиваются замыкания. GCD выполняет их, следуя FIFO паттерну (First In, First Out). Это означает, что замыкание, которое было поставлено в очередь первым, будет первым направлено на выполнение в собственном потоке.

Очередь бывает последовательная и параллельная.

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



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

GCD предоставляет три основных типа очередей:

1) Main queue – выполняется в основном потоке и представляет собой последовательную очередь. Отвечающий за пользовательский интерфейс код выполняется в main queue и только в ней. Наоборот, не отвечающий за UI тяжелый и времязатратный код, не выполняется в этой очереди. Такое распределение необходимо, чтобы UI был всегда отзывчивым.

Создание main queue:

        let mainQueue = DispatchQueue.main

    

2) Global queues – параллельные общие очереди, используемые для кода вне main queue.

        let backgroundQueue = DispatchQueue.global(qos: DispatchQos)

    

3) Custom queues – очереди, создаваемые программистом. Могут быть последовательными или параллельными.

При отправке задач в глобальные параллельные очереди нужно указать качество обслуживания (QoS – quality of service ), чтобы не указывать приоритет напрямую. QoS определяет важность задачи.

Классы QoS:

  1. DispatchQoS.userInteractive – высокий приоритет. Задачи, которые необходимо выполнить немедленно, чтобы обеспечить удобство работы пользователя. Общий объем кода должен быть небольшим, без временных задержек.
  2. DispatchQoS.userInitiated – высокий приоритет. Может занять немного времени. Для взаимодействующих с пользователем задач, от которых юзер ожидает немедленных результатов.
  3. DispatchQoS.background – приоритет “на фоне”. Представляет собой задачи, о которых пользователь не знает напрямую. Может работать медленно настолько, насколько это необходимо. Для задач, которые не требуют взаимодействия с пользователем и не зависят от времени.
  4. DispatchQoS.utility – низкий приоритет. Длительный фоновый процесс. Зачастую задачи с видимым для пользователя индикатором выполнения. Нужен для вычислений, ввода-вывода, работы в сети, непрерывной передачи данных и т.д. Класс разработан для обеспечения энергоэффективности.

Естественно, при изучении этих навыков нужно тренировать все знания. Вам пригодится изучение дополнительных тем:

  1. Autolayout, interface builder;
  2. UItableView;
  3. URLSession, JSON;
  4. User Defaults, Core Data, SQLite, Keychain;
  5. Утечки памяти, способы их устранения, ARC;
  6. Drawing, core graphics;
  7. Gestures (swipe,pan,tap);
  8. Animation;
  9. Работа с Github;
  10. Xcode Instruments;
  11. Alerts,Notification, application lifecycle.

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

31
Окт
2020

🗺 Дорожная карта инженера DevOps

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

Мы уже рассказывали о профессии инженера DevOps и как ее можно освоить. Другие публикации по теме доступны на сайте Proglib.io.

Что такое DevOps?

DevOps – это методология, которая позволяет автоматизировать и интегрировать процессы между разработчиками программного обеспечения и ИТ-командами. Благодаря этому они создают, тестируют и выпускают качественные продукты в короткие сроки.

Главная задача методологии DevOps вовремя предоставить необходимую технологию бизнес-подразделениям и наладить ее бесперебойную работу.

Схема работы DevOps
Схема работы DevOps

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

«Ops» – это общий термин, который характеризует работу системных администраторов, операционного персонала, администраторов баз данных, сетевых инженеров, специалистов по безопасности и других.

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

Схема взаимодействия в методологии DevOps
Схема взаимодействия в методологии DevOps

В DevOps нет junior-инженеров?

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

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

Основные сложности для новичка в DevOps связаны со следующими факторами:

  • жесткими требованиями и высоким уровнем ответственности. Для младшего специалиста решить все проблемы настройки среды разработки DevOps будет крайне непросто, например:
  1. развернуть среду разработки, тестирования, предпродажной подготовки и производства;
  2. настроить передачу данных между средами;
  3. разработать механизмы резервного копирования и развертывания;
  4. осуществить мониторинг с прогнозированием, визуализацией данных и ведением журнала;
  5. задокументировать настройки и запросы на изменение;
  6. сформировать отчетность перед инженерным менеджментом, и прочее.
  • отсутствием необходимого опыта

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

  • отсутствием формального образования

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

Дорожная карта специалиста DevOps

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

Дорожная карта специалиста DevOps
Дорожная карта специалиста DevOps

Изучите язык программирования

Начать стоит с изучения одного из предложенных на дорожной карте языков программирования: Python, Ruby, Go, Rust, C, C++, и т.д. Главное не их количество, а общее понимание принципов работы.

Языки программирования и основные концепции ОС
Языки программирования и основные концепции ОС

Автор рекомендует начать изучение с языка Go, также известного как Golang. Go – это статически типизированный язык программирования, который был разработан внутри компании Google. В отличие от динамически типизированного языка, код проверяется перед запуском, а не после.

Плюсы:

  • легкость и доступность для изучения (простой синтаксис);
  • производительность и скорость работы (Go компилируется в машинный код);
  • возможность выявления ошибок на ранних этапах;
  • возможность написания не громоздкого кода;
  • большое количество библиотек (библиотека Go легко читается, отличается качеством, благодаря чему можно выполнить практически любую поставленную задачу);
  • отсутствие наследования, что значительно упрощает поддержку приложений на Go;
  • наличие инструмента, который помогает стандартизировать код – go fmt.

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

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

Возможности языков Go и Python мы сравнивали в одном из материалов.

Изучите основные аспекты операционных систем

Следующий этап связан с изучением основных концепций ОС, необходимых для инженера DevOps.

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

Получите навыки администрирования серверов

Инженеру DevOps необходимо управлять всеми типами серверов. Часто речь идет о целом парке: их может быть больше ста и состоят они из экземпляров ОС Linux (очень редко из экземпляров других ОС).

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

Сервера, сети и их безопасность
Сервера, сети и их безопасность

Изучите сети и безопасность

Знание сетей, безопасности и базовых протоколов необходимо инженеру DevOps, так как он должен настраивать VPC и группы безопасности/брандмауэры, а также использовать различные протоколы.

Например:

  • HTTP (протокол передачи гипертекста);
  • SSL (обеспечивает защищенный обмен данными);
  • SSH (сетевой протокол, позволяющий производить удаленное управление операционной системой);
  • FTP (протокол передачи файлов);
  • SMTP (простой протокол передачи почты) и другие.

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

Еще обязательно придется работать с веб-серверами, поэтому необходимы знания и практический опыт взаимодействия с серверами обратного прокси, такими как Nginx и/или Apache.

Изучите инфраструктуру как код

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

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

Инфраструктура как код
Инфраструктура как код

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

Изучите некоторые инструменты CI/CD

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

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

Как специалист DevOps, вы должны изучить и знать основные инструменты CI/CD:

Научитесь мониторить программное обеспечение и инфраструктуру

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

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

Программное обеспечение и инфраструктура
Программное обеспечение и инфраструктура

Для инженера DevOps важно собирать отзывы и внедрять изменения, для этого необходимы такие инструменты мониторинга, как Nagios, Prometheus, Grafana.

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

Будущему специалисту DevOps важно разобраться с особенностями работы облачных провайдеров. Для начала обратите внимание на AWS – лидера в сфере облачных технологий. При необходимости уделите внимание Azure, Google Cloud, Digital Ocean и другим.

Облачные провайдеры
Облачные провайдеры

Куда и как расти специалисту DevOps?

Чтобы войти в профессию, необходим технический бэкграунд. Отличный вариант – перейти в DevOps из системных администраторов, специалистов по эксплуатации, тестированию или разработчиков.

Если необходимого опыта у вас нет:

  • пройдите базовый курс по администрированию ОС Linux;
  • изучите языки программирования Go и/или Python (напишите для начала несколько скриптов);
  • разберитесь в принципах ООП (объектно-ориентированное программирование);
  • обратите внимание на общий цикл разработки продукта.
  • изучите базовые протоколы: HTTP, SSL, SSH и т.д.;
  • обратите внимание на основные инструменты CI/CD: Jenkins, GitLab CI и т.д.

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

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

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

Заключение

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

Главное – не пытаться изучить все и сразу, а постепенно вникать в особенности специальности. Чтобы более систематизировано и глубоко изучить все нюансы работы инженера DevOps, советуем обратить внимание на курс онлайн-университета GeekBrains.

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

30
Окт
2020

🐍 Хакатоны, конференции и митапы: календарь мероприятий для программиста на Python

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

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

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

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

Хакатоны

На хакатонах (англ. hackathon от hack + marathon) собираются специалисты для совместной работы над проектами. Начинается все с презентаций, сбора идей и формирования команд для их реализации. Затем участники демонстрируют результаты – часто хакатоны проводятся в виде конкурсов.

HackPSU

Организатор: Университет штата Пенсильвания

Дата: 6-8 ноября 2020

Описание: 48 часов творчества, инноваций и развлечений. Приглашаются все, от опытных ветеранов программирования до начинающих хакеров из любой области.

Место проведения: онлайн

Контакты: HackPSU Fall 2020

Тема: программирование python

Призы: будут, но детали не раскрываются

EazyHacks

Организатор: EazyML

Дата: 13-15 ноября 2020

Описание: спонсируемый EazyML виртуальный хакатон на 36 часов для студентов. Участникам дадут сутки на создание любого программного или аппаратного проекта с использованием платформы или API EazyML. Также пройдут семинары по Python, JavaScript, машинному обучению и другим интересным темам. Хакерам будут помогать опытные наставники.

Место проведения: онлайн

Контакты: EazyHacks

Тема: машинное обучение, ИИ

Призы: 12580 долларов США в виде призов

Хакатон по квантовым вычислениям в Монпелье

Организатор: AD’OCC (Agence de Développement Economique d’Occitanie), Университетом Монпелье и IBM

Дата: 3-4 декабря 2020

Описание: первый хакатон по квантовым вычислениям. Для участия потребуются python 3, библиотека qiskit и платформа anaconda.

Место проведения: 132 Boulevard Pénélope, 34000 Montpellier, Франция или онлайн

Контакты: Mpl-QC-Hack-2020

Тема: квантовые вычисления

Призы: неизвестно

Cloudfest 2021

Организатор: CloudFest

Дата: 23-25 марта 2021

Описание: мероприятие ориентировано на веб-разработчиков, пишущих код на Python, PHP, JavaScript, Bash или Go. Для участия требуется понимание азов облачных вычислений и опыт работы с Git

Место проведения: онлайн

Контакты: Cloudfest 2021

Тема: облачные вычисления

Призы: неизвестно

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

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

Конференции

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

Python Brasil 2020

Организатор: поддерживается Бразильской ассоциацией Python (APyB) и Фондом программного обеспечения Python (PSF)

Дата: 2-8 ноября 2020

Описание: Python Brasil 2020 – крупнейшая конференция по Python в Латинской Америке, организованная сообществом разработчиков. Участники прослушают интересные доклады, получат возможность учиться у опытных профессионалов и даже смогут внести вклад в проекты со свободным кодом: в рамках конференции пройдет множество интересных мероприятий.

Место проведения: онлайн

Контакты: Python Brasil 2020

Группа по изучению Python для начинающих

Организатор: WWCode. Ришика Сингх, Карен Вонг, Стефани Райдаут и Кхьяти Таплиял

Дата: 4 и 18 ноября, 2 декабря 2020

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

Место проведения: онлайн

Контакты: WWCodePython

PyCon Italy 11

Организатор: PyCon

Дата: 5-8 ноября 2020

Описание: PyCon Italia – итальянская конференция по Python считается одной из важнейших в Европе. Следующее мероприятие будет 11-ым по счету.

Место проведения: Lungarno del Tempio, 44 отель Mediterraneo, Флоренция, Италия

Контакты: PyCon

Loginom Days 2020: конференция по продвинутой аналитике

Организатор: Loginom

Дата: 9-13 ноября 2020

Описание: новые возможности low-code платформы Loginom. Отраслевые решения для B2B и B2C. Кейсы от ведущих аналитиков России и СНГ: ЭОС, ТБМ, Estée Lauder Companies и других.

Место проведения: онлайн

Контакты: Loginom Days

PyCon Sweden

Организатор: Python Sverige

Дата: 12-13 ноября 2020

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

Место проведения: онлайн

Контакты: PyCon

Plone Conference 2020

Организатор: Plone Foundation

Дата: 5-13 декабря 2020

Описание: конференция для участников сообществ Plone, Zope, Guillotina, Pyramid & Volto

Место проведения: онлайн

Контакты: Plone Conference 2020

PyCascades 2021

Организатор: PyCascades

Дата: 19 – 21 февраля 2021

Описание: PyCascades – это региональный PyCon на северо-западе Тихого океана, посвященный сообществу разработчиков и пользователей Python.

Место проведения: онлайн

Контакты: PyCascades

enterPy

Организатор: enterPy

Дата: 26 мая 2021

Описание: EnterPy нацелен на профессионалов, использующих (или только собирающихся делать это) Python для анализа данных, машинного обучения, веб-программирования или внедрения практик DevOps.

Место проведения: онлайн

Контакты: enterPy

Conf42.com: Python для финансов 2021

Организатор: Conf42

Дата: 27 мая 2021

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

Место проведения: онлайн

Контакты: Conf42

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

Митапы

Митап (англ. meet up, meetup) – неформальная встреча специалистов для обсуждения насущных вопросов и обмена опытом. Проходит в свободном формате, иногда между другими мероприятиями. Организаторы могут пригласить на митап спикеров с короткими докладами, но в основном расчет на самоорганизацию.

Автоматизируйте скучные вещи с помощью Python

Организатор: Tokyo Python Society Club

Дата: 4 ноября 2020

Описание: на этой встрече имеющие опыт работы с Python помогут новичкам.

Место проведения: онлайн

Контакты: Tokyo Python Society Club

Тема: автоматизация, Python

Solvery code-review. Разбор django-проектов

Организатор: Solvery

Дата: 5 ноября 2020

Описание: Code-review проведет Назарий Романченко, Python Developer в Stem SC. Он посмотрит код участников, найдет в нем слабые места и предложит улучшения. Самые интересные кейсы Назарий разберет в прямом эфире.

Место проведения: онлайн

Контакты: Solvery code-review

Тема: code-review, Python

PyATL Jam Session (In-town)

Организатор: PyATL

Дата: 5 ноября 2020

Описание: встречи Jam Session предназначены для практического взаимодействия с другими участниками PyATL. Приглашаются программисты любого уровня подготовки.

Место проведения: онлайн

Контакты: PyATL Jam Session

Тема: Python

Rhino.Inside Python и Django REST Framework

Организатор: Tokyo AEC Industry Dev Group

Дата: 7 ноября 2020

Описание: семинар посвящен разработке REST API, который можно запустить из Rhino, а также Python и Django REST Framework.

Место проведения: онлайн

Контакты: Tokyo AEC Industry Dev Group

Тема: Python

9-й семинар по Python для высокопроизводительных и научных вычислений

Организатор: PyHPC совместно с SC20

Дата: 13 ноября 2020

Описание: в этом году PyHPC возвращается к суперкомпьютерам.

Место проведения: онлайн

Контакты: PyHPC

Тема: высокопроизводительные вычисления

Практический семинар по Python

Организатор: Фрэнк В. и Лорел Т.

Дата: 17 ноября 2020

Описание: встреча начинающих программистов и разработчиков продвинутого уровня, которые хотят помочь другим в изучении Python

Место проведения: онлайн

Контакты: Tucson-Python-Meetup

Тема: Python

Саммит python Universe WEB Edition

Организатор: Geekle

Дата: 19 ноября 2020

Место проведения: онлайн

Контакты: Geekle

Тема: Python WEB Edition

SPb Python Drinkup

Организатор: SPb Python Community

Дата: 26 ноября 2020

Описание: встреча единомышленников, программистов на Python

Место проведения: Санкт-Петербург, Россия

Контакты: SPb Python Community

Тема: Python

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

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

***

Где учиться программировать на Python?

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

29
Окт
2020

👨🏼‍💻 История одного разработчика: талантливый джун или как научиться программировать без наставника

У каждого возникает желание кардинально изменить жизнь. Перестать ходить на нелюбимую работу и заняться чем-то действительно стоящим. Однажды я проснулся и решил: «Буду веб-разработчиком и начну получать хорошие деньги».

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

Фото с сайта pixabay.com
Фото с сайта pixabay.com

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

Учимся сами

Профессия разработчика не так проста, как о ней пишут продавцы курсов «JavaScript за 24 часа» или «Освой прибыльную профессию за три дня». Обывателю кажется, будто можно почитать книжку и пойти в программисты, если не повезет устроиться на завод. Это не так. Для самостоятельного освоения языка программирования нужно штудировать теорию и решать примеры по пройденным темам, или разрабатывать какой-нибудь проект, изучая теорию попутно.

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

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

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

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

Ищем ментора

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

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

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

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

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

Идем на курсы

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

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

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

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

Иллюстрация с сайта pixabay.com
Иллюстрация с сайта pixabay.com

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

***

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

28
Окт
2020

👨‍🎓️ 35 приложений для изучения программирования на iOS и Android

Лучшие приложения для Android и iOS, которые научат детей логическому мышлению и основам кодинга. Для взрослых более сложные игрушки: Java, С, машинное обучение и Data Science.

Не всегда легко найти время для практики программирования на десктопе. В этой статье мы расскажем про обучающие кодингу приложениях для iOS и Android. Бóльшая их часть предназначена для детей, владеющих английским.

1. Приложения для детей

1.1. От 3 до 4 лет

Code Karts – Pre-coding logic

Code Karts – Pre-coding logic
Code Karts – Pre-coding logic

Сайт | iOS | Android | Amazon | бесплатно первые десять уровней

Гонки на автомобилях и обучение программированию.

Dodoo Adventure: Kids Coding

Dodoo Adventure: Kids Coding
Dodoo Adventure: Kids Coding

iOS | Android | бесплатно, есть платные опции

Управление транспортным средством (от подводной лодки до ракеты) и решение головоломок.

Hopster Coding Safari for Kids

Hopster Coding Safari for Kids
Hopster Coding Safari for Kids

iOS | бесплатно, есть платные опции

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

Think & Learn Code-a-pillar

Think &amp; Learn Code-a-pillar
Think & Learn Code-a-pillar

iOS | Android | Amazon | бесплатно

Решение задач по перемещению гусеницы.

1.2. От 5 до 7 лет

codeSpark Academy

codeSpark Academy
codeSpark Academy

iOS | Android | есть пробный период

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

Coding, the Musical

coding the musical
coding the musical

iOS | бесплатно

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

Tynker Junior

Tynker Junior
Tynker Junior

iOS | есть бесплатный период

Обучение основам программирования с помощью соединения блоков изображений.

Tommy the Turtle – Learn to Code

Tommy the Turtle – Learn to Code
Tommy the Turtle – Learn to Code

iOS | Android | бесплатно

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

Kodable

Kodable
Kodable

iOS | есть бесплатный период

Дети познакомятся с алгоритмами, логическими операциями, массивами и ООП.

Lightbot Jr : Coding Puzzles for Ages 4+

Lightbot Jr : Coding Puzzles for Ages 4+
Lightbot Jr : Coding Puzzles for Ages 4+

iOS | Android | Amazon | платно

Игра «Lightbot Junior» позволяет игрокам освоить на практике основные понятия и идеи программирования: циклы, операторы, написание инструкций, отладку программ и т.д.

ScratchJr

ScratchJr
ScratchJr

iOS | Android | Amazon | бесплатно

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

Code Kingdom: Treasure

Code Kingdom: Treasure
Code Kingdom: Treasure

iOS | бесплатно, есть платные опции

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

Daisy the Dinosaur

Daisy the Dinosaur
Daisy the Dinosaur

iOS | бесплатно

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

GoldieBlox: Adventures in Coding – The Rocket Cupcake Co.

GoldieBlox: Adventures in Coding – The Rocket Cupcake Co.
GoldieBlox: Adventures in Coding – The Rocket Cupcake Co.

iOS | платно

Головоломки с разным уровнем сложности. Формирование заказа из ингредиентов и расчет пути доставки

Nancy Drew: Codes & Clues – Mystery Coding Game

Nancy Drew: Codes &amp; Clues – Mystery Coding Game
Nancy Drew: Codes & Clues – Mystery Coding Game

iOS | Android | Amazon | есть бесплатные уровни

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

Osmo Coding

Osmo Coding
Osmo Coding

iOS | бесплатно

В Osmo’s Coding Awbie дети используют блоки кода, чтобы запрограммировать путешествие для персонажа Awbie.

Tynker: Coding Games for Kids

Tynker: Coding Games for Kids
Tynker: Coding Games for Kids

iOS | бесплатно, есть платные опции

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

1.3. От 8 до 9 лет

Cato’s Hike: A Programming and Logic Odyssey

Cato's Hike: A Programming and Logic Odyssey
Cato’s Hike: A Programming and Logic Odyssey

iOS | платно

Игроки изучают циклы и операторы if/else. 60 уровней, 12 уроков с возможностью сохранения прогресса.

Code the Robot. Save the Cat

Code the Robot. Save the Cat
Code the Robot. Save the Cat

iOS | Android | платно

«Запрограммируй робота. Спаси кошку» – познавательная игра, которая поможет в изучении основ программирования (циклы, функции) и логики.

Grasshopper: Learn to Code

Grasshopper: Learn to Code
Grasshopper: Learn to Code

iOS | Android | бесплатно

«Кузнечик» – лучший способ достичь базового понимания программирования и познакомиться с JavaScript.

Knowin: Learn Coding

Knowin: Learn Coding
Knowin: Learn Coding

iOS | платно

Погружение в основы программирования на Swift и Python.

Box Island – Award Winning Coding Adventure

Box Island – Award Winning Coding Adventure
Box Island – Award Winning Coding Adventure

iOS | бесплатно первые десять уровней

Основы кодинга, с которыми познакомят детей со следующими темами:

  1. алгоритмическим мышлением;
  2. циклами;
  3. операторами;
  4. отладкой.

1.4. От 10 до 12 лет

Booeys: A Ghost’s Code

Booeys: A Ghost's Code
Booeys: A Ghost’s Code

iOS | Android | Amazon | бесплатно

Тридцать головоломок с разными вариантами финала.

Move the Turtle. Learn to code

Move the Turtle. Learn to code
Move the Turtle. Learn to code

iOS | платно

Ребенок познакомится с понятиями циклов, переменных и условных операторов.

Swift Playgrounds

Swift Playgrounds
Swift Playgrounds

iOS | бесплатно

Swift Playgrounds не требует умения программировать, поэтому она идеально подходит для учеников, только начинающих изучать кодинг на Swift.

2. Приложения для взрослых

Enki

Enki
Enki

Сайт | iOS | Android | платно

Уроки: SQL, Data Science, Computer Science, JavaScript, Python, CSS, HTML, безопасность, блокчейн, Git, Docker, MongoDB, Linux и Java.

CodeHub

CodeHub
CodeHub

Сайт | Android | бесплатно

Уроки: HTML, CSS.

Programming Hub

Programming Hub
Programming Hub

Сайт | iOS | Android | есть бесплатные уроки

Уроки по темам: HTML, CSS, JavaScript, C, C++, C#, Swift, Python, Java, искусственный интеллект, машинное обучение, Data Science, SEO, JS-фреймворки, Django, MATLAB, UI/UX, Kotlin, Ruby, Go, PHP, Android-разработка.

Grasshopper

Grasshopper
Grasshopper

Сайт | iOS | Android | бесплатно

Уроки JavaScript.

Encode

Encode
Encode

Android | бесплатно, есть платные уроки

Уроки по темам: Python, JavaScript, HTML. CSS.

Mimo

Mimo
Mimo

Сайт | iOS | Android | платно

Уроки по темам: Python, Kotlin, Swift, HTML, CSS, JavaScript, SQL, PHP, Java, C#, C++, Ruby, Git.

Programming Hero

Programming Hero
Programming Hero

Сайт | iOS | Android | бесплатно, есть платные уроки

Уроки по темам: структуры данных, алгоритмы, ООП, SQL, HTML, CSS, JavaScript (Vue.js), Bootstrap, C, C++, Python, Java, разработка игр на pygame.

Sololearn

Sololearn
Sololearn

Сайт | iOS | Android | платно

Уроки по темам: JavaScript, Python, SQL, HTML, CSS, Swift, Java, C++, PHP, Ruby.

Khan Academy

Khan Academy
Khan Academy

Сайт | iOS | Android | бесплатно

Уроки по темам: алгоритмы, JavaScript, HTML, CSS и SQL.

Codecademy Go

Codecademy Go
Codecademy Go

Сайт | iOS | Android | платно

Уроки по темам: HTML, CSS, Python, JavaScript, Java, SQL, Bash/Shell, Ruby, C++, R, C#, PHP, Go, Swift, Kotlin.

Что еще попробовать

После спасения кошки в игре «Code the Robot. Save the Cat», изучения JavaScript в «Grasshopper: Learn to Code», и прохождения всех курсов в Programming Hub попробуйте наш онлайн-курс (Proglib + МГУ) по математике в Data Science.

Лекция по комбинаторике для начинающих

27
Окт
2020

📖 Data Science с нуля: обзор книг и видеокурсов для начинающих

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

Освоение Data Science с нуля может показаться сложным и пугающим занятием. С чего же начать? Во вступительной серии публикаций мы подробно описали особенности профессии, а также рассказали, как научиться ей c нуля и какие навыки необходимы специалисту по Data Science.

В подготовленной при поддержке Факультета Искусственного интеллекта онлайн-университета GeekBrains статье мы расскажем, какие книги и видеокурсы помогут новичку освоить навыки Data Scientist. Предварительные знания для этого не нужны, достаточно желания погрузиться в профессию.

Книги для новичков

На русском

<a href="https://www.ozon.ru/product/data-science-nauka-o-dannyh-s-nulya-2-e-izdanie-184991619/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Data Science. Наука о данных с нуля» от Джоэла Граса

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

<a href="https://www.mann-ivanov-ferber.ru/books/verhovnyj-algoritm/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Верховный алгоритм. Как машинное обучение изменит наш мир» от Педро Домингос

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

<a href="https://www.ozon.ru/context/detail/id/140891479/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными» от Андреас Мюллер и Сара Гвидо

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

<a href="https://www.ozon.ru/context/detail/id/139296295/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих» от Бхаргава Адитья

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

<a href="https://www.ozon.ru/context/detail/id/155266079/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Грокаем глубокое обучение» от Траск Эндрю

Книга обещает научить новичков в Data Science конструировать нейронные сети с нуля. Автор знакомит читателей со всеми тонкостями этой нелегкой задачи на примерах распознавания изображений и перевода текстов с помощью Python и библиотеки NumPy.

<a href="https://www.ozon.ru/context/detail/id/159744533/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Работа с данными в любой сфере» от Еременко Кирилла

Практическое руководство по погружению в профессию Data Scientist для новичков и специалистов. Ее автор – основатель образовательного онлайн-портала и консультант Кирилл Еременко. Эксперт просто и понятно рассказывает об основных методах, алгоритмах и приемах, которые помогут на любом этапе: от сбора данных и их анализа, до визуализации полученных результатов.

<a href="https://www.ozon.ru/context/detail/id/148592255/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Data Science. Инсайдерская информация для новичков» от Кэти О’Нил и Рэйчел Шатт

Книга основана на курсе Колумбийского университета «Введение в Data Science» и предназначена для тех, кто только начинает осваивать науку о данных. Авторы погружают читателя в Data Science c помощью примеров исследований и понятного кода. Книга охватывает тему алгоритмов, а также методов построения моделей и визуализации данных.

На английском

<a href="https://www.amazon.fr/Understanding-Machine-Learning-Theory-Algorithms-ebook/dp/B00J8LQU8I" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Understanding Machine Learning: From Theory to Algorithms» от Шай Бен-Давид и Шай Шалев-Шварц

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

<a href="https://www.amazon.com/Numsense-Data-Science-Layman-Added-ebook/dp/B01N29ZEM6" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Numsense! Data Science for the Layman: No Math Added» от Анналин Ын и Кеннет Су

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

<a href="https://books.apple.com/us/book/data-science-for-dummies/id1208905171" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Data Science For Dummies» от Лилиан Пирсон

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

Книги для более продвинутых специалистов

На русском

<a href="https://www.ozon.ru/context/detail/id/145995607/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Практическая статистика для специалистов Data Science» от Брюса Эндрю и Брюса Питера

Книга рассчитана на специалистов в области Data Science, обладающих некоторым опытом работы с языком программирования R и имеющих представление о математической статистике. В удобной и легкодоступной форме в ней представлены ключевые понятия из статистики, которые относятся к науке о данных.

<a href="https://www.ozon.ru/context/detail/id/147833454/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Глубокое обучение на Python» от Франсуа Шолле

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

<a href="https://www.ozon.ru/context/detail/id/144865316/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Python для сложных задач. Наука о данных и машинное обучение» от Вандера Плас Дж.

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

<a href="https://www.ozon.ru/product/prikladnoe-mashinnoe-obuchenie-bez-uchitelya-s-ispolzovaniem-python-189137165/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Прикладное машинное обучение без учителя с использованием Python» от Патела Анкур

Автор показывает, как освоить прикладное машинное обучение без учителя на основе двух платформ: Scikit-learn и TensorFlow/Keras. Прочитавшие книгу специалисты в области Data Science смогут выявлять скрытые закономерности в информационных массивах, более глубоко анализировать деловые данные, обнаруживать аномалии, выполнять автоматическое конструирование признаков и генерировать синтетические наборы данных.

На английском

<a href="https://www.amazon.com/Data-Science-Handbook-Insights-Scientists/dp/0692434879" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«The Data Science Handbook: Advice and Insights from 25 Amazing Data Scientists» от Карла Шан, Уильяма Чен, Генри Ванг и Макса Сонг

Сборник интервью с 25-ю ведущими экспертами в Data Science: от бывшего главного директора по данным в США и руководителей data-teams в известных компаниях, до начинающих ученых в области данных, предлагающих уникальный взгляд на отрасль. Советы новичкам по развитию карьеры и рассказы о типичных ошибках начинающего специалиста.

<a href="https://books.google.fr/books/about/The_Art_of_Data_Science.html?id=ZDH9DAEACAAJ&amp;source=kp_book_description&amp;redir_esc=y" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«The Art of Data Science» от Роджера Д. Пэн и Элизабет Мацуи

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

<a href="https://www.oreilly.com/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

«Data Jujitsu: The Art of Turning Data into Product» от DJ Patil

Книга DJ Patil – легенды Data Science и бывшего главного специалиста по данным Управления по Науке и Технике Соединенных Штатов. В ней выделены проблемы, возникающие в ориентированных на использование данных отраслях.

Видеокурсы для начинающих

На русском

Data Science для начинающих: обзор сферы и профессий от Нетологии

Видеолекция о том, как устроена работа с данными и почему она так востребована.

Введение в Data Science и Machine Learning от Hillel

Лекция Михаила Константинова – Data Scientist в ELEKS, о том, что из себя представляют Data Science и машинное обучение.

На английском

Learn Data Science от David Langer

Серии лекций Дэвида Лангра – специалиста по Data Science и основателя Dave on Data. Введение в анализ и визуализацию данных с помощью R.

Intro to Data Science – Crash Course for Beginners от freeCodeCamp

Основы Data Science для новичков и погружение в отрасль. Курс включает в себя основы статистики, визуализацию данных и программирование.

What is Data Science? | Introduction to Data Science | Data Science for Beginners от Simplilearn

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

Learn Data Science Tutorial – Full Course for Beginners от freeCodeCamp

Учебный курс для абсолютных новичков. Основные принципы, практики и инструменты, которые делают Data Science мощным средством для критического анализа в бизнесе и исследованиях.

Introduction to Data Science от Linkedin Learning

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

Видеокурсы для более продвинутых специалистов

Data Science Training Videos от Edureka

Большая серия видеолекций о Data Science, которые охватывают основные аспекты необходимых в профессии навыков.

Data Visualization in Python от sentdex

Учебная серия видеолекций о визуализации данных с помощью библиотеки Python Matplotlib.

Machine Learning от Andrey Ng

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

Harvard Stats 110: Probability от Harvard University

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

***

Если вы только начинаете свой путь в Data Science, хотите получить диплом и помощь в трудоустройстве, стоит обратить внимание на курс Факультета Искусственного интеллекта онлайн-университета GeekBrainsy. Он включает основательную математическую подготовку, изучение программирования и статистического анализа, а также работу с базами данных реальных проектов. Курс ориентирован на применение полученных навыков в бизнесе: он выстроен на основе практической работы с ведущими специалистами отрасли и личным помощником-куратором.

23
Окт
2020

? 13 онлайн-курсов по изучению английского языка для ИТ-специалистов

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

Перево…

23
Окт
2020

💪 13 онлайн-курсов по изучению английского языка для ИТ-специалистов

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

Перево…

20
Окт
2020

📊 Data Science и Big Data: сходства и различия

Разложим по полочкам сходства и различия между специализациями Data Science и Big Data. Их сущность будем раскрывать через примеры и сравнение наборов используемых инструментов.

Если вы заинтересованы в работе с данными, важно иметь четкое представление о связанных с ней направлениях ИТ. В статье, подготовленной при поддержке Факультетов Искусственного интеллекта и Аналитики Big Data онлайн-университета GeekBrains, мы расскажем о сходстве и основных различиях между специализациями Data Science и Big Data.

Термины

Data Science

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

В статье «Научиться Data Science онлайн» мы подробнее рассказали, чем занимаются специалисты Data Science и как овладеть профессией с нуля.

Big Data

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

<a href="https://www.ibmbigdatahub.com/infographic/four-vs-big-data" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Работа с большими данными строится вокруг четырех правил (c англ. V’s of Big Data: Volume, Velocity, Variety, Veracity):

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

О том, чем занимаются специалисты по анализу больших данных, мы подробнее писали в статье «Big Data: размер имеет значение».

<a href="https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fwww.elmhurst.edu%2Fblog%2Ffuture-of-data-science%2F&amp;psig=AOvVaw0dGGYrmNMN04FLar1s0qzD&amp;ust=1603269904686000&amp;source=images&amp;cd=vfe&amp;ved=0CAIQjRxqFwoTCID0zoPkwuwCFQAAAAAdAAAAABAD" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Применение

Data Science

  • Цифровая реклама: алгоритмы Data science используются во всей области цифрового маркетинга – от рекламных щитов до рекламных баннеров.
  • Поиск в интернете: алгоритмы Data science также применяются поисковыми системами для получения наилучших результатов по запросам в течение нескольких секунд.
  • Рекомендательные системы: компании используют технологии Data Science для продвижения своих продуктов, а также для выдачи рекомендаций в соответствии с актуальностью информации и требованиями пользователя. Эти системы не только улучшают пользовательский опыт, но и облегчают поиск продуктов или услуг.

Big Data

Аналитика больших данных применяется в самых разных областях. Перечислим некоторые из них:

  • Игровая индустрия использует BigData, чтобы получить информацию о таких вещах, как симпатии, антипатии, отношения пользователей и т. д.
  • Поставщикам медицинских услуг аналитика больших данных нужна для отслеживания и оптимизации потока пациентов, отслеживания использования оборудования и лекарств, организации информации о пациентах и т. д.
  • Туристические компании применяют методы анализа больших данных для оптимизации опыта покупок по различным каналам. Они также изучают потребительские предпочтения и желания, находят корреляцию между текущими продажами и последующим просмотром, что позволяет оптимизировать конверсии.
Использование больших данных становятся эффективной основой для конкуренции практически во всех сферах. Независимо от того, к какой отрасли вы обратитесь, здравоохранение и персонализированная медицина, или логистика и операции, все они пытаются повысить эффективность своих цепочек поставок с помощью данных.
<a href="https://leverageedu.com/blog/bsc-computer-science-vs-bca/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Навыки

Data Science

Чтобы стать профессионалом в области Data Science, необходим аналитический склад ума, а также навыки управления данными. Большой процент специалистов имеет степень магистра в сфере компьютерных наук и знания в области статистики и математики. Вам также потребуются навыки программирования на Python и SQL, визуализации данных в Tableau и/или PowerBI, работы с библиотеками для машинного обучениями: Pandas, Scikit-learn и NumPy. Наряду с техническими навыками, специалисты Data Science должны обладать набором soft-skills: коммуникабельностью, умением донести информацию простым языком, способностью работать в команде. Самое главное – умение самостоятельно и быстро учиться.

Подробнее о том, как самостоятельно овладеть всеми ключевыми навыками, мы писали в статье «10 навыков, необходимых в профессии Data Scientist».

Big Data

Специалист по анализу больших данных должен хорошо разбираться в таких языках программирования, как R и/или Python и SQL. Наряду с хорошими знаниями статистики и математики, ему потребуются навыки работы с инструментами, вроде Hadoop или Spark, для решения проблем, связанных с огромными объемами данных и их распределенной обработкой. Необходимо владеть навыками визуализации и преобразования данных, а также разбираться в машинном обучении.

О том какие навыки необходимы в сфере Big data, мы подробно писали в статье «Стать аналитиком Big Data: пошаговое руководство».

<a href="https://www.valtira.com/data-analytics-in-2020/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Обязанности

Data Science

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

Big Data

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

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

<a href="https://www.bsebti.com/blog/demand-for-data-scientists-has-doubled-after-the-corona-outbreak/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Карьерные перспективы

В российском IT-секторе, есть тенденция к разделению специалистов по Data Science и Big Data при найме на работу. Однако по запросам Big Data в Яндекс.Работа и HeadHunter, можно заметить, что анализ больших данных включен в описание вакансий как Data Scientist, так и Big Data Engineer.

Начальная зарплата Data Scientist с опытом работы до года – от 113 тыс. рублей. Через 1 – 2 года такой специалист уже может получать до 160 тыс. рублей. Для сотрудника с опытом работы от 4 – 5 лет вилка вырастает до 310 тыс. По запросу на октябрь 2020 года для специалиста Big Data, средняя зарплата по России составляет около 118 тыс. рублей.

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

Заключение

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

***

Если вы хотите построить карьеру в Data Science или Big Data, лучше начать прямо сейчас. Эти области постоянно расширяются, генерируя новые вакансии. Для освоения необходимых навыков с нуля запишитесь на курсы факультетов Искусственного интеллекта и Аналитики Big Data онлайн-университета GeekBrains. Учебные программы построены на практической работе над проектами с ведущими специалистами отрасли и личным помощником-куратором.

20
Окт
2020

? Data Science и Big Data: сходства и различия

Разложим по полочкам сходства и различия между специализациями Data Science и Big Data. Их сущность будем раскрывать через примеры и сравнение наборов используемых инструментов.

Если вы заинтересованы в работе с данными, важно иметь четкое представление о связанных с ней направлениях ИТ. В статье, подготовленной при поддержке Факультетов Искусственного интеллекта и Аналитики Big Data онлайн-университета GeekBrains, мы расскажем о сходстве и основных различиях между специализациями Data Science и Big Data.

Термины

Data Science

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

В статье «Научиться Data Science онлайн» мы подробнее рассказали, чем занимаются специалисты Data Science и как овладеть профессией с нуля.

Big Data

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

<a href="https://www.ibmbigdatahub.com/infographic/four-vs-big-data" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Работа с большими данными строится вокруг четырех правил (c англ. V’s of Big Data: Volume, Velocity, Variety, Veracity):

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

О том, чем занимаются специалисты по анализу больших данных, мы подробнее писали в статье «Big Data: размер имеет значение».

<a href="https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fwww.elmhurst.edu%2Fblog%2Ffuture-of-data-science%2F&amp;psig=AOvVaw0dGGYrmNMN04FLar1s0qzD&amp;ust=1603269904686000&amp;source=images&amp;cd=vfe&amp;ved=0CAIQjRxqFwoTCID0zoPkwuwCFQAAAAAdAAAAABAD" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Применение

Data Science

  • Цифровая реклама: алгоритмы Data science используются во всей области цифрового маркетинга – от рекламных щитов до рекламных баннеров.
  • Поиск в интернете: алгоритмы Data science также применяются поисковыми системами для получения наилучших результатов по запросам в течение нескольких секунд.
  • Рекомендательные системы: компании используют технологии Data Science для продвижения своих продуктов, а также для выдачи рекомендаций в соответствии с актуальностью информации и требованиями пользователя. Эти системы не только улучшают пользовательский опыт, но и облегчают поиск продуктов или услуг.

Big Data

Аналитика больших данных применяется в самых разных областях. Перечислим некоторые из них:

  • Игровая индустрия использует BigData, чтобы получить информацию о таких вещах, как симпатии, антипатии, отношения пользователей и т. д.
  • Поставщикам медицинских услуг аналитика больших данных нужна для отслеживания и оптимизации потока пациентов, отслеживания использования оборудования и лекарств, организации информации о пациентах и т. д.
  • Туристические компании применяют методы анализа больших данных для оптимизации опыта покупок по различным каналам. Они также изучают потребительские предпочтения и желания, находят корреляцию между текущими продажами и последующим просмотром, что позволяет оптимизировать конверсии.
Использование больших данных становятся эффективной основой для конкуренции практически во всех сферах. Независимо от того, к какой отрасли вы обратитесь, здравоохранение и персонализированная медицина, или логистика и операции, все они пытаются повысить эффективность своих цепочек поставок с помощью данных.
<a href="https://leverageedu.com/blog/bsc-computer-science-vs-bca/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Навыки

Data Science

Чтобы стать профессионалом в области Data Science, необходим аналитический склад ума, а также навыки управления данными. Большой процент специалистов имеет степень магистра в сфере компьютерных наук и знания в области статистики и математики. Вам также потребуются навыки программирования на Python и SQL, визуализации данных в Tableau и/или PowerBI, работы с библиотеками для машинного обучениями: Pandas, Scikit-learn и NumPy. Наряду с техническими навыками, специалисты Data Science должны обладать набором soft-skills: коммуникабельностью, умением донести информацию простым языком, способностью работать в команде. Самое главное – умение самостоятельно и быстро учиться.

Подробнее о том, как самостоятельно овладеть всеми ключевыми навыками, мы писали в статье «10 навыков, необходимых в профессии Data Scientist».

Big Data

Специалист по анализу больших данных должен хорошо разбираться в таких языках программирования, как R и/или Python и SQL. Наряду с хорошими знаниями статистики и математики, ему потребуются навыки работы с инструментами, вроде Hadoop или Spark, для решения проблем, связанных с огромными объемами данных и их распределенной обработкой. Необходимо владеть навыками визуализации и преобразования данных, а также разбираться в машинном обучении.

О том какие навыки необходимы в сфере Big data, мы подробно писали в статье «Стать аналитиком Big Data: пошаговое руководство».

<a href="https://www.valtira.com/data-analytics-in-2020/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Обязанности

Data Science

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

Big Data

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

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

<a href="https://www.bsebti.com/blog/demand-for-data-scientists-has-doubled-after-the-corona-outbreak/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Карьерные перспективы

В российском IT-секторе, есть тенденция к разделению специалистов по Data Science и Big Data при найме на работу. Однако по запросам Big Data в Яндекс.Работа и HeadHunter, можно заметить, что анализ больших данных включен в описание вакансий как Data Scientist, так и Big Data Engineer.

Начальная зарплата Data Scientist с опытом работы до года – от 113 тыс. рублей. Через 1 – 2 года такой специалист уже может получать до 160 тыс. рублей. Для сотрудника с опытом работы от 4 – 5 лет вилка вырастает до 310 тыс. По запросу на октябрь 2020 года для специалиста Big Data, средняя зарплата по России составляет около 118 тыс. рублей.

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

Заключение

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

***

Если вы хотите построить карьеру в Data Science или Big Data, лучше начать прямо сейчас. Эти области постоянно расширяются, генерируя новые вакансии. Для освоения необходимых навыков с нуля запишитесь на курсы факультетов Искусственного интеллекта и Аналитики Big Data онлайн-университета GeekBrains. Учебные программы построены на практической работе над проектами с ведущими специалистами отрасли и личным помощником-куратором.

16
Окт
2020

👨🏼‍💻 Хакатоны, конференции и митапы по Big Data, которые помогут карьере

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

О работе специалистов по анализу больших данных мы писали в статье «Big Data: размер имеет значение». В материале, подготовленном при поддержке факультетов искусственного интеллекта и аналитики Big Data онлайн-университета GeekBrains, собраны все ближайшие мероприятия, которые помогут карьере специалиста по Big Data.

<a href="https://www.istockphoto.com/fr/illustrations/hackathon" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Хакатоны

ХАКАТОН FIT-M 2020

Междисциплинарный хакатон по применению IT-решений в фундаментальных и прикладных научных исследованиях

Когда: c 17 по 19 декабря 2020 г.

Где: МГУ им. М.В. Ломоносова

Стоимость участия: бесплатно

Язык мероприятия: русский

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

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

Подробнее: https://fit-m.org/hack

ANTI-DISCRIMINATION HACKATHON

От Hackathon Factory

Когда: c 31 октября по 1 ноября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

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

Подробнее: https://www.eventbrite.nl/e/online-anti-discrimination-hackathon-registration-120175577387

HUAWEI EUROPEAN UNIVERSITY CHALLENGE 2020 SWEDEN

От Huawei

Когда: с 25 сентября по 3 декабря 2020 г.

Где: Онлайн

Язык мероприятия: английский

Стоимость участия: бесплатно

Четырехнедельное мероприятие для студентов магистратуры или докторантуры в сфере Data Science, математики, программирования или смежных областей. Участникам предлагается использовать технологии ИИ, машинного обучения и навыки программирования, чтобы набрать как можно больше очков в игровом соревновании. Призовой фонд продукция Huawei для первого, второго и третьего мест, а также возможность получить стажировку в компании.

Подробнее: https://huawei-euchallenge.bemyapp.com/sweden?utm_source=hackathon.com&utm_medium=referral&utm_campaign=hackathon.com

BIOHACKATHON-EUROPE

от National Bioscience Database Center (NBDC) and Database Center for Life Science (DBCLS)

Когда: c 9 по 13 ноября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

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

Подробнее: https://www.biohackathon-europe.org/

<a href="https://www.eventmobi.com/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Конференции

ОНЛАЙН-КОНФЕРЕНЦИЯ DATA SCIENCE

от Data Start

Когда: 20 октября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: русский

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

Подробнее: https://datastart.ru/online-autumn-2020/#register

ODSC West 2020 Online

Когда: c 26 по 30 октября 2020 г.

Где: Онлайн

Стоимость участия: от 349 $

Язык мероприятия: английский

Основные направления конференции в этом году включают Deep Learning, машинное обучение, предиктивную аналитику, “Data Science for Good” и data-воркшопы. Будут также обсуждаться темы autonomous machines and conversational AI to machine translation, data science research, speech recognition, and unsupervised learning.

Подробнее: https://odsc.com/california/

MarketsandMarkets Big Data APAC Virtual Summit

Когда: c 5 по 6 ноября 2020 г.

Где: Онлайн

Стоимость участия: варьируется

Язык мероприятия: английский

Один из самых известных саммитов для лидеров в сферах Big Data, Data Science, цифрового преобразования, Business Intelligence, Data Warehouse and Architecture, Strategy Development. Основные темы: трансформация бизнеса с помощью данных, проектирование эффективной инфраструктуры Big data для вашей организации, эффективное использование искусственного интеллекта и машинного обучения, создание команды по Data Science, выявление новых тенденций в области анализа данных, роль Big Data в 2020 году и влияние глобальной пандемии на будущее.

Подробнее: https://events.marketsandmarkets.com/marketsandmarkets-big-data-apac-virtual-summit/

International Conference on Big Data and Machine Learning

Когда: c 13 по 15 ноября 2020 г.

Где: Онлайн

Стоимость участия: от 170 $

Язык мероприятия: английский

Форум по обмену идеями и последними разработками в области Big Data и машинного обучения для ученых, исследователей и практиков из различных отраслей промышленности. Отличная возможность пообщаться с ведущими учеными и практиками Big Data Analytics, Data Science Models and Approaches, Algorithms for Big Data, Big Data Search and Information Retrieval Techniques, Machine Learning Techniques for Big Data и т.д.

Подробнее: http://www.bdml.org/

International Conference on Big Data and Blockchain

Когда: c 14 по 16 ноября 2020 г.

Где: Онлайн

Стоимость участия: от 350 $

Язык мероприятия: английский

Международная конференция для ведущих ученых и исследователей по обмену опытом и результатами исследований в области Big Data and Blockchain. С темами докладов конференции можно ознакомиться по ссылке.

Подробнее: http://www.icobdb.org/

BIG DATA CONFERENCE EUROPE 2020

Когда: c 24 по 26 Ноября 2020 г.

Где: Онлайн

Стоимость участия: от 20.000 RUB

Язык мероприятия: английский

Международная конференция по Data Science и искусственному интеллекту. Спикеры из Microsoft, Linux Foundation, Cloudera и других уважаемых организаций. Воркшопы на темы Stream Processing Essentials и Essentials for Apache Hadoop and Hadoop Ecosystem (LT).

Подробнее: https://bigdataconference.eu/ и https://bigdatadays.ru/

2020 IEEE International Conference on Big Data

Когда: c 10 по 12 декабря 2020 г.

Где: Онлайн

Стоимость участия: от 250 $

Язык мероприятия: английский

На конференции будут обсуждаться вопросы технической и научной природы связанных с Big Data проблем. Основные докладчики представители Google и We Bank, а также спикеры из академической сферы. Со списком специальных секций можно ознакомиться по ссылке.

Подробнее: http://bigdataieee.org/BigData2020/?utm_source=xp&utm_medium=blog&utm_campaign=content

<a href="https://orangescape.com/events/" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Митапы

Elevate Your Data Exploration with AWS

Когда: 21 октября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: ​​​​​​​In-depth воркшоп в рамках AWS, таких как Amazon EMR (Elastic Map Reduce) и Amazon Redshift.

Подробнее: https://go.slalom.com/elevateyourdata

Analyst’s eye: a subjective review of big data solutions

Когда: 5 ноября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: Спикеры из Google Cloud Platform (BigQuery data warehouse), Microsoft Azure (Synapse Azure SQL DWH data warehouse), Amazon Web Services (distributed query engine Athena), Snowflake (Cloud Data Warehouse), Vertica (MPP analytical platform).

Подробнее: https://alterdata.io/en/bigdata_tech_review

Lunch & Learn – Scala for Big Data the Big Picture

Когда: 9 ноября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: Возможность изучить Scala и понять, почему это действительно “язык Data Engineers”.

Подробнее: https://tickets.datasciencefestival.com/schedule/

Rock Your Profile and Networking with Linkedin’s Big Data Engineering Leaders

Когда: 11 ноября 2020 г.

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: Нетворкинг в LinkedIn лидерами Big Data Engineering.

Подробнее: https://dreamjob.splashthat.com/

Data Natives 2020 г.

Когда: 18 ноября 2020

Где: Онлайн

Стоимость участия: бесплатно

Язык мероприятия: английский

Самое интересное: Обсуждение различных тем индустрии Data Science.

Подробнее: https://datanatives.io/about/

***

Если вы хотите освоить новую профессию или повысить квалификацию в сфере Big Data, рекомендуем записаться на курс факультета аналитики Big Data онлайн-университета GeekBrainsy. Программа включает основательную математическую подготовку, изучение языка Python и получение навыков практической работы с базами данных. Также изучаются Hadoop и Apache Spark – востребованные инструменты для работы с большими данными. Курс ориентирован на применение машинного обучения в бизнесе и построен по принципам практической работы над проектами с ведущими специалистами отрасли и личным помощником-куратором.