По мере того, как мы вступаем в 2019 год, новые технологии достигли новых высот. Виртуальная и дополненная реальность, машинное обучение, робототехника, Интернет вещей … сейчас есть такой большой потенциал. Хорошая новость заключается в том, что становится все легче и легче изучать эти области. Вместо того, чтобы сидеть в стороне, почему бы не идти в ногу с новыми технологиями и принять участие? Вот мои советы о том, где и как начать изучать новые технологии в 2019 году.
Начните с того, что вы знаете
Скорее всего, если вы читатель SitePoint, у вас уже есть немного знаний о кодировании. Самым важным выводом из этой статьи является то, что вы можете использовать свои существующие навыки кодирования в качестве отправной точки. Все, от HTML и JavaScript до Python, можно использовать для начала работы над новым технологическим проектом. Вам даже не нужно быть сумасшедшим продвинутым! Даже базовых знаний JavaScript может быть достаточно, чтобы упростить процесс освоения новых технологий.
Вот несколько примеров того, как вы можете использовать имеющиеся у вас знания в новых технологиях:
Микроконтроллеры и IoT
Хотите начать создавать простых роботов или подключенных устройств, используя такие вещи, как Arduinos и Raspberry Pis? Вот несколько идей для прыжков с очков:
- Arduinos (C) — Arduinos — это ступенька к множеству захватывающих IoT-разработок! Язык Arduino представляет собой набор функций C / C ++, поэтому, если вы когда-либо имели опыт работы с этими языками, у вас будет преимущество!
- NodeBots (JavaScript / Node) — получите знания JavaScript / Node и управляйте Arduino через Интернет. Я недавно получил бесплатную заставку на SitePoint по управлению Arduino с помощью Node.js и Johnny-Five, которая поможет вам начать. У меня также есть Введение в NodeBots здесь, в SitePoint, которое описывает , какие комплекты вы должны получить и с чего начать.
- Particle (JavaScript) — Мой личный любимый микроконтроллер — серия плат Particle . Они поставляются со встроенными облачными возможностями, так что вы можете включить плату и просто начать кодировать! Их API основан на JavaScript, и с ним очень легко начать работу. Если вы не уверены, с чего начать, я настоятельно рекомендую перейти с Particle!
- pySerial (Python) — есть также способ управления Arduinos с помощью Python .
Виртуальная и дополненная реальность
VR и AR — невероятно интересные области в новых технологиях, для которых создание проектов может быть очень увлекательным! Есть несколько вариантов начальных точек, использующих ваши существующие навыки:
- WebVR (JavaScript) — WebVR — это стандарт для содержимого VR в браузере. Если вы уже немного знакомы с веб-разработчиками, попробуйте A-Frame, чтобы использовать простые HTML и JavaScript для создания кросс-платформенного приложения виртуальной реальности на основе браузера. У меня в SitePoint есть руководство по основам A-Frame — это проще, чем вы думаете. Если вы поклонник React, React 360 (ранее известная как React VR) — это библиотека, созданная поверх React, которая позволяет создавать пользовательские интерфейсы 3D и VR. В электронной книге SitePoint Premium 6 JavaScript Projects Микаэла Лер содержит руководство о том, как создать полную трехмерную галерею изображений с помощью React 360.
- WebXR (JavaScript) — У нас есть растущий набор стандартов для Immersive Web, которые нацелены на замену WebVR и предоставляют техническую базу для развития опыта AR. На этом фронте еще относительно рано, но я уверен, что в 2019 году здесь произойдет целый ряд захватывающих событий! Вы можете принять участие на ранней стадии, перейдя в хранилище для Спецификации API устройства WebXR и попробовав все это. Если вы хотите что-то сфокусированное на AR, которое существует чуть дольше, то и awe.js, и AR.js выводят AR в Интернет, используя также JavaScript.
- Unity (C #, JavaScript … своего рода) — вы можете создавать приложения VR и AR, используя игровой движок Unity . Unity использует C # или свою собственную версию JavaScript (разработчикам JS может показаться, что подобрать немного проще, но есть различия!).
- Unreal Engine (C ++). Другой способ создания приложений VR и AR — использование альтернативного Unity движка игры — Unreal Engine . У него есть опция визуального кодирования, так что вы можете обойтись без особого программирования, но если у вас есть опыт работы с C ++, вы тоже можете его использовать.
Распознавание изображений
Распознавание изображений — это одна небольшая, но очень забавная часть, дающая вашему следующему проекту немного ума! Существуют API, которые помогут вам легко перенести это в проект в 2019 году:
- Clarifai (JavaScript / Node, Python, Java, C #, Objective C, PHP) — Сервисы, такие как Clarifai, позволяют вам использовать их API с целым рядом различных языков для выполнения некоторого по-настоящему интеллектуального распознавания изображений. У меня есть руководство SitePoint по началу работы с Clarifai JS API для тех, кто хочет начать.
- IBM Cloud (Node, Go, Python, Java, Ruby) — Подобно Clarifai, служба визуального распознавания IBM Cloud также может делать невероятно умные вещи.
- Amazon Rekognition (JavaScript, Node, Python, Android, iOS, Java, .NET, PHP, Ruby) — у Amazon есть API Rekognition, API которого распространяется на .NET и другие!
- Google Cloud Vision API (Node, Python, C #, Go, Java, PHP, Ruby) — у Google есть собственная библиотека распознавания изображений !
Машинное обучение
Существует множество сервисов и API для опробования концепций машинного обучения. Приведенные выше способы распознавания изображений являются частью изображения, но есть варианты, которые можно обучить более широко.
- TensorFlow (Python, JavaScript, C ++, Java, Go, Swift и другие) — Google TensorFlow является одной из наиболее распространенных библиотек машинного обучения, и, хотя она работает с Python и другими мобильными платформами, для тех, кто работает, существует также TensorFlow.js. знать JavaScript. Вы можете многое сделать, используя TensorFlow, и есть много руководств онлайн! Также есть удобная площадка TensorFlow, которая может визуализировать нейронные сети. В ней также есть немного вводной информации о нейронных сетях.
- ml5js (JavaScript) — построенный поверх TensorFlow , ml5js обеспечивает верхний слой, чтобы сделать вещи проще и доступнее .
- Brain.js (JavaScript и Node) — это библиотека нейронных сетей, написанная на JavaScript. В Brain.js есть бесплатный онлайн-курс, состоящий из 19 частей, который преподает нейронные сети на JavaScript .
- scikit-learn (Python) — серия инструментов с открытым исходным кодом scikit-learn, которые многие используют в качестве отправной точки для изучения. Если вы знаете немного Python, стоит попробовать!
- ML.NET (.NET) — если вы являетесь разработчиком .NET, ML.NET может быть для вас вариантом!
Разговорные приложения, умные докладчики и чат-боты
Для этого существует целый ряд различных сервисов, включая Dialogflow, Rasa, Amazon Lex, Microsoft LUIS, Wit.ai и другие. Два, к которым я часто обращаюсь, — это Dialogflow и Rasa (это не значит, что другие варианты бесполезны!):
- Диалоговый поток (Node, Python, Java, Go, Ruby, C #, PHP) — Диалоговый поток Google — это рекомендуемый способ создания собственных диалоговых приложений (известных как «Действия») для Google Assistant и Google Home. У меня есть собственный курс раннего доступа, который я перевожу в электронную книгу по созданию кроссплатформенных диалоговых приложений с использованием Dialogflow .
- Rasa (Python) — это опция с открытым исходным кодом для создания диалогового приложения. Rasa может быть полезен, если вы хотите создать решение, где все это работает на ваших собственных серверах.
Само собой разумеется, есть намного больше альтернатив вышеупомянутым. Если у вас есть опыт общения с другими, не стесняйтесь оставлять предложения для других читателей в комментариях!
Интернет-ресурсы — ваш друг
В Интернете есть множество ресурсов, где вы можете многому научиться без необходимости учиться в университете или платить тысячи долларов.
- SitePoint — Конечно, у нас есть статьи по нескольким темам, как я упоминал ранее!
- Dev Diner — мой собственный сайт имеет множество ресурсов для изучения новых технологий, в том числе список бесплатных способов изучения искусственного интеллекта и машинного обучения , список ресурсов по созданию виртуальной реальности для Интернета с использованием JavaScript и 5 способов научить себя робототехника .
- QUT Robot Academy (бесплатно!) — здесь так много для начинающих, чтобы узнать о робототехнике. Это необходимо, если вы хотите попасть в это пространство.
- edX (бесплатно!) — edX предлагает целый ряд онлайн-курсов университетов по всему миру, которые доступны бесплатно (или за небольшую плату, если вы хотите получить сертификат за свою работу). У них есть курсы по ряду новых технических областей.
- О’Рейли (разнообразие цен) — О’Рейли имеет множество электронных книг и видео по ряду новых технических тем. Хотя они стоят денег, они могут быть очень ценными ресурсами, если вы стремитесь учиться.
- Школа A-Frame — Этот интерактивный курс по созданию WebVR с A-Frame предназначен для самой команды. Документы A-Frame тоже довольно хороши.
- Учебные пособия по Unity. У Unity есть собственные учебные пособия, которые отлично подходят для того, чтобы получить представление о том, как развиваться на игровом движке.
- Unreal Academy — Unreal также имеет множество учебных пособий по игровому движку!
Посмотрите на другие проекты для вдохновения
Если вы хотели бы заняться новыми технологиями, но не можете думать о том, что делать, есть множество сайтов, на которых представлены проекты сообщества — часто с небольшим количеством информации о том, как они это сделали.
- Hackster.io — разработчики могут представить свои проекты в Hackster, чтобы поделиться своим опытом, и могут участвовать в конкурсах, чтобы выиграть призы.
- Hackaday — команда Hackaday каждый день представляет различные проекты, которые можно найти в Интернете. Они находят очень аккуратные вещи!
- Make — Сделайте написать свои собственные статьи по ряду новых технологий.
- Maker Share — Создайте собственную платформу для сообщества, чтобы делиться проектами.
- Instructables — на этом сайте есть множество руководств, посвященных не только новым технологиям, но иногда вы также можете найти здесь несколько интересных новых технических проектов.
Вывод
Это всего лишь несколько идей о том, как начать изучать новые технологии в 2019 году — есть больше ресурсов и подходов. Я надеюсь, что это даст вам достаточно информации, чтобы начать исследование в 2019 году!
Если вы делаете что-то классное в 2019 году, используя новые технологии, оставьте примечание в комментариях или напишите мне (я @thatpatrickguy ). Я хотел бы видеть это!