Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «WebCraft - ремесло веб разработки»

WebCraft - ремесло веб разработки
3.8K
0
511
1
11.1K
Интересуешься php , js , css , html , Laravel , Vue ? Этот канал для тебя

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

Купить рекламу: https://telega.in/c/web_craft
Подписчики
Всего
4 989
Сегодня
-2
Просмотров на пост
Всего
337
ER
Общий
6.76%
Суточный
5.17%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 3 846 постов
Смотреть все посты
Пост от 21.10.2026 13:09
78
0
3
✨ Symfony 8.2: контроллер, который не запустится дважды одновременно

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

В Symfony 8.2 хватит атрибута #[Lock]. Пока запрос выполняется, второй с тем же ключом получит 409 Conflict, а с blocking: true подождёт. Ключ можно собрать из параметра маршрута, тогда у каждой конференции своя блокировка:

#[Route('/conference/{conference}/tickets', methods: 'POST')]
#[Lock('ticket-sale-{conference}', blocking: true, ttl: 10)]
public function buyTicket(Conference $conference): Response { /* ... */ }

Подвох в TTL: по умолчанию блокировка живёт 30 секунд и сама не продлевается. Если контроллер работает дольше, её захватит другой запрос.

Продлить её или отпустить раньше можно, если принять LockInterface аргументом контроллера.

👍 - если было полезно

👉 @web_craft
Пост от 20.10.2026 13:13
152
0
0
🧩 Исключение, которое само объясняет, что сломалось

Обычно ошибку бизнес-логики бросают как InvalidArgumentException с текстом. Это работает, пока не понадобится поймать именно её. Тот же класс летит ещё из десятка мест.

В Spatie, где пишут хелпдеск There There на Laravel, заводят свой класс на каждую доменную ошибку. На каждую причину в нём есть статический метод. Код читается как фраза:

throw CouldNotDeleteMessage::onlyNotesCanBeDeleted($message)

Метод принимает типизированный $message. Поэтому текст ошибки без id и типа сообщения просто не собрать.

Одна тонкость: такие классы помечают интерфейсом ShouldntReport, и они не попадают в трекер ошибок. Это ожидаемые ситуации от действий пользователя, а не баги, так что трекер не засоряется.

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

👍 - если было полезно

👉 @web_craft
Пост от 20.10.2026 10:09
113
0
0
⚡️ В сети начали массово сливать IT-курсы и книги известных онлайн школ

Вот отсортированная база с тонной материала (постепенно пополняется):

(363 видео, 87 книги) — Python
(117 видео, 53 книги) — ВАЙБКОД
(174 видео, 91 книги) — DevOps
(415 видео, 68 книги) — Frontend
(137 видео, 93 книги) — DS/ML
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++/C
(343 видео, 87 книги) — Java/QA
(176 видео, 32 книги) — Git/Linux
(167 видео, 53 книги) — PHP/1С
(227 видео, 83 книги) — SQL/БД
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go/Rust
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(136 видео, 33 книги) — PM/HR

Скачивать ничего не нужно — все выложили в Telegram
Пост от 20.10.2026 08:17
44
0
0
Solar JSOC - Флагманский SOC с гарантией

Гарантии крупнейшего коммерческого SOCа России теперь доступны вам.

Узнать больше

#реклама 16+
rt-solar.ru
О рекламодателе
Пост от 19.10.2026 13:27
179
0
5
🚀 TypeScript-типы, которые Laravel пишет сам

Если бэкенд на Laravel, а фронтенд на TypeScript, каждый ответ сервера описан дважды. Переименовали поле в PHP, а фронт об этом не знает.

В Spatie, авторах пакетов ниже, такие типы руками не пишут. Ответ описывают PHP-классом из пакета spatie/laravel-data с атрибутом #[TypeScript]. Пакет spatie/laravel-typescript-transformer собирает эти классы в файл generated.d.ts: ?string становится string | null, у enum появляется свой тип.

Теперь после переименования свойства в PHP компилятор TypeScript подсвечивает каждое место на фронте, где оно используется.

Сам по себе файл не обновляется, его пишет php artisan typescript:transform. В версии 2.6 у команды нет --watch, поэтому Spatie запускают её из своего небольшого плагина для Vite. В v3 режим --watch уже встроен.

👍 - если было полезно

👉 @web_craft
Пост от 17.10.2026 20:24
49
0
0
Квартира с роскошным видом на Ботанический сад от11,7млн

Закрытый двор. Своя школа и д/сад. Удобный выезд на ТТК. Дом сдан.

Узнать больше

Проектная декларация на сайте https://наш.дом.рф/.

#реклама
mrqz.me
О рекламодателе
Пост от 15.10.2026 10:09
210
0
0
АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ

Проект «Terminal» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков:

• Практические курсы и задания
• Книги и статьи известных авторов
• Полезные инструменты и ресурсы
• IT-новости и инсайды

Обучение по всем направлениям: SQL, Python, ML, Frontend, PHP, C++, Go, Git, Linux, QA, Java, Vibe-coding, InfoSec и др.

⌨️ подписаться
Смотреть все посты