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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Какая команда перегенерирует файлы автозагрузки после изменения зависимостей?
Anonymous Quiz
6%
composer outdated;
9%
composer remove vendor/package;
82%
composer dump-autoload;
3%
composer archive.
Работа с scheduler.postTask

Какой приоритет задачи можно задать с помощью scheduler.postTask?

Забыли? Вернитесь к посту от 08.07.2024.

👉 @web_craft | #frontend
Какой приоритет задачи можно задать с помощью scheduler.postTask?
Anonymous Quiz
43%
user-blocking;
12%
file-system;
32%
network-request;
13%
cpu-intensive.
Подсчет связанных моделей в PHP с помощью метода withCount в Eloquent

Метод withCount в Eloquent позволяет подсчитывать количество связанных моделей в PHP.

Чтобы использовать withCount, вызовите его на запросе модели, передав имя отношения:
use App\Models\Post;

$posts = Post::withCount('comments')->get();

foreach ($posts as $post) {
echo $post->title . ' имеет ' . $post->comments_count . ' комментариев.';
}


В этом примере для каждой записи post будет подсчитано количество связанных comments, и результат будет сохранен в атрибуте comments_count.

Метод withCount также поддерживает подсчет нескольких отношений и применение условий к подсчету:
$posts = Post::withCount([
'comments',
'comments as pending_comments_count' => function ($query) {
$query->where('status', 'pending');
}
])->get();

В этом примере подсчитываются все комментарии и только те, которые находятся в статусе "pending".

👉 @WebCraft | #php
Опустошение массива с length в JavaScript

Свойство length массивов в JavaScript можно использовать для управления длиной массива, включая его обрезку или полное опустошение.

Пример использования:
const arr = [0, 1, 2, 3, 4, 5];

arr.length = 3;
console.log(arr); // [0, 1, 2]

arr.length = 0;
console.log(arr); // []

Если задать значение length меньше текущей длины массива, элементы удаляются с правого конца, чтобы соответствовать новой длине. Если задать значение больше текущей длины, в конец массива добавляются пустые элементы.

Этот трюк часто используется для быстрого опустошения массива, устанавливая его length в 0. Такой подход удобен для очистки данных и освобождения памяти.

👉 @web_craft | #frontend
Никогда не пропустите вебхук

Статья объясняет, как обеспечить надежный прием данных через вебхуки в приложении Laravel, не пропуская ни одного запроса. Основное внимание уделено трем ключевым проблемам: управление ошибками, управление пиковыми нагрузками и обеспечение высокой доступности. Автор предлагает различные решения, включая упрощение кода приема данных, использование Laravel Octane для повышения производительности и масштабирование приложения через Fly.io для повышения доступности и распределения нагрузки.

👉 @WebCraft | #laravel
Когда узнал, сколько зарабатывает джуниор в другом стартапе.

👉 @web_craft | #юмор
😄 Создание и настройка каталога товаров в CMS 1С-Битрикс

Ждем вас на открытом уроке, где мы:

- рассмотрим информационные блоки в Битрикс;
- создадим и настроим инфоблок «каталог товаров»;
- создадим свойства для товаров;
- заполним каталог товаров данными из CSV-файла, используя Битрикс API;
- разберем начальную настройку оформления чертежей.

Встречаемся 8 августа в 20:00 мск.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cyRBJs

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru erid 2SDnjcpzrLS
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование WebSockets с Next.js

Статья описывает процесс создания приложения для чата в реальном времени с использованием WebSockets в Next.js. В ней объясняется, как настроить кастомный сервер Next.js для поддержки WebSocket, и пошагово показывается, как создать простое приложение для чата, включая клиентскую и серверную части. Также рассматриваются особенности и преимущества использования Fly.io для развертывания Next.js приложений с WebSockets.

👉 @WebCraft | #frontend
У вас такое было?

❤️ - Нет.

👍 - Постоянная практика.

👉 @web_craft | #юмор
Типы собеседования или как довести соискателя

Статья описывает различные виды собеседований, с которыми автор сталкивался в своей карьере. Она делится личным опытом прохождения различных интервью, от бюрократических и изнурительных до более дружелюбных и профессиональных. Основное внимание уделено негативным аспектам, таким как чрезмерное количество этапов и отсутствие интереса к опыту соискателя. Автор также приводит примеры токсичных и неэффективных методов отбора, применяемых некоторыми компаниями.

👉 @web_craft | #собес
Добавление нескольких полей в таблицу

Какой метод используется для добавления нескольких полей после определенного поля в базе данных?

Забыли? Вернитесь к посту от 14.07.2024.

👉 @web_craft | #laravel
Какой метод используется для добавления нескольких полей после определенного поля в базе данных?
Anonymous Quiz
15%
$table->addAfter().
52%
$table->after().
17%
$table->insertAfter().
16%
$table->appendAfter().
Метод работы с промисами

Какой метод в JavaScript позволяет создать промис и получить доступ к его resolve и reject?

Забыли? Вернитесь к посту от 16.07.2024.

👉 @web_craft | #frontend
Какой метод в JavaScript позволяет создать промис и получить доступ к его resolve и reject?
Anonymous Quiz
38%
Promise.withResolvers().
45%
Promise.create().
15%
Promise.handler().
3%
Promise.manage().
Предотвращение одновременного выполнения задач с помощью в Laravel

Метод withoutOverlapping в Laravel Scheduler предотвращает одновременное выполнение запланированных задач, гарантируя, что одна и та же задача не запустится несколько раз до завершения предыдущего выполнения. Это полезно для задач, которые могут вызвать конфликты или проблемы при параллельном выполнении.

Пример использования:
$schedule->command('emails:send')
->withoutOverlapping()
->everyMinute();

В этом примере команда emails:send будет запускаться каждую минуту, но не начнется снова, пока не завершится предыдущее выполнение. Это помогает избежать конфликтов и перегрузок при выполнении задач, особенно когда задачи занимают значительное время или ресурсы.

👉 @web_craft | #laravel
Управление асинхронными операциями в JavaScript

AbortController — это встроенный объект в JavaScript, который позволяет управлять и отменять асинхронные операции.

Пример использования:
const controller = new AbortController();
const signal = controller.signal;

async function fetchData() {
try {
const response = await fetch('https://api.example.com/data', { signal });
const data = await response.json();
console.log(data);
} catch (error) {
if (error.name === 'AbortError') {
console.log('Запрос был отменен');
} else {
console.error('Произошла ошибка:', error);
}
}
}

// Запуск запроса
fetchData();

// Отмена запроса через 5 секунд
setTimeout(() => {
controller.abort();
}, 5000);

В этом примере создается экземпляр AbortController, а его signal передается в запрос fetch. Если запрос не завершится в течение 5 секунд, он будет автоматически отменен вызовом метода abort.

👉 @web_craft | #frontend
Сигналы в Artisan командах

Статья о сигналах в командах Artisan. В Laravel команды Artisan - это способ запуска PHP-скриптов через командную строку. Сигналы - это события, на которые процесс может слушать и реагировать. Команды Artisan могут использовать сигналы для прерывания длительных процессов. Это может быть полезно для таких задач, как остановка процесса, когда пользователь нажимает Ctrl+C.

👉 @web_craft | #laravel