Дмитрий Вишневский
Специализации
Навыки
Обо мне
Переехал из России в Ташкент.
Опыт программирования на 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 г.