Сергей Ринг

13 проектов для Python-разработчиков среднего уровня

Часто Python-проекты подходят или новичкам, или опытным разработчикам. Исправляем эту несправедливость и рассказываем о Python-проектах для среднего уровня.

96722

Изучив основы Python, вам наверняка захочется закрепить знания и поработать над каким-нибудь проектом. Однако не всегда сразу приходит в голову, что можно сделать, а проекты в интернете часто или слишком простые, или слишком сложные. Поэтому в этой статье будут собраны идеи, подходящие для разработчиков среднего уровня.

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Regex Query Tool

Иногда нужно найти в тексте определённую информацию, которую непросто найти с помощью обычного инструмента поиска в текстовых редакторах. Поэтому можно сделать другой инструмент, основанный на регулярных выражениях — Regex Query Tool.

С помощью регулярных выражений можно задавать более общие условия, например можно искать любые даты, записанные в определённом виде. Когда регулярное выражение сопоставляет шаблоны c текстом, оно подсвечивает совпавшие части, таким образом сообщая о них пользователю. Так, ваше приложение проверит наличие в тексте строк, переданных пользователем. С помощью Regex Query Tool пользователи смогут быстро найти то, что им нужно, намного быстрее, чем в текстовом редакторе.

Примеры Regex Query Tools:

Технические детали

Вам нужно сделать так, чтобы приложение давало положительный или отрицательный ответ, такой как «строка найдена» и «строка не найдена», обозначая положительный ответ зелёным цветом, а отрицательный — красным.

Вам не нужно реализовывать алгоритм с нуля. Вы можете использовать re — стандартную библиотеку Python. Библиотека будет возвращать совпавшие строки или None, когда строка запроса не совпадает ни с чем.

Пользователи это оценят

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

URL Shortener

Когда люди делятся ссылками или размещают URL-адреса в постах в социальных сетях, длинный адрес может оказаться очень неудобным и некрасивым. Облегчить задачу поможет URL Shortener. Он уменьшает количество символов в URL-адресе, облегчая их чтение и запоминание. К примеру, xyz.com/wwryb78&svnhkn%sghq?sfiyh может быть сокращено до xyz.com/piojwr.

Примеры таких приложений:

Технические детали

В приложении пользователи будут вводить исходный URL-адрес и в результате получать новый, сокращённый. Чтобы создать символы для укороченной версии адреса, можно использовать комбинацию, сгенерированную при помощи модулей random и string.

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

Пользователи это оценят

Можно добавить функцию для настройки генерации URL-адреса. Без сомнения, xyz.com/mysiteURL лучше, чем случайно сгенерированный xyz.com/piojwrURL.

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
96722