Обложка: Проекты для новичков: советует эксперт

Проекты для новичков: советует эксперт

2
23
Максим Кузнецов
Максим Кузнецов

Senior Python Developer в Akvelon

CLI (Консольное приложение)

Первый интерфейс взаимодействия с пользователем, который осваивает начинающий разработчик — это консоль.
Я рекомендую написать собственный shell, пусть он будет гораздо проще чем bash/zsh/fish и другие, но позволит научиться проектировать.
Суть его заключается в том, что пользователь вводит команду и ее аргументы. Например, chrome tproger.ru, а программа открывает нужный сайт. Также можно добавить поддержку вычислений, запуск сторонних программ и многое другое, тем самым расширяя функционал вашего shell.

TUI (Text User Interface)

После того как вы разобрались с CLI, можно приступить к созданию консольных интерфейсов, да-да, как в Midnight Commander, htop и прочих программах. Здесь можно выбрать любую CLI программу и добавить к ней такой интерфейс. Или же написать аналог любой из известных программ. Например, напишите с нуля загрузчик файлов, с возможностью сохранения в определенную директорию.

GUI (Графическое приложение для десктопа)

Здесь можно также создать клон известных программ, например, Paint или Telegram. Написать чат приложение, простую игру (крестики-нолики, морской бой и другие), среднюю игру (шахматы, арканоид и другие).

Web

Из своей практики скажу, что любое знакомство с вебом начинается с парсеров. Парсер — это программа, позволяющая отправлять запрос на сайт и собирать данные с него. Вариантов может быть множество, от парсинга цен на валюту или котировок акций, до постраничного обхода справочников с различными данными. Плюс можно познакомиться с API как интерфейсом взаимодействия с различными сервисами. СПОЙЛЕР: работать с API гораздо удобнее и быстрее, чем парсить данные с 1000 страниц.

Web Backend

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

 Web Frontend

Если у вас уже есть какой-то backend, вооружитесь HTML\CSS\JS и оформите его. Также можно воспользоваться списком открытых API и написать frontend для них. Например приложение погоды. Или же можно поработать с более сложными вещами и реализовать просмотр видео и стримов.

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

Перейти к регистрации

Что думаете?