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

Перевод статьи «5 Programming Projects to Get you Through the Darker Months».

Photo by Aaron Burden on Unsplash

Джон Сноу из «Игры престолов» сказал бы, что «зима близко». Мы все больше приближаемся к новогодним праздникам, дни становятся короче, ночи — длиннее. Все это создает прекрасные условия для занятий чем-нибудь дома. А поскольку карантинные мероприятия из-за COVID-19 мешают встречаться с друзьями, я думаю, что работа над личными проектами будет отличным способом занять себя.

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

1. Смарт-термометр

Допустим, вы хотите узнавать температуру воздуха в своей комнате, но не при помощи старомодного градусника. Нет, вы хотите иметь смарт-термометр, который будет выводить показания на панель и который позволит вам мониторить температуру в комнате за определенные периоды времени. Как такой сделать?

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

Для хранения этих данных можно использовать InfluxDb — базу данных для временных рядов. Она просто прекрасно подходит для подобных задач. InfluxDb также предоставляет конечную точку API, на которую вы сможете пересылать ваши данные от Arduino.

Далее вам нужно будет эти данные визуализировать. Это можно легко сделать при помощи Grafana. Вы можете разместить Grafana на одном сервере с InfluxDb — так будет даже еще удобнее. Создаете какие-нибудь полезные графики и — та-дам! — у вас есть собственный смарт-термометр.

Что даст вам работа над этим проектом:

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

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

Photo by Niels Kehl on Unsplash

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

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

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

Что даст вам работа над этим проектом:

  • Вы создадите приложение на языке по своему выбору (Swift для iOS, Java для Android или даже Xamarin для кроссплатформенной разработки).
  • Научитесь оптимизировать страницы для разных мобильных устройств.

3. Инкрементальная игра (idle game, «ленивая» игра)

Photo by SJ . on Unsplash

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

Пару месяцев назад я решил создать собственную «ленивую игру». Поскольку я хотел при том изучить новую технику, я решил создать PWA (прогрессивное веб-приложение).

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

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

Что даст вам работа над этим проектом:

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

4. Прогноз цен на акции

Photo by M. B. M. on Unsplash

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

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

В этом видео объясняется, как создать модель для компании-примера (в данном случае — Netlfix).

Что даст вам работа над этим проектом:

  • Вы научитесь реализовывать модель для прогнозирования цен на акции (на Python).
  • Изучите основы ИИ и обучения с подкреплением.

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

Photo by JESHOOTS.COM on Unsplash

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

Начать работу над VR-проектом более проблемно, чем над остальными (поскольку вам нужны специальные VR-очки для тестирования того, что вы создали). Но сегодня такие очки уже куда более доступны, чем раньше. Самые новые Oculus Quest 2 стартуют от $300. Большое преимущество этих очков в том, что вы можете использовать их сами по себе.

Для создания мира виртуальной реальности я рекомендую Unity и Unreal Engine. По обеим программам есть достаточно руководств для начинающих.

Что даст вам работа над этим проектом:

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

Заключение

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

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

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх