Анонимные функции
На собеседовании по PHP нередко затрагивают тему про анонимные функции. Давайте разберемся, что мы точно должны знать.
- Что такое анонимная функция?
Это функция без имени. Она определяется с помощью ключевого слова
Пример:
-Где используются анонимные функции?
В переменных:
В качестве аргументов:
В качестве обратных вызовов:
- В чем заключаются преимущества анонимных функций?
Компактность: Не нужно придумывать имена.
Гибкость:Легко встраиваются в код.
Многогранность: Могут быть переменными, аргументами или возвращаемыми значениями.
👉 @web_craft | #php
На собеседовании по PHP нередко затрагивают тему про анонимные функции. Давайте разберемся, что мы точно должны знать.
- Что такое анонимная функция?
Это функция без имени. Она определяется с помощью ключевого слова
function
, за которым следуют параметры и тело функции.Пример:
$sum = function($a, $b) {
return $a + $b;
};
echo $sum(2, 3); // 5
-Где используются анонимные функции?
В переменных:
$filter = function($item) {
return $item > 10;
};
$filtered = array_filter([1, 2, 3, 12, 20], $filter);
print_r($filtered); // [12, 20]
В качестве аргументов:
function apply($func, $value) {
return $func($value);
}
echo apply($sum, 5); // 5
В качестве обратных вызовов:
usort($items, function($a, $b) {
return $a['name'] <=> $b['name'];
});
- В чем заключаются преимущества анонимных функций?
Компактность: Не нужно придумывать имена.
Гибкость:Легко встраиваются в код.
Многогранность: Могут быть переменными, аргументами или возвращаемыми значениями.
👉 @web_craft | #php
Какая функция точнее при проверке звучания строк PHP?
Какая функция PHP более точная:
👉 @web_craft | #php
Какая функция PHP более точная:
soundex()
или metaphone()
?👉 @web_craft | #php
Какая функция PHP более точная: soundex() или metaphone()?
Anonymous Quiz
46%
soundex();
30%
metaphone();
24%
обе функции одинаково точные.
Функция для определения порядка сортировки в array.toSorted()?
Какую функцию можно использовать для определения порядка сортировки в
👉 @web_craft | #frontend
Какую функцию можно использовать для определения порядка сортировки в
array.toSorted()
?👉 @web_craft | #frontend
Какую функцию можно использовать для определения порядка сортировки в array.toSorted()?
Anonymous Quiz
51%
sort();
16%
filter();
13%
map();
19%
compareFn.
Бесплатна открытая лекция: Как «Хакнуть» Python с помощью ChatGPT
Вы узнаете как принципиально поменять подход к программированию с помощью ИИ и начать зарабатывать на этом. Покажем в прямо эфире и решим типичные задачи программиста только с помощью ChatGPT
По итогам эфира вы узнаете:
— Как написать свой первый код на Python с помощью нейросети;
— Поймете что делать и какие навыки развивать, чтобы начать карьеру в IT и быстро на высокий доход;
— Получите инструкцию, как зарабатывать удаленно в 2024 году.
Узнайте подробнее о мероприятии и бонусах, которые можно получить — на нашем сайте!
LjN8K84cB ООО Зерокодер, ИНН 9715401631, ОГРН - 1217700246026
Вы узнаете как принципиально поменять подход к программированию с помощью ИИ и начать зарабатывать на этом. Покажем в прямо эфире и решим типичные задачи программиста только с помощью ChatGPT
По итогам эфира вы узнаете:
— Как написать свой первый код на Python с помощью нейросети;
— Поймете что делать и какие навыки развивать, чтобы начать карьеру в IT и быстро на высокий доход;
— Получите инструкцию, как зарабатывать удаленно в 2024 году.
Узнайте подробнее о мероприятии и бонусах, которые можно получить — на нашем сайте!
LjN8K84cB ООО Зерокодер, ИНН 9715401631, ОГРН - 1217700246026
Добавление пользовательских методов в Laravel
Примеры:
В данном примере мы добавили метод
В этом примере мы добавили метод
👉 @web_craft | #laravel
Collection::macro
– это функция, предоставляющая возможность добавлять пользовательские методы к классу Collection
. Это позволяет расширить функционал Laravel Collections
, добавляя методы, специфичные для вашего приложения.Примеры:
Collection::macro('toUpper', function () {
return $this->map(function ($item) {
return strtoupper($item);
});
});
$collection = collect(['hello', 'world']);
$upper = $collection->toUpper();
// ['HELLO', 'WORLD']
В данном примере мы добавили метод
toUpper()
, который преобразует все элементы коллекции в верхний регистр.Collection::macro('filterEven', function () {
return $this->filter(function ($item) {
return $item % 2 === 0;
});
});
$collection = collect([1, 2, 3, 4, 5]);
$even = $collection->filterEven();
// [2, 4]
В этом примере мы добавили метод
filterEven()
, который фильтрует коллекцию, оставляя только четные числа.👉 @web_craft | #laravel
Строгий режим модулей JavaScript
Строгий режим модулей обеспечивает более предсказуемое и безопасное поведение при работе с модулями. Он:
1. Запрещает доступ к переменным и функциям из других модулей, если они не экспортированы.
2. Предотвращает случайное изменение экспортированных значений.
3. Обеспечивает лексический скопинг для импортированных модулей.
Использование. Добавьте директиву
Пример:
👉 @web_craft | #frontend
use module
- это директива компилятора, которая активирует строгий режим модулей JavaScript.Строгий режим модулей обеспечивает более предсказуемое и безопасное поведение при работе с модулями. Он:
1. Запрещает доступ к переменным и функциям из других модулей, если они не экспортированы.
2. Предотвращает случайное изменение экспортированных значений.
3. Обеспечивает лексический скопинг для импортированных модулей.
Использование. Добавьте директиву
use module
в начало вашего модуля:use module
export function myFunction() {
// ...
}
Пример:
// use module
import { add } from 'math';
export function myFunction(x, y) {
return add(x, y);
}
👉 @web_craft | #frontend
Начало работы с асинхронным PHP с использованием ReactPHP
Статья рассказывает о том, как использовать ReactPHP для создания асинхронных приложений на PHP.
ReactPHP - это библиотека, которая позволяет превратить PHP в нечто подобное Go или Node.js, чтобы задачи могли выполняться асинхронно.
👉 @web_craft | #php
Статья рассказывает о том, как использовать ReactPHP для создания асинхронных приложений на PHP.
ReactPHP - это библиотека, которая позволяет превратить PHP в нечто подобное Go или Node.js, чтобы задачи могли выполняться асинхронно.
👉 @web_craft | #php
Утечки памяти, которые не утечки
Статья рассказывает о том, как автор столкнулся с проблемой роста памяти в приложении, которая не была вызвана обычными утечками, а связана с особенностями работы сборщика мусора в V8. Далее объясняется, как работает память и сборщик мусора в JS, какие инструменты использовались для поиска проблемы, и как в итоге был найден и исправлен источник замедления GC.
👉 @web_craft | #frontend
Статья рассказывает о том, как автор столкнулся с проблемой роста памяти в приложении, которая не была вызвана обычными утечками, а связана с особенностями работы сборщика мусора в V8. Далее объясняется, как работает память и сборщик мусора в JS, какие инструменты использовались для поиска проблемы, и как в итоге был найден и исправлен источник замедления GC.
👉 @web_craft | #frontend
This media is not supported in your browser
VIEW IN TELEGRAM
Screeps
Screeps - это многопользовательская стратегия в реальном времени, созданная специально для программистов. В этой игре вы можете создать свою собственную колонию, которая может добывать ресурсы, строить юнитов и завоевывать территории. Но вот интересный момент: основной механикой игры является программирование искусственного интеллекта ваших юнитов. Вы управляете своей колонией, пиша код на JavaScript.
👉 @web_craft | #frontend
Screeps - это многопользовательская стратегия в реальном времени, созданная специально для программистов. В этой игре вы можете создать свою собственную колонию, которая может добывать ресурсы, строить юнитов и завоевывать территории. Но вот интересный момент: основной механикой игры является программирование искусственного интеллекта ваших юнитов. Вы управляете своей колонией, пиша код на JavaScript.
👉 @web_craft | #frontend
Uxplaybook — мастер-класс по UX-интервью
17 микро-видео уроков, которые помогут вам успешно пройти собеседование по UX! Вы узнаете, как повысить шансы пройти собеседование и получить работу.
👉 @web_craft | #frontend
17 микро-видео уроков, которые помогут вам успешно пройти собеседование по UX! Вы узнаете, как повысить шансы пройти собеседование и получить работу.
👉 @web_craft | #frontend
Назначение группировки middleware в Laravel
Для чего используется группировка middleware в Laravel?
👉 @web_craft | #laravel
Для чего используется группировка middleware в Laravel?
👉 @web_craft | #laravel
Для чего используется группировка middleware в Laravel?
Anonymous Quiz
23%
Для организации middleware по определенным критериям или целям.
27%
Для упрощения регистрации и назначения middleware для роутов.
9%
Для повышения читаемости и поддерживаемости кода.
41%
Все перечисленное.
Проверка корректности UTF-16
Как называется метод, который проверяет, является ли строка UTF-16 корректной?
👉 @web_craft | #frontend
Как называется метод, который проверяет, является ли строка UTF-16 корректной?
👉 @web_craft | #frontend
Как называется метод, который проверяет, является ли строка UTF-16 корректной?
Anonymous Quiz
9%
String.prototype.isCorrect.
12%
String.prototype.isWellFormed.
15%
String.prototype.isValid.
64%
String.prototype.isUTF16.
Контекстные данные для журналов Laravel
В этом примере мы добавляем
👉 @web_craft | #laravel
Log::withContext()
- это метод в Laravel 11, который позволяет добавлять контекстные данные к журнальным записям. Вы можете использовать его для обогащения журнала информацией, связанной с текущим запросом или задачей в очереди. Например:Log::withContext(['user_id' => $user->id])->info('User logged in')
;В этом примере мы добавляем
user_id
в контекст журнала для записи о входе пользователя. Это полезно для отладки, мониторинга или аудита ваших приложений. 👉 @web_craft | #laravel
Упрощение группировки данных в JavaScript
Группировка данных в JavaScript используется для организации и категоризации данных, что облегчает их анализ и обработку.
Пример:
Результат:
Пример:
👉 @web_craft | #frontend
Группировка данных в JavaScript используется для организации и категоризации данных, что облегчает их анализ и обработку.
Object.groupBy()
- статический метод, который позволяет легко группировать объекты по строкам.Пример:
const tasks = [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" },
];
const tasksByProject = Object.groupBy(tasks, (task) => task.project);
console.log(tasksByProject);
Результат:
{
"Проект A": [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" }
],
"Проект B": [
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" }
]
}
Map.groupBy()
- альтернатива и используется, если ключи не строки.Пример:
const tasksByTag = new Map().groupBy(tasks, (task) => task.tag);
👉 @web_craft | #frontend