Frontender Libs - обзор библиотек JS / CSS
8.49K subscribers
2.01K photos
733 videos
1 file
237 links
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
PComm Ghost | Anime JS

Анимированное приведение, выполненное на Anime.js.

👉 @sWebDev
👍4
🔥Тест по React JS от OTUS🔥

— Ответьте на 19 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс по React.js со скидкой!

🚀ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО REACT.JS https://otus.pw/H0pAg/

Курс доступен в рассрочку.

🎁Пройдете успешно тест, получите доступ к открытым урокам курса.

Нативная интеграция. Информация о продукте www.otus.ru
👍2
Как использовать Axios с Vue.js

Рассмотрим интеграцию библиотеки Axios во Vue.js для управления HTTP-запросами. Руководство предоставляет простой, но краткий синтаксис Axios для выполнения GET и POST запросов, а также обработку ошибок. Объяснения и примеры понятны, что облегчает понимание даже для новичков. Статья подчеркивает преимущества Axios, такие как поддержка отмены запросов. Однако, некоторые дополнительные примеры и сценарии использования могли бы обогатить материал.

👉 @sWebDev
👍5
Shave.js

JS библиотека для обрезки текста в блоках с фиксированными размерами. Если у вас есть ограничение по высоте или ширине элемента и текст не помещается полностью, Shave.js автоматически обрежет его и добавит многоточие в конец. Библиотека легка в использовании, поддерживает анимацию и обрабатывает изменение размеров окна браузера.

👉 @sWebDev
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Anime js Hero banner

Анимированный баннер, выполненный с применением библиотеки Anime.js.

👉 @sWebDev
👍5
Какой вариант защиты от уязвимости IDOR применен в коде?

Недавно мы рассказывали об уязвимости Insecure Direct Object References (IDOR) и рассматривали один из вариантов защиты:

    UserDetails() {
const [user, setUser] = useState(null);

useEffect(() => {
fetch('/api/user', {
headers: {
Authorization: `Bearer ${localStorage.getItem('token')}`
}
})
.then(response => response.json())
.then(setUser);
}, []);
// Рендер деталей пользователя...
}

Что это за вариант?

👉 @sWebDev
👍4
Angular - Обработка ошибок 101

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

👉 @sWebDev
🔥2
Защита от открытых редиректов React

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

Для защиты мы можем проверять URL перенаправления перед его использованием. Один из способов сделать это - поддерживать список разрешенных URL:

   const ALLOWED_REDIRECTS = ['/home', '/profile', /* ... */];

function Login() {
const [redirectTo, setRedirectTo] = useState('');

const login = async () => {
// Предположим, что эта функция выполняет вход пользователя...
await loginUser();

if (ALLOWED_REDIRECTS.includes(redirectTo)) {
window.location.href = redirectTo;
}
};

// Отрисовываем форму входа...
}


👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
3D Globe Three.js with location pointer

Анимированный глобус, выполненный на CSS и библиотеке Three.js.

👉 @sWebDev
👍4
React + Signals = Vue 3

В статье сравнение подходов для обработки сигналов React и Vue3. Рассмотрим различия между двумя фреймворками на примере паттерна "сигналов". Изучив материал, вы сможете выбрать наиболее подходящий инструмент в зависимости от вашего проекта.

👉 @sWebDev
👍41🤔1
AngularFire

AngularFire - это интеграция Firebase в Angular. Мощное сочетание, позволяющее удобно создавать веб-приложения, используя функциональность Firebase: базу данных в реальном времени, аутентификацию, хостинг и другие сервисы.

👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
Создаем клон Twitter на NextJs и Supabase

Пошаговый туториал по созданию собственного Твиттера на NextJs и Supabase.

👉 @sWebDev
👍6
Аутентификация в Angular, почему это так сложно уложить в голове

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

👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
Ant Design Vue

Ant Design Vue - библиотека компонентов для разработки пользовательских интерфейсов с использованием Vue.js. Предоставляет более 50 готовых компонентов, включая кнопки, формы, таблицы, навигацию и многое другое. Ant Design Vue следует дизайн-принципам Ant Design и Material Design, обеспечивая современный и стильный внешний вид. Библиотека предоставляет возможность настройки тем, адаптирования компонентов и управления состоянием приложения.

👉 @sWebDev
👍5👎4
This media is not supported in your browser
VIEW IN TELEGRAM
CPC - GSAP Custom Bounce

Анимация текста, выполненная с применением GSAP.js.

👉 @sWebDev
👍5
Как защититься от CSRF-атак в React?

Представьте, что у нас есть конечная точка /api/posts/delete, которая удаляет сообщение на основе идентификатора, указанного в теле запроса. Если мы будем проверять только cookie для аутентификации, то злоумышленник сможет создать вредоносный сайт со следующим скриптом, например:

  fetch('https://your-website.com/api/posts/delete', {
method: 'POST',
body: JSON.stringify({
id: 'some-post-id',
}),
credentials: 'include',
});

Как защитить свое приложение в таком случае?

👉 @sWebDev
👍4🔥1
Media is too big
VIEW IN TELEGRAM
Planet Picker

Анимированный планетарий, выполненный с помощью библиотеки Splitting.js.

👉 @sWebDev
👍6
Задаем title из компонента Angular

Знаете о том, что title для веб-страницы можно задавать из компонентов Angular?
У Angular есть сервис Title в @angular/platform-browser. Мы внедряем сервис Title в наши компоненты и используем метод setTitle для установки заголовка.

   import { Component, OnInit } from '@angular/core';
import { Title } from "@angular/platform-browser";

@Component({
...
})
export class LoginComponent implements OnInit {
constructor(private title: Title) {}

ngOnInit() {
this.title.setTitle("Login");
}
}

При переходе на LoginComponent, заголовок браузера будет установлен как "Login".

👉 @sWebDev
👍41
This media is not supported in your browser
VIEW IN TELEGRAM
ScrollOut + Splitting.js

Анимация текста, появляющаяся при скролле страницы. Выполнено на Splitting.js.

👉 @sWebDev
👍9