Telegram Web
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #postgres
🤔 Что такое транзакции в PostgreSQL?

💬 Кратко:
Транзакция - это последовательность операций, которые выполняются как единое целое. Если одна операция не удалась, все изменения откатываются, чтобы сохранить данные в консистентном состоянии. Транзакции поддерживают свойства ACID: атомарность, согласованность, изоляцию и долговечность.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🏕 Теперь можно сгенерировать коллекцию Postman прямо из своих Laravel-роутов

Просто установи пакет laravel-postman и выполни
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🏠 Создаем свой пакет на PHP

Пошаговое руководство по созданию пакета на «чистом» PHP: от структуры проекта и настройки composer.json до использования статических анализаторов, тестов, CI‑скриптов с GitHub Actions и публикации пакета на Packagist
Хабр

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #postgres
🤔 Что такое СТЕ (Common Table Expressions) в PostgreSQL?

💬 Кратко:
СТЕ - это временные результаты, определённые в запросе для упрощения сложных операций. Они создаются с помощью ключевого слова WITH и используются для улучшения читаемости и многократного использования промежуточных данных.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🤯 Filament v4 официально в стабильной версии и уже в проде

Обзор фич: https://filamentphp.com/content/leandrocfe-whats-new-in-filament-v4

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #postgres
🤔 Какие есть типы соединений (JOIN) в PostgreSQL?

💬 Кратко:
PostgreSQL поддерживает четыре основных типа соединений: INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL OUTER JOIN. Они используются для объединения данных из нескольких таблиц, выбирая соответствующие или все записи в зависимости от типа соединения.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
👋 Рост PHP впечатляет

От reset() к array_key_first(), а теперь в PHP 8.5 появляются array_first() и array_last()

Они делают код чище, безопаснее и выразительнее. Никаких побочных эффектов от указателей

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😇 Совет по Laravel

В email-уведомлениях нельзя использовать два ->action() — отобразится только последний (и ошибок при этом вы не увидите).

Вместо этого превратите их в ссылки через несколько вызовов ->line()

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #postgres
🤔 Что такое таблицы с наследованием в PostgreSQL и зачем они нужны?

💬 Кратко:
В PostgreSQL таблицы могут наследовать структуру и данные другой таблицы, что полезно для разделения данных или создания иерархий. Например, можно создать таблицы для разных типов пользователей, которые наследуют общие поля из родительской таблицы.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😎 Совет по Laravel

Используйте 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 оптимален для больших таблиц с последовательными данными.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 721. Accounts Merge

Дан список аккаунтов, в котором каждый элемент accounts[i] - это список строк, где первый элемент accounts[i][0] - это имя, а остальные элементы - это email, представляющие электронную почту аккаунта. Теперь мы хотим объединить эти аккаунты. Два аккаунта определенно принадлежат одному человеку, если у обоих аккаунтов есть какой-то общий email. Обратите внимание, что даже если два аккаунта имеют одинаковое имя, они могут принадлежать разным людям, поскольку у людей могут быть одинаковые имена. Изначально у человека может быть любое количество счетов, но все его счета обязательно должны иметь одинаковое имя. После объединения счетов верните счета в следующем формате: первый элемент каждого счета - имя, а остальные элементы - электронные письма в отсортированном порядке. Сами аккаунты могут быть возвращены в любом порядке.

Пример:
nput: accounts = [["John","[email protected]","[email protected]"],["John","[email protected]","[email protected]"],["Mary","[email protected]"],["John","[email protected]"]]
Output: [["John","[email protected]","[email protected]","[email protected]"],["Mary","[email protected]"],["John","[email protected]"]]


👨‍💻 Алгоритм:

1⃣Создайте граф, в котором узлы представляют email-адреса, а ребра соединяют email-адреса, принадлежащие одному аккаунту.

2⃣Пройдите по графу, чтобы найти все связанные компоненты, которые представляют объединенные аккаунты.

3⃣Для каждой связанной компоненты, соберите email-адреса, отсортируйте их и добавьте имя пользователя в начало списка.

😎 Решение:
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.

Пример:
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


👨‍💻 Алгоритм:

1⃣Инициализация и вызов рекурсивной функции
Создайте переменную для хранения количества решений (count). Вызовите рекурсивную функцию calculate с начальными параметрами (nums, начальный индекс 0, начальная сумма 0, и target).

2⃣Рекурсивная функция calculate
Если текущий индекс равен длине массива, проверьте, равна ли текущая сумма значению target. Если да, увеличьте счетчик решений. В противном случае, вызовите функцию рекурсивно дважды: добавляя и вычитая текущее значение из суммы.

3⃣Возврат результата
После завершения всех рекурсивных вызовов верните значение счетчика решений.

😎 Решение:
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
👍1
2025/10/26 07:47:47
Back to Top
HTML Embed Code: