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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Какую функцию Laravel использует для создания JSON-ответов?
Anonymous Quiz
85%
Response::json()
10%
Request::json()
3%
Model::toJSON()
3%
Route::JSON()
Для первого сезона профильной IT-конференции Podlodka React Crew сложно придумать более нужную тему, чем «архитектура».

Уже 27 мая опытные эксперты научат React-разработчиков:
💜 Решать архитектурные вопросы в разрезе React. В формате круглого стола Сергей Сова, Максим Вишневский и Сергей Самохов обсудят, как строить архитектуру, организовывать компоненты и данные, использовать рендер-движок, задействовать реактивность и учитывать особенности
💜 Применять архитектурный линтер для Feature-Sliced Design. Антон Медведев и Лев Челядинов из FSD core team представят новый линтер и в режиме лайвкодинга покажут, как его применять.
💜 Менять жизненный цикл проектов на React, проектировать гибкое приложение и править негибкое. Редактор «Доки» Полина Гуртовая расскажет, когда мигрировать проект и нужно ли это делать, если он ещё не устарел.
💜 Выбирать стейтменеджер. Валерий Смирнов из Oone.World покажет, когда и какие популярные библиотеки использовать для управления стейтом.
🎁 Бонусы: публичное собеседование по архитектуре и открытый микрофон.

Билеты уже ждут вас на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
Влияние document.designMode в режиме on

Что происходит при установке document.designMode в "on"?

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

👉 @web_craft | #frontend
Анонимные миграции в Laravel

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

Как это работает:
Вы определяете миграции в PHP файлах с использованием методов up() и down(), которые Laravel автоматически обрабатывает, не требуя от вас создания классов миграции.

Пример использования:
// Создание миграции для таблицы пользователей
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

// Метод up для создания таблицы
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});

// Метод down для удаления таблицы
Schema::dropIfExists('users');


👉 @web_craft | #laravel
Форматирование чисел в JavaScript

Intl.NumberFormat — это инструмент для локализации и форматирования чисел, который поддерживает различные стили отображения, включая валюты, единицы измерения и проценты.

Для валюты можно указать, отображать ли символ, код или полное название валюты. Например, форматирование валюты в стиле немецкой локализации:

const numberFormatter = new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' });
console.log(numberFormatter.format(123456.789)); // Выводит "123.456,79 €"


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

const unitFormatter = new Intl.NumberFormat('en-US', { style: 'unit', unit: 'kilometer', unitDisplay: 'long' });
console.log(unitFormatter.format(5.5)); // Выводит "5.5 kilometers"


👉 @web_craft | #frontend
Финализация классов

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

👉 @web_craft | #php
18 советов по созданию чистого и эффективного кода JavaScript

В этой статье представлены советы по написанию чистого и эффективного кода JavaScript. В ней обсуждается использование стрелочных функций, метода Array.from() и console.table() для улучшения организации кода. Другие важные моменты включают использование const и let соответствующим образом, деструктуризацию для извлечения свойств объекта и установку значений по умолчанию с помощью логического оператора ИЛИ.

👉 @web_craft | #frontend
Когда твоя способность усложнять вещи достигает новых высот... или глубин.

👍 - Определенно высот.

🤔 - Или.

👉 @web_craft | #юмор
Эпидемия многоступенчатых собеседований

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

А что думаете вы?

👍 - Не буду рассматривать компанию с таким подходом.

🤔 - Мне все равно, главное устроиться.

👉 @web_craft | #собес
Работа pcntl_async_signals в PHP

Что делает функция pcntl_async_signals(true) в PHP?

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

👉 @web_craft | #php
Аргументы Intl.RelativeTimeFormat

Какие аргументы принимает конструктор Intl.RelativeTimeFormat?

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

👉 @web_craft | #frontend
Защита чувствительных данных в PHP

sensitive_parameter — это атрибут, позволяющий пометить параметры функций и методов как чувствительные, чтобы исключить их из логов и трейсбеков.

Как работает sensitive_parameter:
При использовании этого атрибута, PHP скрывает значение параметра в сообщениях об ошибках и логах, заменяя его на ***. Это помогает предотвратить утечки конфиденциальной информации, такой как пароли или токены.

Пример использования:
class UserAuthenticator {
public function authenticate(
#[\SensitiveParameter] string $password
) {
// Логика аутентификации
if ($password !== 'secret') {
throw new \Exception("Authentication failed");
}
}
}

try {
(new UserAuthenticator())->authenticate('wrong_password');
} catch (\Exception $e) {
error_log($e->getMessage());
error_log($e->getTraceAsString());
}


В этом примере, если аутентификация не удастся, в логе вместо фактического значения пароля будет отображено ***.

👉 @web_craft | #php
Асинхронные операции в JavaScript

top-level await позволяет использовать оператор await на верхнем уровне модулей, без необходимости оборачивать его в асинхронную функцию. Это упрощает работу с асинхронным кодом и улучшает читаемость скриптов.

Как работает top-level await:
Ранее для использования await необходимо было объявлять асинхронную функцию:

async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}
fetchData();


Теперь с top-level await можно писать асинхронный код прямо в модуле:

const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);


👉 @web_craft | #frontend
Слишком точное описание.

👉 @web_craft | #юмор
Создание докер-образов PHP с помощью Wolfi-OS

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

👉 @web_craft | #php