#Собес
🤔 В чем разница между абстрактным классом и интерфейсом?
Абстрактный класс может содержать как абстрактные, так и реализованные методы, а также имеет возможность хранить состояние в виде свойств Интерфейс, с другой стороны, только определяет методы, которые должен реализовать класс, без их реализации. Один класс может реализовать несколько интерфейсов, но наследовать только один абстрактный класс.
👉 Новости 👉 База вопросов
Абстрактный класс может содержать как абстрактные, так и реализованные методы, а также имеет возможность хранить состояние в виде свойств Интерфейс, с другой стороны, только определяет методы, которые должен реализовать класс, без их реализации. Один класс может реализовать несколько интерфейсов, но наследовать только один абстрактный класс.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Привязка типизированных вариаций
Знаете ли вы, что можно привязать типизированные переменные к контейнеру? Laravel поставляется с 3 методами, позволяющими вам это сделать: «
👉 Новости 👉 База вопросов
Знаете ли вы, что можно привязать типизированные переменные к контейнеру? Laravel поставляется с 3 методами, позволяющими вам это сделать: «
when()
», «needs()
» и «give()
» вы можете продолжать использовать DI без опасений Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🛞 Как интегрировать Laravel с Apache Kafka
Статья рассказывает о том, как интегрировать Apache Kafka с Laravel на примере реального кейса — обработка заказа в e-commerce приложении, включая оплату и обновление склада.
Читать статью
👉 Новости 👉 База вопросов
Статья рассказывает о том, как интегрировать Apache Kafka с Laravel на примере реального кейса — обработка заказа в e-commerce приложении, включая оплату и обновление склада.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:
- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.
А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.
И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Объясните преимущества и недостатки использования фреймворка в контексте РНР.
Фреймворки ускоряют разработку благодаря готовым инструментам, следованию стандартам и встроенным решениям для типичных задач. Они облегчают поддержку и масштабирование, но могут быть избыточными для маленьких проектов, добавлять сложности и приводить к зависимости от конкретного инструмента. Выбор фреймворка зависит от задач проекта и баланса между удобством разработки и потребностями в производительности.
👉 Новости 👉 База вопросов
Фреймворки ускоряют разработку благодаря готовым инструментам, следованию стандартам и встроенным решениям для типичных задач. Они облегчают поддержку и масштабирование, но могут быть избыточными для маленьких проектов, добавлять сложности и приводить к зависимости от конкретного инструмента. Выбор фреймворка зависит от задач проекта и баланса между удобством разработки и потребностями в производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Composer Package Executor
Это CLI-инструмент, который позволяет выполнять любую команду из любого Composer-пакета, даже если этот пакет не установлен в вашем проекте.
По сути, это как npx, но для Composer
Гитхаб
👉 Новости 👉 База вопросов
Это CLI-инструмент, который позволяет выполнять любую команду из любого Composer-пакета, даже если этот пакет не установлен в вашем проекте.
По сути, это как npx, но для Composer
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 771. Jewels and Stones
Вам даны строки jewels, представляющие типы камней, которые являются драгоценностями, и stones, представляющие камни, которые у вас есть. Каждый символ в stones является типом камня, который у вас есть. Вы хотите узнать, сколько из камней, которые у вас есть, также являются драгоценностями.
Буквы чувствительны к регистру, поэтому "a" считается другим типом камня, чем "A".
Пример:
👨💻 Алгоритм:
1⃣ Создайте множество из строки jewels для быстрой проверки, является ли камень драгоценностью. Это позволит эффективно проверять принадлежность каждого камня к драгоценностям.
2⃣ Инициализируйте счетчик для подсчета количества камней, которые являются драгоценностями. Пройдите по каждому символу в строке stones и проверьте, содержится ли этот символ в множестве jewels.
3⃣ Если символ содержится в множестве, увеличьте счетчик. В конце верните значение счетчика, которое будет количеством камней, являющихся драгоценностями.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 771. Jewels and Stones
Вам даны строки jewels, представляющие типы камней, которые являются драгоценностями, и stones, представляющие камни, которые у вас есть. Каждый символ в stones является типом камня, который у вас есть. Вы хотите узнать, сколько из камней, которые у вас есть, также являются драгоценностями.
Буквы чувствительны к регистру, поэтому "a" считается другим типом камня, чем "A".
Пример:
Input: jewels = "aA", stones = "aAAbbbb"
Output: 3
class Solution {
numJewelsInStones(J, S) {
let ans = 0
for (const s of S) {
for (const j of J) {
if (j === s) {
ans++
break
}
}
}
return ans
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Новое в Symfony 7.3: компонент
Во многих Symfony-приложениях часто используют DTO-объекты для переноса данных между слоями. Например, вы можете создать DTO на основе Doctrine-сущности, изменить его с помощью Symfony Form, а затем снова замапить обновлённые данные в сущность.
Код для маппинга DTO обратно в сущность часто выглядит так:
Это утомительно и подвержено ошибкам. Поэтому в Symfony 7.3 введён новый компонент ObjectMapper для переноса данных между объектами. С его помощью предыдущий пример становится намного проще:
Подробнее
👉 Новости 👉 База вопросов
ObjectMapper
Во многих Symfony-приложениях часто используют DTO-объекты для переноса данных между слоями. Например, вы можете создать DTO на основе Doctrine-сущности, изменить его с помощью Symfony Form, а затем снова замапить обновлённые данные в сущность.
Код для маппинга DTO обратно в сущность часто выглядит так:
$user = new User();
$user->name = $dto->name;
$user->email = $dto->email;
$user->roles = ['ROLE_USER'];
// …
Это утомительно и подвержено ошибкам. Поэтому в Symfony 7.3 введён новый компонент ObjectMapper для переноса данных между объектами. С его помощью предыдущий пример становится намного проще:
// при создании нового объекта на основе другого
$user = $mapper->map($dto, User::class);
// при обновлении существующего объекта другим объектом
$mapper->map($dto, $user);
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Что такое маршрут (Route) в Laravel?
Маршрут в Laravel - это конечная точка, которая сопоставляется с URI (Uniform Resource Identifier). Он указывает, какую функцию или метод в контроллере нужно вызвать при определенном запросе. Также маршруты определяют, какие НТТР-методы (GET, POST и т.д.) могут быть использованы для доступа к этому URI.
👉 Новости 👉 База вопросов
Маршрут в Laravel - это конечная точка, которая сопоставляется с URI (Uniform Resource Identifier). Он указывает, какую функцию или метод в контроллере нужно вызвать при определенном запросе. Также маршруты определяют, какие НТТР-методы (GET, POST и т.д.) могут быть использованы для доступа к этому URI.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Судя по результатам голосования, похоже, в PHP 8.5 появится оператор Pipe.
Смотри тут
👉 Новости 👉 База вопросов
Смотри тут
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
👍 FrankenPHP теперь официально поддерживается Фондом PHP
Репозиторий проекта будет перенесён в организацию PHP на GitHub
👉 Новости 👉 База вопросов
Репозиторий проекта будет перенесён в организацию PHP на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Ускоряем работу в PhpStorm: самые полезные хоткеи
Продолжаем рассказывать про полезные фишки шторма для начинающих. Вот подборка дополнительных возможностей, не попавших в прошлые подборки:
🟠 Ctrl + E: открыть список недавно измененных файлов.
🟠 Alt + Insert: генерация кода, например, геттеров, сеттеров или конструкторов.
🟠 Shift + F6: переименование переменной, функции или файла.
👉 Новости 👉 База вопросов
Продолжаем рассказывать про полезные фишки шторма для начинающих. Вот подборка дополнительных возможностей, не попавших в прошлые подборки:
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Что такое обратное маршрутизирование в Laravel?
Обратное маршрутизирование в Laravel позволяет генерировать URL-адреса маршрутов на основе их имен. Это помогает избежать жесткой привязки к путям и делает код более гибким и читаемым.
👉 Новости 👉 База вопросов
Обратное маршрутизирование в Laravel позволяет генерировать URL-адреса маршрутов на основе их имен. Это помогает избежать жесткой привязки к путям и делает код более гибким и читаемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫠 Задумывались, как работает загрузка файлов в PHP?
Когда пользователь отправляет файл, PHP предоставляет специальный массив
👉 Новости 👉 База вопросов
Когда пользователь отправляет файл, PHP предоставляет специальный массив
$_FILES
с именем, размером, типом и временным местоположением файла.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Какие файлы маршрутов по умолчанию существуют в Laravel?
B Laravel по умолчанию существуют четыре файла маршрутов:
👉 Новости 👉 База вопросов
B Laravel по умолчанию существуют четыре файла маршрутов:
web. php
для веб-маршрутов, арі.php
для АР|-маршрутов, console-php
для команд консоли и channel. php
для каналов вещания событий.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Совет по Laravel
Знали ли вы, что значения по умолчанию для столбцов базы данных можно задавать не только на уровне базы данных в миграциях, но и на уровне Eloquent-модели с помощью свойства
Ссылка на документацию
👉 Новости 👉 База вопросов
Знали ли вы, что значения по умолчанию для столбцов базы данных можно задавать не только на уровне базы данных в миграциях, но и на уровне Eloquent-модели с помощью свойства
$attributes
?Ссылка на документацию
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Архитектура в Laravel. Как сделать код понятным и масштабируемым
Сегодня речь пойдет о теме, где нет универсальных решений, но есть проверенные практики — как организовать код в Laravel, чтобы он оставался чистым даже спустя годы развития.
Хабр
👉 Новости 👉 База вопросов
Сегодня речь пойдет о теме, где нет универсальных решений, но есть проверенные практики — как организовать код в Laravel, чтобы он оставался чистым даже спустя годы развития.
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 А вы знали, что можно задать дефолтные значения полей БД не только в миграциях, но и в Eloquent-модели с помощью
👉 Новости 👉 База вопросов
$attributes
?Please open Telegram to view this post
VIEW IN TELEGRAM