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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Принцип работы RegExp.escape()

Что делает RegExp.escape() со строкой, содержащей специальные символы?

Посмотреть ответ.

👉 @web_craft | #frontend
3
Кэширование HTTP-запросов

При работе с внешними API нередко требуется повторно использовать один и тот же ответ, чтобы снизить нагрузку и ускорить работу приложения. Laravel HTTP Client поддерживает встроенное кэширование ответов, что позволяет сохранять результаты на заданное время.

Для этого применяется метод withCache(), в который передаётся объект CacheStore и время жизни кэша. При повторном обращении в пределах указанного времени будет возвращаться сохранённый результат, без повторного запроса к API.

use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Cache;

// Кэшируем ответ на 60 секунд
$response = Http::withCache(Cache::store('file'), 60)
->get('https://api.example.com/posts');

// Проверяем статус
if ($response->ok()) {
$posts = $response->json();
}


Такой подход полезен, например, при интеграции с сервисами, где данные обновляются редко, а количество запросов ограничено.

👉 @web_craft | #laravel
👍5👎4
Как устроены массивы в PHP и как код влияет на скорость работы с ними

Массивы в PHP играют ключевую роль в работе разработчиков: они используются повсеместно, однако внутреннее устройство этой структуры данных остается за кадром. Между тем именно его особенности напрямую влияют на скорость выполнения операций и потребление памяти приложением.

👉 @web_craft | #php
3
This media is not supported in your browser
VIEW IN TELEGRAM
Animated Gradient Background

Градиентный задний фон на чистом CSS

👉 @web_craft | #frontend
👍6👎1🤔1
У кого было такое?

👍 - Не только лодку заставляли летать

❤️ - Пока не было, но ожидаю

👉 @web_craft |#юмор
👍19🔥31
Как изменился рынок труда в IT

В последнее время активно обсуждаются изменения на рынке труда в IT-секторе, что стало поводом для проведения исследования. В данной статье представлены результаты опроса 128 специалистов, а также ключевые выводы, касающиеся уровня зарплат, поисков работы и текущего настроения профессионалов отрасли.

👉 @web_craft | #собес
2
Назначение метода times

Какую основную задачу решает статический метод Collection::times()?

Посмотреть ответ.

👉 @web_craft | #laravel
1
Изменяемый буфер

Какую опцию необходимо указать при создании SharedArrayBuffer для того, чтобы его размер можно было изменять?

Посмотреть ответ.

👉 @web_craft | #frontend
2
Какую опцию необходимо указать при создании SharedArrayBuffer для того, чтобы его размер можно было изменять?
Anonymous Quiz
35%
Resizable.
27%
Dynamic.
19%
MaxByteLength.
18%
AllowResize.
👍2
Параллельное выполнение заданий в очередях

В Laravel задания (jobs) по умолчанию обрабатываются последовательно. Но иногда требуется запустить несколько заданий параллельно и дождаться их выполнения перед продолжением логики. Для этого используется метод Bus::batch().

Batch позволяет объединить набор заданий в "пакет", запускать их одновременно и отслеживать статус выполнения всего набора. Это особенно полезно, если нужно обработать много однотипных задач (например, экспорт данных или массовую отправку уведомлений).

use Illuminate\Bus\Batch;
use Illuminate\Support\Facades\Bus;
use Throwable;

Bus::batch([
new ProcessPodcast(1),
new ProcessPodcast(2),
new ProcessPodcast(3),
])->then(function (Batch $batch) {
// Все задания выполнены успешно
})->catch(function (Batch $batch, Throwable $e) {
// Какое-то из заданий завершилось ошибкой
})->finally(function (Batch $batch) {
// Выполнится в любом случае
})->dispatch();


👉 @web_craft | #laravel
🔥4👍2
Как ускорить портал в 15 раз: кейс ВДНХ

Команда разработчиков делится опытом, как им удалось радикально сократить время отклика на новом портале ВДНХ. В статье — практические приёмы оптимизации на Laravel + Nuxt, подход к построению масштабируемой архитектуры и реальные метрики до и после. Отличный пример того, как грамотные решения влияют на производительность.

👉 @web_craft | #laravel
3
This media is not supported in your browser
VIEW IN TELEGRAM
Solar system

Путешествие по планетам солнечной системы на чисто CSS.

👉 @web_craft | #frontend
👍4
И куда они едут?

❤️- Устраиваться на завод

👍- Так все ясно, уже в доставке работают

👉 @web_craft |#юмор
👍8🤔1
Поведение директивы disabled

Как поведёт себя директива @disabled($condition) в Blade-шаблоне?

Посмотреть ответ.

👉 @web_craft | #laravel
1
События и слушатели в Laravel

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

Например:
php artisan make:event UserRegistered
php artisan make:listener SendWelcomeEmail --event=UserRegistered

Событие:
class UserRegistered {
public function __construct(public User $user) {}
}

Слушатель:
class SendWelcomeEmail {
public function handle(UserRegistered $event) {
Mail::to($event->user->email)->send(new WelcomeMail());
}
}

Запуск:
event(new UserRegistered($user));


Код становится чище, а новые реакции легко добавлять без правки контроллеров.

👉 @web_craft | #laravel
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Carousel with drag and wheel

Интерактивная карусель изображений на JavaScript.

👉 @web_craft | #frontend
3👍1
Метод withCache() в HTTP-запросе

Что произойдёт при использовании метода withCache() в HTTP-запросе?

Посмотреть ответ.

👉 @web_craft | #laravel