Максим Кузнецов
Я рекомендую написать собственный shell, пусть он будет гораздо проще чем bash/zsh/fish и другие, но позволит научиться проектировать.
Суть его заключается в том, что пользователь вводит команду и ее аргументы. Например, chrome tproger.ru, а программа открывает нужный сайт. Также можно добавить поддержку вычислений, запуск сторонних программ и многое другое, тем самым расширяя функционал вашего shell.
Можно также уйти на более низкий уровень и написать серверную часть для любой игры из списка выше.
Источник статьи: https://tproger.ru/articles/proekty-dlja-novichkov-sovetuet-jekspert/
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 для них. Например приложение погоды. Или же можно поработать с более сложными вещами и реализовать просмотр видео и стримов.Источник статьи: https://tproger.ru/articles/proekty-dlja-novichkov-sovetuet-jekspert/