Обновить
219.41

JavaScript *

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

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

Чистая архитектура фронтенд приложений. Часть первая

Время на прочтение6 мин
Количество просмотров17K

Чистая архитектура — не только доброе слово, а очень полезное дело. Если изначально ответственно отнестись к данному вопросу, то можно предупредить очень много проблем и болячек на проекте. В данном цикле статей я буду делиться своими наблюдениями и, как мне кажется, наиболее верными решениями.

Читать

Переводим 50 приложений на Module Federation и ничего не ломаем

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.2K

Привет, меня зовут Степан, я главный frontend-разработчик в Альфа-Банке. Проектом, о котором пойдёт речь, занимается наша команда. Только фронтенд-разработчиков в ней 60. Множество команд поддерживают более 50 приложений, приносящих прибыль бизнесу.

У нас ранее были микрофронты, но они были построены не на WMF. Не вдаваясь в документацию, давайте покажу, как всё было устроено, чтобы описать причины переезда. Думаю, будет интересно, учитывая, что проект большой.

Я расскажу о микрофронтендах и сопутствующей концепции Model Federation на примере большого проекта.

Читать далее

Vite 6.0: Новые возможности и будущее веб-разработки

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров14K

26 ноября 2024 года вышла новая мажорная версия инструмента для сборки приложений Vite. Это событие особенно примечательно тем, что это первый релиз после анонса VoidZero, где Even You представил грядущее направление развития основных продуктов.

Далее мы рассмотрим ключевые моменты этого обновления.

Читать далее

Как мы превратили рутинную работу в удовольствие: история создания плагина для Р7-Офиса

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.9K

Многие компании продолжают активно использовать Excel и язык макросов VBA для обработки и анализа данных. Однако с переходом на отечественные офисные решения (например, Р7-Офис) появилась необходимость в разработке новых инструментов обработки данных на JavaScript. 

В ЛАНИТ мы помогаем клиентам осуществить переход на Р7-Офис и создаем макросы, которые ранее использовались в Excel. Во время этого процесса наши разработчики внимательно анализировали запросы пользователей и выявили несколько общих трендов, на основе которых и был разработан наш плагин Аналитика.

Читать далее

Наиболее эффективные методы улучшения Core Web Vitals

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров2.6K


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


Вопросы производительности могут быть не столь очевидны для тех, чья карьера не была связана с этой областью. Именно поэтому важно понимать, какие оптимизации способны наиболее существенно повлиять на это. На реализацию всех рекомендаций скорее всего просто не будет времени, поэтому важно задать себе вопрос: какие оптимизации принесут максимальную выгоду пользователям?

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

Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров48K

TLDR. Я примерно год создавал курс из 141 урока. Курс получился хороший, все кто проходят рады и пишут положительные отзывы. Я пытался его продавать, в лучшем случае у меня получалось отбивать рекламу в ноль. Короче, я хороший разработчик, я хорошо доношу материал, но я плохой маркетолог. Все эти таргреты, ретаргеты, воронки, шморонки — тоска унылая. Мне гораздо веселее и понятнее заработать на создании и запуске IT-продуктов, чему я и учу в этом учебнике. Так что пишу эту статью, чтобы сообщить вам о существовании моего курса и предложить всем желающим абсолютно бесплатно получить от него пользу 🙂

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

Читать далее

Как использовать http внутри Minecraft?

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров6.7K

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

Как можно видеть с самого видео, человек, нажимая на кнопку в Майнкрафте, включает у себя лампу в реальной жизни. Круто! Но как это работает?

Читать далее

Frontend в 2025 году: тренды, которые изменят разработку

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров23K

Всем привет! На связи руководители Frontend‑практики ГК Юзтех. В этой статье мы подводим итоги 2024 года и делимся нашими прогнозами на 2025 год. Приводим мнение трех экспертов по ключевым трендам фронтенд‑разработки и фреймворков, которые будут актуальными в следующем году.

Читать далее

OffscreenCanvas в JavaScript: разгоняем графику до максимума

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6K

Привет, Хабр! Сегодня разберёмся с тем, что такое OffscreenCanvas, зачем он нужен и как правильно его использовать.

OffscreenCanvas — это API, которое позволяет рендерить графику в отдельном потоке Worker, не блокируя основной поток, где обрабатывается интерфейс.

Читать далее

Бот за 15 минут на генераторах

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.7K

Представьте, что бизнесу срочно понадобился небольшой бот, например, для сбора данных или генерации картинок или постов. В голову сразу приходит стандартная идея — пишем бота на бэкенде, дальше со стороны клиента делаем запрос на отправку сообщения и получаем ответ от бота, который показываем пользователю. Но не тут-то было — бизнес говорит, что денег и времени на бэкенд нет, а бот нужен ещё вчера.

Что делать? Логичное решение — максимально упростить бота и написать его на стороне фронтенда с отправкой результата на бэкенд и получением ответа одним запросом. Думаю, многие баловались или могут представить, что это несложно, но нужно писать множество конструкций и условий.

Я же предлагаю в статье посмотреть, как написать бота с помощью простого советского JavaScript‑генератора.

Читать далее

Ultimatum — еще один форк хромиума, с претензией…

Время на прочтение10 мин
Количество просмотров12K

image


Добрый день! Меня зовут Тимур и я программист.


Сегодня я хочу сделать настоящий анонс своей сборки chromium — Ultimatum. Он умеет уже достаточно много что бы гордо носить свое собственное имя.


В прошлой своей статье я рассказал о том как пробросил в js прямой доступ до http кеша и объяснил для чего я это делаю. Статья завершилась со словами что я еще вернусь со своим антидетект браузером. Я вернулся и это немного больше чем антидетект браузер.


Если коротко — Ultimatum уже помножил на ноль такие техники трекинга как hsts-pinning, favicons cache и вообще использование многих других кешей в трекинге. А также! Теперь можно поставить расширение с любого сайта, не только со сторов гугля, оперы или микрософта (с них кстати тоже можно — со всех!). А еще! Можно перехватывать сетевые запросы и подменять их полностью! Ну и так далее и тому подобное.


А теперь более подробно и более спокойно.

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

Базовое программирование, или Почему джуны не могут пройти к нам собеседование

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров65K

Я – начальник отдела разработки небольшой государственной компании, и в последнее время мне снова пришлось провести несколько десятков созвонов-собеседований, с которых мне удалось отобрать только одного человека. О том, почему выпускники скиллбоксов присылают резюме пачками, но выхлоп от обучения собственных юристов компании оказывается выше, чем от собеседований по вакансии – эта статья.

Важно при этом отметить, что я считаю себя достаточно адекватным собеседующим. Я практически не задаю лично-специфичных вопросов (моя часть – техническое собеседование, и мы с него начинаем); отвечаю всем кандидатам, чтобы сразу было понятно, рассматриваем мы их или нет; стараюсь построить собеседование так, чтобы на него не уходило больше полутора часов; не спрашиваю про красно-черные деревья и знание алгоритмов; и вообще имею достаточно четкие критерии для оценки собеседуемых, которые и попытаюсь для вас обосновать.

Читать далее

JavaScript-фреймворки и библиотеки, на которые стоит обратить внимание в 2025 году

Время на прочтение6 мин
Количество просмотров16K

Привет! Это Саша Калач, разработчик в МТС Диджитал. Сегодня поделюсь подборкой фреймворков и библиотек, которые могут быть полезны JavaScript-разработчику. О самых известных, вроде React, Vue.js, Next.js, говорить не буду, о них и так все знают. Вместо этого предлагаю посмотреть менее популярные инструменты. Если вы пользуетесь другими фреймворками и библиотеками, которые не вошли в подборку — пишите о них в комментариях. Поехали!

Читать далее

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

Как сделать анимацию разными способами: CSS, WebP, Canvas, Lottie, Spine и секвенции

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров8.3K

Привет! Меня зовут Даша, я фронтенд-разработчик отдела спецпроектов в KTS.

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

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

Читать далее

Как я написал свою первую обучающую игру на JavaScript с помощью Mistral AI и Яндекс Шедеврума

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8K

Я преподаватель математики и информатики. В один прекрасный день осознал простую и важную вещь: дети (и взрослые) любят игры, а математику не любят. И с этим ничего нельзя сделать.

Начал размышлять, как бы геймифицировать учебный процесс. Увлекаюсь HTML, CSS, JavaScript, поэтому задумал написать игру, в которой сюжет продвигался бы за счёт решения задач. Но самое интересное то, что больше половины работы за меня сделал ИИ.

В статье рассказываю о том, как это было.

Читать далее

Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.7K

Что может быть привлекательнее депозита в Сбербанке под 21%? Видимо только депозит в ВТБ под 24%. А еще можно рассмотреть облигации с доходностью до 40% и ежемесячной выплатой купонов. Посмотрим, что они предлагают и какие существуют риски.

В статье будем искать такие варианты при помощи скрипта поиска ликвидных облигаций, который выложен на GitHub.

Вообще покупки высокодоходных облигаций с низким рейтингом (ВДО) на фоне роста ключевой ставки Центрального банка Российской Федерации – задача не для слабонервных. Высокие процентные ставки означают повышенный риск дефолта, особенно для эмитентов ВДО.

Ищем %

Самая сложная директива Taiga UI

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров4.7K

Часто необходимо знать, с какой областью страницы взаимодействует пользователь. Например, если вы создаете выпадающее меню, нужно понять, когда его закрывать. Наивная реализация будет просто слушать клики и проверять, произошел ли клик вне элемента выпадающего меню. Но мышь — это не единственный способ взаимодействия, не стоит забывать и про клавиатуру. Кроме того, выпадающее меню может иметь вложенную многоуровневую структуру, что делает простую проверку цели клика проблематичной.

В этой статье исследуем директиву ActiveZone — подход, который мы использовали в библиотеке компонентов Taiga UI. Она полагается на два моих любимых инструмента Angular: Dependency Injection и RxJS. Нам понадобится глубокое понимание нативных событий DOM. Как бы ни был далек Angular от чистого JavaScript и DOM, он все равно полагается на старые добрые Web API, поэтому важно качать свои знания и в области ванильного frontend.

Читать далее

Руководство по Convex. Часть 2

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров1.7K


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


В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков.


На сегодняшний день Convex предоставляет реактивную базу данных смешанного типа, механизм аутентификации/авторизации, файловое хранилище, планировщик задач и инструменты интеллектуального поиска.


Эта вторая часть серии, в которой мы поговорим об аутентификации и авторизации.


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

Redux для новичков: база, с которой можно стартовать

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров20K

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

Сегодня рассмотрим библиотеку Redux для JS, зачем она нужна, и стоит ли она вашего внимания. Redux — это библиотека для управления состоянием приложения. Redux создан для тех случаев, когда:

У вас огромное приложение, и нужно управлять кучей данных.
Эти данные нужно шарить между компонентами, которые находятся на разных уровнях иерархии.
Есть сложная логика обновления данных, и хочется, чтобы код этой логики был не просто работающим, но и понятным через полгода.

Читать далее

Полезные чипсы с Vue 3 Composition API: Создание адаптивного компонента с фильтрацией и множественным выбором

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.5K

Современные пользовательские интерфейсы требуют высокой интерактивности и удобства взаимодействия. В этой статье поговорим о том, как реализовать мощный, адаптивный компонент мульти‑выбора на основе Vue 3 Composition API. ChipsMultiSelect — это компонент, который объединяет возможности выпадающего списка, визуализации выбора в виде «чипсов» и встроенной фильтрации.

Выбранные элементы отображаются в виде «чипсов».

Читать далее

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