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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Решение «Max Consecutive Ones» (Найти максимальное количество последовательных единиц)

Если ищите работу JavaScript / TypeScript разработчика, то на собеседовании вам может попасться задача "найти максимальное количество последовательных единиц". По ссылке решение подобной задачи на TypeScript.

👉 @web_craft | #frontend
Защита атрибута password в Laravel

Как правильно использовать guarded для защиты атрибута password?

👉 @web_craft | #laravel
Преобразование массивов в CSV

Какую функцию JavaScript необходимо использовать для преобразования массива объектов в CSV-строку?

👉 @web_craft | #frontend
Какую функцию JavaScript мы используем для преобразования массива объектов в CSV-строку?
Anonymous Quiz
26%
map()
4%
filter()
45%
join()
25%
reduce()
Please open Telegram to view this post
VIEW IN TELEGRAM
Сравнение строк по звучанию в PHP

Soundex() и metaphone() - это функции PHP, которые используются для сравнения строк по звучанию, а не по орфографии.

Soundex() преобразует строку в 4-символьный код, где первый символ - это первая буква исходной строки, а остальные символы - это цифры, представляющие группы похожих по звучанию согласных. Гласные, пробелы и другие символы игнорируются.

Metaphone() работает похоже, но более точно, чем soundex(). Он учитывает больше правил произношения английского языка.

Пример:
echo soundex("Euler") . " == " . soundex("Ellery") . "n"; // E460
echo soundex("Gauss") . " == " . soundex("Ghosh") . "n"; // G200

echo metaphone("programming") . "n"; // PRKRMNK
echo metaphone("programmer") . "n"; // PRKRMR


👉 @web_craft | #php
Скажите что-то на карьерном

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

Реклама АО «Тинькофф Банк» ИНН 7710140679
Создание отсортированных копий массивов с помощью array.toSorted()

Метод array.toSorted() позволяет создавать отсортированные копии массивов без изменения исходного массива.

Синтаксис: array.toSorted(compareFn)

Параметры:
compareFn (необязательный): Функция, определяющая порядок сортировки. Если не указана, элементы массива преобразуются в строки и сортируются по кодовым точкам Unicode.

Возвращаемое значение: новый массив с элементами, отсортированными по возрастанию.

Пример:
  const months = ["Mar", "Jan", "Feb", "Dec"];
const sortedMonths = months.toSorted();
// Результат: ['Dec', 'Feb', 'Jan', 'Mar']

const values = [1, 10, 21, 2];
const sortedValues = values.toSorted((a, b) => a - b);
// Результат: [1, 2, 10, 21]


👉 @web_craft | #frontend
DTO vs VO в PHP

Статья рассматривает различия между DTO (Data Transfer Object) и VO (Value Object) в контексте PHP.

👉 @web_craft | #php
Сначала ты шутишь над JavaScript, а потом JavaScript шутит над тобой.

👉 @web_craft | #юмор
Практическое руководство по более чистым контроллерам Laravel: использование возможностей средств доступа и мутаторов

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

👉 @web_craft | #laravel
Media is too big
VIEW IN TELEGRAM
Blend Mode Overview

Автору этого кодпена был нужен быстрый способ сравнения различных режимов наложения в RGB и CMY, чтобы эффективно работать с переключением цветов без постоянного подбора возможных значений. В итоге получился такой макет на CSS.

Как вам реализация идеи?

👉 @web_craft | #frontend
Освоение маршрутов Laravel: комплексное руководство для всех уровней

Руководство по использованию маршрутизации в Laravel, в котором рассказывается о следующих темах: Основы маршрутизации, расширенная маршрутизация, тестирование маршрутов и практические советы.

👉 @web_craft | #laravel
Назначение аннотации ObservedBy в классе модели Flight

Что делает аннотация ObservedBy в классе модели Flight?

👉 @web_craft | #laravel
Media is too big
VIEW IN TELEGRAM
CSS 3D Cubes

Пример реализации анимированных кубов на CSS.

👉 @web_craft | #frontend
Отличие Promise.allSettled() от Promise.all()

Чем Promise.allSettled() отличается от Promise.all()?

Варианты:
1 вариант. Promise.allSettled() ждет, пока все промисы в iterable будут завершены (выполнены или отклонены)и независимо от их статуса разрешается, а Promise.all() ждет, пока все промисы в iterable будут выполнены.

2 вариант. Promise.allSettled() выполняет промисы в iterable последовательно, а Promise.all() выполняет промисы параллельно.

3 вариант. Promise.allSettled() отклоняется, если хотя бы один промис в iterable отклоняется, а Promise.all() разрешается, даже если один из промисов отклоняется.

4 вариант. Promise.allSettled() возвращает массив промисов, а Promise.all() возвращает единственный промис.

👉 @web_craft | #frontend
Группировка middleware в Laravel

Группировка middleware в Laravel - это способ организации по определенным критериям или целям. Например, вы можете создать группу middleware для аутентификации, авторизации, кэширования, логирования и т.д. Это позволяет упростить регистрацию и назначение middleware для роутов, а также повысить читаемость и поддерживаемость кода.

Для применения группы middleware к роутам вы можете использовать метод middleware() в routes/web.php. В этом методе вы указываете имя группы в качестве параметра.

Например:
Route::middleware('auth')->group(function () {
Route::get('/profile', 'ProfileController@show');
Route::get('/settings', 'SettingsController@show');
});

Route::middleware('admin')->group(function () {
Route::get('/users', 'UserController@index');
Route::get('/roles', 'RoleController@index');
});


👉 @web_craft | #laravel