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

Вступление

Как сказал бы Джон Сноу, персонаж «Игры престолов»: «Зима приближается». По мере приближения к праздничному периоду дни становятся короче, а ночи длиннее. Это прекрасная возможность найти способы чем-то занять себя внутри. Поскольку пандемия COVID-19 затрудняет общение с друзьями, я подумал, что было бы неплохо изучить идеи, как оставаться занятыми, если вы один.

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

Проекты:

  1. Умный термометр с Arduino
  2. Каталог хобби
  3. Простая игра как PWA
  4. Предиктор цен на акции
  5. Создание мира виртуальной реальности

1. Умный термометр

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

Самый простой способ сделать это - использовать Arduino, к которому подключен модуль Wi-Fi и который измеряет температуру с помощью терморезистора. Сопротивление резистора преобразуется в температуру, которая затем отправляется через модуль Wi-Fi на сервер.

Хороший способ хранить эти данные - использовать InfluxDb - базу данных временных рядов, которая отлично подходит для такого рода задач. InfluxDb также предоставляет конечную точку API, на которую вы можете отправлять свои данные с вашего Arduino. Затем все, что вам нужно сделать, это визуализировать данные! Это легко делает Графана. Вы можете разместить Grafana вместе с InfluxDb на одном сервере, чтобы сделать его еще более удобным. Сделайте несколько полезных графиков и тада! У тебя есть умный градусник.

Что вы узнаете:

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

2. Каталог хобби

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

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

Что вы узнаете:

  • Создание приложения на предпочитаемом языке; Swift (iOS), Java (Android) или даже Xamarin для кроссплатформенности
  • Разработка мобильных экранов для каталога

3. Неактивная игра

Когда вы хотите создать игру, не всегда нужно создавать реальное приложение. Большинство из вас наверняка знают Cookie Clicker. Cookie Clicker - это инкрементальная игра, также известная как игра в режиме ожидания, в которой вы зарабатываете файлы cookie, нажимая на большой файл cookie. Пару месяцев назад я решил сам создать idle-игру. Поскольку мне не терпелось изучить новую технику, я решил создать PWA (прогрессивное веб-приложение).

Этот проект идеально подходит для вас, если вы хотите поэкспериментировать с одной из популярных библиотек JavaScript (React, VueJS или Angular) и комбинировать ее с PWA.

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

Что вы узнаете:

  • Работа с реактивным сайтом и техниками PWA
  • Создание собственной прогрессивной игры с разными уровнями сложности

4. Предиктор цен на акции

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

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

Что вы узнаете:

  • Реализация модели с Python для прогнозирования цен на акции
  • Основы искусственного интеллекта и обучения с подкреплением

5. Мир виртуальной реальности

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

Начать работу с проектом VR немного сложнее (так как вам нужна гарнитура VR, чтобы протестировать его «в реальной жизни»). Но в настоящее время гарнитуры виртуальной реальности намного доступнее. Новейший Oculus Quest 2 стоит от 299 долларов США. Большим преимуществом Oculus Quest является то, что вы можете использовать его самостоятельно.

Есть две основные программы, которые я настоятельно рекомендую для создания мира виртуальной реальности; Unity и Unreal Engine. Обе программы предоставляют достаточно руководств, чтобы вы могли начать работу и создавать свои собственные удивительные творения.

Что вы узнаете:

  • Работа с 3D-объектами для создания собственного мира
  • Освоение работы с программами виртуальной реальности, такими как Unity и Unreal Engine.

Заключение

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

Я с нетерпением жду результатов.

Удачного кодирования!