Программирование на Laravel

Виталий Басов · Backend-разработчик

Виталий Басов
Виталий Басов
Backend-разработчик · PHP / Laravel
Санкт-Петербург · Телефон
github.com/vbasov77

О себе

Backend-разработчик с опытом веб-разработки с 2013 года. Основной стек — PHP и Laravel: разрабатываю сервисы на Laravel 10 (PHP 8.1), проектирую базы данных на MySQL, интегрирую API, настраиваю аутентификацию через Sanctum и пуш-уведомления через Firebase (FCM). Дополнительно владею Java (Spring Boot) и SQL.

Выпускник GeekBrains (2022–2024), факультет «Разработчик — Web-разработка на Java», диплом с отличием.

Image

Навыки

PHP 8.1 Laravel 10 Sanctum Eloquent Blade MySQL PostgreSQL REST API Firebase (FCM) Git Docker Java · Spring Boot JavaScript — базовый

Некоторые Проекты

Laravel 10 · PHP 8.1 · MySQL
FeastBoom — рекламная площадка для банкетных залов

Площадка для аренды банкетных залов с каталогом исполнителей: фотографы, видеооператоры, ведущие, оформление залов и др. REST API для Android-приложения: чаты и сообщения, push-уведомления через Firebase Cloud Messaging, авторизация через Sanctum. Спроектировал таблицы пользователей, заказов и пакетов исполнителей. Настроил раздельные каналы логирования info/error. Сайт — на Blade с SEO: sitemap, метатеги. FEAST-BOOM.RU GITHUB

Laravel 7 · Blade · MySQL
POZITIVSAD — интернет-магазин растений

Магазин селекционных растений для частного заказчика: каталог с категориями (редкие коллекционные растения, кактусы и суккуленты, пионы, сибирские сциллы собственной селекции), корзина и оформление заказа, страница контактов. Laravel 7, Blade, MySQL. Сайт работает: pozitivsad.ru pozitivsad.ru

Java · Spring Boot · WebSocket · MySQL
Mieten — площадка аренды недвижимости

Дипломный проект (защищён с отличием): сервис аренды и бронирования жилья на Java (Spring Boot). Реализовал регистрацию и авторизацию пользователей, CRUD объектов недвижимости, мессенджер на WebSocket с нуля — переписка с владельцем в реальном времени и счётчик непрочитанных сообщений. Массовая загрузка фотографий на сервер через клиентские JS-библиотеки. Код открыт: github.com/vbasov77/mietenJ17

Курсы GeekBrains

Образование

2022 — март 2024
GeekBrains — диплом с отличием

Факультет «Разработчик — Web-разработка на Java». Попутно: Git, Docker, MySQL, PostgreSQL.

с 2017
Курсы по PHP

С тех пор основной рабочий язык — PHP, фреймворк — Laravel.

Заметки

Коллекции Laravel: groupBy() и keyBy() — превращаем плоский список в структуру одной строкой
Очередная заметка из серии о коллекциях. map(), filter(), pluck(), lazy() — уже разобрали. Сегодня два метода, которые заменяют целые циклы с накоплением в промежуточные массивы: groupBy() и keyBy(). Если вы хоть раз писали foreach с $result[$item->chat_id][] = $item внутри — эта заметка для вас.
Бенчмарк: коллекции Laravel против нативных циклов
Дополнение к заметке «for против foreach». Раз собираем серию про коллекции — измерим, во что обходится их красота: each(), map() и filter() против обычных циклов PHP.
for против foreach: что быстрее — и почему почти всегда всё равно
Очередная заметка из серии «микрооптимизации, которые мы незаслуженно любим». Разбираем, какой цикл в PHP действительно быстрее, чем измерять, и когда разница вообще имеет значение.
Ленивые коллекции: lazy() — как обработать 100 000 строк и не уронить сервер
Ещё одна заметка заметка из серии о коллекциях Laravel. Уже разобрали map(), filter() и pluck() — сегодня на очереди lazy(). Метод, о котором мало кто знает, но который однажды спасает вам несколько гигабайт памяти и, возможно, ночной инцидент.
Коллекции Laravel: filter() и pluck() — два метода, которые уберут половину ваших
Продолжаем серию заметок о коллекциях Laravel. В прошлый раз разбирали map() — сегодня его ближайшие напарники: filter() и pluck(). Пара методов, после которых вы перестанете писать циклы «собери из массива то-то» вручную.
Все заметки