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

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

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

О себе

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

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

Image

Навыки

PHP 8.2 Laravel 11 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.

Заметки

N+1 и eager loading: как один список «тормозит» весь сайт
N+1 запросов в Eloquent простыми словами: что это такое, почему возникает, как найти и исправить. Eager loading через with(), load(), loadMissing(), preventLazyLoading(), withCount(), whereHas. Плюс типичные ошибки: вложенный N+1, eager loading вместо скоупов, lazy loading в очередях. С примерами из реальных проектов.
Soft deletes в Laravel: удаление «с сохранением»
Soft deletes в Laravel простыми словами: SoftDeletes, колонка deleted_at, restore, forceDelete, withTrashed, onlyTrashed, поведение связей и уникальных индексов, массовое удаление. Плюс типичные ошибки: уникальные индексы с удалёнными записями, каскадные связи, забытый withTrashed. С примерами из реальных проектов.
Миграции, сиды и фабрики: управление схемой и тестовыми данными
Миграции, сиды и фабрики в Laravel простыми словами: как менять схему базы без боли, migrate vs migrate:fresh vs rollback, чем сиды отличаются от фабрик, фабрики со связями. Плюс типичные ошибки: правка накатанной миграции, сиды на проде, миграции без отката. С примерами из реальных проектов.
Связи в Eloquent: hasMany, belongsTo, belongsToMany
Связи в Eloquent простыми словами: hasMany, belongsTo, belongsToMany, hasOne, внешние ключи, промежуточная таблица withPivot и withTimestamps, где объявлять связи и какие ошибки с ними делают. С примерами из реальных проектов.
Eloquent: ORM в Laravel простыми словами
Что такое Eloquent и ORM в Laravel простыми словами: модели, таблицы, связи, Active Record, чем Eloquent отличается от query builder и чистого SQL. Когда ORM хватает, а когда нужен query builder. С примерами из реальных проектов.
Все заметки