Статьи
TypeScript TypeScript основывает обнаружение и определение типов на выведении типов (Type Inferences) и аннотациях типов (Type Annotations), и в этой статье мы расскажем о них, чтобы вы могли понять, когда и как их использовать.BackendLaravelEloquent Мягкое удаление записей в Laravel позволяет помечать записи как "удалённые", а не удалять их из базы данных навсегда. Это может быть невероятно полезно при работе с информацией, которую в будущем может потребоваться восстановить. К счастью, Laravel поставляется со встроенной функцией soft delete!BackendPHP Генераторы в PHP позволяют конструировать итераторы без необходимости создания всего массива. Это позволяет значительно сократить потребление памяти.BackendLaravel Laravel предлагает встроенный метод отправки электронной почты из вашего приложения с помощью фасада Mail. Этот метод требует подключения внешнего почтового сервера, например SMTP-сервера Gmail, который мы будем использовать в данной статье.BackendLaravelEloquent В Laravel очень мощный конструктор запросов. Он предлагает богатый набор методов, позволяющих легко и просто писать SQL-запросы.DevOpsnginx Являясь основой многих сайтов с высокой посещаемостью, Nginx зарекомендовал себя как надёжное, высокопроизводительное и гибкое решение для обслуживания веб-контента.FrontendCSS Соглашения об именовании CSS улучшают взаимодействие членов команды при работе над проектами, повышают сопровождаемость и масштабируемость проекта, позволяя разработчикам оптимизировать свои рабочие процессы. В этой статье мы погрузимся в мир соглашений об именовании CSS, покажем практические примеры и преимущества, которые они дают в процессе разработки.BackendLaravel Как использовать несколько баз данных в проекте Laravel и управлять разделёнными записями в базе данных.BackendLaravel Свежий релиз Laravel Sail включает поддержку Bun, быстрой универсальной среды выполнения JavaScript. Узнайте, как начать использовать Bun в своих проектах Laravel уже сегодня.JavaScript Новый View Transitions API предлагает более простой способ анимации между двумя состояниями DOM — даже между загрузками страницы. Это прогрессивное усовершенствование, работающее уже сегодня.BackendPHPFrontendJavaScript Насладитесь быстрым процессом создания зависимостей front-end в ваших PHP-проектах благодаря возможностям управления пакетами Bun.BackendLaravelEloquent Если вы хотите избежать хранения конфиденциальных данных БД (например, номеров паспортов) в виде обычного текста, Laravel может зашифровать их в Моделях Eloquent, просто присвоив им значение encrypted
. Давайте посмотрим, как это работает.BackendLaravel Если вы попытаетесь использовать Livewire 3 со стартовым набором Laravel Breeze, то можете заметить, что ваши компоненты не реагируют на реакцию, а некоторые функции Livewire просто не работают. Причиной может быть Alpine.js, который загружается дважды. Сейчас я покажу вам, как это исправить.BackendLaravelEloquent В Laravel после вставки данных в таблицу базы данных может потребоваться получить ID последней вставленной после создания записи. Этот идентификатор необходим для решения различных задач, таких как перенаправление пользователей на вновь созданный ресурс или выполнение дальнейших операций.BackendLaravel Овладейте искусством создания RESTful API с Laravel благодаря этим лучшим практикам.JavaScript С появлением ES6 итераторы и генераторы были официально добавлены в JavaScript.FrontendCSS CSS развивается быстрее, чем когда-либо. С учётом всех новых возможностей, которые появились — и ещё появятся — после появления Flexbox и Grid несколько лет назад, меняется и способ написания CSS. В этой статье Geoff Graham рассказывает о том, какие функции оказали наибольшее влияние на его нынешние подходы к CSS, а также о тех, которые не оказали (по крайней мере, пока).BackendLaravel В Laravel v10.20 появился совершенно новый метод createOrFirst()
, созданный Tony Messias, который может вызвать некоторое недоумение, поскольку в Laravel уже был метод firstOrCreate()
. В чем же заключаются различия? Зачем нам нужны два метода? Давайте посмотрим...BackendLaravel Паттерн Pending Object играет ключевую роль в Laravel, поскольку используется практически во всех его аспектах. Он обеспечивает исключительный опыт разработчика (DX).FrontendCSS Сдвиги макета CSS означают неожиданное перемещение (или сдвиг) элементов в макете веб-страницы в процессе рендеринга. Это происходит при изменении размеров или положения элементов, что приводит к перетеканию или смещению содержимого на странице. Сдвиги макета могут привести к ухудшению пользовательского интерфейса, так как перемещение может нарушить взаимодействие с пользователем или затруднить чтение, или доступ к содержимому.FrontendCSS Пользовательские свойства CSS, известные как переменные, — это мощная функция, позволяющая разработчикам определять многократно используемые значения в таблицах стилей. Использование пользовательских свойств позволяет значительно повысить удобство повторного использования и сопровождения кода, а также создавать динамические стили для своих веб-проектов. Цель данной статьи — всесторонне объяснить пользовательские свойства CSS и их применение с помощью функции var
.JavaScript Современные веб-пользователи ожидают от одностраничных приложений (SPA) плавных и динамичных эффектов. Однако для создания SPA часто используются сложные фреймворки, такие, как React и Angular, которые могут быть сложны для изучения и работы с ними. Появилась htmx — библиотека, позволяющая по-новому взглянуть на создание динамических веб-приложений, используя такие возможности, как Ajax и CSS-переходы, непосредственно в HTML.JavaScript В этой статье мы рассмотрим практические методы оптимизации JavaScript-файлов, способы решения проблем производительности, связанных с JavaScript-файлами, а также инструменты, помогающие в процессе оптимизации. Вы получите знания, позволяющие повысить скорость работы веб-приложений и обеспечить бесперебойную работу пользователей.FrontendJavaScriptCSSHTML В Интернете пагинация — это способ разбиения больших фрагментов содержимого на более мелкие части. В этой статье мы рассмотрим простой способ разделения содержимого на ряд "страниц" с помощью HTML, CSS и обычного JavaScript.JavaScript Ознакомьтесь с конкретными ситуациями, в которых регулярные выражения оказываются оптимальным решение проблемы.BackendPHP Сериализация — это процесс, в котором принимается часть данных и создаётся хранимое или переносимое представление этих данных.JavaScript Ленивая загрузка — это метод, позволяющий отложить загрузку несущественного содержимого до того момента, когда оно станет необходимым для просмотра пользователем. В отличие от других методов загрузки, при которых все объекты сайта загружаются одновременно при доступе к странице, при ленивой загрузке используется более расчётливый подход. Она откладывает отображение некоторых элементов, таких как изображения, видео и другие мультимедиа, до тех пор, пока пользователь не начнёт активно взаимодействовать с веб-страницей. В этой статье мы расскажем вам, как использовать эту технологию, чтобы пользователи получали больше удовольствия от работы с вашим сайтом.FrontendCSS Рефакторинг кодовой базы должен привести к аналогичной или повышенной производительности и улучшению состояния кодовой базы. В конце концов, если развёртывание обновлённой базы вызовет проблемы с загрузкой или производительностью, это приведёт к снижению трафика и доходов. К счастью, существует множество методов оптимизации, которые можно применить для решения потенциальных проблем с размером файлов и производительностью.BackendLaravelEloquent Sushi — это недостающий драйвер массивов
Eloquent, поскольку иногда хочется использовать Eloquent без работы с базой данных.JavaScript Четыре новых метода Array.prototype
были недавно утверждены в рамках ECMAScript 2023. О том, как их использовать, читайте в этом подробном руководстве.DevOps Иногда возникают ошибки шлюзов, обычно "502 Bad Gateway" или "504 Gateway Timeout". Nginx возвращает эти ошибки, когда посылает запрос PHP, а PHP возвращает ошибку, говорящую, что он не может обработать запрос. Как правило, это НЕ ошибки, возникающие в приложении, а ошибки, возникающие до того.BackendPHP Погрузитесь в это увлекательное руководство по рефакторингу фрагмента кода с использованием функции max
в PHP.BackendLaravel Laravel 11 будет выпущен 6 февраля 2024 года. Его разработка продолжается до сих пор. Давайте рассмотрим все значимые новые возможности, о которых мы уже знаем.BackendLaravel Обеспечение безопасности приложения Laravel: защита конфиденциальных файлов, обновление пакетов и Laravel, использование политик, проверка вводимых данных и многое другое.BackendLaravel Хеширование и шифрование — важнейшие концепции безопасности, о которых должен знать каждый веб-разработчик. В этой статье мы рассмотрим, что такое хеширование и шифрование, в чем разница между ними и как их использовать в своих приложениях Laravel.FrontendCSS Логические свойства CSS — эффективный способ управления макетом веб-страниц. С течением времени CSS развивался в соответствии с требованиями современного веб-дизайна, и одним из значительных достижений последних лет стало появление логических свойств CSS. В этой статье мы познакомимся с логическими свойствами CSS, покажем, что они собой представляют, чем отличаются от традиционных (физических) свойств и почему они важны для создания гибких и отзывчивых макетов.Security SameSite — это механизм защиты браузера, определяющий, когда файлы cookie сайта включаются в запросы, поступающие с других сайтов. Ограничения на использование файлов cookie SameSite обеспечивают частичную защиту от различных межсайтовых атак, включая CSRF, межсайтовые утечки и некоторые CORS-эксплойты.FrontendCSS z-index
— свойство, используемое для управления порядком расположения слоёв в документе. Элементы с большим значением z-index
располагаются над элементами с меньшим значением. Подобно тому, как оси x и y на странице определяют расположение элементов по горизонтали и вертикали, z-index
определяет, как они располагаются друг над другом по оси z.PHPBackend PHP 8.3 выйдет 23 ноября 2023 года, и, как обычно, вам нужно быть в курсе новых функций и критических изменений, чтобы упростить переход.FrontendCSS В этой статье мы подробно рассмотрим сам процесс рефакторинга, стратегию инкрементного рефакторинга, визуальное регрессионное тестирование и сопровождение отрефакторенной кодовой базы.BackendLaravel Иногда требуется добавить данные в Request или изменить их перед валидацией. В Laravel для этого есть несколько трюков — метод merge()
.FrontendCSS Рефакторинг CSS — задача не из лёгких: его нужно провести так, чтобы не создать проблем. Сначала необходимо проанализировать существующую кодовую базу, провести аудит состояния CSS-кодовой базы, выявить слабые места, согласовать подход и убедить руководство в необходимости вложения времени и ресурсов в этот процесс.JavaScript Ещё в 2015 году была представлена революционная версия ES6 с множеством функций, широко используемых в современной веб-разработке.FrontendCSS Контейнерные запросы CSS — интересное дополнение к миру CSS. В этой статье мы дадим вам базовое представление о контейнерных запросах CSS и о том, как они работают.JavaScript В этой статье перечислены 10 лучших соглашений об именовании JavaScript, которые должен знать каждый разработчик JavaScript, чтобы писать код, понятный остальным разработчикам.JavaScript Сравнение объектов в JavaScript не так просто, как сравнение примитивных типов данных. В статье рассматриваются пять способов глубокого сравнения объектов в JS.FrontendCSSSCSSSass Миксины SCSS обеспечивают эффективный способ повторного использования CSS-кода. Миксины уменьшают дублирование и улучшают структуру кода за счёт инкапсуляции стилей в блоки многократного использования. Благодаря возможности принимать аргументы, миксины становятся невероятно адаптивными и универсальными. В этой статье мы расскажем о том, как SCSS-миксины улучшают разработку фронтенда, способствуя модульности и согласованности кода, и упрощая написание CSS.DevOps Всесторонний анализ и сравнение лучшего программного обеспечения для веб-серверов. Найдите оптимальное серверное решение, соответствующее именно вашим потребностям в хостинге.DevOps Веб-мастерам и администраторам серверов крайне важно быть в курсе новейших протоколов и технологий. Одной из таких технологий является Transport Layer Security (сокращённо — TLS) 1.3 — последняя версия протокола, обеспечивающего безопасное взаимодействие в компьютерной сети.JavaScriptNodeJS Рассмотрим, как работать с модулями в Node.js, уделяя особое внимание их экспорту и использованию, а также объясняя разницу между module.exports и exports.BackendLaravel Узнайте, как можно использовать WebSockets и Pusher для добавления функциональности реального времени в приложения Laravel.BackendLaravel Недавно Тейлор выложил бета-версию Laravel Folio на YouTube в видеоролике с ключевой конференции Laracon. В настоящее время документация состоит только из файла readme, что отражает простоту пакета. Благодаря своей простоте мы можем легко догадаться о его внутреннем устройстве. Я решил углубиться в эту тему, и в этой статье мы отправимся на поиски его внутренних механизмов.TypeScript Исследуем тип Record в TypeScript, чтобы лучше понять, как он работает. Также рассмотрим примеры его использования, например, использование с дженериками.BackendPHP PHP предоставляет функции parse_ini_string
и parse_ini_file
, которые повторно используют встроенный в PHP синтаксический анализатор, применяемый для собственных конфигурационных файлов PHP на основе INI.BackendLaravelEloquent Как очистить базу данных удалив ненужные данные с помощью встроенной функции Laravel для повышения производительности запросовBackendPHP PHP-функция class_alias()
создаёт псевдоним для заданного класса. Псевдоним ведёт себя точно так же, как и оригинальный класс.FrontendCSS В этой статье мы рассмотрим несколько способов стилизации полосы прокрутки в CSS, в разных браузерах, чтобы вы могли настроить полосу прокрутки по умолчанию в соответствии с вашим брендом или дизайном.BackendPHP В CLI PHP предусмотрена функция линтинга, которая проверяет переданное имя файла на наличие синтаксических ошибок. Это удобно для быстрой проверки PHP-файла или фрагмента перед выполнением.DevOps Для разработчика важно иметь твёрдое представление, что такое интернет и как он работает. Это фундамент, на котором строится большинство современных программных приложений. Чтобы создавать эффективные, безопасные и масштабируемые приложения и сервисы, необходимо хорошо понимать, как работает интернет и как использовать его возможности и связи.BackendPHP PHP поддерживает замену значений PHP INI на переменные окружения с помощью синтаксиса строковой интерполяции PHP. Если указанная переменная окружения недоступна, парсер INI использует пустую строку. В PHP 8.3 этот синтаксис расширен для поддержки объявления запасного/fallback значения, если переменная окружения не установлена.FrontendCSS Со свойствами фона CSS можно сделать очень многое. В этой статье мы рассмотрим, как использовать свойство background-size
для установки размера фонового изображения, а также изучим варианты позиционирования фонового изображения с помощью background-position
.DevOps Если вы читаете эту статью, то, скорее всего, вы использовали систему доменных имён (DNS), даже не подозревая об этом. DNS — фундаментальная часть интернета, которая позволяет нам получать доступ к веб-сайтам и онлайн-услугам, используя вместо цифровых адресов удобные для человека имена. Но как именно она работает? В этой статье я расскажу об основах DNS и о том, как она помогает нам ориентироваться в Интернете.DevOps Сетевое взаимодействие — это основа современных технологий, необходимая для подключения устройств и служб. В этой статье вы узнаете о ключевых понятиях, терминологии и протоколах, которые используются в сетевых технологиях.BackendLaravel В Laravel валидация возвращает ошибку в виде JSON-ответа с сообщениями об ошибке в строгом стандартном формате. Что делать, если вы хотите изменить его на совершенно другую структуру, потому что ваши фронтендеры запрашивают определённые пары ключ-значение?TypeScript Все, что вам нужно знать о TypeScript, в одной удобной шпаргалкеDevOps SSH (Secure Shell) — широко распространённый протокол для безопасного удалённого доступа и управления Linux-серверами. По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию может обеспечить дополнительный уровень безопасности сервера, затруднив проведение автоматизированных атак или сканирования.BackendLaravel В этом руководстве мы познакомимся с основами Livewire 3, Volt и Folio и создадим простое приложение, в котором будут отображаться эпизоды подкаста Laravel News.TypeScript В TypeScript объект Array поставляется с различными методами, облегчающими работу с массивами, включая метод flatmap().DevOps Мониторинг входов в SSH на Linux-сервере очень важен для обеспечения безопасности системы. Одним из способов информирования об активности входа в систему является настройка оповещений по электронной почте при каждом входе в систему через SSH. В этом руководстве мы покажем Вам, как настроить сервер Linux на отправку уведомлений по электронной почте при входе в систему по протоколу SSH.BackendLaravel Если на сайте представлены документы с большим объёмом текста, например, PDF-файлы, то часто возникает необходимость предоставить пользователям возможность перечисления и поиска в содержимом этих документов.TypeScript TypeScript использует некоторые встроенные операторы JavaScript, такие, как typeof
, instanceof
и оператор in
, которые используются для определения того, содержит ли объект свойство.FrontendCSS Бывают случаи, когда действительно необходимо поддерживать определённое соотношение между шириной и высотой отзывчивых элементов на веб-странице. Долгое время это можно было сделать с помощью различных CSS-трюков. Свойство CSS aspect-ratio
изменило ситуацию: теперь мы можем задавать соотношение сторон элемента в одной строке кода. Давайте рассмотрим, как использовать свойство aspect-ratio.
BackendLaravel Одним из удобных способов информирования пользователей о ваших материалах является создание RSS-канала. Это позволит им подписываться на него с помощью программы чтения RSS. Усилия, затраченные на реализацию этой функции, стоят того, чтобы принять во внимание, поскольку у сайта появится ещё один канал распространения контента.TypeScript Узнайте, как работают фильтры TypeScript, включая фильтры массивов и типов значений, а также как использовать и избегать проблем с защитой типов.BackendLaravelTesting Узнайте, как тестировать правила валидации Laravel с помощью Pest PHP.FrontendCSS В этой статье мы рассмотрим некоторые CSS трюки, которые позволят создать анимацию наведения для раскрытия наших изображений.BackendLaravel Выпуск Laravel 11 запланирован не ранее конца года, но давайте рассмотрим некоторые из анонсированных новых возможностей.BackendLaravel В этой статье мы покажем вам четыре способа включения файла CSS в проект Laravel, включая прямое подключение из каталога /public, URL CDN, использование Vite и Laravel Mix.BackendLaravel Как легко предотвратить уязвимые действия в вашем Laravel приложении.JavaScript Сегодня мы поговорим о том, как управлять слушателями событий, когда у вас есть несколько сценариев, которые слушают одно и то же событие.BackendLaravel Laravel Folio — это новая система автоматической маршрутизации на основе файлов и каталогов. В результате вы получаете каталог страниц; когда на одну из этих страниц попадает URL, она автоматически загружается.BackendLaravel Laravel предоставляет способ аннулирования и выхода
из сеансов активного пользователя на других устройствах без аннулирования сеанса на текущем устройстве.BackendLaravel Использование CSRF-токенов добавляет дополнительный уровень безопасности, подтверждая, что запрос исходит от того же приложения, а не от вредоносного источника. Laravel обеспечивает встроенную защиту от CSRF-атак путём генерации и проверки CSRF-токенов.JavaScript В этой статье мы рассмотрим готовящееся предложение Record / Tuple. Как их создавать, зачем их использовать и чем они отличаются от обычных объектов и массивов?BackendLaravelEloquent Хранение данных JSON в базе данных Laravel обеспечивает гибкое решение для управления динамическими атрибутами или неструктурированными данными.Frontend Существуют различные способы использования веб-хранилищ в веб-приложениях. Front-end разработчики используют современный браузерный API веб-хранилища для создания более персонализированных, эффективных и отзывчивых веб-сайтов. В этой статье мы рассмотрим множество примеров использования, которые помогут вам создавать привлекательные веб-приложения.BackendLaravelEloquent Отношения One-to-Many
— это наиболее распространённый тип отношений, используемый в Laravel Eloquent и ORM в целом.BackendSymfony Symfony 6.4 и Symfony 7.0 будут выпущены одновременно в конце ноября 2023 года. В этой статье рассказывается об их различиях и о том, как выбрать оптимальную версию для своих проектов.BackendLaravel Калеб Порцио, выступая на конференции Laracon, только что выпустил официальную бета-версию Livewire v3! В своём выступлении он продемонстрировал множество новых возможностей, некоторые из которых мы рассмотрим здесь.JavaScriptNodeJS Вы знаете в чём разница между exports и module.exports в Node.js?DevOps Узнайте всё, что нужно знать о HTTP протоколе, на котором работает вся сеть.JavaScript Вчера мы рассмотрели, как определить, когда элемент входит или выходит из области просмотра. Сегодня мы познакомимся с некоторыми подробностями, которые можно получить об этих элементах из объекта IntersectionObserverEntry.BackendLaravel В этом руководстве вы узнаете, как использовать фасад Laravel Process, построенный на основе высокоэффективного компонента Symfony Process, для выполнения команд вне среды Laravel.JavaScript API Intersection Observer можно использовать для наблюдения за элементом и запуска функции обратного вызова, когда он входит или выходит из области просмотра (или из другого элемента).DevOps Объясняем, как установить MySQL 8 сервер на Ubuntu linux 22.04 LTS с помощью APT, создать пользователей, базу данных и настроить сервер.JavaScript Во второй части цикла Кирилл рассматривает полезность примитивных объектов, изучая, как уменьшение их возможностей может быть полезно для вашего проекта.FrontendCSSBEM Следование CSS методологии гарантирует, что все, кто участвует в процессе разработки, говорят на одном языке. БЭМ и SMACSS отличаются друг от друга, но имеют ряд уникальных преимуществ.BackendLaravel Из этого руководства вы узнаете, как использовать возможности Laravel CORS. Узнайте, что это такое, и раскройте его потенциал для беспрепятственного совместного использования ресурсов из разных источников.BackendLaravel В этой статье вы узнаете о некоторых важных возможностях, которые появятся в Laravel Livewire v3.BackendPHP PHP постоянно развивается, и важно быть в курсе последних функций и улучшений. В этой статье представлены 20 функций PHP, которые вы должны знать в 2023 году, каждая из которых проиллюстрирована удобным примером кода.FrontendCSSHTML В современном цифровом ландшафте подход, ориентированный на мобильные решения (mobile-first), приобрёл большое значение в веб-дизайне и разработке. Применяя подход mobile-first в HTML и CSS, вы отдаёте приоритет потребностям мобильных пользователей и обеспечиваете бесперебойную и увлекательную работу вашего сайта на небольших экранах. В этой статье мы расскажем о принципах и преимуществах mobile-first
дизайна и реализации конкретных стратегий в HTML и CSS, чтобы вы могли применить эту методику.FrontendCSS Мы изучим различные подходы к сокрытию элементов веб-страниц с помощью CSS и оценим их производительность.FrontendCSS В статье объясняется и демонстрируется, как использовать два CSS свойства, которые могут помочь при создании отзывчивых макетов — object-fit и object-position.TypeScript Пакет ts-reset
решат ряд проблем с типами в TypeScript, подобно кнопке сброса CSS, чтобы избежать ошибок, вызванных ошибками типов.BackendLaravel Одна из типичных проблем с пагинацией возникает, если у вас на странице есть несколько фильтров с GET-параметрами. Как сделать так, чтобы они не исчезали, когда пользователь переходит на страницу /?page=2?
FrontendCSS Предварительно отфильтруйте набор дочерних элементов, прежде чем применять к нему логику Ab+B.BackendPHP Давайте улучшим ваш код с помощью более безопасного способа программирования с использованием перечислений PHP, или enum. В этой статье вы узнаете о них всё, что нужно.FrontendCSS Одна из наших любимых функций CSS препроцессора теперь встроена в CSS: вложения правил стиля.BackendLaravel Когда речь идёт об аутентификации в Laravel, существует множество вариантов. Но что использовать, когда речь идёт об аутентификации вашего API?BackendPHP Давайте создадим крошечный движок шаблонов для PHP! Эта статья будет посвящена рендерингу шаблона и отображению данных, которые можно экранировать с помощью htmlspecialchars()
.FrontendCSS В этой статье я расскажу о том, как лучше всего использовать CSS медиа-запросы для достижения отзывчивости сайта.BackendLaravel Для переноса легаси PHP приложения на Laravel, вероятно, потребуется кастомный драйвер хэширования.FrontendCSS В постоянно развивающемся мире веб-разработки, где CSS является ключевым элементом стиля, освоение техники рефакторинга CSS имеет решающее значение для создания эффективных и удобных в обслуживании таблиц стилей. Рефакторинг CSS позволяет оптимизировать код, устранить избыточность и повысить общее качество кода. Применение правильных техник может превратить запутанные таблицы стилей в хорошо организованный, модульный и легко обслуживаемый код. В этой статье мы расскажем вам о техниках рефакторинга CSS.Vim Узнайте как изменить регистр текста внутри шаблона при замене в Vim.DevOps URL-адреса встречаются повсюду. Мы используем их для доступа к веб-сайтам, отправки электронной почты, загрузки файлов и многого другого. Но что такое URL и как он работает? В этой статье мы рассмотрим анатомию URL, различные типы URL, способы кодирования и декодирования URL, разработку и отладку URL, а также некоторые советы по безопасности при использовании URL.Vim Используйте этот трюк для быстрого поиска и замены.DevOpsdockerPostgreSQL В этой статье мы расскажем, как установить и запустить PostgreSQL с помощью Docker. Мы не будем вдаваться в подробности установки Docker, поэтому убедитесь, что он установлен и запущен в вашей системе.Vim Ищите быстрее в Vim благодаря улучшенному рабочему процессу.FrontendHTML Если вы новичок в веб-разработке, возможно, слышали термин Семантический HTML
и задавались вопросом, что он означает. Проще говоря, Семантический HTML означает использование разметки HTML для передачи смысла содержимого веб-страницы, а не только её внешнего вида.JavaScript Наследование в объектно-ориентированном программировании (ООП) JavaScript — фундаментальная концепция, которая развивалась с течением времени, и в этой статье мы покажем, как она работает и как её использовать.JavaScript В первой части серии Кирилл Мышкин рассказывает о некоторых аспектах JavaScript, помогающих приблизить объекты к примитивным значениям, что позволяет воспользоваться общими возможностями языка, которые обычно не ассоциируются с объектом, такими как сравнение и арифметические операторы.Vim В Vim есть несколько способов повторить последнюю замену.TypeScript Функции-генераторы выглядят как обычные функции, но ведут себя немного иначе, позволяя приостановить и выполнить код в более поздний момент времени.BackendLaravel Итак, чуть более двух лет назад я написал руководство о том, как работать со сторонними сервисами в Laravel. На сегодня это самая посещаемая страниц на моём сайте. Однако за последние два года всё изменилось, и я решил снова обратиться к этой теме.Vim Быстро подсчитайте количество совпадений с шаблоном при помощи этого простого трюка с Vim.GitTools Все, что вам нужно знать, в одной удобной шпаргалкеBackendLaravel Мы, как программисты, должны уметь разбивать большие и сложные задачи на более мелкие и простые в управлении фрагменты. Однако иногда оказывается, что с некоторыми из тех небольших повторяющихся фрагментов кода, которые мы извлекли, чтобы уменьшить дублирование (или по какой-то другой причине), приходится взаимодействовать по-разному в зависимости от некоторого внешнего контекста.JavaScript Один из моих любимых трюков
ванильного JS заключается в том, что вы можете передать несколько селекторов в такие методы селектора JavaScript, как Element.querySelector()
, Element.querySelectorAll()
, Element.closest()
и Element.matches()
.BackendLaravel При разработке в Laravel обращение к значениям конфигурации и конфиденциальной информации из файла .env — обычное дело. В этой статье мы рассмотрим важность использования вспомогательной функции config()
и почему при чтении значений следует избегать использования вспомогательной функции env()
.BackendLaravel Одной из распространённых проблем при переносе легаси PHP-приложения на Laravel является создание миграции базы данных на основе существующей базы данных.FrontendSass Написание CSS имеет решающее значение для создания красивых и функциональных веб-сайтов, но управление CSS может стать сложной задачей по мере роста размеров и сложности сайтов. Вот тут-то и появляются препроцессоры CSS, такие, как Sass. В этой статье вы познакомитесь с Sass и узнаете, как он может упростить рабочий процесс и помочь писать более эффективный и удобный код.TypeScript Дженерики играют решающую роль в программировании, поскольку они позволяют создавать типобезопасные функции без предварительного указания точного типа, но допуская ограничения и проверки типов программистом. В этой статье представлена концепция дженериков, перечислены их преимущества и показано, как их использовать.BackendLaravel Laravel стал одним из самых популярных PHP фреймворков благодаря своим обширным функциям, простоте использования и удобочитаемости. Это отличный выбор для веб-разработчиков, стремящихся создавать надёжные и масштабируемые приложения. Если вы всё ещё сомневаетесь, стоит ли делать решительный шаг, вот три веские причины изучить Laravel.BackendLaravel При проверке форм или API запросов иногда правило для одного поля зависит от значений других полей. В этой статье я покажу четыре различных примера синтаксиса Laravel для достижения этой цели.FrontendCSS Контейнерные запросы позволяют стилизовать элементы в зависимости от доступного пространства. Они позволяют создавать устойчивые адаптивные компоненты.FrontendCSS Узнайте, как Flexbox и Grid позволяют создавать плавно реагирующие макетные сетки без медиа-запросов.DevOpsSecurity Протокол защиты транспортного уровня (TLS) шифрует данные, отправляемые через Интернет, чтобы гарантировать, что перехватчики и хакеры не смогут увидеть, что вы передаёте, что особенно полезно для личной и конфиденциальной информации, такой как пароли, номера кредитных карт и личная переписка. В этой статье объясняется, что такое TLS, как он работает и почему его следует использовать.BackendPHP В PHP 8.3 появилась новая функция: атрибут #[Override]
. Эта функция уже известна в других языках, но позвольте мне объяснить, если вы не знаете, что она делает.JavaScript Сегодня я хотел бы поговорить о том, как обрабатывать вложенные элементы с делегированием событий.DevOpsSQL В этой статье мы рассмотрим, как SQL запросы выполняются механизмом базы данных и как использовать эти знания для оптимизации запросов для повышения производительности и точности.JavaScript Освойте оператор switch: более организованную и лаконичную альтернативу использования нескольких операторов if-elseDevOpsGraphQL В этой статье мы ответим на десять часто задаваемых вопросов о GraphQL, включая разбиение на страницы, управления версиями GraphQL, пакетную загрузку, обработку кэша, загрузку файлов и многое другое.BackendPHP Изучите основы использования часовых поясов в PHP и как сделать лучший выбор из набора функций предлагаемых PHP.TypeScriptJavaScript Цель этой статьи — провести всестороннее сравнение TypeScript и JavaScript, чтобы помочь веб-разработчикам принять обоснованное решение о том, какой язык использовать для проектов.BackendLaravel Добавление пользователя администратора на сайт в продакшене — одна из самых распространённых вещей, которые делаются при первом развёртывание Laravel проекта на сервере. В этой статье я покажу два способа сделать это.SEOFrontend Вы создали замечательный веб-сайт, но как сделать так, чтобы люди могли найти его через поисковые системы? В этой статье мы рассмотрим 10 лучших рекомендаций, чтобы ваша статья не только выделялась, но и хорошо ранжировалась в поисковых системах.BackendPHP В этой мини статье вы узнаете, как создать сервис контейнер для внедрения зависимостей в PHP. Я начну с самого простого контейнера, совместимого с PSR-11, а затем добавлю различные функции, пока у нас не получиться мощный контейнер общего назначения.SSGJAMStack Генераторы статических сайтов (SSGs) популярны и предлагают множество преимуществ, но в этой статье обсуждаются причины, по которым они могут быть неподходящей заменой вашей системе управления контентом (CMS).SSGJAMStack Является ли CSM излишней для вашего следующего приложения? Может ли генератор статических сайтов улучшить производительность, управление и безопасность? Узнайте о преимуществах использования SSG.FrontendCSSBEM Чистый и организованный код имеет решающее значение в современных веб-проектах, и разработчики постоянно ищут способы улучшить удобство сопровождения и организации кода. К счастью, для достижения этой цели существуют различные методы, включая популярную методологию Блок Элемент Модификатор (БЭМ), и в этой статье объясняется, как работает БЭМ и почему вы должны начать его применять.FrontendCSS Новые viewport единицы измерения — интригующая и мощная функция, которую рассматривают для включения в CSS, и эта статья поможет узнать о них и о том, как ими пользоваться.JavaScript Несмотря на то, что тысячи статей об async/await и Promise уже существуют, многие из них оставляют желать лучшего. Поэтому хочу написать свою статью на эту тему.BackendPHP Давайте разберёмся почему возникает ошибка 'Using $this when not in object context' и как её исправить.BackendLaravel Погрузитесь в историю Laravel. Если вы отдалились от Laravel, это подходящее место, чтобы возобновить своё путешествие.BackendPHP Первый альфа-релиз PHP 8.3 уже отмечен и доступен для загрузки и тестирования.BackendLaravel Middleware не является чем-то новым, мы уже давно используем его для различных целей в наших приложениях, от аутентификации до авторизации и не только.BackendLaravelSecurity В этой статье мы рассмотрим, что такое CSP и что он даёт. Затем рассмотрим, как использовать пакет для добавления CSP в Laravel приложении. Также кратко рассмотрим несколько советов по упрощению добавления CSP в существующее приложение.Security В этой статье мы объясним что такое кликджекинг, опишем распространённые примеры атак кликджекинга и обсудим, как защититься от этих атак.Security В этой статье мы рассмотрим внедрение висячей разметки, как работает типичный эксплойт и как предотвратить атаки висячей разметки.Vim Рано или поздно вы заметите, что когда редактируете файлы, Vim создаёт файлы с именами вроде .filename.swp в том же месте, что и редактируемый файл. Эти файлы называются файлами подкачки.Security В этой статье мы разберёмся, что такое слепая SQL-инъекция, объясним различные методы поиска и эксплуатации слепых SQL-инъекций.BackendPHP Файберы представленные в PHP представляют собой элегантный способ имитации параллельной работы. Узнайте больше о том, чем они отличаются от потоков и сопрограмм.BackendSymfony Вышел Symfony 6.3. Как и для любого другого выпуска Symfony, наше обещание обратной совместимости применимо, и это означает, что вы сможете легко обновиться до версии 6.3, ничего не меняя в коде.BackendSymfony Symfony 6.3 включает новый компонент Scheduler тесно интегрирующийся с компонентом Messenger для создания сообщений, которые должны обрабатываться несколько раз по заранее определённому расписанию.BackendLaravel За последний год подход, основанный на action классах, набирает популярность в мире Laravel. Я принял его довольно рано и был большим поклонником этого подхода.BackendLaravel Прочтите о разных подходах, которые можно использовать для получения аутентифицированного пользователя в Laravel проектах. В этой статье рассматривается результат проведённого в Twitter опроса.BackendSymfony Symfony 6.3 обеспечивает полную интеграцию веб-хуков c Mailer и Notifier для абстрагирования от различий в обработке веб-хуков сторонних сервисов.BackendLaravel Laravel — популярный PHP-фреймворк обеспечивающий простой и элегантный способ создания веб-приложений. Одной из особенностей выделяющих Laravel, является его мощная и гибкая система ведения логов.DevOpsPHPLaravelBackend Если вы запускаете приложения PHP/Laravel в продакшене, есть большая вероятность, что вы используете некоторые из этих вещей:CGI, FastCGI, php-fpm, nginx и Laravel. Как разработчик, я считаю важным понимать хотя бы основы этих компонентов. Итак, давайте разбираться.BackendLaravelSecurity Давайте углубимся и рассмотрим десять наиболее распространённых проблем безопасности, которые я обнаружил во время своих аудитов безопасности Laravel приложений.BackendSymfony Symfony 6.3 включает новый компонент AssetMapper с полной поддержкой карт импорта в качестве альтернативы Webpack Encore.BackendSymfony В Symfony 6.3 улучшен компонент Dependency Injection, добавлена поддержка автоподключения сервисов в виде замыканий и вызываемых методов, генерация адаптеров для функциональных интерфейсов.BackendLaravel Laravel — популярный PHP-фреймворк широко используемый в веб-разработке. Он поставляется со встроенной системой авторизации позволяющей определять контроль доступа для разных пользователей и ролей. Двумя основными компонентами системы авторизации Laravel являются Шлюз и Политика. В этой статье мы рассмотрим концепцию Шлюза и Политики Laravel и то, как использовать их для защиты веб-приложений.BackendLaravel Я использовал Google Analytics в течение нескольких лет, и она работала хорошо. Возникает вопрос, зачем я написал свой пакет аналитики.BackendLaravel Как уменьшить количество багов, сделать личную и командную работу более эффективной и улучшить качество кода в целом — Объект-Значение один из подходов для достижения этого.BackendLaravel После профилирования сервис контейнера я узнал, что Laravel приложение создаёт десятки тысяч объектов, которые ему не нужны.FrontendCSS Шпаргалка по CSS селекторам. С подсказками, как выбирать HTML элементы по классу, имени, атрибутам и списку дочерних селекторов.FrontendCSS В дополнение к математическим функциям CSS были добавлены тригонометрические функции sin(), cos(), tan(), asin(), acos(), atan() и atan2(). Эти функции определены в модуле Значения и единицы измерения CSS уровня 4
и доступны во всех браузерах.BackendLaravel Laravel — это популярный фреймворк, который обеспечивает простой и элегантный способ создания веб-приложений. Одной из особенностей, которая выделяет Laravel, является встроенная система обработки ошибок и исключений. В этой статье мы рассмотрим некоторые советы и рекомендации по эффективной обработке исключений в Laravel.BackendSymfony Symfony 6.3 улучшает ограничение Cascade, позволяя обрезать XML параметры, устанавливать службы в тестовом контейнере и улучшает обработку сигналов Console.BackendPHP Прочтите о разнице между замыканиями и стрелочными функциями в PHP. В этой статье рассказывается, что они из себя представляют, чем отличаются, и как вы можете использовать их в своём коде.BackendSymfony Symfony 6.3 улучшает профилировщик с лучшей доступностью, динамическими иконками и кликабельными путями шаблона.DevOps Удаление сотен тысяч строк происходит медленно, влияет на производительность и не освобождает выделенное место на диске. Используя секционирование, вы можете сделать это очень быстро, освободив место на диске.BackendSymfony Symfony 6.3 добавляет новые интеграции Notifier для Twitter, Mastodon, LINE, Pushover, PagerDuty и других.BackendSymfony Symfony 6.3 будет включать улучшения DX, такие, как обнаружение невидимых символов в VarDumper, улучшенный дамп YAML дат, параметры сборки сервис контейнера и потоковые JSON ответы.BackendLaravelSecurity В этой статье я покажу как настроить заголовки Content Security Policy с помощью Laravel и Vite. Предполагается, что у вас есть некоторый опыт работы с Laravel и Vite.BackendPHP Прочитайте о том, как вы можете использовать declare(strict_types=1) для повышения безопасности типов PHP-кода. Мы обсудим, как сделать код более надёжным и избежать принудительного приведения типов, что может привести к ошибкам.BackendSymfony Symfony 6.3 улучшает HTTP-клиент с новым JsonMockResponse, множественными повторными URI, дополнительными настраиваемыми параметрами, улучшениями загрузки файлов и поддержкой шаблонов URI.BackendLaravel Если вы хотите добавить индекс в Laravel миграции и не уверены, существует ли этот индекс, как убедиться, что при выполнении миграции не возникнет ошибок?BackendPython В этом руководстве вы узнаете, когда и ка использовать строку shebang в скриптах Python для их исполнения из Unix-подобной оболочки.Vim Используйте :wa или :qa, чтобы записать всё сразу или закрыть Vim без записи данных.BackendPHP Если кратко изложить суть статьи, то она сводится к одному: Вам просто нужно попробовать Rector. Пусть тесты ломаются, просто запустите его.BackendSymfony Symfony 6.3 включает улучшения DX (developer experience) в глобальной переменной app, компоненте YAML, профилировщике, пулах кэша и функциях дампа.Vim Используйте set hidden, чтобы разрешить скрытие несохранённых буферов в Vim.BackendSymfony Symfony 6.3 представляет новый класс Clock и новый ClockAwareTrait; от также интегрирует компонент Clock в другие функции Symfony.BackendLaravel Важно узнать используемую версию Laravel, прежде чем начать писать код в новом проекте. Есть несколько способов, как узнать используемую версию Laravel.BackendSymfony Symfony 6.3 представляет несколько новых компонентов, упрощающих создание и обработку веб-хуков в ваших приложениях.BackendLaravel В документации по Laravel это не проясняется, что может сбить с толку новичков и привести к нежелательным ошибкам. Узнайте как избежать распространённой ошибки.BackendSymfony Symfony 6.3 добавляет новую функцию для удаления эмодзи из содержимого строки и возможность сжатия всех данных эмодзи для экономии места на диске.BackendLaravel Сейчас Action классы и Вызываемые Контроллеры горячая тема Laravel. В этой статье я объясню, почему считаю вызываемые контроллеры плохой идеей, и объясню архитектурный шаблон, который я создал и назвал AaaS.BackendLaravel Узнайте, как использовать File::json() и Storage::json() в Laravel приложениях для чтения JSON файлов. Так же рассмотрим различия между этими методами и способы улучшения обработки ошибок.BackendLaravel Узнайте как создавать собственные директивы Blade, для упрощения шаблонов Laravel Blade. В статье рассказывается, что такое директивы Blade, как они используются во фреймворке, и как создать собственную директиву.BackendPHP Если вы работаете над унаследованным PHP-проектом, какой может быть стратегия внедрения PHP-CS-Fixer, снижающая риск и приглашающая других разработчиков к сотрудничеству?BackendSymfony Symfony 6.3 улучшает производительность извлечения сообщений перевода, компиляции сервисного контейнера и нормализации/денормализации сериализатора.JavaScript Объект Date в JavaScript представляет момент времени. Хотя у него есть полезные функции, работать с ним сложно. Мы рассмотрим, как создать новый объект Date и, надеюсь, сделать его немного проще в использовании.BackendSymfony Symfony 6.3 включает новый атрибут MapQueryParameter
для сопоставления и проверки отдельных параметров строки запроса с аргументами контроллера.FrontendCSS Более детальный контроль над CSS трансформациями с помощью индивидуальных свойств трансформации элементов translate, rotate и scale.BackendSymfony Symfony 6.3 позволяет перенаправлять пользователей после их программного логина, добавляет поддержку 'Запомнить меня' для JSON логинов и позволяет очищать данные сайта после выхода пользователя.BackendSymfony В Symfony 6.3 добавлена поддержка перечислений в выражениях, деревьях конфигурации и параметрах маршрута.BackendPHP Эти более строгие проверки помогают писать более надёжный и предсказуемый код, выявлять ошибки на ранней стадии и избавиться от потенциальных головных болей в будущем. Хотя к некоторым из этих рефакторингов может потребоваться время для привыкания, они стоят усилий по улучшению качества кода.JavaScript Рассмотрим что такое API и зачем он нужен на примере небольшого магазина. По шагам напишем сценарий получающий данные из реального API и обрабатывающий их.BackendLaravelPHP PHP Атрибуты были добавлены в PHP 8.0, и для многих разработчиков это было неверным названием. Каковы их преимущества и как их использовать?TypeScriptJavaScript Они не всегда являются проблемой. Но ими злоупотребляют, и их часто можно заменить лучшими альтернативами. Вот почему я избегаю их и что я делаю вместо этого...BackendLaravelPHP В каждом Laravel/PHP проекте у вас будет два файла: composer.json и composer.lock. В чём разница между ними? Зачем нужен composer.lock, если есть composer.json.Vim Хотя мы склоняемся к нативной функциональности Vim в этом списке, большинство опытных пользователей Vim в какой-то момент расширяют возможности Vim с помощью любого из тысяч доступных плагинов с открытым исходным кодом. Если вы не живёте и не дышите Vim, вы можете не знать, сколько существует способов установки и управления плагинами, включая встроенный метод, поставляемы с Vim 8.BackendSymfony Symfony 6.3 улучшает обработку секунд в полях даты/времени, обновляет виджеты HTML 5 для даты/времени и позволяет настраивать параметры опции placeholder.Vim Существует множество плагинов для сниппетов и шаблонов для Vim, но вы можете создавать шаблоны файлов без каких-либо плагинов, используя концепцию, которую в Vim называют скелетными файлами.BackendSymfony Symfony 6.3 включает новую команду, которая выводит метаданные сериализатора заданного класса, чтобы помочь отладить любые проблемы с Serializer.BackendLaravel Если у вас есть задания и слушатели, запускаемые в транзакциях базы данных, это может привести к несогласованности данных при откате транзакции. Узнайте как правильно обращаться с ними.BackendSymfony В Symfony 6.3 добавлен метод getPayload() к объекту Request для получения содержимого POST и/или содержимого тела запроса.Security Во второй части нашей серии статей о менеджерах паролей рассматриваются технологии бизнес-уровня для обработки токенов API, учётных данных для входа и т.д.BackendSymfony Symfony 6.3 добавляет совместимость с серверами OpenID Connect с помощью двух новых обработчиков токенов OIDC.Security Первое руководство из серии менеджеров паролей, состоящей из двух частей, помогающих выбрать лучший способ управления своими учётными записями.BackendSymfony Symfony 6.3 включает средство проверки надёжности паролей, чтобы проверить, достигают ли данные пароли определённого уровня безопасности на основе их энтропии.Security При эксплуатации уязвимостей SQL-инъекций часто необходимо собрать некоторую информацию о самой базе данных. Это включает тип и версию программного обеспечения базы данных, а также содержимое базы данных с точки зрения содержащихся в ней таблиц и столбцов.BackendLaravel Некоторое время назад я сделал серию на Youtube под названием Code Reviews. Из этой серии и других обзоров я собрал наиболее распространённые ошибки допускаемые в Laravel новичками.BackendLaravelPHP Атрибуты PHP, заимствованные из концепции аннотаций в других языках, могут добавить вашим перечислениям мощную функциональность.BackendSymfony Symfony 6.3 вводит новый атрибут ValueResolver для явного выбора преобразователя аргументов, для использования в аргументах контроллера.BackendLaravelTesting С выходом PestPHP v2 мы можем тестировать архитектуру наших приложений. В этом руководстве мы рассмотрим как использовать этот плагин.BackendSymfony В Symfony 6.3 представлены два новых атрибута PHP для сопоставления данных входящего запроса Request с типизированными объектами, таким как DTO, и их автоматическая проверка.BackendLaravel Контракты и реализации — это мощные инструменты в Laravel, позволяющие определять стандартный интерфейс и писать код, который можно адаптировать к различным реализациям.BackendSymfony Symfony 6.3 вводит два новых атрибута для настройки кода состояния, заголовков и уровня журнала ваших HTTP исключений.BackendPHPGuidePHP При обсуждении комментирования кода некоторые разработчики говорят, что вы всегда должны писать комментарии. Другие говорят, что код должен быть достаточно чистым и комментироваться только в исключительных случаях. Давайте рассмотрим примеры.BackendSymfony Symfony 6.3 включает новое ограничение NoSuspiciousCharacters, чтобы избежать spoofing атак, основанных на использовании символов, которые отличаются, но внешне выглядят одинаково.BackendSymfony В Symfony 6.3 добавлена поддержка Early Hints, что позволяет браузерам загружать ресурсы, пока серверы всё ещё готовят ответ. Это значительно улучшает воспринимаемую производительность.BackendLaravel В этом примере мы создадим CRUD интерфейс в Laravel 10 и будем использовать PHP 8.2+, Laravel 10, Laravel Breeze и текущую версию Tailwind CSS.DevOpsLaravel В этой статье я подробно расскажу о том, как вы можете автоматизировать развёртывание Laravel приложения на VPS, разумеется, бесплатно.BackendPHP В PHP 8.3 добавлена возможность перезаписи значения readonly свойств при клонировании объекта. Не заблуждайтесь: вы не можете клонировать любой объект и перезаписывать его readonly значения из любого места. Эта функция касается только очень специфического (но важного) пограничного случая.Security Когда приложение уязвимо для SQL-инъекций и результат запроса возвращаются в ответах приложения, можно использовать ключевое слово UNION для извлечения данных из других таблиц базы данных. Это приводит к SQL-инъекции с UNION атакой.Security Эта шпаргалка по SQL-инъекциям содержит примеры полезного синтаксиса, который можно использовать для различных задач, часто возникающих при выполнении атак с помощью SQL-инъекций.Security В этой статье мы объясним, что такое SQL-инъекции (SQLi), опишем несколько распространённых примеров, объясним, как находить и использовать различные виды уязвимостей SQL-инъекций, а также подведём итоги, как предотвратить SQL-инъекции.BackendPython В этом руководстве вы узнаете об NoneType объекте None, который действует в Python как null. Этот объект представляет собой пустоту, и вы можете использовать его, чтобы отменить параметры по умолчанию и даже показать, когда у вас нет результата. None — это инструмент для того, чтобы делать всё из ничего!BackendPython В этом кратком и практическом руководстве вы узнаете, когда использовать операторы Python is, is not, == и !=. Вы увидите, что эти операторы сравнения делают под капотом, погрузитесь в некоторые особенности идентификации объекта и интернирования, а также определите пользовательский класс.BackendLaravel Как разработчики, мы часто сопоставляем бизнес процессы с цифровыми процессам, от отправки электронного письма до чего-то довольно сложного. Давайте посмотрим, как взять более сложный процесс и написать чистый и элегантный код.FrontendCSS CSS функция color-mix()
появилась в Chrome 111. В этой статье объясняется, как использовать эту функцию для смешивания цветов в таблицах стилей.BackendLaravelTesting Общая проблема при тестировании заключается не в том, как что-то протестировать, а в том, что вы можете протестировать. Я составил список всего, что мне нравиться тестировать в своих приложениях.BackendLaravel Запросы формы наиболее известны тем, что переносят логику проверки из контроллеров в класс, который будет выполнять предварительную проверку. Они фантастические, и я постоянно опираюсь на них. Что ещё мы можем сделать с запросами форм?BackendLaravel Laravel известен своей элегантностью, простотой и выразительностью. Одной из самых мощных возможностей Laravel являются хелперы. Хелперы массивов Laravel — важный инструмент для разработчиков, работающих с массивами данных.BackendLaravel Хотите написать собственный хелпер в Laravel? Узнайте, как создавать собственные вспомогательные функции (хелперы) с помощью этого руководства.BackendLaravel Иногда мы не хотим, чтобы у пользователей были пароли. Иногда мы хотим отправить волшебную ссылку на адрес электронной почты пользователя, чтобы он кликнул по ней и получил доступ.BackendPython Большинство новичков не знают, как настроить в Python среду разработки, соответствующую последним стандартам, используемым профессиональными программистами. В этом руководстве вы узнаете, как правильно создать полностью работающую среду разработки Python с использованием лучших отраслевых рекомендаций.BackendLaravel Сервис провайдеры это центральный узел начальной загрузки всех приложений Laravel. Ваше приложение, а также все основные службы загружаются через них.DevOps 502 Bad Gateway обычно возникает, когда Nginx работает, как обратный прокси-сервер и не может подключиться к серверным службам. Это может быть связано со сбоем службы, сетевыми ошибками, проблемами конфигурации и т.д. Рассмотрим пять основных причин возникновения этой ошибки и то, как их исправить.FrontendCSS В мире дизайна маскирование — популярная техника достижения уникальных дизайнерских эффектов. Как дизайнер, я использовал его много раз, но редко использую в Интернете. Думаю, причина, по которой я не использую CSS маски, заключается в поддержке браузеров. Они частично поддерживаются в браузерах blink (Chrome и Edge) и полностью поддерживаются в Safari и Firefox.BackendLaravelTesting Откройте для себя Pest, удобную среду тестирования Laravel. Узнайте как тестировать маршруты и модели Laravel с помощью примеров из этого руководства.BackendLaravel Эта статья перевод страницы документации Laravel о жизненном цикле запроса и приложения обрабатывающего поступивший запрос от сервера.BackendLaravel Структура каталогов Laravel приложения предназначена для обеспечения отправной точки как для больших, так и для малых приложений.BackendLaravel Как веб-разработчикам, нам часто приходится взаимодействовать с API из Laravel приложений. HTTP-клиент Laravel, представленный в седьмой версии — удобная и интуитивно понятная оболочка для Guzzle HTTP библиотеки. В этой статье мы рассмотрим пять полезных приёмов работы с HTTP-клиентом Laravel, которые помогут сделать ваше разработку более эффективной и приятной.Security В этой статье мы разберёмся, что такое CSRF токены, как они защищают от CSRF атак и как потенциально можно обойти эту защиту.FrontendCSSTailwind Tailwind CSS v3.3 уже здесь — он содержит множество новых функций, о которых люди давно просили, и множество новых вещей, о которых вы даже не подозревали.BackendLaravelPHP PHPCS — инструмент cli с открытым исходным кодом обнаруживающий нарушения стилей кода заданного стандарта кодирования, а также предоставляющий автоматические исправления для автоматически исправляемых правил.JavaScript В этом руководстве мы погрузимся в обработку ошибок JavaScript, чтобы вы могли выбрасывать исключения, обнаруживать и обрабатывать собственные ошибки.Security В этой статье мы объясним, что такое заголовок ответа Access-Control-Allow-Origin в отношении CORS и как он является частью реализации CORS.JavaScript Разберёмся как создавать промисы и работать с ними в JavaScript. Рассмотрим цепочки промисов, обработку ошибок и некоторые из новых методов промисов, добавленных в язык.JavaScript Многие языки программирования имеют функцию sleep, которая задерживает выполнение программы на заданное количество секунд. Однако эта функциональность отсутствует в JavaScript из-за его асинхронной природы. В этой статье мы рассмотрим почему это произошло, а затем как реализовать функцию sleep самостоятельно.JavaScript В этой статье мы подробно рассмотрим, как работать с асинхронным кодом в JavaScript. Мы начнём с обратных вызовов, перейдём к промисам и закончим более современными async/await. В каждом разделе будет предложен пример кода, изложены основные моменты, о которых следует знать.JavaScript Как выглядит Fetch API, какие проблемы решает, и какой способ получения удалённых данных с помощью функции fetch() внутри веб-страницы наиболее практичен.JavaScript В JavaScript есть два способа создания функции: функциональное выражение и объявление функции. Мы обсудим когда использовать функциональное выражение, а когда объявление и объясним различия между ними.BackendLaravel При создании веб-приложения часто требуется добавить функцию, позволяющую пользователям загружать файлы. Например, вы можете разрешить пользователям обновлять изображения своего профиля или обмениваться файлами друг с другом.JavaScript Ключевые слова async и await представляют современный синтаксис JavaScript, помогающий обрабатывать асинхронный операции. В этом руководстве мы подробно рассмотрим, как использовать async/await для управления потоком данных.JavaScript Ад обратного вызова реален. Разработчики часто рассматривают обратные вызовы как чистое зло, вплоть до того, что избегают их. Гибкость JavaScript совсем не помогает в этом. Но не обязательно избегать обратных вызовов. Хорошая новость в том, что есть простые шаги спасения от ада обратных вызовов.JavaScript Когда вы начинаете изучать JavaScript, вскоре услышите термин функции обратного вызова
. Обратные вызовы — неотъемлемая часть модели выполнения JavaScript, и важно понимать, что они из себя представляют и как работают.Security В этой статье мы объясним что такое CORS, опишем некоторые распространённые примеры атак основанных на CORS, и обсудим, как от них защититься.Security В этой статье мы объясним, что такое политика безопасности контента, и опишем как использовать CSP для защиты от некоторых распространённых атак.BackendLaravelEloquent Трейты в PHP — мощный функционал позволяющий повторно использовать код в нескольких классах не повторяясь.BackendPHP OpenAI PHP — поддерживаемый сообществом PHP API клиент, позволяющий взаимодействовать с Open AI API.BackendLaravel Ответ от Laravel приложения — это то, что я бы назвал жизненно важным, особенно когда вы создаёте API. Давайте посмотрим, как можно улучшить наши ответы.BackendPHP Начните использовать возможности ИИ уже сегодня. Он позволяет делать разработчикам невероятные вещи, и многие стартапы создают продукты на его основе.Security В этой статье мы разберёмся, что такое Same-origin policy (SOP) - Политика единого источника и как она реализована.BackendLaravel В большинстве Laravel приложений необходимо отправлять уведомления, будь то внутри приложения, по электронной почте или в slack — обычно это уведомления о транзакциях, чтобы предупредить пользователя о каком-либо действии или событии в вашем приложении. Давайте разберёмся, что это такое и как действует.BackendLaravel GitHub Actions — фантастический способ запуска рабочих процессов Continuous Integration, от запуска тестов до статического анализа и многого другого.BackendLaravelEloquent При работе с моделями часто нужно сделать что-то с данными до или после их сохранения в базе данных: изменить формат, обрезать пробелы, вырезать HTML-тэги и так далее.BackendLaravel Независимо от того, используете ли вы Laravel 10, 9 или 8, давайте рассмотрим рекомендации по улучшению кодовой базы в 2023 году.BackendLaravelEloquent При работе с большими набора данных, которые сложно получить или они редко изменяются, для снижения нагрузки на базу данных мы можем использовать кэширование.BackendPHP Что такое PHP-интерфейс? PHP интерфейс определяет контракт, который должен выполнить класс. Если PHP класс — это схема объектов, то интерфейс — это схема классов. Любой класс реализующий данный интерфейс, будет иметь одинаковое поведение с точки зрения того, что можно вызвать, как его можно вызвать и что будет возвращено.BackendPHP Как новичок в программировании, особенно в PHP, вы, возможно, слышали термины классы или объекты. Что такое PHP класс?BackendPHP Важно понимать, что такое PHP функция. Мы разберём, что такое PHP функция, сколько существует PHP функций, и рассмотрим примеры PHP функций.BackendLaravel Дублирование кода — самая болезненная вещь для многих разработчиков, вы думаете, что решили проблему, но есть несколько случаев одной и той же проблемы.BackendLaravelEloquent При работе с Моделями Eloquent обычно используют события, отправляемые в течении жизненного цикла Моделей. Есть несколько разных способов сделать это, и в этой статье я расскажу о них и объясню преимущества и недостатки каждого из них.BackendLaravel Data Transfer Object (DTO) — шаблон, который при правильном использовании может улучшить качество и удобство сопровождения приложения. В этой статье мы узнаем, зачем вы должны использовать DTO в своих приложениях и как это сделать в Laravel.BackendLaravel Файлы маршрутов Laravel могут быть сильно загружены. Однажды вы замечаете, что нужно приложить усилия, для того чтобы найти что-нибудь. Как вы с этим боретесь?BackendPHPDevOps Подробное и краткое руководство по установке и обновлению PHP 8.2 в системах Debian и Ubuntu.BackendPHP PHP продолжает развиваться с новыми критическими изменениями, и хотя это отлично подходит для большинства PHP-приложений, существуют легаси/устаревшие приложения, которые не могут оправдать затрат на их поддержку. Это руководство о том, как продлить срок службы легаси приложений с помощью обновлений безопасности и обслуживания.Security Помимо средств защиты, использующих CSRF токены, некоторые приложения используют HTTP-заголовок Referer, для попытки защититься от CSRF атак путём проверки того, что запрос исходит из собственного домена приложения. Как правило, этот подход менее эффективен и имеет обходные пути.Security Традиционный способ доказать, что вы обнаружили XSS уязвимость, — создать всплывающее окно с помощью функции alert()
. Это не потому, что XSS имеет какое-то отношение к всплывающим окнам; это просто способ доказать, что вы можете выполнять произвольный JavaScript в заданном домене. Вы могли заметить, что некоторые люди используют alert(document.domain)
. Это способ сделать явным демонстрацию на каком домене выполняется JavaScrip код.BackendLaravel Валидация обязательна для любого современного проекта, и в Laravel очень просто начать. Внутри методов контроллера вы можете вызвать метод, передать запрос и массив правил, на соответствие которыми хотите проверить данные.BackendLaravel Pipeline/Пайплайн — одна из малоизвестных возможностей Laravel. Он часто используется в самом фреймворке, например, маршрутизация, но не так много разработчиков его используют. В этой статье я попытаюсь объяснить их и показать несколько примеров.BackendLaravel В этой статье я хотел бы поговорить об объектах-значениях. Если вы не знаете, что это такое, вот краткое введение.BackendLaravelTesting JSON:API предоставляет множество возможностей для фильтрации, сортировки и включения дополнительных данных в запрошенные данные с использованием параметров запроса. Тестирование может быть утомительным, но в этом руководстве я расскажу, как подхожу к тестированию этих конечных точек c PestPHP.Security В этой статье мы объясним различия между XSS и CSRF, и обсудим, могут ли токены CSRF предотвратить XSS атаки.BackendLaravel Создание API в Laravel — это искусство. Вы должны думать не только о доступе к данным и обёртывании Eloquent Моделей в конечные точки API.BackendLaravel Давайте разберёмся, что такое DDD? Что делает Объект-Значение и какие у него преимущества? Как и зачем их использовать в Laravel приложении.BackendLaravel В Laravel есть фантастический контейнер внедрения зависимостей, но многие избегают его. В этой статье я расскажу, как использовать контейнер Laravel, чтобы мой код работал на меня.BackendLaravel С длительными заданиями в Laravel сложно работать. К счастью, есть способы обойти эти проблемы. Давайте рассмотрим несколько решений.BackendLaravel Давайте рассмотрим как установить и настроить PHP Codesniffer с новым Laravel проектом.BackendLaravel Если вы используете привязку модели к маршруту в API Контроллерах и запись не найдена, она автоматически вернёт статус код 404 с сообщением об ошибке, например No query results for model [App\Models\User] 1
. Как это изменить?BackendLaravel Типичная ошибка, которую вижу у разработчиков: использование $date->addDays(1)
, а затем ещё одного $date->addYears(1)
в том же запросе и получение неправильных результатов. Позвольте мне объяснить.BackendLaravelTesting Laravel 9 представил новый способ создания пользовательских правил валидации: вызываемые правила (invokable rules). Это позволяет написать пользовательское правило валидации только с одним методом: __invoke
.BackendLaravelEloquent При подсчёте записей Модели, сгруппированных по типу в отношении, возникает соблазн загрузить в память слишком много запросов к БД или слишком много данных. Есть несколько способов оптимизировать его, давайте рассмотрим пример.Security В этой стать мы опишем некоторые общепринятые принципы предотвращения XSS уязвимостей и способы использования различных распространённых технологий защиты от XSS атак.BackendLaravelEloquent Если у вас есть события Наблюдателя для обновления или удаления записей, важно знать, что они выполняются только при обновлении отдельных записей, а не при массовом обновлении или удалении.BackendLaravel Представьте, что вы хотите показать некие глобальные
данные в Blade: например, количество новых пользователей на этой неделе в верхнем блоке навигации. Не знаете от каких контроллеров будут поступать данные? Вы можете выполнить это действие в Service Provider тремя способами.BackendLaravelEloquent Представьте, что вы хотите загрузить Модель со многими связанными моделями, но отсортировать эти связанные результаты по некоторому столбцу в этой связанной БД. Как это сделать? Давайте сделаем ещё веселее и возьмём пример двухуровневых отношений.BackendLaravel Laravel представляет выразительный минимальный API для компонента Symfony Process, позволяющий удобно вызывать внешние процессы из приложения Laravel.BackendLaravel В выходящем Laravel 10 будет представлен новый слой фасадов Process. Давайте посмотрим зачем он нужен и в чём его преимущества.BackendPHP Абстрактная фабрика — шаблон проектирования, предоставляющий интерфейс для создания семейств связанных или независимых объектов без указания конкретных классов.JavaScript В JavaScript объекты используются для хранения нескольких значений в виде сложной структуры данных.JavaScript Создание и манипулирование URL-адресами в виде строк может казаться безопасным, пока не сложатся общие ошибки. Но у современного JavaScript есть решение для этого, Конструктор URL, делает чтение, запись и изменение URL-адресов более безопасным и чистым.BackendLaravel Давайте выясним действительно ли вам нужно обновлять своё приложение до Laravel 10? Или можно не спешить и сделать это в удобный момент?Security Во время тестирования Отражённого или Сохранённого XSS ключевой задачей является определение контекста XSS: место, где появляются данные и обработка данных приложением.Security В этой статье мы рассмотрим межсайтовый скриптинг на основе DOM (DOM XSS), выясним как найти уязвимости DOM XSS.Security В этой статье мы разберёмся что такое Сохранённые XSS (Stored XSS), рассмотрим влияние сохранённых XSS атак и объясним, как найти сохранённые XSS уязвимости.Security В этой статье мы рассмотрим отражённые межсайтовые сценарии, влияние отражённых XSS-атак и выясним как найти отражённые XSS-уязвимости.Security В этой статье мы объясним, что такое межсайтовые сценарии (XSS), опишем разновидности уязвимостей XSS и разъясним, как найти и предотвратить XSS.BackendPHP Фигурная скобка редко используется как знак препинания, но это один из самых распространённых символов в языках программирования.JavaScriptFrontend Cookie были единственным способом хранения временной и локальной информации, но теперь у нас есть localStorage. Он широко обсуждается и используется во множестве приложений JavaScript. В этой статье мы рассмотрим всё, что нужно знать о localStorage в JavaScript.BackendLaravel Перевод официального руководства по обновлению с Laravel 9 до Laravel 10. Примерное время обновления 10 минут.JavaScriptFrontend Удалите функции таймаута и избавьтесь от связанных с ними багов, вот событие которое действительно нужно: scrollend
.BackendLaravel Представьте работу приложения, в котором каждая конечная точка по-разному возвращает данные об успешных вызовах и вызовах с ошибками. Если это маленькое и простое приложение, поддерживаемое одним человеком, это может быть немного проще. Но если приложение начнёт расти и к команде присоединится больше людей, через некоторое время будет полный хаос для поддержки и улучшения приложения.BackendPHP С PHP версии 8.3 gc_status возвращает дополнительную информацию о сборщике мусора (GC).BackendLaravelEloquent Чтобы добавить запись в базу данных, вы можете использовать один из двух методов Eloquent create()
или Query Builder insert()
.Security В этой статье мы рассмотрим какие есть средства защиты от CSRF уязвимости и как правильно их реализовать на своём сайте для предотвращения уязвимости.BackendLaravel Вы можете столкнуться с ситуацией, когда нужно вернуть одни и те же данные для web и для API. Должно ли это быть в одном или разных контроллерах? Есть несколько способов решения.BackendLaravelEloquent При работе с API часто требуется вернуть ответ Eloquent в формате JSON.Security В этой статье мы объясним, что такое подделка межсайтовых запросов, опишем несколько примеров уязвимостей CSRF и разберём, как предотвратить CSRF атаку.BackendPHP Недавно была выпущена спецификация PHP Standards Recommendation 20, призванная помочь разработчикам использовать общий интерфейс получения системных даты и времени. Это важная рекомендация, если вам необходимо протестировать PHP код, манипулирующий системной датой и временем.BackendLaravel За эти годы я научился пользоваться целым рядом удивительных инструментов используемых для разработки приложений на PHP и Laravel.BackendLaravel В этой статье я расскажу о принципе внедрения зависимостей, так же известном как контейнер Inversion of Control (IoC). Расскажу как Laravel использует его внутри и предлагает эту концепцию разработчикам, чтобы их код был понятным и менее взаимозависимым.BackendLaravel Фасады, их любят или ненавидят. Но они естественная часть того, чем сегодня является Laravel. Фасады Laravel это не совсем фасады, не так ли?BackendLaravel Vite — новый фронтенд инструмент для Laravel. Давайте посмотрим, как перенести Laravel проект с webpack на Vite.BackendLaravel Недавно мы создавали Laravel API для мобильного приложения созданного отдельной командой. Когда пользователь сообщил о проблеме, одним из первых вопросов был Эта ошибка связана с API или мобильным приложением?
В этой статье я поделюсь стратегией ведения лога, которую мы использовали для быстрого поиска причин проблемы.BackendLaravelTesting Из этой статьи вы узнаете, как легко начать автоматизированное тестирование в Laravel.BackendLaravel SOLID. Звучит по-научному, не так ли? Но это просто маркетинг. На самом деле это самая простая вещь во вселенной. Набор принципов популяризованных Робертом С. Мартином.BackendLaravel Laravel Pint — новинка от команды Laravel. Отличная оболочка для PHP CS Fixer, мой любимый инструмент для стандартизации кода.BackendLaravel Продолжаем серию статей о происходящем под капотом, на этот раз о транзакциях базы данных в Laravel. Я не буду повторять всё о том, как вы можете использовать транзакции в Laravel. Если вы не знакомы с темой можете всё найти в официальной документации. Сейчас мы сосредоточимся на том, как эти реализации работают в фоновом режиме, что вызывало головную боль и как этого избежать. Итак, давайте разбираться.BackendPHP В этой статье мы обсудим различия между self::
, static::
и parent::
в PHP. Также расскажем, когда и почему вы можете использовать каждый из них в своём коде.BackendLaravel Коллекции Laravel действительно эффективны для работы с массивами данных. Давайте узнаем, как использовать предоставленные ими методы для улучшения приложений.TypeScript В этой статье мы рассмотрим распространённые типы значений. Это не исчерпывающий список, и в следующих статьях мы рассмотрим другие способы именования и использования типов.BackendLaravel Все мы время от времени совершаем глупые ошибки. Я делюсь этим, чтобы избавить кого-то ещё от небольшого разочарования.BackendLaravel Долгожданный ажиотаж наконец-то закончился, Laravel выпустили консольное приложение с открытым исходным кодом и мы получили его в свои руки. Представляем Laravel Pint...BackendLaravel Если у вас есть Middleware, где его использовать: в файле маршрутов или в Контроллере? Рассмотрим четыре варианта.BackendLaravel Давайте попробуем использовать генераторы для постраничного разбиения всех записей на примере PokeAPI.FrontendCSS CSS — важная часть дизайна любого сайта и у него есть нюансы. Один из них — разница между em
и rem
, когда и зачем их нужно использовать.BackendPHP Редиректы или перенаправления в PHP это просто. Мы рассмотрим их шаг за шагом и я покажу, как избежать некоторых ловушек. Мы узнаем нюансы между 301 и 302 перенаправлением.BackendLaravelEloquent Приготовьтесь повысить уровень Laravel навыков с помощью этого руководства по запросам Eloquent! Вы узнаете всё, что вам нужно знать, от начальных до продвинутых техник.BackendLaravel В этом руководстве вы узнаете о некоторых способах рефакторинга контроллера и использовании сервисов, событий, action классов и многое другое.TypeScript TypeScript — типизированный язык. Однако необязательно указывать тип переменной. TypeScript выводит типы переменных, когда нет доступной явной информации в виде аннотации типов.TypeScript В этой статье мы разберёмся как TypeScript вывод и проверяет тип переменной, используя внутренний логический механизм, называемый Type Assertion - Утверждение Типа.BackendLaravel Фабрики Laravel значительно экономят время при написании тестов. Раньше я создавал фабрики, чтобы каждое свойство модели находилось в состоянии по умолчанию, но в последнее время я переключился на минимальные фабрики по умолчанию. Я объясню причины этого изменения и какие преимущества я обнаружил.BackendLaravelTDDTesting Тестирование или Разработка Через Тестирование (Test-Driven Development) важные и сложные темы программирования. Особенно сложным будет переход от простого написания тестов к TDD.TypeScript Изучение TypeScript часто является путешествием с повторными открытиями. Ваше первоначальное впечатление может быть довольно обманчивым: разве это не способ аннотации JavaScrip, чтобы компилятор помог найти потенциальные ошибки?JavaScriptFrontendBackend Большинство языков программирования имеют концепцию модулей: способ определить функции в одном файле и использовать их в другом.BackendLaravel Если вы никогда не создавали Laravel приложение, позвольте показать вам пошаговое руководство по Laravel с нуля — без особых требований. Следуйте инструкциям, для изучения Laravel.BackendLaravel Недавно я прочитал сообщение на форуме Laracasts с вопросом о валидации периода даты. Решил написать эту статью с возможным решением.BackendPHP Эти три структуры могут сбить с толку новичков в PHP или опытных разработчиков, поэтому давайте рассмотрим, что делает каждая из них и когда их лучше всего использовать.JavaScriptNodeJS Ключевое слово import
используется для импорта привязок, которые экспортируются другим модулем, а функция require()
используется для загрузки модуля в приложении Node.js. Эти два механизма похожи, но у них есть важные отличия о которых вам следует знать. Мы обсудим их в этой статье.BackendToolsDevOps mkcert — невероятный инструмент командной строки с открытым исходным кодом генерирующий доверенные сертификаты, которые можно использовать для включения https на локальных веб-сайтахBackendPHP В PHP 5 ввели объявление типов (также известное как подсказки типов), которые позволяют функциям требовать, чтобы параметры имели определённый тип во время вызова. Если заданное значение имеет неправильный тип, то генерируется ошибка: в PHP 5 — исправимая фатальная ошибка, а в PHP 7 — исключение TypeError.BackendLaravel Миграции необходимы в любом приложение Laravel, использующем базу данных. Я расскажу, что это такое, почему нужно их использовать и как их генерировать.BackendLaravelEloquent Soft delete в Laravel позволяет предотвратить ошибки, не удаляя конфиденциальные данные из базы данных сразу.BackendLaravel Laravel 10 вышел 14 февраля 2023 года. Его разработка ещё продолжается. Давайте изучим новые функции о которых уже известно.BackendPHP Этот RFC предлагает добавить новые методы строительных блоков
в \Random\Randomizer
, реализующие полезные операции, которые либо многословны, либо очень сложны для реализации в пользовательской среде.BackendLaravel Изучение фреймворка может быть ошеломляющим. Время и практика сделают вас мастером. Вот несколько рекомендаций, которые помогут вам в достижении цели.PHPBackend PHP представляет функции serialize()
и unserialize()
для сериализации любого значения PHP (строки, целые числа, объекты, NULL, массивы, перечисления и т. д.) и восстановление PHP-значения из этого строкового представления.PHPBackend В PHP 8.3 добавлена новая функция названая json_validate
, возвращающая true
или false
в зависимости от того, является ли заданная строка допустимой JSON-строкой.LaravelBackend В этой статье я покажу, как сократить Контроллеры с помощью Сервисных классов, а также различные способы инициализации и внедрения этого Сервиса.LaravelBackend Сервис Контейнер (Контейнер Служб), пожалуй, одна из самых запутанных тем для новичков в Laravel. Официальная документация объясняет его хорошо, но с большим количеством теоретических слов
. Давайте приступим к практике, и я покажу основные практические примеры, которые вам нужно знать.LaravelBackend Довольно часто я вижу людей, которые ищут cron
в контексте Laravel. У фреймворка есть механизм работающий поверх `crontab` в Linux, позвольте показать вам, как это работает.LaravelBackend Чтобы помочь вам узнать больше что происходит в вашем приложении, Laravel предоставляет надёжные службы логирования. Логирование в Laravel основано на каналах
. Каждый канал представляет определённый способ записи информации в лог.LaravelBackend DTO, или Domain Transfer Object, можно использовать для многих целей. С момента выпуска PHP 8 создание этих фантастических классов стало ещё проще.LaravelBackend Наведите порядок в контроллерах с помощью сервисных классовBackendPHP Обычное недоразумение, это различие между DTO и Объект-Значение. И поэтому я искал способ классифицировать эти объекты без ошибок.BackendPHP Когда использовать трейт? Никогда. Для трейта всегда есть лучшая альтернатива. В любом случае на практике я всегда нахожу лучшие альтернативы трейту.BackendPHP Релиз PHP 8.2 запланирован на 8 декабря 2022 года. В этой статье мы рассмотрим новые возможности, улучшения производительности, изменения и что объявлено устаревшим.BackendPHP В PHP 8.2 введён новый способ объявления классов: readonly-классы. Поскольку readonly-классы — просто синтаксический сахар для того, что бы сделать все свойства класса доступными только для чтения, это означает, что те же правила применяются и к readonly-классам.BackendPHP В PHP 8.1 введены readonly-свойства. Они избавляют от множества проблем, но и добавляют новую — запрет на переопределение readonly-свойств клонированного объекта. Давайте разберёмся с решением этой проблемы и найдём обходной путь.BackendPHP PHP 8.1 решает несколько проблем, вводя ключевое слово readonly. Это ключевое слово делает то, что предполагает его название: как только свойство установлено, оно больше не может быть изменено.BackendPHP С момента выхода, в конце 2020 года, PHP 8 изменил правила игры. В этом руководстве я рассмотрю все последние нововведения с реальными примерами того, как я могу их использовать.LaravelBackend Итак, я решил составить список из 20 моих любимых советов, которые я размещал в своих аккаунтах в соцсетях, чтобы все могли познакомиться с ними. Они не размещены в каком-то определённом порядке, но я надеюсь, что вы найдёте хотя бы один новый совет, который окажется полезным.BackendSSG Многие страницы сайтов динамические. Это означает, что содержимое страницы может меняться от сеанса к сеансу в зависимости от того, кто её загружает, вошёл ли он в систему или вышел, а также от ряда других факторов. Если ваш сайт этого не делает, значит, вы имеете дело со статическими страницами.JavaScript При написании кода для web, в конечном итоге вам требуется выполнить некий процесс, который может занять несколько минут. JavaScript не может работать в многозадачном режиме, поэтому нам нужен способ обработки этих длительных процессов.NodeJSJavaScript При преобразовании между Buffer и String может быть указана кодировка символов. Если кодировка не указана, по умолчанию будет использоваться UTF-8LaravelBackend Laravel Socialite — официальный пакет Laravel для аутентификации у провайдеров OAuth. Он поддерживает аутентификацию с помощью Facebook, Twitter, LinkedIn, Google, GitHub и Bitbucket. Но что, если вы хотите использовать другой драйвер?JavaScriptNodeJS Способность понимать Node по-прежнему остаётся важным навыком, если вы фронтэнд разработчик. Deno появился как ещё один способ запуска JavaScript вне браузера, но огромная экосистема инструментов и программного обеспечения Node, означают, что в ближайшее время он никуда не денется.JavaScriptFrontendHTMLCSS Во второй части рассмотрим несколько примеров непосредственного использования веб-платформы в качестве альтернативы некоторым решениям, предлагаемым фреймворкамиJavaScriptFrontend В этой статье подробно рассматривается несколько технических возможностей, которые являются общими для всех фреймворков. Объясняется как они реализуются в различных фреймворках и какова стоимость их применения.JavaScriptFrontendHTML Проверка формы — одна из основных причин использования клиентского JavaScript. Это может предотвратить ошибки ввода пользователя до того, как выше приложение попытается отправить данные на сервер.JavaScript Для настройки статической части класса у нас есть только статические поля. Предложение ECMAScript вводит статические блоки инициализации для классов, которые, грубо говоря, являются для статических классов тем же, чем конструкторы являются для экземпляров.CSSTailwindFrontend Я продемонстрирую 10 лучших функций, предлагаемых в Tailwind CSS v3.0, чтобы вы могли начать использовать их и улучшать свой опыт фронтэнд разработки.SymfonyBackend При создании новых проектов Symfony вы можете начать с bare-bones skeleton или kitchen sink skeleton. Я никогда не использовал kitchen sink skeleton, так как предпочитаю начинать с минимального количества зависимостей и добавлять пакеты только тогда, когда они мне нужны. Symfony делает это безболезненным, так как в большинстве случаев сообщает, какой пакет добавить, когда вы пытаетесь использовать что-то, что ещё не входит в ваш набор зависимостей.LaravelTailwind Настройка Tailwind CSS 3 в проекте Laravel, перевод официальной документации Tailwind.LaravelTailwind В статье мы кратко рассмотрим, что такое Tailwind CSS и почему я считаю его полезным. Затем мы рассмотрим два разных способа настройки Tailwind в Laravel проектах.JavaScript Долгое время приходилось прибегать к обходным путям и библиотекам для создания глубокой/deep копии значения JavaScript. Появилась поддержка глубокого копирования встроенной функций structuredClone()
.LaravelBackend При разработке веб-приложения может возникнуть ситуация, когда вам нужно узнать некоторую информацию о браузере и операционной системе вашего пользователя. В этой статье мы рассмотрим как это сделать.LaravelBackendTDD Тестирование - неотъемлемая часть разработки программного обеспечения. Это даёт уверенность, что код соответствует критериям приемлемости и снижает вероятность ошибок.JavaScript Я вижу много путаницы в отношении неизменяемости/иммутабельности строк и подумал, что сделаю всё возможно, чтобы прояснить, что это значит для запутавшихся.LaravelBackend Контроллеры играют огромную роль в любом проекте основанном на MVC (Model View Controller). По сути, они являются "клеем", который принимает пользовательский запрос, выполняет какую-то логику, а затем возвращает ответ. Если вы когда-либо работали над какими-либо довольно большими проектами, вы замечали, что у вас много контроллеров, и они могут довольно быстро начать превращаться в бардак. В этой статье мы рассмотрим, как можно очистить раздутый контроллер в Laravel.LaravelBackend Стандартные страницы ошибок в Laravel выглядят немного ужасно. В этой статье я покажу, как настроить страницы ошибок. К счастью для нас, в Laravel это очень просто. Мы создадим страницы для 404, 500 и 503 ошибок.NodeJSTools Предположим, что мы сделали обновление, но `npm publish` выдаёт ошибку. Как исправить ошибку: "You cannot publish over the previously published versions"LaravelBackend В веб-разработке важны целостность и точность данных. Поэтому необходимо быть уверенным, что мы пишем код, который безопасно хранит, обновляет и удаляет данные в наших базах данных. В этой статье мы рассмотрим, что такое транзакции базы данных, почему они важны и как начать их использовать в Laravel. Мы так же рассмотрим типичные проблемы связанные с заданиями в очереди и транзакциями баз данных.PHPBackend Недавно я опубликовал статью об улучшении PHP кода с помощью интерфейсов. Она охватывает основы того что такое интерфейс, что он может делать. И как вы можете использовать его сделав свой PHP код более расширяемым и поддерживаемым. Один из вопросов, заданных в комментариях к статье был от разработчиков, которые хотели знать "когда я должен использовать интерфейс вместо абстрактного класса?". Я подумал и решил написать статью, что бы объяснить различия между абстрактными классами и интерфейсами в PHP и дать краткий обзор того, когда вы должны использовать каждый из них.PHPBackend В программировании важно убедится, что ваш код легко читается, поддерживается, расширяется и тестируется. Один из способов улучшить эти факторы — использовать интерфейсы.LaravelBackend Хелперы могут быть полезны в ваших Laravel проектах. Они помогают упростить код в проекте простым и понятным способом. В Laravel есть множество встроенных хелперов.SassFrontend В зависимости от размера проекта над которым вы работаете, вы можете структурировать Sass двумя способами: простым для небольших и более сложным для крупных проектов.GitTools Ошибки. Эти жестокие злодеи не останавливаются даже на прекрасном мире разработки программного обеспечения. Мы не можем избежать ошибок, но мы можем научиться их исправлять! В этой статье будут рассмотрены инструменты, подходящие для повседневной работы с Git.GitTools Независимо от того, насколько вы опытны, ошибки - неизбежная часть разработки программного обеспечения. Но мы можем научиться исправлять их! И это то, что мы рассмотрим в этой серии из двух частей: Руководства по исправлению ошибок с помощью Git.TailwindCSSFrontend В этом году было много шумихи вокруг популярного CSS фреймворка Tailwind. Хочу поделиться мыслями и опасениями по поводу UI этого фреймворка. У меня был небольшой опыт написания utility-first CSS кода, когда я начинал свою карьеру во фронтенде несколько лет назад.JavaScriptFrontendBackend На днях коллега подошёл ко мне со строкой кода, которую нашёл на StackOverflow, и спросил, как это работает. И я подумал, что это отличный пример четырёх концепций от среднего до продвинутого уровня JavaScript, поэтому решил записать и обосновать своё объяснение.HTMLFrontend Семь редко используемых HTML атрибутов, о которых вы возможно не знали.JavaScript Деструктурирующее присваивание в JavaScript — упрощённый метод извлечения нескольких свойств из массива путём взятия структуры и её деконструкции на отдельные составные части посредством присваивания с использованием синтаксиса, который похож на литералы массива.JavaScript Долгое время XML был предпочтительным форматом данных для обмена между двумя точками. Затем, в начале 2000 года, был представлена JSON как альтернативный формат данных для обмена информацией. В этой статье вы узнаете всё о JSON. Вы поймёте, что это такое, как им пользоваться, и мы проясним несколько заблуждений.CSSFrontend Часто хочется, чтобы был способ избежать возникновения определённой проблемы или поведения CSS. Вы знаете, что контент динамический, и на веб-странице всё может измениться, что увеличивает вероятность возникновения проблемы с CSS или странного поведения.JavaScriptFrontendBackend В JavaScript hoisting позволяет использовать функции и переменные до их объявления. В этой статье мы узнаем что такое hoisting, и как он работает.CSS Проект черновика рабочей группы CSS для Selectors Level 4 включает несколько селекторов псевдоклассов, которые уже поддерживаются в большинстве современных браузеров. В этом руководстве будут рассмотрены те из них, которые имеют наилучшую поддержку, а так же приведены примеры, демонстрирующие как вы можете их использовать уже сейчас.SymfonyBackend Улучшения в Symfony 5.4: более длинные интервалы для компонента RateLimiter; простой способ создания ошибок в компоненте Validator; блокировка файлов при добавлении данных в методе Filesystem; экстрактор метаданных PhpStan для компонента PropertyInfoSymfonyBackend Улучшения в Symfony 5.4: настраиваемый статус-код HTTP для шаблонов из маршрутов; новый метод innerText() в компоненте DomCrawler; рекурсивная поддержка .gitignore в компоненте Finder, и новая команда для отладки переменных окружения.SymfonyBackend Новые улучшения в Symfony 5.4: Строгий режим для ресурсов, улучшения страницы ошибок, исключения каталогов для линтера yaml, новый нулевой класс ULID и новые строковые функции.SymfonyBackend Symfony 5.4 вышел несколько дней назад, но у нас ещё есть записи в блоге об улучшениях основных функций ожидающие своей публикации. В этой публикации мы расскажем об улучшениях добавленных в компонент Serializer.SymfonyBackend Помимо переработанной панели логов, Symfony 5.4 включает другие улучшения связанные с профилировщиком Symfony.SymfonyBackend В Symfony версии 5.4 значительно улучшили компонент Messenger, теперь можно любой класс назначить обработчиком компонента, стало проще получать метаданные воркера и появилась обработка сообщений в пакетном режиме.SymfonyBackend Каждые два года Symfony выпускает новый релиз основной/мажорной версии (изменяется первый номер). Эти выпуски довольно сложно обновить, поскольку они могут нарушать обратную совместимость. Однако, Symfony максимально упрощает процесс обновления. Это означает, что вы можете обновить большую часть своего кода до того, как основная версия будет выпущена в релиз. Это называется "сделать ваш код совместимым с будущим релизом".CSSFrontend Важно иметь постоянное соотношение ширины и высоты изображений и других отзывчивых элементов. Мы много лет использовали в CSS хак с отступами, но сейчас у нас есть встроенная поддержка соотношения сторон в CSS. В этой статье я расскажу, что такое соотношение сторон, как мы его использовали и как это делать по-новому. Конечно, будут варианты использования с подходящими запасными вариантами.CSSFrontend В этой статье я хочу поделиться, тем что я делаю при CSS масштабировании элементов в DevTools браузера.CSSFrontend Мы не можем говорить о веб-разработке, не упоминая Отзывчивый Дизайн. В наши дни это просто данность, и так было уже много лет. Медиа запросы — часть отзывчивого дизайна, и они никуда не денутся. С момента появления медиа-запросов (буквально десятилетия назад) CSS эволюционировал до такой степени, что существует множество трюков, которые могут нам помочь существенно сократить количество медиа-запросов. В некоторых случая я покажу вам, как заменить несколько медиа-запросов только одним CSS объявлением. Эти подходы могут привести к уменьшению объёма кода, упрощению обслуживания и большей степени привязаны к имеющемуся контенту.CSSGridFrontend Если вы когда-нибудь пытались разместить прилипающий элемент в макетной сетке grid и наблюдали, как элемент прокручивается вместе с остальным содержимым, вы могли прийти к выводу, что position: sticky
не работает с CSS Grid.GitTools Команды Git log
и diff
полезны для проверки изменений вашего репозитория. Обе команды принимают диапазоны коммитов в разных форматах, что может сбивать с толку. В этой статье я пролью свет на различия между диапазонами коммитов a b
, a..b
, a...b
.GitTools Одной из основных возможностей Git является переписывание истории
, т.е. изменение
существующих коммитов. Я использую кавычки, потому что — несмотря на видимость — история Git неизменна. Изменить или удалить существующий коммит обычными командами Git невозможно.CSSSassFrontend Небольшое введение в селекторы атрибутов. В течение пяти минут, я покажу пять способов практического использования селектора атрибутов.CSSFrontend Недавно я добавил в этот блог простой визуальный эффект, который мне быстро понравился: когда вы наводите курсор на ссылку, анимированное подчёркивание ссылки раскрывается из центра. Создать этот эффект на удивление легко и не требует добавления каких-либо дополнительных элементов в DOM HTML.CSSGuideFrontend В этой статье мы рассмотрим лучшие на сегодня способы обработки цветов в CSS, несколько советов по их использованию в дизайн-системе и то, что мы можем ожидать от наших цветов в недалёком будущем.VimToolsHTMLFrontend Мы рассмотрим несколько возможностей Emmet плагина для vim на конкретных примерах, и к концу этой статьи вы будете выдавать html-код, как по волшебству, и вам будет интересно узнать больше!VimTools В этой статье я хотел бы объяснить некоторые вещи о Vim, которые большинство людей не знают. От причин, по которым он был разработан таким, какой он есть. До некоторых замечательных скрытых функций, которые вы, вероятно, (ещё) не используете.FrontendHTML Пора переосмыслить, как мы готовим набор иконок для современных браузеров и остановить безумие генераторов иконок. Сейчас, фронтэнд разработчику приходится иметь дело с 20+ статических PNG файлов для отображения крошечного логотипа сайта во вкладке браузера или на сенсорном экране. Читайте дальше и вы узнаете, как применить более разумный подход и использовать минимальный набор иконок, который соответствует большинству современных потребностей.GulpTools Ещё одно приятное дополнение к vinyl-fs
, которое появилось в Gulp 4 – это возможность иметь 'сквозные' исходные потоки. Оно делает gulp.src
доступным для записи.JavaScriptTypeScript Поищем ответ на вопросы: в чём разница между JavaScript и TypeScript, и что из них предпочтительнее для разработкиJavaScriptTypeScript Давайте разберёмся чем JavaScript отличается от TypeScript и насколько сильны их различияCSSBEMFrontend При разработке программного обеспечения важно согласовывать общий курс, технологии и методологии. Эти соглашения должны быть результатом обсуждений, знаний, а иногда голосований.