Дмитрий Вишневский

Python Developer
Дмитрий Вишневский
Python Developer
Ташкент
Специализации

Разработка сайтов
Прочее
Инструменты для бизнеса

Навыки

Git
Веб-программирование
REST API
Redis
ОС Linux
SQL
HTML
CSS
Python
Django
PostgreSQL
OOP

Обо мне

Переехал из России в Ташкент.
Опыт программирования на Python более 1 года.
Дополнительные навыки (кроме указанных в графе "навыки"):
ООП, DRF, FastAPI, SQLAlchemy, Unit Testing, pytest, Selenium, Docker, SOLID, KISS, DRY.

Что могу:

- написать backend сайта с регистрацией, аутентификацией, авторизацией пользователей (по токенам, JWT), с необходимой логикой и CRUD для постов, каталогов и т.д., сделать end points API с требуемой логикой работы;
- написать небольшое web приложение по типу «заметок» и сделать передачу данных на фронтенд HTML для минимального отображения интерфейса;
- настроить хранение данных в БД PostgreSQL, Redis.
- написать разной сложности чистые SQL запросы, Django ORM, SQLAlchemy ORM;
- упаковать проект в Docker (docker-compose);
- писать Unit и интеграционные тесты.

Мои проекты:

1. с FastAPI: регистрация пользователя, его аутентификация и авторизация по JWT и логикой хранения активных и заблокированных токенов в Redis, просмотр и создание постов, выход пользователя из аккаунта и со всех устройств.
https://github.com/CheManKLD/ylab_hw4
2. с Django/DRF: регистрация пользователя, его аутентификация и авторизация по JWT, просмотр и создание постов, добавить/удалить лайк на пост, упаковка в Docker. Дополнительно добавил тесты.
https://github.com/CheManKLD/social_network
3. приложение список дел, где в каждом списке создаются отдельные задачи с описанием и датой окончания. Возможно полное удаление списка дел, изменение и удаление задач.
https://github.com/CheManKLD/todo_list
4. проект с возможностью добавлять статьи, их сортировка по категориям. Регистрация и аутентификация пользователей. Дополнил возможностью API-запросов.
https://github.com/CheManKLD/first-django-project
5. нашел уязвимость в курсе английского Lingualeo. Создал программу, где настроил автоматическое прохождение курса для получения % ежедневного прогресса c помощью Selenium и придерживаясь паттерна Page Object.
https://github.com/CheManKLD/auto_increase_progress_lingualeo

Постоянно развиваюсь и не хочу останавливаться:

- для достижения чистоты кода, изучаю код других пользователей на GitHub;
- если возникает ошибка, сам ищу ответы на Stack Overflow, пытаюсь разобраться в проблеме;
- укрепляю свои знания на курсах на CS50, Stepik, Slurm, читаю статьи на Habr, смотрю ролики по программированию на YouTube;
- сейчас изучаю: Flask, асинхронную работу кода asyncio/aiohttp, очередь задач Celery, брокер сообщений RabbitMQ;
- прочел книги: «Изучаем Python» Марк Лутц, «Грокаем алгоритмы» Адитья Бхаргава, «Жемчужины программирования» Бентли Джон.

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

Осознанно сменил профессию закупщика на программиста. Понял, что занимался не тем. Надоели одинаковые задачи и застой.
Программирование - это интересно. Учился сам по строгой road map, без популярных курсов.
У меня огромная мотивация развиваться, участвовать в создании реальных проектов, быть частью сообщества.

Portfolio

  • Примеры моих проектов:

    None

    1. с FastAPI: регистрация пользователя, его аутентификация и авторизация по JWT и логикой хранения активных и заблокированных токенов в Redis, просмотр и создание постов, выход пользователя из аккаунта и со всех устройств. https://github.com/CheManKLD/ylab_hw4 2. с Django/DRF: регистрация пользователя, его аутентификация и авторизация по JWT, просмотр и создание постов, добавить/удалить лайк на пост, упаковка в Docker. Дополнительно добавил тесты. https://github.com/CheManKLD/social_network 3. приложение список дел, где в каждом списке создаются отдельные задачи с описанием и датой окончания. Возможно полное удаление списка дел, изменение и удаление задач. https://github.com/CheManKLD/todo_list 4. проект с возможностью добавлять статьи, их сортировка по категориям. Регистрация и аутентификация пользователей. Дополнил возможностью API-запросов. https://github.com/CheManKLD/first-django-project 5. нашел уязвимость в курсе английского Lingualeo. Создал программу, где настроил автоматическое прохождение курса для получения % ежедневного прогресса c помощью Selenium и придерживаясь паттерна Page Object. https://github.com/CheManKLD/auto_increase_progress_lingualeo

Education

  • Балтийский федеральный университет им. И. Канта, Калининград

    Магистратура / Организация перевозок и управление на транспорте (по видам)

    1 сентября 2007 г. - 1 июня 2012 г.

Work Experience

  • Менеджер по закупкам и логистике (нерелевантный опыт)

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

    1 августа 2013 г. - 1 августа 2020 г.