#полезное
😎 Совет по Laravel
Используйте
Генерируйте файлы "на лету" и стримьте их напрямую пользователю.
Документация: https://laravel.com/docs/12.x/responses#streamed-downloads
👉 Новости 👉 База вопросов
Используйте
response()->streamDownload(), чтобы создавать загрузки без записи на диск.Генерируйте файлы "на лету" и стримьте их напрямую пользователю.
Документация: https://laravel.com/docs/12.x/responses#streamed-downloads
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Появился новый пакет под названием Laravel Zap. Это планировщик событий, который отлично подходит для:
- событий и встреч,
- повторяющихся задач,
- управления доступностью,
- детекции конфликтов.
👉 Новости 👉 База вопросов
- событий и встреч,
- повторяющихся задач,
- управления доступностью,
- детекции конфликтов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #postgres
🤔 Какие существуют типы индексов в PostgreSQLu когда их использовать?
💬 Кратко:
PostgreSQL поддерживает несколько типов индексов: B-Tree, Hash, GIN, GiST, BRIN, и SP-GiST. B-Tree подходит для поиска равенства и диапазона, Hash - только для равенства, GIN и GiST - для полнотекстового поиска, а BRIN оптимален для больших таблиц с последовательными данными.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
PostgreSQL поддерживает несколько типов индексов: B-Tree, Hash, GIN, GiST, BRIN, и SP-GiST. B-Tree подходит для поиска равенства и диапазона, Hash - только для равенства, GIN и GiST - для полнотекстового поиска, а BRIN оптимален для больших таблиц с последовательными данными.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 721. Accounts Merge
Дан список аккаунтов, в котором каждый элемент accounts[i] - это список строк, где первый элемент accounts[i][0] - это имя, а остальные элементы - это email, представляющие электронную почту аккаунта. Теперь мы хотим объединить эти аккаунты. Два аккаунта определенно принадлежат одному человеку, если у обоих аккаунтов есть какой-то общий email. Обратите внимание, что даже если два аккаунта имеют одинаковое имя, они могут принадлежать разным людям, поскольку у людей могут быть одинаковые имена. Изначально у человека может быть любое количество счетов, но все его счета обязательно должны иметь одинаковое имя. После объединения счетов верните счета в следующем формате: первый элемент каждого счета - имя, а остальные элементы - электронные письма в отсортированном порядке. Сами аккаунты могут быть возвращены в любом порядке.
Пример:
👨💻 Алгоритм:
1⃣ Создайте граф, в котором узлы представляют email-адреса, а ребра соединяют email-адреса, принадлежащие одному аккаунту.
2⃣ Пройдите по графу, чтобы найти все связанные компоненты, которые представляют объединенные аккаунты.
3⃣ Для каждой связанной компоненты, соберите email-адреса, отсортируйте их и добавьте имя пользователя в начало списка.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 721. Accounts Merge
Дан список аккаунтов, в котором каждый элемент accounts[i] - это список строк, где первый элемент accounts[i][0] - это имя, а остальные элементы - это email, представляющие электронную почту аккаунта. Теперь мы хотим объединить эти аккаунты. Два аккаунта определенно принадлежат одному человеку, если у обоих аккаунтов есть какой-то общий email. Обратите внимание, что даже если два аккаунта имеют одинаковое имя, они могут принадлежать разным людям, поскольку у людей могут быть одинаковые имена. Изначально у человека может быть любое количество счетов, но все его счета обязательно должны иметь одинаковое имя. После объединения счетов верните счета в следующем формате: первый элемент каждого счета - имя, а остальные элементы - электронные письма в отсортированном порядке. Сами аккаунты могут быть возвращены в любом порядке.
Пример:
nput: accounts = [["John","johnsmith@mail.com","john_newyork@mail.com"],["John","johnsmith@mail.com","john00@mail.com"],["Mary","mary@mail.com"],["John","johnnybravo@mail.com"]]
Output: [["John","john00@mail.com","john_newyork@mail.com","johnsmith@mail.com"],["Mary","mary@mail.com"],["John","johnnybravo@mail.com"]]
function accountsMerge($accounts) {
$emailToName = [];
$graph = [];
foreach ($accounts as $account) {
$name = $account[0];
$firstEmail = $account[1];
foreach (array_slice($account, 1) as $email) {
if (!isset($graph[$firstEmail])) $graph[$firstEmail] = [];
if (!isset($graph[$email])) $graph[$email] = [];
$graph[$firstEmail][] = $email;
$graph[$email][] = $firstEmail;
$emailToName[$email] = $name;
}
}
$seen = [];
$mergedAccounts = [];
foreach ($emailToName as $email => $name) {
if (!isset($seen[$email])) {
$emails = [];
$stack = [$email];
while (!empty($stack)) {
$node = array_pop($stack);
if (!isset($seen[$node])) {
$seen[$node] = true;
$emails[] = $node;
foreach ($graph[$node] as $neighbor) {
$stack[] = $neighbor;
}
}
}
sort($emails);
$mergedAccounts[] = array_merge([$name], $emails);
}
}
return $mergedAccounts;
}Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 494. Target Sum
Вам дан массив целых чисел nums и целое число target.
Вы хотите создать выражение из nums, добавляя один из символов '+' или '-' перед каждым числом в nums, а затем объединяя все числа.
Например, если nums = [2, 1], вы можете добавить '+' перед 2 и '-' перед 1, а затем объединить их, чтобы получить выражение "+2-1".
Верните количество различных выражений, которые можно построить и которые оцениваются в target.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация и вызов рекурсивной функции
Создайте переменную для хранения количества решений (count). Вызовите рекурсивную функцию calculate с начальными параметрами (nums, начальный индекс 0, начальная сумма 0, и target).
2⃣ Рекурсивная функция calculate
Если текущий индекс равен длине массива, проверьте, равна ли текущая сумма значению target. Если да, увеличьте счетчик решений. В противном случае, вызовите функцию рекурсивно дважды: добавляя и вычитая текущее значение из суммы.
3⃣ Возврат результата
После завершения всех рекурсивных вызовов верните значение счетчика решений.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 494. Target Sum
Вам дан массив целых чисел nums и целое число target.
Вы хотите создать выражение из nums, добавляя один из символов '+' или '-' перед каждым числом в nums, а затем объединяя все числа.
Например, если nums = [2, 1], вы можете добавить '+' перед 2 и '-' перед 1, а затем объединить их, чтобы получить выражение "+2-1".
Верните количество различных выражений, которые можно построить и которые оцениваются в target.
Пример:
Input: nums = [1,1,1,1,1], target = 3
Output: 5
Explanation: There are 5 ways to assign symbols to make the sum of nums be target 3.
-1 + 1 + 1 + 1 + 1 = 3
+1 - 1 + 1 + 1 + 1 = 3
+1 + 1 - 1 + 1 + 1 = 3
+1 + 1 + 1 - 1 + 1 = 3
+1 + 1 + 1 + 1 - 1 = 3
Создайте переменную для хранения количества решений (count). Вызовите рекурсивную функцию calculate с начальными параметрами (nums, начальный индекс 0, начальная сумма 0, и target).
Если текущий индекс равен длине массива, проверьте, равна ли текущая сумма значению target. Если да, увеличьте счетчик решений. В противном случае, вызовите функцию рекурсивно дважды: добавляя и вычитая текущее значение из суммы.
После завершения всех рекурсивных вызовов верните значение счетчика решений.
class Solution {
private $count = 0;
function findTargetSumWays($nums, $S) {
$this->calculate($nums, 0, 0, $S);
return $this->count;
}
private function calculate($nums, $i, $sum, $S) {
if ($i == count($nums)) {
if ($sum == $S) {
$this->count++;
}
} else {
$this->calculate($nums, $i + 1, $sum + $nums[$i], $S);
$this->calculate($nums, $i + 1, $sum - $nums[$i], $S);
}
}
}Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Minimum Size Subarray Sum - LeetCode
Can you solve this real interview question? Minimum Size Subarray Sum - Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray…
👍1
#полезное
🥱 Совет по Laravel
Используй
Отлично подходит для показа PDF или документов прямо внутри страницы.
Документация: https://laravel.com/docs/12.x/responses#file-responses
Обрати внимание: поддержка зависит от браузера и пользовательских настроек.
👉 Новости 👉 База вопросов
Используй
response()->file(), чтобы отображать файлы в браузере вместо их скачиванияОтлично подходит для показа PDF или документов прямо внутри страницы.
Документация: https://laravel.com/docs/12.x/responses#file-responses
Обрати внимание: поддержка зависит от браузера и пользовательских настроек.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #postgres
🤔 Что такое таблица в PostgreSQL и как её создать?
💬 Кратко:
Таблица в PostgreSQL — это структура, используемая для хранения данных в виде строк и столбцов. Для создания таблицы используется команда
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Таблица в PostgreSQL — это структура, используемая для хранения данных в виде строк и столбцов. Для создания таблицы используется команда
CREATE TABLE имя таблицы (список_ столбцов) ; .📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵 Pest v4 уже здесь. Теперь с поддержкой браузерного тестирования
Браузерные тесты, которые ощущаются как unit-тесты: готовые к использованию в Laravel, работающие на Playwright, сверхбыстрые благодаря параллельному запуску, со встроенными smoke- и визуальными регрессионными тестами
https://pestphp.com/docs/pest-v4-is-here-now-with-browser-testing
👉 Новости 👉 База вопросов
Браузерные тесты, которые ощущаются как unit-тесты: готовые к использованию в Laravel, работающие на Playwright, сверхбыстрые благодаря параллельному запуску, со встроенными smoke- и визуальными регрессионными тестами
https://pestphp.com/docs/pest-v4-is-here-now-with-browser-testing
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 Когда-нибудь приходилось делать
Все константы можно получить в массив с помощью
На скриншотах пример, как достали все Render Hooks у Filament
👉 Новости 👉 База вопросов
foreach по КОНСТАНТАМ PHP-класса?Все константы можно получить в массив с помощью
ReflectionClassНа скриншотах пример, как достали все Render Hooks у Filament
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #postgres
🤔 Как создать новую базу данных в PostgreSQL?
💬 Кратко:
B PostgreSQL новую базу данных можно создать с помощью команды SQL
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
B PostgreSQL новую базу данных можно создать с помощью команды SQL
CREATE DATABASE имя_базы; или используя утилиту командной строки createdb имя_базы 📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Нужно защитить чувствительные роуты, например, публикацию репозиториев или удаление аккаунтов?
Добавь к маршруту middleware
Документация: https://laravel.com/docs/12.x/authentication#password-confirmation-protecting-routes
👉 Новости 👉 База вопросов
Добавь к маршруту middleware
password.confirm. Пользователю придётся заново ввести пароль перед продолжением.Документация: https://laravel.com/docs/12.x/authentication#password-confirmation-protecting-routes
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Совет по PHP
Если нужно проверить, является ли строка корректным кликабельным URL, можно использовать функцию
Упрощённый пример — добавить префикс
👉 Новости 👉 База вопросов
Если нужно проверить, является ли строка корректным кликабельным URL, можно использовать функцию
filter_var() с флагом FILTER_VALIDATE_URL.Упрощённый пример — добавить префикс
"https://" в случае, если пользователь его забыл.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #postgres
🤔 Что такое PostgreSQL каковы его основные особенности?
💬 Кратко:
PostgreSQL — это мощная обьектно-реляционная система управления базами данных с открытым исходным кодом. Она поддерживает расширяемость, соответствие стандарту SQL, работу с JSON, многоверсионное управление параллелизмом (MVCC) и транзакции с ACID-свойствами.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
PostgreSQL — это мощная обьектно-реляционная система управления базами данных с открытым исходным кодом. Она поддерживает расширяемость, соответствие стандарту SQL, работу с JSON, многоверсионное управление параллелизмом (MVCC) и транзакции с ACID-свойствами.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод
👉 Новости 👉 База вопросов
toRawSql в Laravel возвращает «сырой» SQL-запрос со всеми подставленными параметрами. Это удобный способ быстро увидеть сгенерированный SQL, а также скопировать и вставить запрос в ваше приложение для работы с БДPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😊 Pulse Boson PHP #1
Boson PHP — это платформа для создания кроссплатформенных настольных приложений, которая позволяет использовать веб-технологии (PHP, JavaScript, HTML, CSS) для создания native-приложений. Она сочетает в себе интерпретатор PHP и движок WebView, что позволяет собирать приложения в единый исполняемый файл для Windows, Linux и macOS.
https://habr.com/ru/articles/944716/
👉 Новости 👉 База вопросов
Boson PHP — это платформа для создания кроссплатформенных настольных приложений, которая позволяет использовать веб-технологии (PHP, JavaScript, HTML, CSS) для создания native-приложений. Она сочетает в себе интерпретатор PHP и движок WebView, что позволяет собирать приложения в единый исполняемый файл для Windows, Linux и macOS.
https://habr.com/ru/articles/944716/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😇 Сегодня узнал про
И оно работает даже с объектами, так что вот простой способ получить все значения из backed enum…
👉 Новости 👉 База вопросов
array_column в PHP И оно работает даже с объектами, так что вот простой способ получить все значения из backed enum…
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝1
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
git reset --mixed : отменяет изменения, которые были добавлены в индекс, но сохраняет изменения в рабочем каталоге.git merge --abort : отменяет слияние, которое в данный момент находится в процессе, и возвращает репозиторий в состояние до начала слияния.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Нужно проверить, что во входных данных существуют ключи массива?
Используйте
Документация: https://laravel.com/docs/12.x/validation#rule-required-array-keys
👉 Новости 👉 База вопросов
Используйте
required_array_keys, чтобы убедиться, что указанные ключи присутствуют в данных массива, идеально подходит для API-эндпоинтов, где ожидается чёткая структура.Документация: https://laravel.com/docs/12.x/validation#rule-required-array-keys
Please open Telegram to view this post
VIEW IN TELEGRAM