Обновить
8K+
44
Andrey Helldar@Helldar

Senior PHP Developer

4
Рейтинг
85
Подписчики
Отправить сообщение

Malicious attack on Laravel-Lang

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.4K

Malicious code was injected into four Laravel-Lang projects, presumably stealing credentials from the devices on which it was run.

Popular projects were affected: Lang, Actions, Attributes, and HTTP Statuses.

The incident concerns not only Laravel...

Read more

Вредоносная атака на Laravel-Lang

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K

В четыре проекта Laravel-Lang был внедрён вредоносный код, предположительно, ворующий креды с устройств, на которых он запускался.

Под удар попали популярные проекты - Lang, Actions, Attributes и HTTP Statuses.

Инцидент касается не только Laravel...

Узнать подробности

Ошибка тестирования с Laravel Prompts в Laravel-Zero

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.7K

Laravel-Zero - это микро-фреймворк для консольных приложений на базе Laravel Framework, позволяющий легко и быстро разрабатывать функционал работающий без веба. Но инициатором этой статьи стал кейс при использовании Laravel Prompts с несколькими часами потраченного времени.

Для экономии Вашего времени при столкновении с этой ошибкой или вовсе преждевременным её устранением, добро пожаловать под кат.

Читать далее

RoadRunner vs OpenSwoole vs FrankenPHP с Laravel Octane

Время на прочтение10 мин
Охват и читатели11K

На эту тему было опубликовано множество статей из различного рода источников и у многих заметил тенденцию когда каждый из трёх упомянутых технологий значительно лидирует по сравнению с остальными. Тем более что у многих показаны какие-то дикие результаты в виде 1к запросов в секунду...

И мне захотелось всё проверить своими руками...

Читать далее

Поддержка нескольких ботов в DefStudio Telegraph

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.7K

Программный продукт Telegraph от DefStudio работает шустро и работать с ним одно удовольствие. Но не обошлось и без ложки дёгтя в этом меду - несмотря на возможность работы с несколькими ботами, обработчик для них всех будет лишь один. Благо есть лёгкий способ это исправить.

Итак, погнали!

Читать далее

Работа с новой архитектурой в Laravel 11

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели26K

Основная "киллер-фича" фреймворка Laravel версии 11 - "плоский код". Под капот убрано всё, что большинством разработчиков не используется и, по сути, является "мусором". А также убраны некоторые действительно полезные вещи.

Под катом мы рассмотрим что куда делось и как улучшить взаимодействие с новой архитектурой.

Читать далее

Система уведомлений в ресурсах Laravel

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.7K

В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения.

В этой мы пойдём дальше и введём новую бизнес-потребность под названием "нотификации". Их суть в том, чтобы вместе с ответом на запрос добавлять информацию о каких-либо действиях.

Читать далее

Магический API Resource в Laravel

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.9K

В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями? Разберёмся вместе!

Читать далее

Модификация JSON респонсов в Laravel

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.1K

Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что делать если приложение построено на использовании Json Resource? Или ещё больше - нужно изменить уровень вложенности данных, возвращаемых коллекцией? Давайте разбираться!

Читать далее

Один класс, что правит всеми или как улучшить респонс в Laravel

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели5.9K

Добавить гибкость в управление Laravel респонсов приложения? Легко! Заходите под кат и я покажу Вам свой кейс.

Читать далее

Введение в поддержку JavaScript в MySQL

Время на прочтение7 мин
Охват и читатели5.6K

MySQL продолжает наращивать инновации и теперь включает в себя богатые возможности процедурного программирования внутри базы данных. Отныне разработчики могут писать хранимые программы на языке JavaScript (функции и процедуры) в сервере баз данных MySQL. Хранимые программы будут выполняться с помощью GraalVM. Эта версия доступна в качестве "Preview" в MySQL Enterprise Edition и может быть загружена через Oracle Technology Network (OTN). MySQL-JavaScript также доступен в облачном сервисе MySQL Heatware на OCI, AWS и Azure.

Читать далее

Изучение мидлварей в Laravel 11

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели17K

Выход Laravel 11 намечен на первый квартал 2024-го года, что может произойти уже в следующем месяце.

Я начинаю новый проект, и поскольку дата выхода очень близка, решил взглянуть на то что изменится в новом крупном обновлении. Помню как пол года назад прочитал в Laravel News статью о том, что Http Kernel уходит в небытие, и не придал этому особого значения.

Когда я создал проект с помощью команды laravel new project --dev, я был очень удивлён тем, насколько уменьшился размер проекта. Было очень удивительно видеть пустую папку config (можно опубликовать файлы конфигурации при помощи команды php artisan config:publish)!

И, конечно же, там нет Http Kernel. Итак... как же добавить или изменить мидлвари? До Laravel 11 ядро Http Kernel, располагающееся по пути app/Http/Kernel.php,было местом хранения всей конфигурации для мидлварей. Также до Laravel 11 не было необходимости трогать руками файл bootstrap/app.php, если только Вы не использовали фреймворк Lumen. Однако в новой версии его нужно...

Трогать мидлвари

Чудо китайской промышленности YEELIGHT Lightstrip Pro и как я её подключал к Razer Synapse 3

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели17K

Просто так взять и подключить RGB-ленту к приложению Yeelight Station на ПК нельзя. Для этого нужно поплясать с бубном до упаду.

Я сэкономлю Вам силы и нервы, поэтому гоу под кат за подробностями.

Читать далее

Совет по безопасности: увеличьте количество проходов bcrypt

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели5.4K

bcrypt - это функция хэширования паролей, используемая для их защиты в базах данных чтобы их не смог использовать тот, кто получит доступ к исходному кэшу. В настоящее время bcrypt является алгоритмом шифрования по-умолчанию как в Laravel, так и в самом PHP, и на момент написания статьи является наиболее безопасным вариантом хэширования паролей, но нужно увеличить количество проходов хэширования...

Узнать почему

Неортодоксальный Eloquent. Часть 2

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели4.1K

Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.

В этой статье я хотел бы рассказать о нескольких советах и рекомендациях, о которых узнал экспериментальным путём. Например, Вы когда-нибудь задумывались о том, чтобы тем или иным образом разделить жадные загрузки? Нет? Тогда, я уверен, Вы узнаете как минимум что-то новое, так что обязательно дочитайте до конца!

Если Вы ещё не читали первую часть, самое время это сделать.

Читать далее

Неортодоксальный Eloquent. Часть 1

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели11K

Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.

В этой статье я хотел бы рассказать о нескольких советах и рекомендациях, о которых узнал экспериментальным путём. Например, Вы когда-нибудь задумывались о том, чтобы тем или иным образом разделить жадные загрузки? Нет? Тогда, я уверен, Вы узнаете как минимум что-то новое, так что обязательно дочитайте до конца!

Как и все существующие инструменты, у Eloquent имеются свои нюансы. Как ответственные разработчики, мы всегда должны помнить о том, на что соглашаемся. Если Вы хотите узнать больше об AR и философии её разработки, очень рекомендую статью Шона МакКула.

Читать далее

Почему тип поля enum на уровне базы — зло

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели52K

Часто разработчики интересуются почему не рекомендуется использовать тип поля enum в базе данных, и в этой статье мы рассмотрим все плюсы и минусы данного типа.

Тип колонки enum используется для хранения данных, которые могут принимать определённые значения из заранее определённого набора. Он обеспечивает ограничение значений, которые может принимать колонка, и позволяет более строго контролировать данные. Это может быть полезно для хранения статусов, категорий, типов или любых других значений, которые могут быть заданы только из ограниченного набора вариантов.

Но это в теории. А что на практике? Рассмотрим под катом.

Читать далее

Решение конфликта IP-адресов при использовании Docker

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели30K

Пересобирая в очередной раз контейнеры столкнулся с проблемой когда некоторые контейнеры перестали видеть в сети сервисы, расположенные в локальной сети и причина тому - конфликт IP-адресов, когда локальный докер занял тот же пул адресов. В статье мы рассмотрим два варианта решения проблемы.

Читать далее

Генерация и валидация чисел по алгоритму Луна

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели36K

Алгоритм Луна (Luhn algorithm) - это процесс вычисления контрольной цифры для числа в соответствии со стандартом ISO/IEC 7812. Процесс предназначен, в первую очередь, для выявления ошибок, вызванных с непреднамеренным искажением данных. Например, при ручном вводе номера карты или любого другого числа.

Разберём как он работает и рассмотрим инструмент для формирования номеров по алгоритму.

Читать далее

Простой бенчмарк для PHP приложений

Время на прочтение5 мин
Охват и читатели5.8K

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

Для решения этой тривиальной задачи был выпущен пакет "Runtime Comparison", позволяющий сравнивать время выполнения кода без лишних затрат.

Читать далее

Информация

В рейтинге
1 146-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Ведущий
От 350 000 ₽
PHP
MySQL
Git
ООП
Docker
Redis
SQL
Laravel
Elasticsearch