Latest posts

WebCraft - ремесло веб разработки
22 Sept, 17:11

WebCraft - ремесло веб разработки
18 Sept, 06:00
Собрали статический сайт. А дальше что?Привычные хостинги для статических сайтов вроде Cloudflare Pages, Vercel и Netlify в России работают нестабильно. А опубликовать сайт где-то нужно, и желательно бесплатно. Поднимать ради лендинга VPS с nginx и certbot скучно. А сайт на вашем компьютере никто, кроме вас, не увидит. Выложить статический сайт на свой домен в WebShield можно в несколько простых шагов:⚡️ сборка Hugo, Vite, Astro, Next.js и других: для каждого генератора есть готовая настройка (если пишете HTML вручную, этот шаг не нужен) 🚀 публикация из веб-интерфейса или через CLI, который заливает только изменённые файлы 🔁 автодеплой из GitHub Actions по пушу в main 📬 формы обратной связи работают без собственного бэкенда webshield sites publish www.example.com --dir ./dist Всё, сайт в интернете.👉 Руководство по публикации статического сайта#hosting #hugo #vite #astro


WebCraft - ремесло веб разработки
11 May, 09:25
Scroll-driven анимации в CSS постепенно выходят на новый уровень.Раньше для анимаций при прокрутке почти всегда использовали JavaScript: Intersection Observer, GSAP, обработчики scroll-событий и сложную синхронизацию состояния. Теперь браузеры начинают предлагать нативный подход.Новые CSS-возможности вроде animation-timeline, view() и обсуждаемого animation-trigger позволяют запускать анимации в момент появления элемента во viewport — без постоянного «scrubbing», когда прогресс анимации жёстко привязан к позиции скролла.Что это даёт на практике:➖меньше JavaScript-кода более стабильный FPS ➖снижение нагрузки на main thread ➖декларативное описание поведения прямо в CSS ➖упрощение поддержки UI-анимацийПодход особенно хорошо подходит для
4,090Open in Telegram
WebCraft - ремесло веб разработки
9 Jan, 10:35

WebCraft - ремесло веб разработки
9 Jan, 10:35
Параллельное выполнение заданий в очередяхКакой метод в Laravel позволяет объединять задания (jobs) в группу для параллельного выполнения и отслеживания их статуса?Посмотреть ответ.👉 @web_craft | #laravel


WebCraft - ремесло веб разработки
5 Dec 2025, 10:30
И он терпит наши глупости и мы его глупости тоже потерпим.👉 @web_craft |#юмор
3,700Open in Telegram
WebCraft - ремесло веб разработки
4 Dec 2025, 09:17
Snow (Pure CSS)Анимация падения снега на чистом CSS.👉 @web_craft | #frontend
WebCraft - ремесло веб разработки
13 Nov 2025, 10:47
Как устроены перечисления в PHPВ этой статье разбирают, что скрывается под капотом enum’ов в PHP. Спойлер: это почти обычные классы, но с особым флагом и хитростями! Узнайте, как кейсы превращаются в константы, почему enum’ы нельзя собрать сборщиком мусора и как их сравнение работает на уровне опкодов. Плюс — немного о будущих оптимизациях и мечтах о дженериках.👉@web_craft | #php


WebCraft - ремесло веб разработки
11 Nov 2025, 10:35
Оптимизация работы с большими данными в Laravel с помощью Lazy CollectionsLazy Collections и PHP-генераторы - это спасение от перегрузки памяти. В Laravel 11 Lazy Collections стали ещё мощнее благодаря улучшенной интеграции с Eloquent и поддержке асинхронных операций. Это идеально для обработки больших CSV-файлов, импорта данных или работы с огромными наборами записей.Пример обработки CSV-файла с минимальным потреблением памяти: use Illuminate\Support\LazyCollection; use App\Models\User;LazyCollection::make(function () { $handle = fopen('large_data.csv', 'r'); while (($row = fgetcsv($handle)) !== false) { yield $row; // Генератор возвращает строки по одной } fclose($handle); })->chunk(1000)->each(function ($rows) { // Пакетная вставка в БД User::insert( $rows->map(fn($row) => [ 'name' => $row[0], 'email' => $row[1],


WebCraft - ремесло веб разработки
7 Nov 2025, 15:05

WebCraft - ремесло веб разработки
7 Nov 2025, 15:05
Метод withCache() в HTTP-запросеЧто произойдёт при использовании метода withCache() в HTTP-запросе?Посмотреть ответ.👉 @web_craft | #laravel
1,630Open in Telegram
WebCraft - ремесло веб разработки
5 Nov 2025, 08:13
Carousel with drag and wheelИнтерактивная карусель изображений на JavaScript.👉 @web_craft | #frontend
WebCraft - ремесло веб разработки
13 Oct 2025, 07:44
События и слушатели в 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));


WebCraft - ремесло веб разработки
10 Oct 2025, 09:00

WebCraft - ремесло веб разработки
10 Oct 2025, 09:00
Поведение директивы disabledКак поведёт себя директива @disabled($condition) в Blade-шаблоне?Посмотреть ответ.👉 @web_craft | #laravel


WebCraft - ремесло веб разработки
9 Oct 2025, 08:31
И куда они едут?❤️- Устраиваться на завод👍- Так все ясно, уже в доставке работают👉 @web_craft |#юмор


WebCraft - ремесло веб разработки
8 Oct 2025, 17:10
Solar systemПутешествие по планетам солнечной системы на чисто CSS.👉 @web_craft | #frontend
WebCraft - ремесло веб разработки
7 Oct 2025, 08:11
Как ускорить портал в 15 раз: кейс ВДНХКоманда разработчиков делится опытом, как им удалось радикально сократить время отклика на новом портале ВДНХ. В статье — практические приёмы оптимизации на Laravel + Nuxt, подход к построению масштабируемой архитектуры и реальные метрики до и после. Отличный пример того, как грамотные решения влияют на производительность.👉 @web_craft | #laravel


WebCraft - ремесло веб разработки
6 Oct 2025, 07:44
Параллельное выполнение заданий в очередяхВ 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) { // Выполнится в


WebCraft - ремесло веб разработки
5 Oct 2025, 11:00
Related Channels
Other channels in the same section of the catalogue.
