#ЧеКак
🤔 Какую проблему решает декоратор?
Декоратор позволяет добавлять новую функциональность к существующему объекту или функции без изменения их исходного кода.
🟠 Это решает проблему модификации поведения без нарушения принципа открытости/закрытости (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
#Собес
🤔 Как РНР обрабатывает несколько запросов?
PHP обрабатывает запросы изолированно, создавая новый процесс или поток для каждого запроса, в зависимости от конфигурации сервера. Например, Apache с модулем mod _php использует модель мультипроцессов, а PHP-FPM (FastCGI Process Manager), часто используемый с Nginx, использует пул процессов для обработки запросов. Эти процессы работают независимо, и каждый запрос не влияет на другие.
👉 Новости 👉 Платформа
PHP обрабатывает запросы изолированно, создавая новый процесс или поток для каждого запроса, в зависимости от конфигурации сервера. Например, Apache с модулем mod _php использует модель мультипроцессов, а PHP-FPM (FastCGI Process Manager), часто используемый с Nginx, использует пул процессов для обработки запросов. Эти процессы работают независимо, и каждый запрос не влияет на другие.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Anonymous Quiz
14%
addslashes()
10%
htmlentities()
55%
htmlspecialchars()
21%
strip_tags()
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Расширение для Chrome
Онопозволяет встраивать PHP-консоль в панель разработчика DevTools. Оно использует пакет Spatie Laravel Web Tinker и встраивает его в панель инструментов, предоставляя доступ к консоли PHP прямо внутри DevTools.
Установка:
🟠 Скачайте и распакуйте проект.
🟠 Перейдите по адресу chrome://extensions/ в вашем браузере.
🟠 Включите "Режим разработчика" в правом верхнем углу (если он еще не включен).
🟠 Нажмите "Загрузить распакованное расширение" и выберите папку php-ext.
🟠 В вашем Laravel проекте установите пакет Spatie Laravel Web Tinker командой:
Теперь в панели консоли Chrome появится новая вкладка PHP. Кликнув по ней, вы получите доступ к PHP консоли, где сможете выполнять код Laravel или PHP прямо из браузера
Смотреть расширение
👉 Новости 👉 Платформа
Онопозволяет встраивать PHP-консоль в панель разработчика DevTools. Оно использует пакет Spatie Laravel Web Tinker и встраивает его в панель инструментов, предоставляя доступ к консоли PHP прямо внутри DevTools.
Установка:
composer require spatie/laravel-web-tinker
Теперь в панели консоли Chrome появится новая вкладка PHP. Кликнув по ней, вы получите доступ к PHP консоли, где сможете выполнять код Laravel или PHP прямо из браузера
Смотреть расширение
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3😇2
#Вакансии
👨💻 Программист PHP/ Laravel/ Vue.js
Локация: Удаленно
Компания: What'sOnPic
ЗП: до 200 000 р.
Занятость: Проектная
Мы - динамично развивающаяся компания с открытой и прозрачной корпоративной культурой. Мы ценим простоту, честность и конкретику в общении и работе.
🚩 Требования
🔵 Мы ищем программиста для работы над существующими и новыми SPA-проектоми, построенными на стеке LAMP. Проект использует PHP 8.2, Laravel 10 и Vue.js 3.3. Это проектная работа, предполагающая удаленную работу не менее 30 часов в неделю. Вы будете работать напрямую с руководителем проекта.
🔵 Важными являются способность самостоятельно принимать решения и решать проблемы.
🔵 Опыт работы над подобными проектами будет большим преимуществом.
🚩 Условия работы
🟡 Мы предлагаем гибкий график работы и возможность работать удаленно. Наша цель - создать условия, при которых каждый сотрудник сможет проявить себя и достичь успеха в своей работе. Пожалуйста, обратите внимание, что мы не предлагаем социальные пакеты, оплачиваемые отпуска или корпоративные мероприятия. Это проектная работа, и условия будут обсуждаться индивидуально с каждым кандидатом.
📩 Резюме отправлять: whatsonpic.ico@gmail.com
👉 Новости 👉 Платформа
Локация: Удаленно
Компания: What'sOnPic
ЗП: до 200 000 р.
Занятость: Проектная
Мы - динамично развивающаяся компания с открытой и прозрачной корпоративной культурой. Мы ценим простоту, честность и конкретику в общении и работе.
📩 Резюме отправлять: whatsonpic.ico@gmail.com
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
#Собес
🤔 Как можно улучшить производительность PHP-приложения?
Для улучшения производительности используйте кеширование (например, Opcache), минимизируйте сложность запросов к базе данных с помощью индексации и подготовленных запросов, а также обновляйте РНР до последней версии. Сократите использование тяжёлых библиотек, оптимизируйте работу с файлами и используйте CDN для загрузки статического контента.
👉 Новости 👉 Платформа
Для улучшения производительности используйте кеширование (например, Opcache), минимизируйте сложность запросов к базе данных с помощью индексации и подготовленных запросов, а также обновляйте РНР до последней версии. Сократите использование тяжёлых библиотек, оптимизируйте работу с файлами и используйте CDN для загрузки статического контента.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Anonymous Quiz
41%
getProperties()
44%
get_object_vars()
5%
getVars()
10%
fetchProperties()
❤3