Проверка требований платформы с помощью Composer
Эта команда помогает избежать проблем при развертывании, быстро определить отсутствующие или несовместимые версии PHP и расширений, а также автоматизировать проверки в CI/CD, обеспечивая стабильность и корректную работу проекта.
Параметры:
Пример использования:
👉 @web_craft | #php
composer check-platform-reqs
— команда, проверяющая соответствие версий PHP и расширений требованиям проекта. Она анализирует зависимости проекта и сверяет текущие версии с минимальными требованиями из файла composer.json
, выводя предупреждения при несоответствии.Эта команда помогает избежать проблем при развертывании, быстро определить отсутствующие или несовместимые версии PHP и расширений, а также автоматизировать проверки в CI/CD, обеспечивая стабильность и корректную работу проекта.
Параметры:
--ignore-platform-reqs
: указывает Composer игнорировать все платформные требования.--ignore-platform-req <requirement>
: указывает Composer игнорировать конкретное платформное требование.--strict
: указывает Composer выводить сообщение об ошибке, если не все платформные требования выполнены.Пример использования:
composer check-platform-reqs
👉 @web_craft | #php
Обнаружение статуса соединения
Пример использования:
Для реагирования на изменения сетевого состояния можно использовать события
Пример:
👉 @web_craft | #frontend
navigator.online
— свойство интерфейса Navigator для определения статуса подключения, возвращающее логическое значение: true
, если пользователь в сети, и false
, если не в сети. Пример использования:
if (navigator.online) {
console.log('Вы в сети');
} else {
console.log('Вы не в сети');
}
Для реагирования на изменения сетевого состояния можно использовать события
online
и offline
, генерируемые объектом window
:window.addEventListener('online', () => {
console.log('Соединение с сетью восстановлено');
});
window.addEventListener('offline', () => {
console.log('Соединение с сетью потеряно');
});
navigator.online
полезен для отслеживания статуса подключения пользователей в реальном времени, таких как мессенджеры или системы совместной работы.Пример:
navigator.online ? console.log('Пользователь в сети') : console.log('Пользователь не в сети');
👉 @web_craft | #frontend
Краткое руководство по PHP-генераторам
Статья объясняет, как использовать генераторы в PHP для оптимизации использования памяти. Описываются основы работы генераторов, их преимущества при обработке больших объемов данных и как они возвращают значения по одному вместо целых массивов. Приводятся примеры, сравнивающие традиционные методы возврата массивов с генераторами, и обсуждаются типичные ошибки, такие как продолжение выполнения кода после
👉 @web_craft | #php
Статья объясняет, как использовать генераторы в PHP для оптимизации использования памяти. Описываются основы работы генераторов, их преимущества при обработке больших объемов данных и как они возвращают значения по одному вместо целых массивов. Приводятся примеры, сравнивающие традиционные методы возврата массивов с генераторами, и обсуждаются типичные ошибки, такие как продолжение выполнения кода после
yield
.👉 @web_craft | #php
DOM: что такое объектная модель документа простыми словами
Статья объясняет концепцию DOM, которая представляет структуру веб-страницы в виде дерева объектов. Автор рассматривает, как DOM позволяет скриптам взаимодействовать с HTML-документами, делать их более динамичными и интерактивными. В статье приведены примеры использования методов и свойств DOM для доступа к элементам страницы и их изменения, таких как
👉 @web_craft | #frontend
Статья объясняет концепцию DOM, которая представляет структуру веб-страницы в виде дерева объектов. Автор рассматривает, как DOM позволяет скриптам взаимодействовать с HTML-документами, делать их более динамичными и интерактивными. В статье приведены примеры использования методов и свойств DOM для доступа к элементам страницы и их изменения, таких как
querySelector
, createElement
, getElementById
, innerHTML
, и addEventListener
.👉 @web_craft | #frontend
Полный и подробный курс по верстке и созданию сайтов без воды
Что внутри?
– 19 часов практики
– HTML СSS
– Flex Box и Grid
– Методология БЭМ
– Адаптивная верстка
– JS
– Верстка на SASS SCSS
– Работа с терминалом
– NPM
– Gulp
Автор создавал курс для того, чтобы люди после прохождения смогли нормально работать и понимали что и как устроено в вебе. Чтобы не боялись терминала, сеток, адаптива, дизайнеров, заказчиков и тд.
В чем отличие от других курсов?
– Все уроки по порядку от скачивания редактора и до выгрузки макетов на свой домен и хостинг
– Обратная связь
– Лояльная цена
Для старта — самое то, что нужно.
Почитать подробнее о курсе
P.S. Цена 1590р действует всего 5 дней, Поторопись записаться
PPS Если не понравится курс — в течении 30 дней можно вернуть средства
Что внутри?
– 19 часов практики
– HTML СSS
– Flex Box и Grid
– Методология БЭМ
– Адаптивная верстка
– JS
– Верстка на SASS SCSS
– Работа с терминалом
– NPM
– Gulp
Автор создавал курс для того, чтобы люди после прохождения смогли нормально работать и понимали что и как устроено в вебе. Чтобы не боялись терминала, сеток, адаптива, дизайнеров, заказчиков и тд.
В чем отличие от других курсов?
– Все уроки по порядку от скачивания редактора и до выгрузки макетов на свой домен и хостинг
– Обратная связь
– Лояльная цена
Для старта — самое то, что нужно.
Почитать подробнее о курсе
P.S. Цена 1590р действует всего 5 дней, Поторопись записаться
PPS Если не понравится курс — в течении 30 дней можно вернуть средства
Процессы собеседования со стороны соискателя
Статья описывает процесс прохождения собеседований со стороны соискателя, разбирая каждый этап: от звонка с HR до технических интервью и код ревью. Автор делится своим опытом, указывая на сложности и методы подготовки. Обсуждаются типичные вопросы, задания и общие советы по успешному прохождению собеседований в IT-индустрии. Особое внимание уделено важности практических навыков и честного представления своего опыта.
А вы приукрашивали свои навыки на собеседованиях?
🤔 — Нет.
👍 — Все мы не без греха.
👉 @web_craft | #собес
Статья описывает процесс прохождения собеседований со стороны соискателя, разбирая каждый этап: от звонка с HR до технических интервью и код ревью. Автор делится своим опытом, указывая на сложности и методы подготовки. Обсуждаются типичные вопросы, задания и общие советы по успешному прохождению собеседований в IT-индустрии. Особое внимание уделено важности практических навыков и честного представления своего опыта.
А вы приукрашивали свои навыки на собеседованиях?
🤔 — Нет.
👍 — Все мы не без греха.
👉 @web_craft | #собес
Работа функции get_defined_vars()
Что возвращает функция
Если забыли, то вернитесь к посту от10.06.2024 .
👉 @web_craft | #php
Что возвращает функция
get_defined_vars()
в PHP?Если забыли, то вернитесь к посту от
👉 @web_craft | #php
Что возвращает функция get_defined_vars() в PHP?
Anonymous Quiz
12%
1. Список всех функций, определенных в скрипте.
24%
2. Массив всех глобальных констант.
57%
3. Ассоциативный массив всех определенных переменных в текущей области видимости.
7%
4. Количество переменных, используемых в скрипте.
Использование document.activeElement
Что позволяет определить свойство
Забыли? Вернитесь к посту от11.06.2024 .
👉 @web_craft | #frontend
Что позволяет определить свойство
document.activeElement
в JavaScript?Забыли? Вернитесь к посту от
👉 @web_craft | #frontend
Что позволяет определить свойство document.activeElement в JavaScript?
Anonymous Quiz
89%
Текущий сфокусированный элемент.
3%
Текущий размер документа.
1%
Текущий формат документа.
7%
Текущий адрес элемента.
Использование User-Agent в Laravel
При использовании сторонних API вы можете задавать свой собственный User-Agent. Если возникнет проблема, владелец API сможет связаться с вами, а не просто заблокирует доступ.
Пример:
Конфигурация:
В этом примере задается пользовательский User-Agent для всех HTTP-запросов, осуществляемых через фасад Http. Это позволяет идентифицировать ваше приложение при взаимодействии с внешними API и дает возможность владельцам API связаться с вами при необходимости.
👉 @web_craft | #laravel
При использовании сторонних API вы можете задавать свой собственный User-Agent. Если возникнет проблема, владелец API сможет связаться с вами, а не просто заблокирует доступ.
Пример:
namespace App\Providers;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
Http::globalOptions([
'headers' => [
'User-Agent' => config('app.user_agent'),
],
]);
}
}
Конфигурация:
// config/app.php
[
'user_agent' => 'X / 1.0 – https://x.com | elon@x.com',
];
В этом примере задается пользовательский User-Agent для всех HTTP-запросов, осуществляемых через фасад Http. Это позволяет идентифицировать ваше приложение при взаимодействии с внешними API и дает возможность владельцам API связаться с вами при необходимости.
👉 @web_craft | #laravel
Создание собственных ошибок в приложении
Для удобства обработки ошибок, дебага и логирования полезно создавать собственные ошибки.
Обычно ошибки выбрасываются так:
Для оптимизации создайте собственный класс ошибки:
Пример создания ошибок для работы с API:
👉 @web_craft | #frontend
Для удобства обработки ошибок, дебага и логирования полезно создавать собственные ошибки.
Обычно ошибки выбрасываются так:
throw Error("Ошибка сервера");
Для оптимизации создайте собственный класс ошибки:
class CustomError extends Error {
constructor(message: string) {
super(message);
this.name = 'CustomError';
}
}
Пример создания ошибок для работы с API:
class NullableRequestParameter extends Error {
constructor(message = 'Required req param is nullable') {
super(message);
this.name = 'NullableRequestParameter';
}
}
class Unauthorized extends Error {
constructor(message = 'User is unauthorized') {
super(message);
this.name = 'Unauthorized';
this.code = 401;
}
}
export const RestServiceError = {
NullableRequestParameter,
Unauthorized
} as const;
// выброс ошибки
throw RestServiceError.Unauthorized();
👉 @web_craft | #frontend
Краткое руководство по PHP-генераторам
Статья является вводным руководством по PHP-генераторам, которые оптимизируют использование памяти, возвращая значения по одному с помощью
👉 @web_craft | #php
Статья является вводным руководством по PHP-генераторам, которые оптимизируют использование памяти, возвращая значения по одному с помощью
yield
, а не загружая все данные сразу. Приводятся примеры базового использования генераторов и их преимуществ при работе с большими объемами данных. Рассматриваются практические примеры, такие как загрузка страниц из веб-списков, и подчеркиваются важные моменты, например, то, что yield
не останавливает выполнение кода.👉 @web_craft | #php
8 паттернов реактивности в современном JavaScript
Статья рассматривает различные паттерны реактивности в JavaScript, объясняя их важность для современных веб-приложений. Описаны следующие паттерны: Pub/Sub, Custom Events, Custom Event Targets, Observer, Proxy, Object.defineProperties, MutationObserver и IntersectionObserver. Каждый паттерн сопровождается кодовыми примерами и пояснениями, как они помогают в создании реактивных систем, реагирующих на изменения данных и событий.
👉 @web_craft | #frontend
Статья рассматривает различные паттерны реактивности в JavaScript, объясняя их важность для современных веб-приложений. Описаны следующие паттерны: Pub/Sub, Custom Events, Custom Event Targets, Observer, Proxy, Object.defineProperties, MutationObserver и IntersectionObserver. Каждый паттерн сопровождается кодовыми примерами и пояснениями, как они помогают в создании реактивных систем, реагирующих на изменения данных и событий.
👉 @web_craft | #frontend