Заметки разработчика
472 subscribers
668 photos
4 videos
1.16K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
CSS: Что такое color-mix() и как смешивать цвета

CSS функция color-mix() появилась в Chrome 111. В этой статье объясняется, как использовать эту функцию для смешивания цветов в таблицах стилей.

https://www.dev-notes.ru/articles/css/color-mix/
Laravel совет.
Вы можете создать отдельные «глобальные» сидеры, а не только основную DatabaseSeedeer.
Например, если вы хотите иметь набор сидеров для тестирования производительности с большим количеством данных:
1. Создайте отдельные сидеры в подкаталоге
2. Создайте основной сидер
3. Запустите его с помощью php artisan db:seed –class=XXXX
Laravel: Моделирование бизнес процессов

Как разработчики, мы часто сопоставляем бизнес процессы с цифровыми процессам, от отправки электронного письма до чего-то довольно сложного. Давайте посмотрим, как взять более сложный процесс и написать чистый и элегантный код

https://www.dev-notes.ru/articles/laravel/modelling-busines-processes/
Python: Идентичность и равенство объектов

В этом кратком и практическом руководстве вы узнаете, когда использовать операторы Python is, is not, == и !=. Вы увидите, что эти операторы сравнения делают под капотом, погрузитесь в некоторые особенности идентификации объекта и интернирования, а также определите пользовательский класс.

https://www.dev-notes.ru/articles/python/is-identity-vs-equality/
Вышел nginx 1.24.0.

Выпущена стабильная версия nginx-1.24.0, включающая новые функции и исправления ошибок из основной ветки 1.23.x.

P.S. У кого стоят модули собранные под 1.23, есть большая вероятность, что они отваляться и nginx не перезапуститься пока вы их не пересоберёте под новую версию или полностью не отключите все связанные с ними директивы из конфигов.

У меня отвалился brotli filter и brotli static, пришлось срочно отключать в конфигах ибо сайт лёг.
Пересобрал модули. Сайт работает в прежнем режиме с поддержкой сжатия brotli.
Python: Понимание объекта NoneType

В этом руководстве вы узнаете об NoneType объекте None, который действует в Python как null. Этот объект представляет собой пустоту, и вы можете использовать его, чтобы отменить параметры по умолчанию и даже показать, когда у вас нет результата. None — это инструмент для того, чтобы делать всё из ничего!

https://www.dev-notes.ru/articles/python/understanding-nonetype-object/
Laravel совет.

Вы можете указать класс Seeder не только с помощью php artisan db:seed --class=XXXXX, но и с помощью php artisan migrate:fresh --seed --seeder=XXXXX
Laravel совет.

Вы можете использовать один и тот же класс запроса формы From Request для нескольких действий контроллера, используя match или switch в методе rules()
SQLi: Что такое SQL-инъекция

В этой статье мы объясним, что такое SQL-инъекции (SQLi), опишем несколько распространённых примеров, объясним, как находить и использовать различные виды уязвимостей SQL-инъекций, а также подведём итоги, как предотвратить SQL-инъекции.

https://www.dev-notes.ru/articles/security/sql-injection/
SQLi: Шпаргалка по SQL-инъекциям

Эта шпаргалка по SQL-инъекциям содержит примеры полезного синтаксиса, который можно использовать для различных задач, часто возникающих при выполнении атак с помощью SQL-инъекций.

https://www.dev-notes.ru/articles/security/sql-injection-cheat-sheet/
Один из лучших способов стабилизировать устаревшую кодовую базу Laravel:

1. Исправьте code style. Необходимо навести порядок в хаосе. Для этого требуется хорошая коммуникация с командой. Потому что Git конфликты — кошмар.
2. Создайте отсутствующие миграции. Часто бывают проекты, в которых отсутствуют некоторые миграции, потому что разработчики сами редактировали базу данных.
3. Создайте недостающие фабрики. Нужен обширный набор случайных фейковых данных для локальной разработки.
4. Начните писать тесты для таких простых вещей, как GET маршруты. Это станет большим шагом вперёд. Фабрики в этом помогут.
5. Создайте среду непрерывной интеграции CI. Лучше всего для этого подходят GitHub Actions, и существует множество примеров с открытым исходным кодом.
6. Переложите как можно больше работы на фреймворк. Если вы начали писать хорошие тесты, теперь вы можете перейти от чьей-то ненужной реализации к Laravel пути. Разработчики, изобретающие велосипед, часто делают это, потому что им не хватает знаний о фреймворке.
SQL-инъекции: UNION атаки

Когда приложение уязвимо для SQL-инъекций и результат запроса возвращаются в ответах приложения, можно использовать ключевое слово UNION для извлечения данных из других таблиц базы данных. Это приводит к SQL-инъекции с UNION атакой.

https://www.dev-notes.ru/articles/security/sql-injection-union-attacks/
Клонирование readonly свойств в PHP 8.3

В PHP 8.3 добавлена возможность перезаписи значения readonly свойств при клонировании объекта. Не заблуждайтесь: вы не можете клонировать любой объект и перезаписывать его readonly значения из любого места. Эта функция касается только очень специфического (но важного) пограничного случая.

https://www.dev-notes.ru/articles/php/cloning-readonly-properties-in-php-83/
Развёртывание Laravel приложения с GitHub Actions

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

https://www.dev-notes.ru/articles/devops/laravel-app-deployment-with-github-actions/
Новое в Symfony 6.3 — Early Hints

В Symfony 6.3 добавлена поддержка Early Hints, что позволяет браузерам загружать ресурсы, пока серверы всё ещё готовят ответ. Это значительно улучшает воспринимаемую производительность.

https://www.dev-notes.ru/articles/symfony/new-in-symfony-6-3-early-hints/
Новое в Symfony 6.3 — Ограничение NoSuspiciousCharacters

Symfony 6.3 включает новое ограничение NoSuspiciousCharacters, чтобы избежать spoofing атак, основанных на использовании символов, которые отличаются, но внешне выглядят одинаково.

https://www.dev-notes.ru/articles/symfony/new-in-symfony-6-3-nosuspiciouscharacters-constraint/
Нужно ли комментировать свой код?

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

https://www.dev-notes.ru/articles/php/should-you-comment-your-code/