WebCraft - ремесло веб разработки
6.46K subscribers
1.71K photos
258 videos
2 files
228 links
Интересуешься php , js , css , html , Laravel , Vue ? Этот канал для тебя

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Анонимные функции

На собеседовании по 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 более точная: soundex() или metaphone()?

👉 @web_craft | #php
Какая функция PHP более точная: soundex() или metaphone()?
Anonymous Quiz
46%
soundex();
30%
metaphone();
24%
обе функции одинаково точные.
Функция для определения порядка сортировки в array.toSorted()?

Какую функцию можно использовать для определения порядка сортировки в 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
Добавление пользовательских методов в 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

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
Проходили через такое?

👉 @web_craft | #юмор
Утечки памяти, которые не утечки

Статья рассказывает о том, как автор столкнулся с проблемой роста памяти в приложении, которая не была вызвана обычными утечками, а связана с особенностями работы сборщика мусора в V8. Далее объясняется, как работает память и сборщик мусора в JS, какие инструменты использовались для поиска проблемы, и как в итоге был найден и исправлен источник замедления GC.

👉 @web_craft | #frontend
This media is not supported in your browser
VIEW IN TELEGRAM
Screeps

Screeps - это многопользовательская стратегия в реальном времени, созданная специально для программистов. В этой игре вы можете создать свою собственную колонию, которая может добывать ресурсы, строить юнитов и завоевывать территории. Но вот интересный момент: основной механикой игры является программирование искусственного интеллекта ваших юнитов. Вы управляете своей колонией, пиша код на JavaScript.

👉 @web_craft | #frontend
Трудности работы в айти.

👉 @web_craft | #юмор
Uxplaybook — мастер-класс по UX-интервью

17 микро-видео уроков, которые помогут вам успешно пройти собеседование по UX! Вы узнаете, как повысить шансы пройти собеседование и получить работу.

👉 @web_craft | #frontend
Назначение группировки middleware в Laravel

Для чего используется группировка middleware в Laravel?

👉 @web_craft | #laravel
Проверка корректности UTF-16

Как называется метод, который проверяет, является ли строка 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

Log::withContext() - это метод в Laravel 11, который позволяет добавлять контекстные данные к журнальным записям. Вы можете использовать его для обогащения журнала информацией, связанной с текущим запросом или задачей в очереди. Например:

Log::withContext(['user_id' => $user->id])->info('User logged in');

В этом примере мы добавляем user_id в контекст журнала для записи о входе пользователя. Это полезно для отладки, мониторинга или аудита ваших приложений.

👉 @web_craft | #laravel
Упрощение группировки данных в JavaScript

Группировка данных в 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