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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Какую функцию можно использовать для группировки объектов, если ключи не строки?
Anonymous Quiz
31%
Map.groupBy().
49%
Object.groupBy().
16%
Array.prototype.reduce().
4%
Map.sortingObj().
Создание и управление JSON-ответами

Response()->json() — это метод в Laravel, который упрощает процесс создания JSON-ответов,устанавливая заголовок Content-Type как application/json. Это гарантирует правильное распознавание данных клиентскими приложениями.

Пример API, возвращающего информацию о пользователе:
use Illuminate\Http\Request;
use App\Models\User;

public function getUser(Request $request, $id) {
$user = User::find($id);
if ($user) {
return response()->json([
'success' => true,
'message' => 'Пользователь найден',
'data' => $user
]);
} else {
return response()->json([
'success' => false,
'message' => 'Пользователь не найден',
'data' => null
], 404);
}
}


Find($id) ищет пользователя по ID. Если найден, возвращается JSON с данными и статусом 200. Если нет — JSON с ошибкой и статусом 404. Этот подход характерен для RESTful API.

👉 @web_craft | #laravel
Интерактивное редактирование содержимого веб-страницы

Document.designMode — это функция в JavaScript, позволяющая делать веб-страницу редактируемой. По умолчанию, это свойство установлено в "off", и его активация в "on" позволяет пользователю редактировать содержимое страницы.

Пример:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Редактируемая страница</title>
</head>
<body>
<h1>Добро пожаловать на нашу редактируемую страницу!</h1>
<p>Нажмите кнопку, чтобы начать редактирование.</p>
<button onclick="toggleDesignMode()">Редактировать</button>

<script>
function toggleDesignMode() {
document.designMode = document.designMode === "off" ? "on" : "off";
console.log("Режим редактирования: " + document.designMode);
}
</script>
</body>
</html>


В этом примере, нажатие кнопки позволяет пользователю переключать режим редактирования.

👉 @web_craft | #frontend
Как реализовать множественную аутентификацию в Laravel

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

👉 @web_craft | #laravel
This media is not supported in your browser
VIEW IN TELEGRAM
Когда 3 часа потратил на баг и только потом понял, что это просто опечатка.

👉 @web_craft | #юмор
Названия ветвей и комментарии к коммитам в Git: лучшие практики

В этой статье разбираются лучшие практики для работы с ветвями и коммитами.

👉 @web_craft | #frontend
This media is not supported in your browser
VIEW IN TELEGRAM
Предварительный просмотр изображения перед загрузкой

Реализовано на HTML, CSS и JS.

👉 @web_craft | #frontend
Ретроградный Меркурий закончился. Теперь опять все только из-за тебя.

👉 @web_craft | #юмор
Каким может быть алгоритмическое собеседование и как к нему подготовиться

В статье демонстрируется открытое алгоритмическое собеседование в записи.

👉 @web_craft | #собес
Отправка токена CSRF

Какие данные отправляются на сервер вместе с токеном CSRF при отправке формы?

Функционал CSRF в Laravel разбирали в посте от 22.04.2024.

👉 @web_craft | #laravel
Работа метода Number.prototype.isInteger

Какой тип данных вернет метод Number.prototype.isInteger для десятичных чисел?

Если забыли, то вернитесь к посту от 23.04.2024.

👉 @web_craft | #frontend
Какой тип данных вернет метод Number.prototype.isInteger для десятичных чисел?
Anonymous Quiz
50%
True.
12%
NaN.
8%
Infinity.
31%
False.
This media is not supported in your browser
VIEW IN TELEGRAM
Как стать востребованным DevOps-специалистом всего за полгода и увеличить свой доход минимум в 3 раза?

Самое перспективное направление в IT сейчас – DevOps. И пока одни его боятся и обходят стороной, другие снимают все сливки.

Реальный пример – автор канала «Devops за полгода» Марсель Ибраев, Senior system engineer в Core42 Cloud и спикер учебного центра Слёрм.

Совместно с ребятами из Честного Знака, Лаборатории Касперского, VK и Jetty Cloud, они запускают новый крутой проект для всех начинающих DevOps-специалистов.

В канале собраны все фишки о том, как:
Начать свой путь в DevOps
Освоить базовые компетенции DevOps-специалиста
– Стать Junior DevOps и повысить свою стоимость на рынке труда в 3 раза


Переходи и забирай бесплатную карту по базовым и основным компетенциям для всех, кто собирается в DevOps 👉 @devopsupgrade

Реклама. ИП Аердинов Никита Вадимович ИНН 638103515932 erid: LjN8K7zVy
Управление асинхронной обработкой сигналов в PHP

pcntl_async_signals - это функция PHP, предназначенная для управления асинхронной обработкой сигналов в PHP-скриптах.

Как работает:
pcntl_async_signals(true) позволяет включить асинхронную обработку сигналов. После её активации все сигналы, на которые установлены обработчики с помощью pcntl_signal(), будут автоматически обрабатываться без необходимости вызывать pcntl_signal_dispatch(). Так как сигналы обрабатываются сразу же при их поступлении, без задержек.

Пример:
<?php

pcntl_async_signals(true); // Включаем асинхронную обработку сигналов

pcntl_signal(SIGINT, function($signal) {
echo "Получен сигнал SIGINT!\n";
exit();
});

while (true) {
echo "Работает...\n";
sleep(1);
}


В этом примере сигнал SIGINT (Ctrl+C) будет обрабатываться асинхронно, вызывая функцию обратного вызова, которая выводит сообщение и завершает работу скрипта.

👉 @web_craft | #php
Форматирование относительного времени в JavaScript

Intl.RelativeTimeFormat — объект в JavaScript для локализованного форматирования времени. Это часть библиотеки Intl, облегчающей интернационализацию программ. Intl.RelativeTimeFormat позволяет форматировать численные значения в контексте временного интервала (например, "через 5 дней" или "3 часа назад").

Как работает:
Экземпляр Intl.RelativeTimeFormat создаётся с использованием конструктора, который может принимать два аргумента: локаль и опции. Локаль управляет языком отображения, а опции могут включать стиль, числовой формат и другие параметры.

Пример:
const rtf = new Intl.RelativeTimeFormat('ru', { style: 'long' });

console.log(rtf.format(-1, 'day')); // "1 день назад"
console.log(rtf.format(2, 'day')); // "через 2 дня"
console.log(rtf.format(3, 'second')); // "через 3 секунды"


В этом примере Intl.RelativeTimeFormat используется для форматирования количества дней и секунд в русской локализации.

👉 @web_craft | #frontend
Гайд по мягкому удалению в Laravel

В статье объясняется, как использовать функционал мягкого удаления для управления записями базы данных без их физического удаления. С помощью мягкого удаления, записи остаются в базе данных, но помечаются как удалённые, что позволяет восстанавливать данные при необходимости. Автор статьи рассматривает, как настроить мягкое удаление, использовать его в различных сценариях и как это влияет на запросы к базе данных в Laravel.

👉 @web_craft | #laravel
А что говорить? Ну...

👉 @web_craft | #юмор
Многопользовательские приложения с однопользовательскими базами данных SQLite в глобальных контейнерах Tigris

Статья описывает использование однопользовательских баз данных SQLite в многопользовательских приложениях, размещённых на Fly.io. Основная идея заключается в хранении баз данных SQLite в глобально распределённых контейнерах Tigris и их эксплуатации на виртуальных машинах Fly.io. Автор делится методикой построения приложения на JavaScript, которое взаимодействует с SQLite, а также подробно разбирает настройку окружения, включая конфигурацию хранилища и клиента S3 для работы с Tigris.

👉 @web_craft | #frontend
This media is not supported in your browser
VIEW IN TELEGRAM
Icon Hover Effect Using

Иконки с эффектом выделения при наведении на HTML и CSS.

👉 @web_craft | #frontend