Заметки разработчика

Заметки из личного опыта и переводы интересных статей о языках программирования, фреймворках, инструментах и технологиях.

Статьи

JavaScriptFrontend

Пользовательские события CustomEvent

JavaScript CustomEvent расширяют функциональность встроенной системы событий. Проще говоря, они позволяют программистам создавать и обрабатывать события, уникальные для их приложения, и в этой статье мы расскажем о них всё.
GitTools

Git: Поддерживайте чистоту ветви с помощью fixup и autosquash

Кто не устал от коммитов "Remove pdb" или "Fix a typo" через несколько минут или часов после коммита чистой фичи? Несколько лет назад я обнаружил в GIT две полезные опции, которые работают вместе: git commit --fixup и git rebase --autosquash. С их помощью можно легко объединить небольшие исправления с оригинальной фичей и сохранить ветвь чистой.
Frontend

Создание меню "вне холста" с <dialog> и веб-компонентами

Меню "вне холста" — распространённый паттерн в веб-дизайне. Его часто можно увидеть на мобильных сайтах, где вы кликаете на кнопку гамбургер, и меню выдвигается сбоку экрана, обычно перекрывая контент, находящийся за ним.
BackendLaravelEloquent

Нетерпеливая загрузка может быть вредна

Да, вы всё правильно поняли. Нетерпеливая загрузка (Eager loading) может быть вредной, очень вредной. Однако мы часто прибегаем к ней, когда имеем дело со сценарием N+1, думая, что решили проблему, а на самом деле, возможно, сделали её ещё хуже. Каким образом? Давайте посмотрим.
BackendSymfony

Модернизация конфигурации Symfony

Конфигурация Symfony — одно из тех изменений, которые трудно заметить, пока они не будут удалены в следующей мажорной версии. Тогда приходится гуглить "сообщение об ошибке invalid option id" и надеяться на решение. Не самый лучший способ провести выходные, не так ли?
BackendSymfonySecurity

Введение в CSRF-токены в Symfony

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

Функции высшего порядка в JavaScript

Функции высшего порядка — одна из самых мощных возможностей JavaScript, позволяющая разработчикам писать лаконичный, гибкий и модульный код. Функция высшего порядка — это просто функция, которая либо принимает одну или несколько функций в качестве аргументов, либо возвращает функцию в качестве результата. В этой статье мы рассмотрим, что такое функции высшего порядка, почему они полезны и как использовать их в своём коде.
BackendLaravelEloquent

Использование $fillable для валидации

Свойство $fillable в моделях Eloquent может оказаться разумным местом для размещения логики валидации. В конце концов, учитывая, что этот список является практически частью валидации, было бы расточительно не использовать ту же структуру для определения правил соответственно.
BackendPHP

Все рекурсивные функции в PHP

Рекурсивная функция — это функция, вызывающая саму себя для решения задачи. Этот тип функций часто используется в ситуациях, когда задачу можно разбить на более мелкие, похожие, но всё же более мелкие задачи. Функция продолжает вызывать себя с изменёнными аргументами до тех пор, пока не будет достигнут базовый случай, после чего функция перестаёт вызывать себя и начинает возвращать значения. Итак, все ли рекурсивные функции в PHP нам известны?
BackendLaravel

Процессы и команды Artisan в Laravel

Узнайте как создавать и тестировать команды для взаимодействия с Laravel приложением и сервером. Откройте для себя новые советы и рекомендации по написанию команд Artisan, а также по использованию фасада Process в Laravel 10.