#полезное
😇 Совет по PHP: First-Class Callables
PHP 8.1 представил first-class callables, которые упрощают синтаксис, особенно при работе с коллекциями Laravel, где часто используются замыкания
👉 Новости 👉 База вопросов
PHP 8.1 представил first-class callables, которые упрощают синтаксис, особенно при работе с коллекциями Laravel, где часто используются замыкания
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Знали ли вы, что PHP переподключается к Redis при каждом запросе?
В Laravel 12 появилась новая переменная окружения
👉 Новости 👉 База вопросов
В Laravel 12 появилась новая переменная окружения
REDIS_PERSISTENT
, которая позволяет сохранять соединения с Redis между запросами.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 PhpLDAPadmin
Это веб инструмент управления данными LDAP для системных администраторов. Он обычно известен и называется "PLA".
При этом, PLA создан с учетом соответствия RFC LDAP, что позволяет использовать его с любым сервером LDAP
Гитхаб
👉 Новости 👉 База вопросов
Это веб инструмент управления данными LDAP для системных администраторов. Он обычно известен и называется "PLA".
При этом, PLA создан с учетом соответствия RFC LDAP, что позволяет использовать его с любым сервером LDAP
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Объясните преимущества и недостатки использования фреймворка в контексте РНР.
Фреймворки ускоряют разработку благодаря готовым инструментам, следованию стандартам и встроенным решениям для типичных задач. Они облегчают поддержку и масштабирование, но могут быть избыточными для маленьких проектов, добавлять сложности и приводить к зависимости от конкретного инструмента. Выбор фреймворка зависит от задач проекта и баланса между удобством разработки и потребностями в производительности.
👉 Новости 👉 База вопросов
Фреймворки ускоряют разработку благодаря готовым инструментам, следованию стандартам и встроенным решениям для типичных задач. Они облегчают поддержку и масштабирование, но могут быть избыточными для маленьких проектов, добавлять сложности и приводить к зависимости от конкретного инструмента. Выбор фреймворка зависит от задач проекта и баланса между удобством разработки и потребностями в производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
😊 Что умеет Rector: пишем кастомные правила для автоматизации рефакторинга PHP-проектов
Если вам часто приходится сталкиваться с рефакторингом старых PHP-проектов, при этом их потребности выходят за пределы штатного набора правил, эта статья для вас.
Хабр
👉 Новости 👉 База вопросов
Если вам часто приходится сталкиваться с рефакторингом старых PHP-проектов, при этом их потребности выходят за пределы штатного набора правил, эта статья для вас.
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Совет по Laravel Eloquent
Если вам нужно добавить условие в запрос на основе некоторого условия в PHP, используйте метод
Вы предпочитаете A или B?
Код становится короче и удобнее для чейнинга с другими методами запроса, но... может быть, менее читаемым?
👉 Новости 👉 База вопросов
Если вам нужно добавить условие в запрос на основе некоторого условия в PHP, используйте метод
when()
в Eloquent.Вы предпочитаете A или B?
Код становится короче и удобнее для чейнинга с другими методами запроса, но... может быть, менее читаемым?
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🤯 Как выбрать стратегию кэширования: разбор 7 популярных алгоритмов
Кешировать нужно с умом. И нет, LRU — не серебряная пуля.
В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO и другие
– Примеры, где каждый работает лучше
– Плюсы и минусы подходов
– Практические советы по выбору стратегии
Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз.
Читать статью
👉 Новости 👉 База вопросов
Кешировать нужно с умом. И нет, LRU — не серебряная пуля.
В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO и другие
– Примеры, где каждый работает лучше
– Плюсы и минусы подходов
– Практические советы по выбору стратегии
Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое полиморфизм в РНР?
Полиморфизм в РНР позволяет использовать методы с одинаковым именем, но разным поведением в зависимости от типа обьекта. Это достигается через интерфейсы или абстрактные классы, которые задают общие методы, а конкретные классы реализуют их по-своему.
👉 Новости 👉 База вопросов
Полиморфизм в РНР позволяет использовать методы с одинаковым именем, но разным поведением в зависимости от типа обьекта. Это достигается через интерфейсы или абстрактные классы, которые задают общие методы, а конкретные классы реализуют их по-своему.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#ЛитКод
Задача: 441. Arranging Coins
У вас есть n монет, и вы хотите построить лестницу из этих монет. Лестница состоит из k рядов, где i-й ряд содержит ровно i монет. Последний ряд лестницы может быть неполным.
Дано целое число n, верните количество полных рядов лестницы, которые вы сможете построить.
Пример:
👨💻 Алгоритм:
1⃣ Если мы глубже посмотрим на формулу задачи, мы можем решить её с помощью математики, без использования итераций.
2⃣ Напомним, что условие задачи можно выразить следующим образом: k(k + 1) ≤ 2N.
3⃣ Это можно решить методом выделения полного квадрата, (k + 1/2)² - 1/4 ≤ 2N. Что приводит к следующему ответу: k = [sqrt(2N + 1/4) - 1/2].
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 441. Arranging Coins
У вас есть n монет, и вы хотите построить лестницу из этих монет. Лестница состоит из k рядов, где i-й ряд содержит ровно i монет. Последний ряд лестницы может быть неполным.
Дано целое число n, верните количество полных рядов лестницы, которые вы сможете построить.
Пример:
Input: n = 5
Output: 2
Explanation: Because the 3rd row is incomplete, we return 2.
class Solution {
function arrangeCoins($n) {
return (int)(sqrt(2 * $n + 0.25) - 0.5);
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 PDO или ORM?
PDO — для тех, кто ценит полный контроль. Пишете SQL вручную, понимаете, что происходит под капотом. Гибкость максимальна, но код засоряется повторениями, а сложные запросы становятся испытанием при развитии проекта.
ORM (Eloquent, Doctrine) — путь удобства. Работаете с объектами вместо SQL, код становится чище, а разработка быстрее. Но магия абстракции может привести к неожиданным SQL-запросам, проблемам с производительностью и сложной отладке.
👉 Новости 👉 База вопросов
PDO — для тех, кто ценит полный контроль. Пишете SQL вручную, понимаете, что происходит под капотом. Гибкость максимальна, но код засоряется повторениями, а сложные запросы становятся испытанием при развитии проекта.
ORM (Eloquent, Doctrine) — путь удобства. Работаете с объектами вместо SQL, код становится чище, а разработка быстрее. Но магия абстракции может привести к неожиданным SQL-запросам, проблемам с производительностью и сложной отладке.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 Ваш файл
РЕШЕНИЕ 1: Команды в терминале
Если нужно что-то найти ОДИН РАЗ, используйте одну из этих команд:
🟠
🟠
🟠
РЕШЕНИЕ 2: Изменение режима логирования на "daily"
В файле
Это заставит Laravel создавать новый лог-файл каждый день (например,
РЕШЕНИЕ 3: Пакет Log Viewer
Пакет opcodesio/log-viewer предоставляет удобную панель для просмотра логов.
РЕШЕНИЕ 4: Внешние платные инструменты
Сервисы ОТСЛЕЖИВАНИЯ ОШИБОК, которые автоматически собирают и организуют ошибки:
🟠 Sentry
🟠 Bugsnag
🟠 Flare
Сервисы ДЛЯ УПРАВЛЕНИЯ ЛОГАМИ:
🟠 Papertrail
🟠 Loggly
🟠 LogDNA
👉 Новости 👉 База вопросов
laravel.log
слишком большой? Трудно читать/искать нужную информацию?РЕШЕНИЕ 1: Команды в терминале
Если нужно что-то найти ОДИН РАЗ, используйте одну из этих команд:
tail -n 100 storage/logs/laravel.log
– показать последние 100 строкtail -f storage/logs/laravel.log
– потоковое обновление лога в реальном времениgrep -i "error" storage/logs/laravel.log
– поиск ошибок (без учета регистра)РЕШЕНИЕ 2: Изменение режима логирования на "daily"
В файле
.env
установите:LOG_CHANNEL=daily
Это заставит Laravel создавать новый лог-файл каждый день (например,
laravel-2025-01-01.log
).РЕШЕНИЕ 3: Пакет Log Viewer
Пакет opcodesio/log-viewer предоставляет удобную панель для просмотра логов.
РЕШЕНИЕ 4: Внешние платные инструменты
Сервисы ОТСЛЕЖИВАНИЯ ОШИБОК, которые автоматически собирают и организуют ошибки:
Сервисы ДЛЯ УПРАВЛЕНИЯ ЛОГАМИ:
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое инкапсуляция и как она реализуется в РНР?
Инкапсуляция - это принцип ООП, при котором данные и методы, работающие с этими данными, объединяются в одном классе, а доступ к этим данным ограничивается с помощью модификаторов доступа (public, private, protected). Это позволяет скрыть внутренние детали реализации и управлять доступом к данным.
👉 Новости 👉 База вопросов
Инкапсуляция - это принцип ООП, при котором данные и методы, работающие с этими данными, объединяются в одном классе, а доступ к этим данным ограничивается с помощью модификаторов доступа (public, private, protected). Это позволяет скрыть внутренние детали реализации и управлять доступом к данным.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
😐 Ускоряем работу в PhpStorm: самые полезные хоткеи
И снова горячие клавиши. Вот подборка для работы с кодом:
🟠 Alt + Enter: универсальный контекстный помощник, отображающий доступные действия в зависимости от положения курсора.
🟠 Ctrl + P: показать подсказку по параметрам метода или функции.
🟠 Ctrl + Shift + I: быстрый просмотр реализации метода или функции.
👉 Новости 👉 База вопросов
И снова горячие клавиши. Вот подборка для работы с кодом:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Buggregator — удобная отладка
Buggregator — это идеальный инструмент отладки, который работает как сервер VarDumper, профилировщик Xhprof, локальный SMTP-сервер, локальный Sentry и многое другое.
👉 Новости 👉 База вопросов
Buggregator — это идеальный инструмент отладки, который работает как сервер VarDumper, профилировщик Xhprof, локальный SMTP-сервер, локальный Sentry и многое другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как используется наследование в РНР?
Наследование в РНР позволяет одному классу (подклассу) наследовать методы и свойства другого класса (родительского класса). Это позволяет повторно использовать код и создавать иерархические связи между классами, где подклассы могут расширять или изменять функциональность родительского класса, сохраняя при этом общие черты.
👉 Новости 👉 База вопросов
Наследование в РНР позволяет одному классу (подклассу) наследовать методы и свойства другого класса (родительского класса). Это позволяет повторно использовать код и создавать иерархические связи между классами, где подклассы могут расширять или изменять функциональность родительского класса, сохраняя при этом общие черты.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🤓 Laravel использует
Это также может быть очень полезно при разработке приложения, в котором пользователи могут настраивать выполнение задач с нужной им периодичностью.
Вот как я использовал его, чтобы дать пользователям возможность создавать и запускать автоматические отчёты по расписанию
👉 Новости 👉 База вопросов
Cron\CronExpression
для определения времени выполнения запланированных задач.Это также может быть очень полезно при разработке приложения, в котором пользователи могут настраивать выполнение задач с нужной им периодичностью.
Вот как я использовал его, чтобы дать пользователям возможность создавать и запускать автоматические отчёты по расписанию
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😎 Пример HTTP-сервера на PHP с использованием файберов. Улучшенная версия
Статья показывает, как сделать быстрый HTTP-сервер на PHP с файберами и расширением ev, обходя ограничения socket_select() и добиваясь лучшей производительности
Подробнее
👉 Новости 👉 База вопросов
Статья показывает, как сделать быстрый HTTP-сервер на PHP с файберами и расширением ev, обходя ограничения socket_select() и добиваясь лучшей производительности
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🛞 PHP под капотом: как работает генерация случайных чисел
Вы когда-нибудь задумывались, как компьютер, эта идеальная детерминированная машина, выполняющая команды с математической точностью, умудряется генерировать «случайные» числа? Ведь в его цифровом мире нет места настоящему хаосу — только чёткие алгоритмы и предсказуемые состояния.
Сегодня мы заглянем под капот PHP и разберёмся, как устроена эта иллюзия случайности!
Хабр
👉 Новости 👉 База вопросов
Вы когда-нибудь задумывались, как компьютер, эта идеальная детерминированная машина, выполняющая команды с математической точностью, умудряется генерировать «случайные» числа? Ведь в его цифровом мире нет места настоящему хаосу — только чёткие алгоритмы и предсказуемые состояния.
Сегодня мы заглянем под капот PHP и разберёмся, как устроена эта иллюзия случайности!
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое миграции базы данных на примере Laravel?
Миграции - это способ описания изменений схемы базы данных в виде кода. Они помогают отслеживать версии изменений, легко разворачивать базу данных на новых средах и управлять откатами. Этот подход делает процесс работы. модификации базы данных более упорядоченным и удобным для командной
👉 Новости 👉 База вопросов
Миграции - это способ описания изменений схемы базы данных в виде кода. Они помогают отслеживать версии изменений, легко разворачивать базу данных на новых средах и управлять откатами. Этот подход делает процесс работы. модификации базы данных более упорядоченным и удобным для командной
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 Laravel Wayfinder
На той неделе команда Laravel выпустила новый инструмент — Wayfinder — в бета-версии: тыкГитхаб
Он генерирует TypeScript-функции, которые можно импортировать на фронтенде для ваших контроллеров и маршрутов
👉 Новости 👉 База вопросов
На той неделе команда Laravel выпустила новый инструмент — Wayfinder — в бета-версии: тыкГитхаб
Он генерирует TypeScript-функции, которые можно импортировать на фронтенде для ваших контроллеров и маршрутов
Please open Telegram to view this post
VIEW IN TELEGRAM