Первый pet-проект, но не бесполезный?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

Однако как-то на всем известном видеохостинге я наткнулся на трансляцию мужика с проекта Moscow Python (прошу прощения, имя я не запомнил, и сейчас уже просто не найду) который вещал что-то о начале пути питониста, а заодно рассказал о программе для изучения английского языка Anki. А далее, прямо на трансляции, он сам решил написать аналогичную программу, но совсем в примитивном виде. И тут, очевидно вдохновившись, меня посетила идея, что вполне полезной могла бы оказаться программа для изучения технического английского языка. Ну зачем мне сразу весь язык, если в конкретный период времени он мне необходим только для уверенного чтения и понимания документации. И я написал.

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

Основной функционал

  1. Программа принимает от пользователя URL на страницу с документацией (но и не только).

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

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

При написании кода были затронуты темы:

  • Парсинг веб-страниц с библиотеками requests и bs4.

  • Работа с регулярными выражениями.

  • Многопроцессорная обработка данных (словарь создается за секунды).

  • Работа с базами данных и SQL.

  • Создание приложения на Flask (это уже было добавлено относительно недавно, сначала я использовал Tkinter).

  • Автотесты (Pytest), но очень слабенько.

  • Немного HTML, CSS и Jinja.

Для начала работы достаточно запустить app.py.

После нужно скормить приложению любой URL, и наслаждаться космическим процессом обучения.

В целом, приложение можно запустить на сервере и открыть для свободного доступа. Для каждого пользователя создается отдельный словарь и друг-другу они не мешают. Хотя над безопасностью в приложении не мешало бы поработать, так как процесса авторизации там нет, "личный кабинет" доступен по IP.

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

Кстати, репозиторий проекта TakeWords на GitHub.

Я ведь достаточно поздно увлекся разработкой, но всё же окончательно решил перейти в эту сферу, уж больно мне это нравится. Возможно в каком-то ближайшем будущем даже осмелюсь на собеседования для трудоустройства в профильные компании. А пока я в основном занимаюсь автоматизацией работы со всякими Web3 проектами, заставляя свои приложения добывать мне разные токены. Но об этом я пишу в канале IT Police.

Спасибо, что потратили время на прочтение этого текста. Если будут вопросы по коду программы, я с удовольствием на них отвечу. А если программа вам всё же понравилась, буду благодарен за звездочку на GitHub. Всех благ!

Источник: https://habr.com/ru/articles/828674/


Интересные статьи

Интересные статьи

В Москве 8 апреля 2024 года пройдёт первый митап для игровых разработчиков и разработчиков мобильной операционной системы «Аврора». Мероприятие пройдёт с 12:00 до 18:00 в...
Всем привет! Меня зовут Стас, и я Senior QA в компании inDrive и наставник на курсе «Инженер по тестированию» в Яндекс Практикуме. Ещё веду телеграм-канал «Тестировщики нужны».Многие начинающие автома...
Я расскажу о личном опыте разработки дашборда и “граблях”, на которые наступал. Этот текст будет интересен тем, кто хочет больше узнать о Data Driven и Data Governance Dashboard. Здесь я провожу работ...
Всем привет. Меня зовут Капранов Кирилл, я — руководитель направления системного анализа в компании Sportmaster Lab. 10 марта 2021 года мы с коллегами сделали первый мита...
Эта статья, как и мой предыдущий пост, не похожа на то, что обычно публикуют на Хабре.  Здесь не объясняется никаких новых или старых концепций, я не рассказываю что...