Что такое GRASP паттерны?
General Responsibility Assignment Software Patterns — шаблоны проектирования для решения общих задач. В отличие от паттернов из Банды Четырех, GRAPS шаблоны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Хорошая статья по теме
#вопросы_с_собеседований
General Responsibility Assignment Software Patterns — шаблоны проектирования для решения общих задач. В отличие от паттернов из Банды Четырех, GRAPS шаблоны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Хорошая статья по теме
#вопросы_с_собеседований
😁7❤2
Laravel 10. Как настроить Ajax-запрос.
Настройка запросов Ajax в Laravel 10 упрощает связь между вашим интерфейсом и сервером, позволяя получать обновления в реальном времени и улучшать взаимодействие с пользователем без необходимости полной перезагрузки страницы.
В этом руководстве вы познакомитесь с процессом настройки запросов Ajax в Laravel 10, как использовать JavaScript и jQuery для отправки асинхронных запросов на ваш сервер, предоставления данных и обработки ответов в реальном времени.
Настройка запросов Ajax в Laravel 10 упрощает связь между вашим интерфейсом и сервером, позволяя получать обновления в реальном времени и улучшать взаимодействие с пользователем без необходимости полной перезагрузки страницы.
В этом руководстве вы познакомитесь с процессом настройки запросов Ajax в Laravel 10, как использовать JavaScript и jQuery для отправки асинхронных запросов на ваш сервер, предоставления данных и обработки ответов в реальном времени.
DEV Community
Laravel 10 How To Setup Ajax Request Tutorial
In the ever-changing web development ecosystem, Ajax (Asynchronous JavaScript and XML) has emerged as...
🥱20❤2👍1
Отладка Gateway Error
Статья рассматривает отладку ошибок шлюзов (gateway errors) при разработке веб-приложений. Шлюзы являются промежуточными слоями веб-приложения, которые служат для обработки запросов и могут вызывать ошибки, которые необходимо отлаживать и исправлять.
Шлюз — это нечто, находящееся между веб-сервером (обычно Nginx) и вашим приложением. Для большинства из нас это PHP-FPM. Nginx будет использовать протокол fastcgi для преобразования веб-запроса в нечто, понятное PHP-FPM. Затем PHP-FPM запускает ваше приложение, настраивая PHP с необходимой информацией (устанавливая суперглобальные переменные $_GET, $_POST, $_SESSION, $_SERVERи т. д.).
Если PHP-FPM возвращает ошибку, Nginx выдает нам ошибку шлюза.
Статья рассматривает отладку ошибок шлюзов (gateway errors) при разработке веб-приложений. Шлюзы являются промежуточными слоями веб-приложения, которые служат для обработки запросов и могут вызывать ошибки, которые необходимо отлаживать и исправлять.
Шлюз — это нечто, находящееся между веб-сервером (обычно Nginx) и вашим приложением. Для большинства из нас это PHP-FPM. Nginx будет использовать протокол fastcgi для преобразования веб-запроса в нечто, понятное PHP-FPM. Затем PHP-FPM запускает ваше приложение, настраивая PHP с необходимой информацией (устанавливая суперглобальные переменные $_GET, $_POST, $_SESSION, $_SERVERи т. д.).
Если PHP-FPM возвращает ошибку, Nginx выдает нам ошибку шлюза.
Laravel News
Debugging Gateway Errors - Laravel News
You'll sometimes hit Gateways errors, usually 502 Bad Gateway or 504 Gateway Timeout. Nginx returns these errors when it sends a request to PHP, but PHP returns some error saying it can't process the request. Typically these are NOT errors occurring in your…
👍2❤1
Как удалить переходные зависимости, которые вам не нужны
В статье описывается подход к управлению ненужными зависимостями в проекте на языке программирования PHP.
Здесь рассматривается проблема переходных зависимостей, которые добавляются в проект вместе с другими зависимостями, но которые на самом деле не используются в коде проекта. Такие ненужные зависимости могут замедлить процесс загрузки проекта и увеличить объем потребляемых ресурсов.
Поскольку часто такие зависимости не представлены в composer.json удаление их с помощью команды remove невозможно, автор предлагает вместо этого использовать раздел replace в Comsposer и тогда можно легко избавиться от неиспользуемых зависимостей.
В статье описывается подход к управлению ненужными зависимостями в проекте на языке программирования PHP.
Здесь рассматривается проблема переходных зависимостей, которые добавляются в проект вместе с другими зависимостями, но которые на самом деле не используются в коде проекта. Такие ненужные зависимости могут замедлить процесс загрузки проекта и увеличить объем потребляемых ресурсов.
Поскольку часто такие зависимости не представлены в composer.json удаление их с помощью команды remove невозможно, автор предлагает вместо этого использовать раздел replace в Comsposer и тогда можно легко избавиться от неиспользуемых зависимостей.
Tomasvotruba
How to Remove Transitional Dependencies You don't Need
In the last post [I shared a trick](/blog/unleash-the-power-of-simplicity-php-cli-app-with-minimal-dependencies) on how to **reduce CLI project /vendor size by 70 %**. Today we'll trim off a bit more with the no-so-known composer feature.
👍4❤2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 👨🏻🏫
Team Lead в АТЛАНТ
Москва. Федеральная сеть розничных магазинов.
Подробнее
PHP-программист в ООО Интерфинити
Москва. Проекты в области автомобильной промышленности.
Подробнее
PHP-разработчик Junior+ в Delaweb
Москва. Продуктовая и enterprise разработка.
Подробнее
PHP разработчик Junior+ в DatainLife
Москва. Разработка для малого, среднего и крупного бизнеса.
Подробнее
PHP разработчик в Разумные решения
Москва. Разработка мобильных приложений.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
Вакансии недели для Москвы 👨🏻🏫
Team Lead в АТЛАНТ
Москва. Федеральная сеть розничных магазинов.
Подробнее
PHP-программист в ООО Интерфинити
Москва. Проекты в области автомобильной промышленности.
Подробнее
PHP-разработчик Junior+ в Delaweb
Москва. Продуктовая и enterprise разработка.
Подробнее
PHP разработчик Junior+ в DatainLife
Москва. Разработка для малого, среднего и крупного бизнеса.
Подробнее
PHP разработчик в Разумные решения
Москва. Разработка мобильных приложений.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
hh.ru
Вакансия Team Lead (PHP) в Москве, работа в компании АТЛАНТ (вакансия в архиве c 3 апреля 2024)
Зарплата: не указана. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 04.03.2024.
😁6👍3❤1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤2😁1
Моки и их влияние на дизайн программного обеспечения
Моки — это объекты, созданные для имитации поведения реальных объектов в тестировании программного обеспечения. Они используются для создания контролируемых и предсказуемых сценариев для тестирования функциональности.
Статья объясняет, что мок-объекты могут быть полезными инструментами для разработчиков, так как они позволяют изолировать и тестировать определенные части кода, не зависимо остальные компоненты.
Но так же моки имеют недостаток: их сложно рефакторить.
Автор рассказывает как их правильно использовать, а также предлагает альтернативные варианты.
Моки — это объекты, созданные для имитации поведения реальных объектов в тестировании программного обеспечения. Они используются для создания контролируемых и предсказуемых сценариев для тестирования функциональности.
Статья объясняет, что мок-объекты могут быть полезными инструментами для разработчиков, так как они позволяют изолировать и тестировать определенные части кода, не зависимо остальные компоненты.
Но так же моки имеют недостаток: их сложно рефакторить.
Автор рассказывает как их правильно использовать, а также предлагает альтернативные варианты.
Shopware's Blog - Ecommerce News
Mocks and their influence on software design
Here are some words of caution on the implication that the heavy use of mocks in your code base can have regarding the overall system design or architecture.
👍5❤4
Что такое REST API?
REpresentational State Transfer — архитектурный подход, который позволяет организовать взаимодействие между приложениями, используя все возможности HTTP. Хорошая статья на эту тему, а также различия REST и SOAP.
В контексте API нужно понимать основные форматы обмена данными, чаще всего это XML и JSON.
#вопросы_с_собеседований
REpresentational State Transfer — архитектурный подход, который позволяет организовать взаимодействие между приложениями, используя все возможности HTTP. Хорошая статья на эту тему, а также различия REST и SOAP.
В контексте API нужно понимать основные форматы обмена данными, чаще всего это XML и JSON.
#вопросы_с_собеседований
👍10❤7😁4
Раскройте силу простоты: приложение PHP CLI с минимальными зависимостями
Статья рассказывает о том, как создать простое и эффективное CLI-приложение на PHP, минимизируя зависимости и избегая излишней сложности.
Статья рассказывает о том, как создать простое и эффективное CLI-приложение на PHP, минимизируя зависимости и избегая излишней сложности.
Tomasvotruba
Unleash the Power of Simplicity: PHP CLI App with Minimal Dependencies
I have a couple of open-source CLI apps like Rector, ECS, Class Leak, Config Transformer, Monorepo Builder and Lines, and private ones like Cleaning Checklist, Fixai, Private Rector and Entropy. All of them run in the command line, and some of them [are downgraded…
❤11
Как потратить год на обновление версии PHP
Автор — разработчик популярного сервиса доставки еды. Он рассказывает о том, как сервис, который представляет из себя легаси-монолит надо было обновить до 8-й версии.
Он написан на PHP 7.2 разработчиками разного уровня и в разное время.
Здесь рассказывается чего стоило проапгрейдить монолит, сколько тестов было сломано и как в этом проекте поучаствовали почти все PHP-разработчики из этой компании.
Автор — разработчик популярного сервиса доставки еды. Он рассказывает о том, как сервис, который представляет из себя легаси-монолит надо было обновить до 8-й версии.
Он написан на PHP 7.2 разработчиками разного уровня и в разное время.
Здесь рассказывается чего стоило проапгрейдить монолит, сколько тестов было сломано и как в этом проекте поучаствовали почти все PHP-разработчики из этой компании.
Хабр
Как мы планировали повысить версию PHP за месяц, а потратили на это год
Как и множество больших сервисов, Яндекс Еда основана на микросервисной архитектуре. Все сервисы написаны на C++ с использованием фреймворка userver . Также мы активно развиваем внутренний...
❤15👍4🙏3🌚1
💼🚫 Устроился на работу, но она разонравилась: 8 советов, что делать
Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.
Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.
❤7👾1
Простой и быстрый способ измерения проекта в PHP
Статья представляет пошаговую инструкцию по установке и использованию пакета lines.
Статья представляет пошаговую инструкцию по установке и использованию пакета lines.
Tomasvotruba
Easy and Quick way to Measure lines of Code in PHP
The famous [phploc](https://github.com/sebastianbergmann/phploc) package to measure project size was archived by Sebastian on Jan 10, 2023. I used this package to get feedback on [CLI apps vendor shrink](/blog/unleash-the-power-of-simplicity-php-cli-app-with…
❤8🤔2🥱2
Правда ли что с повышением грейда уменьшается количество написанного кода в рабочее время?
А сколько времени в рабочий день вы тратите на разработку?
А сколько времени в рабочий день вы тратите на разработку?
❤13😁4👍2
Cвежий #дайджест новостей по PHP за неделю:
🔎 Выпущена Symfony 6.3.4 — Вышла Symfony 6.3.4. Вот список наиболее важных изменений с момента выхода версии 6.3.3.
🔎PhpStorm 2023.2.1 теперь доступен — это незначительное обновление, включающее множество исправлений ошибок и улучшений
🔎Вышла Log Viewer v3. — Log Viewer v3 предлагает несколько функций: поддержка различных форматов логов и предварительный просмотр электронной почты.
🔎Неделя Symfony #869 (21–27 августа 2023 г.)
🔎 Выпущена Symfony 6.3.4 — Вышла Symfony 6.3.4. Вот список наиболее важных изменений с момента выхода версии 6.3.3.
🔎PhpStorm 2023.2.1 теперь доступен — это незначительное обновление, включающее множество исправлений ошибок и улучшений
🔎Вышла Log Viewer v3. — Log Viewer v3 предлагает несколько функций: поддержка различных форматов логов и предварительный просмотр электронной почты.
🔎Неделя Symfony #869 (21–27 августа 2023 г.)
❤12👍1
Использование SQLite в качестве векторного хранилища в PHP
В статье рассказывается о том, как использовать SQLite в качестве векторного хранилища данных в PHP. Векторное хранилище является эффективным способом организации и хранения таких данных, как векторы, матрицы и другие пространственные структуры.
Также автор рассматривает преимущества использования SQLite векторным хранилищем, такие как простота установки и настройки, высокая производительность, возможность работы с большими объемами данных, а также гибкость и расширяемость.
В статье рассказывается о том, как использовать SQLite в качестве векторного хранилища данных в PHP. Векторное хранилище является эффективным способом организации и хранения таких данных, как векторы, матрицы и другие пространственные структуры.
Также автор рассматривает преимущества использования SQLite векторным хранилищем, такие как простота установки и настройки, высокая производительность, возможность работы с большими объемами данных, а также гибкость и расширяемость.
❤4
Видео: Match в PHP 8.0
PHP 8 представил нам новое выражение — match — очень сильный функционал, который зачастую будет отличной альтернативой оператору switch.
Это небольшое видео с демонстрацией работы этого выражения.
PHP 8 представил нам новое выражение — match — очень сильный функционал, который зачастую будет отличной альтернативой оператору switch.
Это небольшое видео с демонстрацией работы этого выражения.
YouTube
Match in PHP 8.0
Like & Subscribe!
Links
- Read about match in depth: https://stitcher.io/blog/php-8-match-or-switch
Links
- Read about match in depth: https://stitcher.io/blog/php-8-match-or-switch
🥱12🔥7👍2❤1
Кто стоит за PHP
Эта статья обсуждает управление и развитие языка программирования PHP в сообществе с открытым исходным кодом. В ней подчеркивается, что PHP не имеет одного ответственного лица за принятие решений, а вместо этого принадлежит сообществу разработчиков. Основной ответственностью за язык PHP и его веб-сайт являются PHP Core Contributors.
Она также объясняет, как любой человек, включая новых разработчиков, может предложить новые функции для PHP через процесс RFC (Request for Comments). Процесс включает в себя отправку идеи на внутренний список рассылки, подготовку официального документа RFC, обсуждение и создание голосования на протяжении двух недель.
Далее объясняется понятие "Karma", которое определяет уровень доступа для отправки RFC и голосования. Затем описывается, кто имеет право голосовать по RFC, включая PHP Core Contributors и представителей PHP-сообщества.
Здесь также предоставлен пример процесса голосования по RFC на примере RFC о "Readonly classes". Он подчеркивает, что с 2016 года для принятия изменений в языке требуется двухтретья мажоритарность голосов.
В статье также рассматривается, как стать PHP Core Contributor и финансирование разработки PHP. Она объясняет, что не существует фирмы, стоящей за PHP, и что разработчики обычно не получают оплату за свои вклады, но некоторые компании и организации оплачивают работу разработчиков.
Эта статья обсуждает управление и развитие языка программирования PHP в сообществе с открытым исходным кодом. В ней подчеркивается, что PHP не имеет одного ответственного лица за принятие решений, а вместо этого принадлежит сообществу разработчиков. Основной ответственностью за язык PHP и его веб-сайт являются PHP Core Contributors.
Она также объясняет, как любой человек, включая новых разработчиков, может предложить новые функции для PHP через процесс RFC (Request for Comments). Процесс включает в себя отправку идеи на внутренний список рассылки, подготовку официального документа RFC, обсуждение и создание голосования на протяжении двух недель.
Далее объясняется понятие "Karma", которое определяет уровень доступа для отправки RFC и голосования. Затем описывается, кто имеет право голосовать по RFC, включая PHP Core Contributors и представителей PHP-сообщества.
Здесь также предоставлен пример процесса голосования по RFC на примере RFC о "Readonly classes". Он подчеркивает, что с 2016 года для принятия изменений в языке требуется двухтретья мажоритарность голосов.
В статье также рассматривается, как стать PHP Core Contributor и финансирование разработки PHP. Она объясняет, что не существует фирмы, стоящей за PHP, и что разработчики обычно не получают оплату за свои вклады, но некоторые компании и организации оплачивают работу разработчиков.
👍18🥱2