#полезное
😊 Использование Laravel Tinker в Chrome DevTools
Статья о том, как интегрировать Laravel Tinker с Chrome DevTools для более удобной отладки и тестирования кода прямо в браузере.
Это позволяет быстрее проверять и экспериментировать с кодом Laravel, используя привычные инструменты Chrome.
Читать статью
👉 Новости 👉 База вопросов
Статья о том, как интегрировать Laravel Tinker с Chrome DevTools для более удобной отладки и тестирования кода прямо в браузере.
Это позволяет быстрее проверять и экспериментировать с кодом Laravel, используя привычные инструменты Chrome.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#вакансии
👨💻 PHP Developer (Middle/Senior)
200 000 — 400 000 ₽
Удаленно (Москва)
Marfatech — компания, которая разрабатывает собственные высокотехнологичные продукты в сфере Digital-маркетинга, Data Science и BI-аналитики.
Требования
🔵 Знание ООП, PHP, MySQL.
🔵 Опыт работы с Symfony желателен.
🔵 Уверенное владение паттернами проектирования.
🔵 Использование систем контроля версий (Git).
Подробнее о вакансии
👉 Новости 👉 База вопросов
200 000 — 400 000 ₽
Удаленно (Москва)
Marfatech — компания, которая разрабатывает собственные высокотехнологичные продукты в сфере Digital-маркетинга, Data Science и BI-аналитики.
Требования
Подробнее о вакансии
Please open Telegram to view this post
VIEW IN TELEGRAM
getmatch.ru
Вакансия PHP Developer, работа в Marfatech, удалённо, в Москве — getmatch
Вакансия PHP Developer, работа в компании Marfatech, Москва (офис или гибрид) или полная удаленка — на выбор. Зарплата: 200 000 — 400 000 ₽/мес на руки. Дата публикации: 03.12.2025.
#полезное
😊 Новый тренажёр по SQL
Разработчик создал SQL Noir — интерактивную детективную игру, где расследования ведутся с помощью SQL-запросов.
Погружаешься в сюжет и решаешь загадки с реальными SQL-запросами.
Ссылка
👉 Новости 👉 База вопросов
Разработчик создал SQL Noir — интерактивную детективную игру, где расследования ведутся с помощью SQL-запросов.
Погружаешься в сюжет и решаешь загадки с реальными SQL-запросами.
Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#Собес
🤔 Как использовать filter_var в РНР?
👉 Новости 👉 Платформа
filter_var - это универсальная функция для проверки и фильтрации данных. С её помощью можно валидировать email, URL или IP-адреса, а также очищать строки или числа. Это упрощает защиту приложения от некорректных данных и снижает риск атак.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Psl
Современный, централизованный, хорошо типизированный, неблокируемый набор API
Библиотека представляет собой современную, согласованную, централизованную и строго типизированную стандартную библиотеку для PHP. Ее цель — предоставить разработчикам PHP набор неблокирующих API, которые упрощают и стандартизируют выполнение общих задач, таких как работа со строками, массивами, генерация случайных чисел и другие операции.
Использование этой библиотеки может поспособствовать повышению качества и читаемости кода, обеспечивая единообразие и надежность при решении повседневных задач.
Гитхаб
👉 Новости 👉 База вопросов
Современный, централизованный, хорошо типизированный, неблокируемый набор API
Библиотека представляет собой современную, согласованную, централизованную и строго типизированную стандартную библиотеку для PHP. Ее цель — предоставить разработчикам PHP набор неблокирующих API, которые упрощают и стандартизируют выполнение общих задач, таких как работа со строками, массивами, генерация случайных чисел и другие операции.
Использование этой библиотеки может поспособствовать повышению качества и читаемости кода, обеспечивая единообразие и надежность при решении повседневных задач.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
#полезное
👍 Использование хелперов даты в конструкторе запросов Laravel
В Laravel версии 11.42 были добавлены новые методы построителя запросов(Query Builder), позволяющие работать с относительными датами. Эти методы повышают читаемость и упрощают написание условий, связанных с датами, в ваших моделях.
Ранее, для фильтрации записей по дате, приходилось явно указывать операторы сравнения и использовать функции, такие как
Новые методы, такие как
Официальный сайт
👉 Новости 👉 База вопросов
В Laravel версии 11.42 были добавлены новые методы построителя запросов(Query Builder), позволяющие работать с относительными датами. Эти методы повышают читаемость и упрощают написание условий, связанных с датами, в ваших моделях.
Ранее, для фильтрации записей по дате, приходилось явно указывать операторы сравнения и использовать функции, такие как
now(). Это могло приводить к менее читаемому и более громоздкому коду.Новые методы, такие как
whereNowOrPast, whereFuture, whereAfterToday, orWhereBeforeToday и другие, позволяют писать более лаконичный и понятный код для работы с датами. Они инкапсулируют логику сравнения дат, делая код более выразительным и легким для понимания.Официальный сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#полезное
🤯 Mago
Комплексная цепочка инструментов для PHP, которая помогает разработчикам писать более качественный код.
Вдохновленный экосистемой Rust, Mago привносит удобство, надежность и уникальный опыт разработчиков в PHP-проекты любого размера.
Фишки
🟠 Анализ и подсветка: выявление проблем в коде с помощью настраиваемых правил и плагинов.
🟠 Автоматические исправления: Применяйте исправления к проблемам, связанным с линтингом, для поддержания чистоты кодовой базы.
🟠 Последовательное форматирование: Стандартизируйте стиль кода с помощью мощных инструментов форматирования.
🟠 Семантические проверки: Убедитесь в корректности кода с помощью надежного семантического анализа.
🟠 Визуализация AST: Изучите структуру кода с помощью разбора абстрактного синтаксического дерева (AST).
Установка через curl в одну строку:
Гитхаб
👉 Новости 👉 База вопросов
Комплексная цепочка инструментов для PHP, которая помогает разработчикам писать более качественный код.
Вдохновленный экосистемой Rust, Mago привносит удобство, надежность и уникальный опыт разработчиков в PHP-проекты любого размера.
Фишки
Установка через curl в одну строку:
curl --proto '=https' --tlsv1.2 -sSf https://carthage.software/mago.sh | bashГитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - carthage-software/mago: Mago is a toolchain for PHP that aims to provide a set of tools to help developers write better…
Mago is a toolchain for PHP that aims to provide a set of tools to help developers write better code. - carthage-software/mago
#Собес
🤔 Что такое Composer и как его использовать?
Composer - это менеджер зависимостей для РНР, позволяющий добавлять библиотеки в проект и управлять их версиями. Он автоматически загружает нужные пакеты и создаёт автозагрузчик для их использования.
👉 Новости 👉 Платформа
Composer - это менеджер зависимостей для РНР, позволяющий добавлять библиотеки в проект и управлять их версиями. Он автоматически загружает нужные пакеты и создаёт автозагрузчик для их использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 437. Path Sum III
Дан корень бинарного дерева и целое число targetSum, вернуть количество путей, где сумма значений вдоль пути равна targetSum.
Путь не обязательно должен начинаться или заканчиваться в корне или на листе, но он должен идти вниз (т.е. перемещаться только от родительских узлов к дочерним).
Пример:
👨💻 Алгоритм:
1⃣ Инициализируем счетчик путей в дереве count = 0 и хеш-таблицу h, где ключ - это префиксная сумма, а значение - сколько раз она встречалась. Выполним рекурсивный обход дерева в порядке preorder: узел -> левый -> правый. Функция preorder(node: TreeNode, curr_sum: int) принимает два аргумента: узел дерева и префиксную сумму перед этим узлом. Чтобы запустить рекурсию, вызовем preorder(root, 0).
2⃣ Сначала обновим текущую префиксную сумму, добавив значение текущего узла: curr_sum += node.val. Теперь можно обновить счетчик. Рассмотрим две ситуации. В первой ситуации путь в дереве с целевой суммой начинается с корня. Это означает, что текущая префиксная сумма равна целевой сумме curr_sum == k, поэтому увеличиваем счетчик на 1: count += 1. Во второй ситуации путь с целевой суммой начинается где-то ниже. Это означает, что нужно добавить к счетчику количество раз, когда мы видели префиксную сумму curr_sum - target: count += h[curr_sum - target].
3⃣ Логика проста: текущая префиксная сумма - это curr_sum, а несколько элементов назад префиксная сумма была curr_sum - target. Все элементы между ними суммируются до curr_sum - (curr_sum - target) = target. Теперь обновим хеш-таблицу: h[curr_sum] += 1. Проанализируем левое и правое поддеревья: preorder(node.left, curr_sum), preorder(node.right, curr_sum). После обработки текущего поддерева удалим текущую префиксную сумму из хеш-таблицы, чтобы не смешивать параллельные поддеревья: h[curr_sum] -= 1. Когда обход в порядке preorder завершен, счетчик обновлен. Вернем его.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 437. Path Sum III
Дан корень бинарного дерева и целое число targetSum, вернуть количество путей, где сумма значений вдоль пути равна targetSum.
Путь не обязательно должен начинаться или заканчиваться в корне или на листе, но он должен идти вниз (т.е. перемещаться только от родительских узлов к дочерним).
Пример:
Input: root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8
Output: 3
Explanation: The paths that sum to 8 are shown.
class Solution {
function pathSum($root, $sum) {
$count = 0;
$k = $sum;
$h = [];
$preorder = function($node, $curr_sum) use (&$preorder, &$count, &$h, $k) {
if (!$node) return;
$curr_sum += $node->val;
if ($curr_sum == $k) {
$count++;
}
$count += $h[$curr_sum - $k] ?? 0;
$h[$curr_sum] = ($h[$curr_sum] ?? 0) + 1;
$preorder($node->left, $curr_sum);
$preorder($node->right, $curr_sum);
$h[$curr_sum]--;
};
$preorder($root, 0);
return $count;
}
}Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
#статьи
😬 Как организовать структуру приложения
Структура кода — это не просто способ организации файлов и папок в проекте, это фундаментальный аспект разработки, который влияет на её эффективность, качество, и долгосрочную поддержку. Красиво организованный код облегчает понимание, упрощает внедрение новых функций и снижает вероятность ошибок. Независимо от масштаба проекта, будь то небольшое приложение или сложная система, структурированный подход к организации кода способствует снижению рисков, связанных с техническим долгом, и повышает продуктивность команды разработчиков. Однако не все разработчики осознают, насколько велика разница между проектами с хорошо продуманной структурой и хаотично организованной.
В этой статье разбирается, что значит «понятная структура кода», и почему её наличие столь важно для успешной разработки.
Читать статью
👉 Новости 👉 База вопросов
Структура кода — это не просто способ организации файлов и папок в проекте, это фундаментальный аспект разработки, который влияет на её эффективность, качество, и долгосрочную поддержку. Красиво организованный код облегчает понимание, упрощает внедрение новых функций и снижает вероятность ошибок. Независимо от масштаба проекта, будь то небольшое приложение или сложная система, структурированный подход к организации кода способствует снижению рисков, связанных с техническим долгом, и повышает продуктивность команды разработчиков. Однако не все разработчики осознают, насколько велика разница между проектами с хорошо продуманной структурой и хаотично организованной.
В этой статье разбирается, что значит «понятная структура кода», и почему её наличие столь важно для успешной разработки.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Как организовать структуру приложения
🔔 Введение Структура кода — это не просто способ организации файлов и папок в проекте, это фундаментальный аспект разработки, который влияет на её эффективность, качество, и долгосрочную поддержку....
❤2
#статьи
😊 Упакуйте свой код правильно
В предыдущей статье «Как организовать структуру приложения» рассматривались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. Особое внимание уделялось важности понятной структуры кода, способствующей упрощению его понимания, внедрению новых функций и снижению вероятности ошибок. Были рассмотрены критерии понятности, такие как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также поднимались проблемы, возникающие при неструктурированной организации кода, включая сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.
Читать полностью
👉 Новости 👉 База вопросов
В предыдущей статье «Как организовать структуру приложения» рассматривались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры. Особое внимание уделялось важности понятной структуры кода, способствующей упрощению его понимания, внедрению новых функций и снижению вероятности ошибок. Были рассмотрены критерии понятности, такие как чёткое назначение файлов и папок, разделение логики по модулям или функциональным зонам, использование самодокументируемых названий и соблюдение стандартов кодирования. Также поднимались проблемы, возникающие при неструктурированной организации кода, включая сложность навигации, отсутствие модульности и нарушение принципов SOLID и GRASP.
Читать полностью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Упакуйте свой код правильно
В предыдущей статье « Как организовать структуру приложения » обсуждались различные подходы к организации кода, включая монолитную архитектуру, многослойную архитектуру и принципы чистой архитектуры....
#Собес
🤔 Как РНР взаимодействует с базами данных?
PHP взаимодействует с базами данных через MySQLi, PDO или ORM. MySQLi подходит для работы только с MySQL, а PDO поддерживает разные базы данных. ORM (например, Eloquent) позволяет абстрагироваться от SQL-запросов, работая с объектами.
👉 Новости 👉 Платформа
PHP взаимодействует с базами данных через MySQLi, PDO или ORM. MySQLi подходит для работы только с MySQL, а PDO поддерживает разные базы данных. ORM (например, Eloquent) позволяет абстрагироваться от SQL-запросов, работая с объектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 navi — утилита для командной строки
Это утилита, которая поможет быстро находить готовые команды для терминала и сразу их выполнять. Вы можете использовать готовые шпаргалки или создать свои, а navi покажет возможные значения аргументов прямо в интерфейсе.
Как использовать
1⃣ Устанавливаем через Homebrew:
2⃣ Запускаем командой:
navi — доступ ко всем шпаргалкам
3⃣ Встраиваем как shell-виджет или tmux-виджет для быстрого доступа
4⃣ Создаем свои шпаргалки или импортируем из других источников (например, tldr или cheat.sh)
Что еще умеет
🟠 Поддерживает кастомные конфиги, цвета и пути для шпаргалок
🟠 Работает в любом терминале или через Tmux
🟠 Можно использовать как скриптовый инструмент или даже через Alfred
Гитхаб
👉 Новости 👉 База вопросов
Это утилита, которая поможет быстро находить готовые команды для терминала и сразу их выполнять. Вы можете использовать готовые шпаргалки или создать свои, а navi покажет возможные значения аргументов прямо в интерфейсе.
Как использовать
brew install navinavi — доступ ко всем шпаргалкам
Что еще умеет
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Как можно получить список маршрутов, зарегистрированных пакетами в ваших Laravel-приложениях?
Вы можете сделать это, выполнив команду:
Это отлично подходит для аудита ваших маршрутов и выявления тех, о которых вы могли не знать, чтобы убедиться, что они защищены и безопасны
👉 Новости 👉 База вопросов
Вы можете сделать это, выполнив команду:
php artisan route:list --only-vendor
Это отлично подходит для аудита ваших маршрутов и выявления тех, о которых вы могли не знать, чтобы убедиться, что они защищены и безопасны
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Совет по PHP для массовой замены строк
Вы можете использовать
Источник фрагмента кода: GitHub
👉 Новости 👉 База вопросов
Вы можете использовать
str_replace(), передавая массивы ключей и значений в качестве параметров, без использования циклов.Источник фрагмента кода: GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Каковы различия между MySQLi и PDO?
MySQLi - это расширение, предназначенное только для работы с MySQL, оно поддерживает процедурный и объектно-ориентированный стили программирования. PDO (PHP Data Objects) - универсальный инструмент для работы с разными базами данных (MySQL, PostgreSQL, SQLite и др.), который работает только в объектно- ориентированном стиле. PDO предоставляет унифицированный интерфейс и поддерживает именованные параметры в запросах, тогда как MySQLi лучше подходит для специфичных функций MySQL, например, хранимых процедур.
👉 Новости 👉 Платформа
MySQLi - это расширение, предназначенное только для работы с MySQL, оно поддерживает процедурный и объектно-ориентированный стили программирования. PDO (PHP Data Objects) - универсальный инструмент для работы с разными базами данных (MySQL, PostgreSQL, SQLite и др.), который работает только в объектно- ориентированном стиле. PDO предоставляет унифицированный интерфейс и поддерживает именованные параметры в запросах, тогда как MySQLi лучше подходит для специфичных функций MySQL, например, хранимых процедур.
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Автотесты | Как мокировать классы с помощью PHPUnit
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
Читать статью
👉 Новости 👉 База вопросов
Моки — это, по сути, клоны ваших классов. Они переопределяют ваш класс, сохраняя тот же тип и тип возврата, что и исходный класс. Убедиться в правильности возвращаемого типа в процессе создания мока очень важно, в противном случае будут возникать ошибки.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 PVM — менеджер версий PHP
Простой bash-скрипт для управления несколькими версиями PHP в Unix-системах(в том числе MacOS).
Установка через Curl:
Гитхаб
👉 Новости 👉 База вопросов
Простой bash-скрипт для управления несколькими версиями PHP в Unix-системах(в том числе MacOS).
Установка через Curl:
curl -o /usr/local/bin/pvm https://raw.githubusercontent.com/smoqadam/pvm/main/pvmchmod +x /usr/local/bin/pvmexport PATH="$HOME/.pvm/current:$PATH"Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤣 Одна из самых подробных и полезных шпаргалок для Backend-разработчиков на русском языке.
Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё
Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники.
👉 Новости 👉 База вопросов
Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё
Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM