- Закончил курсы на Hexlet по профессии PHP-разработчик (разработка веб приложений на Laravel) https://ru.hexlet.io/u/aslan_autlev
учебные проекты (https://cv.hexlet.io/resumes/422)
- Дополнительно прошел интенсив по SQL (Пункт Электронные сертификаты) https://github.com/AslanAV/sql_mathshub
- Во время обучения проходил дополнительно курсы на Хекслете по алгоритмам, курс построение абстракций и Трек СИКП (Структура и интерпретация компьютерных программ).
- Отправил ПР в репозиторий книги "Грокаем алгоритмы" первые 2 примера из книги: бинарный поиск и сортировка выбором, на языке Scheme
https://github.com/egonSchiele/grokking_algorithms/commit/022d97a56d3e4b56dce958b55f9652660717d292
- Выполнил тестовое onlydigital.ru
Описание: написать формы регистрации, авторизации, страницу профиля с использованием нативного php, без использования сторонних фреймворков.
https://github.com/AslanAV/onlyteam_test
Что было сделано:
- Написал микрофреймворк. При обращении к сайту, основное приложение парсило файл с роутами, данные которых сравнивались с данными запроса из переменной $_SERVER. При совпадении URI и метода запроса, вызывался метод контроллера который прописан в файле с роутами (MVC). Метод контроллера, обрабатывал входные данные при наличии, вызывал рендерер который, обращался к заданному в параметры имени шаблону и через специальный класс Template импортировал переменные.
https://github.com/AslanAV/onlyteam_test/tree/main/src/Application
Помимо реализации MVC, также было реализовано:
- Хранение данных в файле с использованием интерфейсов, с возможностью подключения pgsql через PDO.
https://github.com/AslanAV/onlyteam_test/tree/main/src/Databases
- Валидатор который включал в себя базовые правила (require, unique) как в Laravel
https://github.com/AslanAV/onlyteam_test/blob/main/src/Validator/Validator.php
- Вьюхи с выделением общих частей html в отдельные шаблоны footer header.
https://github.com/AslanAV/onlyteam_test/tree/main/src/resources/views
- Был настроен ДЕМО доступ на Heroku (README.md), настроен Procfile для указания сервису входной точки index.php
https://github.com/AslanAV/onlyteam_test/blob/main/Procfile
- Использовал Makefile, для упрощения настройки и локального запуска проекта
https://github.com/AslanAV/onlyteam_test/blob/main/Makefile
- Добавил Docker: с использованием docker-compose который поднимал 3 контейнера: nginx, postgres, php-fpm. А также добавлял настройки конфигурации в nginx и php.ini.
https://github.com/AslanAV/onlyteam_test/commit/3c4b7e31259508048245b5ad817a20e29c18afbc
- Выполнил тестовое https://github.com/AslanAV/itsolgrp-test
Описание: Сделать сайт со статьями на Laravel
Что было сделано:
- 3 страницы сайта: Главная, Каталог Статей, Страница статьи
- Главная страница: Навигационное меню Активный пункт "Главная страница", Последние добавленные статьи. 6 миниатюр статей в сортировке LIFO
- Каталог статей: Навигационное меню. Активный пункт "Каталог статей". Листинг статей. Сортировка LIFO. 10 миниатюр статей на страницу, пагинация
- Страница статьи: Навигационное меню. Активный пункт "Каталог статей". Обложка статьи, Текст статьи, Теги статьи, Счетчик лайков статьи, Счетчик просмотров статьи, Форма комментария
- Ajax запросы при добавлении комментария и лайка,
Использовался метод dispatchAfterResponse встроенных очередей (Queues) Laravel
https://laravel.com/docs/10.x/queues#dispatching-after-the-response-is-sent-to-browser
для реализации механики:
1. API метод получает запрос
2. метод возвращает ответ клиенту
3. метод исполняет логику в фоновом режиме.
GitHub - https://github.com/AslanAV/future-test
Помимо реализации MVC, также было реализовано:
- подключение CodeClimate
https://github.com/AslanAV/itsolgrp-test#readme
- Использование CI (Github Actions): соответствие стандартам кодирования с использованием PHP_CS, тестирование, публикация test-coverage для CodeClimate, и при успешном завершении всех шагов — деплой на сервис railway.app
https://github.com/AslanAV/itsolgrp-test/blob/main/.github/workflows/phpci.yaml
- Docker: с использованием docker-compose который поднимал 3 контейнера: nginx, mysql, app. А также добавлял настройки конфигурации в mysql, nginx и local.ini.
https://github.com/AslanAV/itsolgrp-test/blob/main/docker-compose.yml
- Полное описание установки docker/local
https://github.com/AslanAV/itsolgrp-test#readme
Выполнил тестовое https://github.com/AslanAV/future-test
Описание: Разработать REST API для записной книжки
Что было сделано:
- реализовал приложение с использованием API Resources
https://github.com/AslanAV/future-test/blob/main/routes/api.php
https://github.com/AslanAV/future-test/blob/main/app/Http/Controllers/NoteBookController.php
- добавил swagger UI с описанием API
https://github.com/AslanAV/future-test/blob/main/resources/swagger/future_test.yaml
- написал Тесты на разные сценарии
https://github.com/AslanAV/future-test/blob/main/tests/Feature/NotebookTest.php
- Полное описание установки docker/local
https://github.com/AslanAV/future-test#readme
а также другие тестовые в моем профиле GitHub: https://github.com/AslanAV?tab=repositories&q=test&type=&language=&sort=
Примеры покрытия тестами проектов:
- Laravel
1) https://github.com/AslanAV/itsolgrp-test/tree/main/tests/Feature
2) https://github.com/AslanAV/dimaestri-test/blob/main/tests/Feature/OrderWithScoreTest.php
3) https://github.com/AslanAV/future-test/blob/main/tests/Feature/NotebookTest.php
- Yii2
1) https://github.com/AslanAV/ipvorogcov-test/tree/main/tests/Feature
- Slim
1) https://github.com/AslanAV/avito-test-slim/tree/main/tests
Учавствовал в Опенсорс проектах:
- Добавил статистику на главный экран. https://github.com/Hexlet/hexlet-sicp/pull/1415
- Добавил поддержку Маркдаун и ссылку на документацию. https://github.com/Hexlet/hexlet-sicp/pull/1398
- Исправил работу кнопки "my solutions". https://github.com/Hexlet/hexlet-sicp/pull/1416
- Отвечал на вопросы в сообществе. https://ru.hexlet.io/qna/php/questions
сделал 4 учебных проекта
Проект 1 Brain Games
- научился настраивать рабочее окружение
- научился работать с менеджером зависимостей Composer, настраивать CodeSniffer (линтером,
- анализатором качества кода)
- Поработал с GitHub.
- Получил опыт построения архитектуры полноценного приложения и написания чистого кода.
Проект 2 Вычислитель отличий
- поработал с коллекциями,
- изучил способы построения и обхода дерева,
- познакомился с разными форматами данных (json, yaml), научился их парсить и формировать.
- начал писать тесты (PHPUnit) и освоил разработку через них.
- Познакомился с непрерывной интеграцией (Cl) и элементами экстремального программирования.
Проект 3 Анализатор страниц
- Сделал полноценный Веб Сайт на Laravel (MVC- архитектура)
- Написал структуру в соответствии с ресурсным роутингом
- Подключил Botstrap5 + Vite.js
- Написал базовый SEO-анализатор
Проект 4 Менеджер задач
- Сделал веб-приложение на базе Laravel с использованием ORM и описанием связей (o2m, m2m)
- Написал тесты на контроллеры сущностей проекта
- Добавил форму с фильтрацией данных
- Добавил коллектор ошибок Rollbar
Автоматизированные системы обработки информации и управления
Радиофизика и электроника
Закончил Профессию PHP разработчик.
Во время обучения проходил дополнительно курсы на Хекслете по алгоритмам, операционным системам, курс построение абстракций и Трек СИКП.
После третьего проекта, написал пробное тестовое на микрофреймворке Slim (https://github.com/AslanAV/avito-test-slim), а также реализовал базовые структуры Event Dispatcher, Блог (Laravel), API Блога (Laravel).
После окончания профессии написал web-приложение которое выводит(рендерит) html-страницу в зависимости от http методов и передаваемых параметров (https://github.com/AslanAV/My-Framewok).
Выполнил несколько тестовых после окончания (https://cv.hexlet.io/resumes/422)