В 2024 году Angular продолжает меняться к лучшему все более быстрыми темпами, но общая картина остается неизменной, что делает архитектурное ноу-хау вечным и стоящим вашего времени!
#webdev #Angular #JavaScript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Заметки разработчика
#git
👩💻 Как восстановить удалённую ветку Git
Случайное удаление ветки Git может оказаться кошмаром, особенно если она содержала критические изменения кода. К счастью, Git предоставляет мощные инструменты, позволяющие восстановить удалённые ветки. Мы рассмотрим всё, начиная от понимания анатомии веток Git и заканчивая восстановлением удалённой ветки с помощью простых команд.
🖥 Читать статью
📱 @dev_notes_ru
Случайное удаление ветки Git может оказаться кошмаром, особенно если она содержала критические изменения кода. К счастью, Git предоставляет мощные инструменты, позволяющие восстановить удалённые ветки. Мы рассмотрим всё, начиная от понимания анатомии веток Git и заканчивая восстановлением удалённой ветки с помощью простых команд.
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно в Laravel появился новый хелпер под названием
defer(), с помощью которого можно отложить выполнение обратного вызова до того момента, когда будет отправлен успешный ответ.Таким образом, можно переложить трудоемкую работу (например, вызов внешнего API) на обратный вызов и отправить ответ пользователю как можно скорее.
#webdev #Laravel #helper #defer
Please open Telegram to view this post
VIEW IN TELEGRAM
Слово «Desiderata» происходит от латинского слова, означающего «желаемое».
Кент Бек написал статью под названием «Test Desiderata». Вместе с Келли Саттон они создали на YouTube плейлист, посвященный этой статье, в котором рассказывается о желательных свойствах автоматизированных тестов. Некоторые из этих свойств являются компромиссами, и не каждый тест должен ими обладать.
#webdev #JavaScript #js #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
Случайное удаление ветви в Git может превратиться в кошмар, если она содержит критические изменения кода. К счастью, Git предоставляет мощные инструменты, позволяющие с легкостью восстанавливать удаленные ветки. В руководстве мы рассмотрим всё: от понимания анатомии веток Git до восстановления удалённой ветки с помощью простых команд. Независимо от того, являетесь ли вы новичком в Git или ищете продвинутые техники для восстановления потерянных ветвей, это руководство охватывает все уровни мастерства.
К концу этого руководства вы сможете уверенно восстановить любую удаленную ветвь, предотвратить потерю ветвей в будущем и понять лучшие практики работы с ветвями в Git.
#webdev #git #howto
Please open Telegram to view this post
VIEW IN TELEGRAM
Опросив сотни «senior» разработчиков React, вы будете удивлены, как много из них не могут ответить на этот простой вопрос:
«Что такое компонент высшего порядка?».
И еще меньше могут ответить на последующий вопрос: «Зачем нужны компоненты высшего порядка в React?».
Другими словами: «Сознательно ли кто-то из команды React создал компоненты высшего порядка как концепцию и ввел их в React?».
В этой статье вы найдете правильные ответы на эти вопросы и узнаете все, что нужно знать о HOC.
#webdev #React #JavaScript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Поскольку PHP продолжает развиваться, поддержка больших старых кодовых баз может стать сложной задачей, особенно когда речь идет о предотвращении коллизий имён и эффективной организации кода. Пространства имён PHP, появившиеся в PHP 5.3, позволяют решить эти проблемы, позволяя разработчикам группировать связанные классы, функции и константы в структурированную иерархию. Если вы работаете с устаревшей кодовой базой, в которой ещё не используются пространства имён, рефакторинг её с целью внедрения этой современной функции PHP - важный шаг на пути к улучшению сопровождаемости и масштабируемости.
#webdev #php #namespace #refactoring
Please open Telegram to view this post
VIEW IN TELEGRAM
При разработке модульных тестов важно, чтобы они были сосредоточены на тестируемом коде, не затрагивая внешние системы или зависимости. В PHPUnit на помощь приходят так называемые mock-объекты. Они позволяют имитировать поведение реальных объектов в контролируемом виде, что делает тесты более надежными и простыми в сопровождении. В этой статье мы подробно рассмотрим, что такое mock-объекты, в чём их преимущества и как эффективно использовать их в PHPUnit.
#webdev #php #phpunit #mock #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы давно работаете с Laravel, то, возможно, знаете о функции, позволяющей создавать временные и подписанные URL-адреса для файлов. Это отличная возможность, позволяющая делиться файлами с другими пользователями в течение определенного времени.
Проблема с этой функцией в том, что она работает только с драйвером хранилища AWS S3. Поэтому, если вы работаете над приложением в локальной среде и хотите протестировать эту функцию, необходимо использовать драйвер хранилища S3 и реальный S3 bucket, что довольно неудобно, поскольку для использования этой функции необходимо предварительно завести учетную запись AWS.
#webdev #Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Иногда случаются ошибки, и неудачный коммит может попасть в удалённый репозиторий. В условиях совместной работы отмена таких коммитов с сохранением истории проекта крайне важна для поддержания чистоты рабочего процесса.
git revert позволяет разработчикам отменить последствия предыдущего коммита, не переписывая историю, в отличие от git reset. В этом руководстве вы узнаете, как эффективно использовать git revert.К концу руководства вы поймете, как безопасно отменять сдвинутые коммиты, обрабатывать несколько коммитов и управлять слиянием коммитов.
#webdev #git #howto
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, веб-разработчики Laravel! В этой статье мы рассмотрим, как создать мульти-аутентификацию с помощью Breeze в Laravel 11. В Laravel 11 мы будем создавать множественную аутентификацию с помощью Breeze. Мы начнем с установки свежего приложения Laravel 11 для мульти-аутентификации.
Затем мы установим Laravel Breeze, чтобы настроить механизм аутентификации. После этого мы добавим столбец «type» в таблицу пользователей, чтобы определить три типа пользователей: User, Agent и Admin. Наконец, мы создадим middleware «role» для управления правами доступа на основе ролей пользователей.
#webdev #Laravel #Laravel11 #Breeze
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно мы посетили доклад Николаса Грекаса о ленивой загрузке, и он вдохновил меня на создание этой статьи!
Мы можем найти ленивую загрузку во всех современных PHP-приложениях, например, в ORM. Но есть ли другие способы использования ленивой загрузки?
#webdev #Symfony #Doctrine #php
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте анимируем пользовательские свойства CSS! Это мощный способ применить CSS-анимацию, которая в противном случае была бы утомительной или непрактичной.
#webdev #css #animation
Please open Telegram to view this post
VIEW IN TELEGRAM
Атрибуты PHP - это отличный способ добавить метаданные к вашим классам, методам и свойствам. Laravel предоставляет множество атрибутов из коробки, которые можно использовать в своих приложениях.
#webdev #Laravel #php
Please open Telegram to view this post
VIEW IN TELEGRAM
:hasНе знаю, заметили ли вы, но мир CSS в последнее время просто пылает.
За кулисами все основные производители браузеров и авторы спецификаций CSS работают вместе, чтобы предоставить тонны очень востребованных возможностей CSS. Это такие вещи, как запросы к контейнерам, вложенность CSS, синтаксис относительных цветов, сбалансированный текст и многое другое.
Одна из этих новых возможностей - псевдокласс
:has. И, честно говоря, я не был уверен, насколько он будет полезен для меня. В основном я создаю веб-приложения на React, а это значит, что я не использую сложные селекторы. Будет ли псевдокласс :has действительно полезен в этом контексте?#webdev #css
Please open Telegram to view this post
VIEW IN TELEGRAM
Существует несколько способов получить количество строк из базы данных с помощью Eloquent в Laravel. Давайте рассмотрим основы, а затем обратимся к гораздо лучшему решению при подсчете по связанным моделям - использованию агрегатов на уровне базы данных.
#webdev #Laravel #Eloquent #Database #php
Please open Telegram to view this post
VIEW IN TELEGRAM
В JavaScript обычные функции возвращают одно значение или вообще ничего, но что, если бы вы могли выдавать несколько значений по запросу? Представляем вам генераторы - мощную функцию, появившуюся в ECMAScript 2015 (ES6), позволяющую функциям выдавать несколько значений, что дает возможность лучше контролировать итерацию.
Генераторы, созданные с помощью специального синтаксиса
function*, ведут себя совершенно иначе, чем традиционные функции. Вместо того чтобы выполняться до конца после вызова, функция-генератор возвращает объект генератор, способный управлять её выполнением. Это позволяет функции приостанавливать и возобновлять выполнение, выдавая значения одно за другим с помощью ключевого слова yield.Если вы создаете потоки данных, управляете асинхронными операциями или выполняете итерации над большими наборами данных, генераторы обеспечивают элегантное решение, позволяя выполнять итерации по требованию. Это введение посвящено принципу работы функций-генераторов, изучению ключевых методов, таких как
next(), и демонстрации того, как они органично сочетаются с циклами for...of в JavaScript.Далее вы узнаете, как использовать возможности генераторов JavaScript для упрощения итерации и оптимизации производительности кода.
#webdev #JavaScript #js #beginners #tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
По мере развития JavaScript появляются новые возможности и предложения, призванные сделать кодирование более эффективным и защищенным от ошибок. Одной из таких функций стал оператор безопасного присваивания (
?=), предложенный в качестве дополнения к языку. Хотя мы всё ещё ждём его официального релиза, реализовать подобную функциональность можно уже сегодня, чтобы обезопасить код от таких распространённых проблем, как null или undefined значения.В статье мы рассмотрим оператор
?=, создадим собственную версию, используя существующий JavaScript, и представим практические способы более изящной обработки промисов в асинхронных операциях.#JavaScript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Git - это мощная система контроля версий, позволяющая разработчикам управлять изменениями кода в нескольких ветвях. Одна из самых полезных функций Git -
git cherry-pick, позволяющая применять определенные коммиты из одной ветви в другую. Если необходимо сделать бэкпорт исправления ошибки, синхронизировать функцию между ветвями или изолировать изменения, cherry-pick может сэкономить много времени и хлопот.В этом руководстве мы подробно рассмотрим cherry pick в Git. Рассмотрим всё, начиная с базового использования и заканчивая продвинутыми техниками, включая разрешение конфликтов, работу с несколькими коммитами и применение cherry-pick в сложных рабочих процессах. К концу этого руководства вы будете хорошо понимать, когда и как использовать
git cherry-pick для оптимизации рабочего процесса Git.#webdev #git #howto
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, веб-разработчики Laravel! В этой статье мы рассмотрим, как реализовать валидацию формы на стороне клиента с помощью jQuery в Laravel 11. Мы будем использовать validate.js для обработки проверки формы. При использовании валидации на стороне клиента нет необходимости отправлять форму и ждать, пока сервер вернет ошибки валидации.
Вместо этого ошибки валидации срабатывают мгновенно, без обновления страницы, а сообщения об ошибках отображаются непосредственно в полях ввода.
#laravel #laravel11 #jQuery #form
Please open Telegram to view this post
VIEW IN TELEGRAM
Атаки с использованием CSS-инъекций часто игнорируются при обеспечении веб-безопасности, однако они представляют собой серьезную опасность, если не принять надлежащих мер. Как правило, CSS используется для улучшения визуального представления веб-сайтов, определения макетов, цветов и шрифтов. Однако злоумышленники могут использовать уязвимости в работе с CSS. Это позволяет им внедрять вредоносный код, который манипулирует поведением сайта, крадет конфиденциальные данные или взаимодействует с полями ввода пользователя.
В этом руководстве мы подробно рассмотрим CSS-инъекции. Что это такое, как они работают, какое потенциальное влияние они могут оказать на ваш сайт, а также лучшие методы их предотвращения. Рассмотрим примеры кода от начального до продвинутого уровня.
#webdev #css #html #security
Please open Telegram to view this post
VIEW IN TELEGRAM