Anonymous Quiz
6%
PHP Data Oriented
44%
PHP Database Object
44%
PHP Data Objects
6%
PHP Database Oriented
#ЛитКод
Задача: 616. Add Bold Tag in String
Вам дана строка s и массив строк words. Вы должны добавить закрытую пару полужирных тегов <b> и </b>, чтобы обернуть подстроки в s, которые существуют в words. Если две такие подстроки пересекаются, вы должны обернуть их вместе только одной парой закрытых полужирных тегов. Если две подстроки, обернутые полужирными тегами, идут подряд, вы должны объединить их. Верните s после добавления полужирных тегов.
Пример:
👨💻 Алгоритм:
1⃣ Найдите все позиции вхождений подстрок из words в строку s и пометьте эти позиции для выделения тегами <b> и </b>.
2⃣ Пройдитесь по помеченным позициям, чтобы определить области, которые нужно обернуть в полужирные теги, слияя пересекающиеся и смежные области.
3⃣ Постройте новую строку s, добавляя теги <b> и </b> в определенные позиции.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 616. Add Bold Tag in String
Вам дана строка s и массив строк words. Вы должны добавить закрытую пару полужирных тегов <b> и </b>, чтобы обернуть подстроки в s, которые существуют в words. Если две такие подстроки пересекаются, вы должны обернуть их вместе только одной парой закрытых полужирных тегов. Если две подстроки, обернутые полужирными тегами, идут подряд, вы должны объединить их. Верните s после добавления полужирных тегов.
Пример:
Input: s = "abcxyz123", words = ["abc","123"]
Output: "<b>abc</b>xyz<b>123</b>"
function addBoldTag($s, $words) {
$bold = array_fill(0, strlen($s), false);
foreach ($words as $word) {
$pos = strpos($s, $word);
while ($pos !== false) {
for ($i = $pos; $i < $pos + strlen($word); $i++) {
$bold[$i] = true;
}
$pos = strpos($s, $word, $pos + 1);
}
}
$result = "";
$i = 0;
while ($i < strlen($s)) {
if ($bold[$i]) {
$result .= "<b>";
while ($i < strlen($s) && $bold[$i]) {
$result .= $s[$i];
$i++;
}
$result .= "</b>";
} else {
$result .= $s[$i];
$i++;
}
}
return $result;
}Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Как переопределить хранение сессий?
Хранение сессий можно переопределить путём изменения способа их хранения:
Файлы: хранение на локальной файловой системе.
Базы данных: использование реляционных баз для хранения сессий, что упрощает их масштабирование.
Кэш: хранение в Redis, Memcached для быстрого доступа.
Для настройки нужно изменить конфигурацию приложения или middleware, например, в Django, Flask или Spring.
👉 Новости 👉 Платформа
Хранение сессий можно переопределить путём изменения способа их хранения:
Файлы: хранение на локальной файловой системе.
Базы данных: использование реляционных баз для хранения сессий, что упрощает их масштабирование.
Кэш: хранение в Redis, Memcached для быстрого доступа.
Для настройки нужно изменить конфигурацию приложения или middleware, например, в Django, Flask или Spring.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
69%
Создаёт одно пространство имён: Hello//World
6%
Создаёт два пространства имён: Hello//World и World
25%
Создаёт два пространства имён: Hello и World
0%
Создаёт два пространства имён: Hello и Hello//World
#ЧеКак
🤔 Что известно о MVC?
Это архитектурный шаблон, который разделяет приложение на три компонента:
🟠 Model: управляет данными и бизнес-логикой.
🟠 View: отвечает за отображение данных пользователю.
🟠 Controller: обрабатывает пользовательский ввод, связывает Model и View.
Это разделение упрощает разработку, тестирование и поддержку приложения.
👉 Новости 👉 Платформа
Это архитектурный шаблон, который разделяет приложение на три компонента:
Это разделение упрощает разработку, тестирование и поддержку приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Вакансии
👨💻 Backend PHP developer (Middle)
Локация: Удаленно
Компания: Igaming-Soft
ЗП: от 2 500 до 3 000 $
Занятость: Полная
Локация: Кипр
Трудоустройство: самозанятый
Сфера: GAMBLING
🚩 Требования
🔵 Опыт работы с php 7+
🔵 Опыт разработки коммерческих продуктов
🔵 Понимание ООП, алгоритмов и структур данных
🔵 Опыт работы со сторонними API и проектирование REST API
🔵 Опыт интеграции платежных систем
🔵 Базовые шаблоны проектирования
🔵 Опыт работы с GIT, работа с ветками, чистота веток
🔵 Опыт работы с MySQL. Агрегаты, джоины, запросы от руки. Важно уметь писать сложные запросы без фреймворков и шаблонов.
🔵 консоль (bash), Linux или WSL
🔵 Опыт удаленной разработки, работы в команде
🚩 Будет плюсом
🔵 Опыт работы с высоконагруженными системами
🔵 Опыт работы с Websocket
🔵 Опыт работы с Docker и/или Docker Swarm
🔵 Инструменты Jira, Gitlab/Github, git flow
💬 Резюме отправлять: @Nbagama
👉 Новости 👉 Платформа
Локация: Удаленно
Компания: Igaming-Soft
ЗП: от 2 500 до 3 000 $
Занятость: Полная
Локация: Кипр
Трудоустройство: самозанятый
Сфера: GAMBLING
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Какую проблему решает декоратор?
Декоратор позволяет добавлять новую функциональность к существующему объекту или функции без изменения их исходного кода.
🟠 Это решает проблему модификации поведения без нарушения принципа открытости/закрытости (SOLID).
🟠 Удобен для добавления динамических изменений, таких как логирование, кэширование или аутентификация.
👉 Новости 👉 Платформа
Декоратор позволяет добавлять новую функциональность к существующему объекту или функции без изменения их исходного кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
4%
Оператор для выполнения циклических действий
92%
Оператор для проверки условий поочерёдно
4%
Оператор для объединения массивов
0%
Оператор для работы с файлами
👍1
#ЧеКак
🤔 Какую проблему решает декоратор?
Декоратор позволяет добавлять новую функциональность к существующему объекту или функции без изменения их исходного кода.
🟠 Это решает проблему модификации поведения без нарушения принципа открытости/закрытости (SOLID).
🟠 Удобен для добавления динамических изменений, таких как логирование, кэширование или аутентификация.
👉 Новости 👉 Платформа
Декоратор позволяет добавлять новую функциональность к существующему объекту или функции без изменения их исходного кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
32%
remove_cookie()
11%
delete_cookie()
32%
unset_cookie()
25%
setcookie()
Anonymous Quiz
19%
set_mode()
13%
file_chmod()
0%
change_mode()
69%
chmod()
Anonymous Quiz
47%
get_resource_type()
35%
resource_type()
0%
type_resource()
18%
get_type_resource()
#ЛитКод
Задача: 605. Can Place Flowers
У вас есть длинная клумба, на которой некоторые участки засажены, а некоторые нет. Однако цветы нельзя сажать на соседних участках.
Дан целочисленный массив
Пример
👨💻 Алгоритм:
1⃣ Решение очень простое. Мы можем определить максимальное количество дополнительных цветов, count, которые можно посадить для данного расположения клумбы. Для этого мы проходим по всем элементам массива flowerbed и находим те элементы, которые равны 0 (означает пустую позицию).
2⃣ Для каждого такого элемента проверяем, пусты ли обе его соседние позиции. Если да, мы можем посадить цветок в текущей позиции, не нарушая правило соседних цветов. Для первого и последнего элементов не нужно проверять предыдущие и следующие соседние позиции соответственно.
3⃣ Если полученное количество count больше или равно n, требуемому количеству цветов для посадки, мы можем посадить n цветов на пустые места, иначе - нет.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 605. Can Place Flowers
У вас есть длинная клумба, на которой некоторые участки засажены, а некоторые нет. Однако цветы нельзя сажать на соседних участках.
Дан целочисленный массив
flowerbed, содержащий 0 и 1, где 0 означает пустой участок, а 1 — занятый участок, и целое число n. Верните true, если n новых цветов можно посадить на клумбе, не нарушая правила о соседних цветах, и false в противном случае.Пример
Input: flowerbed = [1,0,0,0,1], n = 1
Output: true
class Solution {
function canPlaceFlowers($flowerbed, $n) {
$count = 0;
for ($i = 0; $i < count($flowerbed); $i++) {
if ($flowerbed[$i] == 0) {
$emptyLeft = $i == 0 || $flowerbed[$i - 1] == 0;
$emptyRight = $i == count($flowerbed) - 1 || $flowerbed[$i + 1] == 0;
if ($emptyLeft && $emptyRight) {
$flowerbed[$i] = 1;
$count++;
}
}
}
return $count >= $n;
}
}Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
0%
CURLOPT_USERPWD
7%
CURLOPT_LOGIN
80%
CURLOPT_AUTH
13%
CURLOPT_CREDENTIALS
This media is not supported in your browser
VIEW IN TELEGRAM
Мощный фреймворк для создания консольных приложений на PHP с псевдографическим пользовательским интерфейсом.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как работает жизненный цикл запроса в PHP?
Жизненный цикл запроса в РНР начинается с получения НТТР-запроса сервером. Сервер передает запрос РНР-интерпретатору, который выполняет скрипт, взаимодействует с базой данных (если требуется), и генерирует ответ в формате HTML или другого типа контента. Ответ отправляется клиенту, где отображается в браузере. Каждый запрос обрабатывается изолированно, и состояние приложения между запросами не сохраняется без использования сессий или базы данных.
👉 Новости 👉 Платформа
Жизненный цикл запроса в РНР начинается с получения НТТР-запроса сервером. Сервер передает запрос РНР-интерпретатору, который выполняет скрипт, взаимодействует с базой данных (если требуется), и генерирует ответ в формате HTML или другого типа контента. Ответ отправляется клиенту, где отображается в браузере. Каждый запрос обрабатывается изолированно, и состояние приложения между запросами не сохраняется без использования сессий или базы данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#ЛитКод
Задача: 621. Task Scheduler
Вам дан массив задач процессора, каждая из которых представлена буквами от A до Z, и время охлаждения, n. Каждый цикл или интервал позволяет завершить одну задачу. Задачи могут быть выполнены в любом порядке, но есть ограничение: одинаковые задачи должны быть разделены не менее чем n интервалами из-за времени охлаждения. Верните минимальное количество интервалов, необходимое для выполнения всех задач.
Пример:
👨💻 Алгоритм:
1⃣ Подсчитайте количество каждой задачи и найдите максимальное количество вхождений (maxFreq).
2⃣ Вычислите количество интервалов, необходимых для задач с maxFreq: (maxFreq - 1) * (n + 1) + countMaxFreq, где countMaxFreq - количество задач, имеющих maxFreq.
3⃣ Верните максимум между вычисленным значением и длиной массива задач, поскольку некоторые задачи могут заполнять интервал до n.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 621. Task Scheduler
Вам дан массив задач процессора, каждая из которых представлена буквами от A до Z, и время охлаждения, n. Каждый цикл или интервал позволяет завершить одну задачу. Задачи могут быть выполнены в любом порядке, но есть ограничение: одинаковые задачи должны быть разделены не менее чем n интервалами из-за времени охлаждения. Верните минимальное количество интервалов, необходимое для выполнения всех задач.
Пример:
Input: tasks = ["A","A","A","B","B","B"], n = 2
Output: 8
function leastInterval($tasks, $n) {
$taskCounts = array_count_values($tasks);
$maxFreq = max($taskCounts);
$countMaxFreq = count(array_filter($taskCounts, function($count) use ($maxFreq) {
return $count == $maxFreq;
}));
return max(count($tasks), ($maxFreq - 1) * ($n + 1) + $countMaxFreq);
}Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
9%
rename_session()
9%
change_session_name()
48%
set_session_name()
35%
session_name()
❤1
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Генерация документации по API
Если вы ищете самый простой способ сгенерировать документацию по API для вашего приложения на Laravel, которая также будет красивой, попробуйте следующее:
1⃣ Установите Scribe через Composer (knuckleswtf/scribe) Это генератор документации API, который использует ваши маршруты, запросы, модели и ресурсы для автоматической генерации.
2⃣ Настройте вывод Scribe Установите параметры конфигурации scribe.type в значение 'external_laravel' и scribe.theme в значение 'scalar'.
3⃣ Запустите команду php artisan scribe:generate
Вы получаете массу возможностей бесплатно, включая автоматическую генерацию примеров на различных языках программирования, светлый/тёмный режим, поиск, версионность и многое другое.
Читать статью
👉 Новости 👉 Платформа
Если вы ищете самый простой способ сгенерировать документацию по API для вашего приложения на Laravel, которая также будет красивой, попробуйте следующее:
Вы получаете массу возможностей бесплатно, включая автоматическую генерацию примеров на различных языках программирования, светлый/тёмный режим, поиск, версионность и многое другое.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1