Лента постов канала WebCraft - ремесло веб разработки (@web_craft) https://t.me/web_craft Интересуешься php , js , css , html , Laravel , Vue ? Этот канал для тебя Контакты @seniorFrontPromo @maria_seniorfront ru https://linkbaza.com/catalog/-1001228609864 Fri, 22 Aug 2025 11:06:08 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 21 Aug 2025 18:10:11 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 21 Aug 2025 10:31:05 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 20 Aug 2025 15:00:51 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 20 Aug 2025 11:31:02 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 19 Aug 2025 18:20:08 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 19 Aug 2025 11:10:11 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Mon, 18 Aug 2025 10:40:01 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sun, 17 Aug 2025 12:13:02 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 16 Aug 2025 18:14:03 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 16 Aug 2025 09:02:12 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Fri, 15 Aug 2025 11:12:09 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 14 Aug 2025 17:16:09 +0300
Как искать работу в IT в текущих реалиях

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

👉 @web_craft | #собес
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 13 Aug 2025 16:00:09 +0300
3D Card hover effect

Эффект наведения на карточку на чистом CSS.

👉 @web_craft | #frontend
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 13 Aug 2025 09:51:00 +0300
Признавайтесь, кто брался за проект на технологии, которую приходилось учить прямо в процессе?

👍 — Все через это проходят. Главное — честно предупредить клиента о возможных рисках.

❤️ — Я так выучил программирование.

🤔 — Это хороший стимул для роста, но только если у тебя есть «подушка безопасности» в виде времени или помощи более опытных коллег.

👉 @web_craft |#юмор
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 12 Aug 2025 17:12:44 +0300
Безопасный кастинг для Enums в Laravel

Использование Enums в моделях Eloquent может привести к ошибкам, если в базе данных остались устаревшие значения. Попытка прочитать такую запись вызовет исключение. Статья разбирает, как создать кастомный кастер, который будет безопасно обрабатывать подобные случаи, возвращая null или значение по умолчанию.

👉 @web_craft | #laravel
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 12 Aug 2025 10:29:08 +0300
Однонаправленная связь с сервером

Технология SSE, обеспечивающая однонаправленную передачу данных от сервера к клиенту поверх HTTP, использует на клиентской стороне интерфейс EventSource, который подключается к URL-адресу эндпоинта для подписки на события. Основным обработчиком для безымянных сообщений является onmessage. Для обработки ошибок соединения существует событие onerror.

Пример:

// Создаем подключение к эндпоинту
const eventSource = new EventSource('/stream-updates');

// Обработчик для входящих сообщений от сервера
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Новые данные:', data);
// Здесь обновляем интерфейс
};

// Обработчик ошибок подключения
eventSource.onerror = (error) => {
console.error('Ошибка EventSource:', error);
// Можно предпринять попытку переподключения
eventSource.close(); // Закрываем старое соединение
};

// Для закрытия соединения вручную
// eventSource.close();


👉 @web_craft | #frontend
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Mon, 11 Aug 2025 11:15:12 +0300
Фильтрация по полиморфным связям

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

Метод whereRelation элегантно решает эту задачу. При его использовании для morphTo-связи вторым аргументом передается класс родительской модели. Это позволяет применить условие к конкретному типу связи.



use App\Models\Comment;
use App\Models\Post;
use App\Models\Video;

// Задача: найти все комментарии, оставленные
// только к опубликованным постам (Post).
// Комментарии к видео (Video) должны быть проигнорированы.

// Модель Comment имеет полиморфную связь:
// public function commentable(): MorphTo
// {
// return $this->morphTo();
// }

// Решение с помощью whereRelation:
$comments = Comment::whereRelation(
'commentable',
Post::class,
'is_published',
true
)->get();


👉 @web_craft | #laravel
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sun, 10 Aug 2025 12:17:12 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sun, 10 Aug 2025 09:05:39 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 09 Aug 2025 17:15:14 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 09 Aug 2025 11:50:08 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Fri, 08 Aug 2025 11:06:09 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 07 Aug 2025 18:10:03 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 07 Aug 2025 10:12:01 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 06 Aug 2025 16:00:14 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 05 Aug 2025 18:20:12 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 05 Aug 2025 12:12:13 +0300
Управление активностью вкладки

Для оптимизации ресурсов, когда страница неактивна, применяют Page Visibility API. Он предоставляет свойство document.hidden со значением true, если вкладка невидима, и событие visibilitychange, срабатывающее при смене статуса. Прослушивание данного события позволяет реагировать на уход пользователя со страницы или возвращение к ней. Такой подход дает возможность, например, приостанавливать ресурсоемкие анимации или фоновые запросы, экономя ресурсы процессора и батареи.

document.addEventListener('visibilitychange', () => {
if (document.hidden) {
console.log('Вкладка стала неактивной. Ставим задачи на паузу.');
// Здесь можно остановить анимации, видео или запросы
} else {
console.log('Вкладка снова активна. Возобновляем работу.');
// Возобновляем ранее остановленные процессы
}
});

// Также можно проверить начальное состояние
if (document.hidden) {
console.log('Страница изначально загружена в неактивной вкладке.');
}


👉 @web_craft | #frontend
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 05 Aug 2025 10:12:14 +0300
👩‍💻 Всем программистам посвящается!

Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:

Выбирай своё направление:

👩‍💻 Python — t.me/python_ready
👩‍💻 Frontend — t.me/frontend_ready
📱 JavaScript — t.me/javascript_ready
👩‍💻 Backend — t.me/backend_ready
📱 GitHub & Git — t.me/github_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
🤖 Нейросетиt.me/neuro_ready
👩‍💻 C/C++ — https://t.me/cpp_ready
👩‍💻 C# & Unity — t.me/csharp_ready
👩‍💻 Linux — t.me/linux_ready
🖼️ DevOpst.me/devops_ready
📖 IT Книги — t.me/books_ready
👩‍💻 Java — t.me/java_ready
👩‍💻 Весь IT — t.me/it_ready
👩‍💻 Bash & Shell — t.me/bash_ready
🖥 Design — t.me/design_ready

📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Mon, 04 Aug 2025 15:00:02 +0300
Безопасное управление файлами окружения

Хранение файлов .env с секретными ключами в системе контроля версий небезопасно. Передача таких файлов вручную между разработчиками создает риски утечки данных.

Для решения этой задачи в Laravel существуют artisan-команды env:encrypt и env:decrypt. Команда env:encrypt шифрует содержимое файла окружения, создавая безопасную копию. Команда env:decrypt выполняет обратное преобразование, используя ключ APP_KEY приложения.

# 1. Шифруем файл .env.staging
# Ключ шифрования берется из локального APP_KEY
php artisan env:encrypt --env=staging

# -> Создается безопасный файл .env.staging.encrypted
# Его можно коммитить в Git.

# 2. На сервере расшифровываем файл
# Требуется тот же APP_KEY для расшифровки
php artisan env:decrypt --env=staging

# -> Создается .env.staging с исходными данными.


👉 @web_craft | #laravel
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Mon, 04 Aug 2025 11:00:15 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sun, 03 Aug 2025 12:13:06 +0300
Назначение опции для слушателя событий

Какую задачу решает опция { once: true } в методе addEventListener?

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

👉 @web_craft | #frontend
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 02 Aug 2025 18:14:08 +0300
Принцип работы json_validate()

Какую операцию выполняет json_validate(), решая проблему старого подхода?

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

👉 @web_craft | #php
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 02 Aug 2025 09:52:14 +0300
Атрибуты и свойства: в чём разница?

Многие начинающие разработчики путают HTML-атрибуты и DOM-свойства, что часто приводит к неочевидным ошибкам в коде. Статья на простых примерах объясняет их ключевые различия, почему они не всегда синхронизированы и как их правильное использование влияет на работу с DOM.

👉 @web_craft | #frontend
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Fri, 01 Aug 2025 11:02:04 +0300
Как вы поступаете с уведомлениями из рабочих чатов в нерабочее время?

👍 — Все отключается после рабочего дня и в выходные.

❤️ — Я их не отключаю. Мне нравится засыпать под сообщения «СРОЧНО! Упал...».

🤔 — Отключаю все, кроме прямых звонков от тимлида. На случай реального апокалипсиса.

👉 @web_craft |#юмор
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 31 Jul 2025 17:36:04 +0300
Как проходила моя стажировка на backend-разработчика

Поиск первой стажировки в IT вызывает много вопросов: как устроен отбор, какие задачи предстоит решать и можно ли совмещать работу с учёбой. Статья представляет собой честный рассказ студента о своём пути от отклика до штатной позиции. Автор делится опытом прохождения собеседований, работы над боевыми задачами и даёт советы тем, кто только начинает свой путь.

👉 @web_craft | #собес
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 31 Jul 2025 10:12:02 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 31 Jul 2025 08:17:45 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 30 Jul 2025 16:00:11 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Wed, 30 Jul 2025 10:00:18 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 29 Jul 2025 17:33:08 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Tue, 29 Jul 2025 10:29:10 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Mon, 28 Jul 2025 11:11:07 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sun, 27 Jul 2025 12:17:10 +0300
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 26 Jul 2025 17:15:05 +0300
Механизм работы трейта

Когда именно LazilyRefreshDatabase выполняет миграции базы данных?

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

👉 @web_craft | #laravel
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Sat, 26 Jul 2025 11:50:13 +0300
Создание текстового редактора на основе contenteditable

Использовать готовый WYSIWYG-редактор просто, а вот создать свой с нуля является задачей со звёздочкой. Атрибут contenteditable кажется лёгким стартом, но его поведение в разных браузерах и работа с выделением полны неочевидных нюансов. Статья предлагает глубокое погружение в нативные Selection и Range API, показывая, как на самом деле устроен текстовый редактор «под капотом».

👉 @web_craft | #frontend
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Fri, 25 Jul 2025 11:06:10 +0300
Через какое время ваш собственный код начинает казаться вам чужим?

👍 — Пара недель, если проект сложный.

❤️ — Сразу после того, как я нажимаю «commit» и закрываю IDE.

🤔 — Почти никогда.

👉 @web_craft |#юмор
Подробнее
]]>
https://linkbaza.com/catalog/-1001228609864 Thu, 24 Jul 2025 18:10:13 +0300
Как сказать о зарплатных ожиданиях на собеседовании в IT

Обсуждение зарплаты на собеседовании часто превращается в неловкий пинг-понг «нет, вы скажите». Неподготовленность может привести к заниженному офферу или испорченному впечатлению. Статья от HR-специалиста предлагает чёткий план, как уверенно вести разговор о деньгах: от подготовки и анализа рынка до правильных формулировок и тактик торга.

👉 @web_craft | #собес
Подробнее
]]>