Обновить
198.73

JavaScript *

Прототипно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Whoosh — минималистичный менеджер состояний React

Время на прочтение8 мин
Охват и читатели8.1K

Привет, Хабр!


Разрешите поделиться своим велосипедом. Речь пойдет о минималистичном менеджере состояний React, интерфейс которого состоит из одной функции — createShared().



GitHub репозиторий проекта

Читать дальше →

3D своими руками. Часть 3: чем дальше в лес, тем меньше дом

Время на прочтение28 мин
Охват и читатели17K

В этой статье мы узнаем что такое камера в 3D пространстве (матрица вида) и как она работает, узнаем как сделать те объекты что дальше - меньшего размера (матрица перспективной проекции). 

Мы продолжим работу над кодом, который у нас получился в финале 2-й части.  И начнем с обсуждения камеры в пространстве (м.б. в 3D игре).

Продолжить обучение

Vue + SSR + AMP — как подружить SPA с гугл страницами

Время на прочтение7 мин
Охват и читатели4.2K

Привет, хабрист!

Довольно давненько подружил свои приложения с гуглом.

Основная идея была - не создавая новых шаблонов, получить все страницы сайта AMP-friendly и, вообще, сделать ядро приложения AMP-ready.

Тут нас поджидает серьезная переработка стилей CSS и структуры приложения путем добавления дубликатов забаненных гуглом компонентов, таких как картинки, карусели, менюхи и прочее.

Я буду вещать на примере самого простого - картинок. Все прочее аналогично, хоть и посложнее на практике.

Объявим зависимости

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №500 (27 декабря 2021 — 2 января 2022)

Время на прочтение2 мин
Охват и читатели8.8K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Как я научился делать мобильные приложения на Ionic/Angular за 42 часа

Время на прочтение13 мин
Охват и читатели33K

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

Читать далее

Разбираем задачу T9 (predictive text)

Время на прочтение5 мин
Охват и читатели5.8K

Привет, Хабр! На днях ко мне обратился ученик на одном из ресурсов, где я выступаю в качестве frontend-ментора, с просьбой разобрать одну задачу. Суть задачи состояла в следующем:

Найти все доступные комбинаций предложений, полученных методом T9 (predictive text)

Вводные данные:

Файл input.txt, в котором описаны последовательности цифр, имитирующие пользовательский ввод:

Читать далее

Что нового в react-router v6

Время на прочтение8 мин
Охват и читатели92K

Привет! Меня зовут Сергей, я управляющий партнер в KTS

Совсем недавно состоялся релиз 6-ой версии react-router. Вообще создатели react-router часто меняют подходы, используемые в библиотеке, но в этот раз они объединили лучшее, что было в прошлых версиях.

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

Читать далее

React: пример использования Auth0 для разработки сервиса аутентификации/авторизации

Время на прочтение11 мин
Охват и читатели31K



Привет, друзья!


В этой статье я покажу вам, как создать полноценный сервис для аутентификации и авторизации (далее — просто сервис) с помощью Auth0.


Auth0 — это платформа, предоставляющая готовые решения для разработки сервисов любого уровня сложности. Auth0 поддерживается командой, стоящей за разработкой JWT (JSON Web Token/веб-токен в формате JSON). Это вселяет определенную уверенность в безопасности Auth0-сервисов.


Бесплатная версия Auth0 позволяет регистрировать до 7000 пользователей.


В этой статье я писал о том, что такое JWT, и как разработать собственный сервис с нуля.


Знакомство с Auth0 можно начать отсюда.


Исходный код Auth0 SDK, который мы будем использовать для разработки приложения, можно найти здесь.


Исходный код проекта, который мы будем разрабатывать, находится здесь.


В статье я расскажу только о самых основных возможностях, предоставляемых Auth0.


В примерах и на скриншотах ниже вы увидите реальные чувствительные данные/sensitive data. Это не означает, что вы сможете их использовать. После публикации статьи сервис будет удален.

Читать дальше →

Собираем свою библиотеку для SSR на React. Роутинг

Время на прочтение16 мин
Охват и читатели4.7K

Привет! Меня зовут Сергей, я управляющий партнер в KTS

В прошлой статье мы создали библиотеку, которая позволяет запускать сервер для рендеринга React-приложения.

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

Читать далее

Автоматическая публикация npm пакета из gitlab ci/cd

Время на прочтение4 мин
Охват и читатели16K

Всем привет! Сегодня я расскажу как мы реализовали автоматическую публикацию npm пакета в cicd gitlab, с помощью каких инструментов генерируем CHANGELOG файл и обновляем версию package.json. А так же как публикуем изменения в git репозитории.

Я постараюсь дать вам простую инструкцию, расскажу с какими сложностями мы столкнулись и как их решили.

Читать далее

Babel + core-js + IE = ???

Время на прочтение8 мин
Охват и читатели9.3K

Сегодня будет рассказ про фронтендерский зоопарк. Начну издалека.

Если вы фронт, то вы знаете, что наш код читается многими браузерами. Вы так же знаете, что разные браузеры реализуют разные части стандарта языка. Вы так же знаете, что разные браузеры реализуют по-разному одни и те же части стандарта языка. Одно время такая разница в прочтении превращала разработку в ад. Но довольно быстро появились инструменты, “уравнивающие” ваш код таким образом, чтобы во всех браузерах он читался одинаково.

И эти инструменты в руках неопытного разработчика могут делать больно.

Читать далее

Контроль версий в AppScript

Время на прочтение2 мин
Охват и читатели2.8K

Сегодня хочу познакомить читателя с расширением Chrome, которое позволяет управлять версионностью гугл скриптов.

Цель поста - осветить дополнительную возможность гугл скриптов, показать доступный инструмент и то, как он работает.

Читать далее

Разрушаем и подтверждаем мифы о кадровых агентствах в ИТ

Время на прочтение4 мин
Охват и читатели9.4K

Всем привет! На связи Антон Чимин. Не так давно я стал ИТ рекрутером и сегодня решил написать небольшую статью о том, что на самом деле происходит внутри кадровых агентств и стоит ли с ними работать. Называть свое кадровое агентство я не буду, чтобы это не было рекламой :) Просто пройдемся по фактам, что здесь и как.

Сегодня будет необычный пост, в котором я буду разрушать или подтверждать мифы о кадровых агентствах (КА), как это когда-то делали Адам Сэвидж и Джэми Хайнеман в одном известном шоу :) Погнали!

Читать далее

Ближайшие события

Uni Localization. Абсолютная кастомизация, работает на любом сайте (Vue, React, Angular, ...)

Время на прочтение5 мин
Охват и читатели3.3K

Я всегда мечтал о функциональности, которую можно было бы использовать на любом web проекте. Еще я мечтал иметь максимально гибкое решение для абсолютной кастомизации под себя. Два года назад мы начали работать над воплощением этой смелой мечты в реальность. Первой такой функциональностью стала именно Uni Локализация.

Читать далее

Порядок операторов в RxJs

Время на прочтение9 мин
Охват и читатели18K

TL;DR: Порядок важен. Операторы довольно атомарны и зачастую очень просты, но это не мешает им объединяться в сложные последовательности, в которых легко допустить ошибку. Давайте разберемся.

Читать далее

Remix: руководство по новому open source React-фреймворку

Время на прочтение7 мин
Охват и читатели22K

Последнее время кажется, что React-фреймворки выходят каждый день. Хотя каждому из них есть, что предложить, Remix особенно выделяется.

Remix — React-фреймворк для SSR (server-side rendering) от создателей react-router, который заопенсорсили совсем недавно.

В этой статье мы поговорим про некоторые удобные особенности Remix и создадим с его помощью приложение с погодой на SSR.

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №499 (20 — 26 декабря 2021)

Время на прочтение2 мин
Охват и читатели6.7K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Полетели типографировать

Время на прочтение2 мин
Охват и читатели4.6K

Время идет, технологии меняются, а необходимость приводить тексты в порядок остается. Так и в случае с Типографом, казалось бы, что еще можно придумать?

Читать далее

Создаем Discord-бота с помощью Node.js

Время на прочтение12 мин
Охват и читатели33K

Discord - это чат-приложение, которое позволяет миллионам пользователей по всему миру обмениваться сообщениями и общаться голосом вживую в сообществах, называемых гильдиями (guilds) или серверами. Discord также предоставляет обширный API, который разработчики могут использовать для создания весьма функциональных Discord-ботов. Боты могут выполнять различные действия, такие как отправка сообщений на серверы и личных сообщений пользователям, модерация серверов и воспроизведение звука в голосовых чатах. Это позволяет разработчикам создавать продвинутых ботов, которые реализуют сложные функции, такие как инструменты модерации или даже игры. Например, служебный бот Dyno обслуживает миллионы гильдий и содержит такие полезные функции, как защита от спама, музыкальный проигрыватель и много других вспомогательных служб. Знание того, как создавать Discord-ботов, позволит вам реализовать возможности, с которыми смогут взаимодействовать каждый день тысячи людей.

В этом туториале мы с вами создадим Discord-бота с нуля, используя Node.js и библиотеку Discord.js, которая позволяет пользователям напрямую взаимодействовать с Discord API. Мы настроим профиль для Discord-бота, получим для него токены аутентификации и реализуем в боте возможность обработки команд с аргументами от пользователей.

Читать далее

Библиотека как продукт: от папки в проекте до международного опенсорса

Время на прочтение9 мин
Охват и читатели4.4K

Работа над общей библиотекой сильно отличается от работы в продуктовой команде. Но разработчики библиотек тоже проходят длинный путь становления своего продукта, причем, в отличие от приложений, часто без помощи менеджеров или бизнес-аналитиков.

Давайте посмотрим, из чего может состоять путь крупной библиотеки, как планировать действия команде разработки и какие челленджи могут встретиться на нем. 

Статья написана по опыту разработки фронтовых библиотек и с советами вокруг JS-экосистемы, но часть идей будет полезна и для других направлений.

Давайте посмотрим

Вклад авторов