Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Пикабу Игры +1000 бесплатных онлайн игр

 Что обсуждали люди в 2024 году? Самое время вспомнить — через виммельбух Пикабу «Спрятано в 2024»! Печенька облегчит поиск предметов.

Спрятано в 2024

Поиск предметов, Казуальные

Играть
Погрузись в мир куриных перестрелок! Хватай пушку и пусть только перья останутся на месте твоих врагов!

Чикен Страйк

Шутер, Экшены, Для мальчиков

Играть
Погружайтесь в загадочный мир подводных приключений с игрой

Тайна морей - Затерянные сокровища: Три в ряд

Три в ряд, Казуальные, Головоломки

Играть
Реалистичный симулятор игры бильярд. Играйте в Бильярд 3D: Русский бильярд, как в настоящей бильярдной!

Бильярд 3D: Русский бильярд

Симуляторы, Спорт, Настольные

Играть
«Дурак подкидной и переводной» — классика карточных игр! Яркий геймплей, простые правила. Развивайте стратегию, бросайте вызов соперникам и станьте королем карт! Играйте прямо сейчас!

Дурак подкидной и переводной

Карточные, Настольные, Логическая

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Front-end

669 постов сначала свежее
maximz
maximz
3 месяца назад

Обычный день Frontend girl⁠⁠

Продолжаем, часть 3

YouTube IT Программирование Приложение Сайт Frontend React Javascript Ui Проект Видео
0
3
DropTrigger
DropTrigger
4 месяца назад
Серия Записки вкатуна

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT)⁠⁠

Термины в статье:

  1. Эндпоинт

  2. Аутентификация, Регистрация, JWT, Access, Refresh

К стеку добавился:

  • Vue.js

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Дописываю API

Потратив 2 ночи (и немного терпения), я наконец завершил реализацию всех эндпоинтов! В какой-то момент это очень наскучило, но я все равно продолжал писать их.

Как выглядят эндпоинты в этой статье - Создаю онлайн-сервис для чтения книг. День 4. Обработка первого запроса.

Архитектура папок теперь выглядит вот так:

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Всего реализовано 38 эндпоинтов , и это еще не конец — их количество будет расти! Последний из них ощущался как будто я пробежал марафон.


Разработка дизайна 🎨

Но как делать веб без дизайна? Верно, никак! 🤔
Зайдя в Figma и подсмотрев интерфейс GitHub'а , я накидал ориентировочный дизайн страниц регистрации и входа.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост
Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Верстка 🖥️

Верстка — это немного рутинное занятие, но результат того стоит!
Могу сказать, что получилось почти идентично дизайну.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Frontend с Vue.js

Почему Vue.js ? Просто такие условия 🙃. Если бы выбор был за мной, я бы взял React .

Добавлю в решение новый проект Веб-приложение ASP.NET Core (MVC) . Стандартный шаблон создаст такие папки:

  • wwwroot
    Это корневая папка для статических файлов, которые будут доступны напрямую через браузер.

  • Controllers
    Папка содержит классы контроллеров, которые управляют маршрутизацией.

  • Models
    Папка содержит модели данных, которые представляют сущности приложения.

  • Views
    Папка содержит представления — файлы, которые отвечают за отображение HTML-страниц пользователю.

В папку wwwroot/lib добавлю клиентскую библиотеку Vue.js .

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Создам новый контроллер для страниц аутентификации.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

В папке Views есть еще 2 папки:

  • Home

  • Shared

В папку Shared добавлю новый шаблон страницы Razor с названием _LoginLayout для страниц аутентификации.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Создам папку Auth, добавив туда пустую страницу Razor с названием _ViewStart. Этот файл указывает какой шаблон будут использовать страницы.

@{

Layout = "_LoginLayout";

}

Теперь закину в wwwroot/css свой файл со стилем, который наверстал.


Логика фронтенда 🧠

Начну со страницы входа, добавив HTML-разметку, которую наверстал.

Снизу файла напишу блок скриптов:

@Section scripts {

<script src="~/lib/vue/vue.global.js"></script>

<script>

...тут будут все скрипты...

</script>

}

Пример запроса на бэкенд:

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

На скрине показан метод ассинхронный метод login(), в нем реализована отправка запроса на эндпоинт /auth/login, если запрос проходит успешно, я записываю Access-токен в локальное хранилище и перенаправляю пользователя на страницу по адресу /home. В противном случае я показываю ошибку пользователю.

В ответе сервера я получаю Access и Refresh токены.

  • Access-токен записываю в локальное хранилище.

  • Refresh-токен храню в Http-only куках для большей безопасности 🛡️.

Пример записи куки на сервере:

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Здесь я записал новую куку с под названием refreshToken, и значением, равным Refresh-токену.

Вообще для чего мне Refresh-токен, если есть Access? Все очень просто, у Access-токена срок жизни 15 минут, поэтому через 15 минут его необходимо будет сгенерировать заново. Для этого как раз и понадобится Refresh-токен.

По истечению Access-токена я буду посылать на сервер запрос со своими куками. Сервер прочитает Refresh-токен из них и, если он валидный, вернет новый Access-токен.

Как это реализовано со стороны сервера:

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Со стороны клиента:

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

При загрузке страницы сразу же срабатывает метод checkRefreshToken, далее отправляется запрос на /auth/refresh. Если сервер возвращает положительный ответ, записываю новый Access в локальное хранилище и продолжаю пользоваться сервисом.

Тестирование 🧪

Запущу бэкенд и фронтенд.

После запуска я сразу попадаю на страницу входа.

Войду в аккаунт, который я создвал еще на начальных этапах.

Если сейчас обратиться по адресу /home, меня перекинет назад на страницу авторизации.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Попробую сначала ввести неправильный пароль.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Теперь введу правильный пароль. Все сработало! Я попал на домашнюю страницу.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Зайдя в консоль разработчика, можно посмотреть локальное хранилище и найти там Access-токен.

Создаю онлайн-сервис для чтения книг. День 6-9. CRUD, Дизайн+Верстка, Frontend(JWT) Разработка, Программирование, Aspnet, Frontend, Backend, Длиннопост

Теперь я могу пользоваться сервисом, отправляя запросы на эндпоинты, передавая данный токен в заголовке.

Показать полностью 15
[моё] Разработка Программирование Aspnet Frontend Backend Длиннопост
3
10
zhizait
zhizait
4 месяца назад

Как мы открывали вакансию для фронтендеров без опыта работы⁠⁠

Как мы открывали вакансию для фронтендеров без опыта работы IT, Работа, Frontend, Тимлид, Собеседование, Истории из жизни, Вакансии, Telegram (ссылка), Длиннопост
Как мы открывали вакансию для фронтендеров без опыта работы IT, Работа, Frontend, Тимлид, Собеседование, Истории из жизни, Вакансии, Telegram (ссылка), Длиннопост
Как мы открывали вакансию для фронтендеров без опыта работы IT, Работа, Frontend, Тимлид, Собеседование, Истории из жизни, Вакансии, Telegram (ссылка), Длиннопост

Источник: «Жиза ИТ руководителя»

Показать полностью 3
IT Работа Frontend Тимлид Собеседование Истории из жизни Вакансии Telegram (ссылка) Длиннопост
6
1313
Rahlkan
Rahlkan
4 месяца назад

Наркотики зло, если что⁠⁠

Наркотики зло, если что Юмор, Наркотики, Frontend, Javascript, Длиннопост, Комментарии на Пикабу, Комментарии
Наркотики зло, если что Юмор, Наркотики, Frontend, Javascript, Длиннопост, Комментарии на Пикабу, Комментарии

#comment_338783468

Показать полностью 2
Юмор Наркотики Frontend Javascript Длиннопост Комментарии на Пикабу Комментарии
53
4
user9626430
user9626430
4 месяца назад
Искусственный интеллект
Серия Нейросети

Приложение на React js за минуту с помощью ИИ⁠⁠

Я использовал Cursor Ai, что бы создать приложение блокнот для заметок на React js!

Еще больше полезностей - в моем Telegram канале о Программировании и Технологиях!

[моё] Искусственный интеллект ChatGPT Разработка Frontend Видео Вертикальное видео Короткие видео
2
maximz
maximz
4 месяца назад

Frontend girl⁠⁠

Продолжаем делать проект на next js, разбираем структуру проекта, роутинг и создаем компоненты разной сложности

[моё] Программирование IT Сайт Приложение React CSS Javascript Frontend Видео YouTube
5
108
NaUch.PoP
NaUch.PoP
5 месяцев назад
IT минувших дней

Ох этот фронтенд...⁠⁠

Ох этот фронтенд...
IT IT юмор Frontend Картинка с текстом Ты чо пёс? Мемы
21
maximz
maximz
5 месяцев назад

Обычный рабочий день frontend разработчика⁠⁠

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

Приятного просмотра, с удовольствием отвечу на все вопросы по теме

Показать полностью
[моё] Стримеры React IT Приложение Web-программирование Программирование Javascript Айтишники Сайт Frontend Разработчики Видео YouTube CSS
3
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии