Как стать автором
Поиск
Написать публикацию
Обновить
157.09

JavaScript *

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

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

Работа с JWT-токенами в браузере без боли и страданий

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

Приветствую, дорогой читатель! Хочу поделиться решением наболевшей проблемы — автоматическим обновлением access-токена при истечении его срока действия.

Читать далее

VS Code: 5 интересных функций и расширений, меняющих подход к разработке

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

Visual Studio Code прочно закрепился как один из самых популярных редакторов кода, и не зря. Его гибкость, производительность и огромная экосистема расширений делают его незаменимым инструментом для миллионов разработчиков. Однако, даже опытные пользователи зачастую не догадываются о некоторых его «скрытых» возможностях, которые могут кардинально изменить привычный рабочий процесс и значительно повысить продуктивность.

В этой статье мы рассмотрим 5 интересных функций и расширений VS Code, без которых, возможно, вы уже не сможете представить свою разработку.

Читать далее

Как приручить AI-пиксель-арт

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

За последние пару лет генеративные нейросети стали волшебной кисточкой для всего: концепт‑артов, иконок, иллюстраций, обложек, аватаров, спрайтов… Особенно — пиксель‑арта. В Midjourney, Stable Diffusion, Dall‑E, Image-1 и в других моделях можно просто вбить: «Pixel art goose with goggles in the style of SNES» — и получить шикарного пиксельного гуся за 10 секунд.

Но если ты пробовал вставить такого гуся в игру — ты уже знаешь боль.

Я решил вкопаться в эту тему поглубже и сделать open‑source‑инструмент, который автоматизирует превращение AI‑generated pixel art в pixel‑perfect pixel art.

Читать далее

Разработка с учетом паттернов WAI ARIA

Время на прочтение9 мин
Количество просмотров914

Сегодня веб-приложения стали сложными интерактивными системами, напоминающими полноценные десктоп приложения. Однако за красивыми интерфейсами и богатым функционалом часто скрывается важный аспект, которому уделяется недостаточно внимания — доступность (accessibility). Для миллионов пользователей с ограниченными возможностями это означает, что они не могут полноценно взаимодействовать с сайтом, выполнить базовые действия или получить информацию.

Проблема особенно ярко выражена в современных одностраничных приложениях (SPA), кастомных компонентах, модальных окнах и прочих динамических UI-решениях, которые не учитывают, как с ними будут работать вспомогательные технологии. Например:

Читать далее

Дружеское знакомство с SVG

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

SVG – одна из самых интересных технологий браузера. С его помощью можно делать массу полезных и интересных компонентов. Это неотъемлемая часть моего стека.

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

Для понимания этой статьи не требуется специальных знаний и опыта работы с SVG, но предполагается, что вы знакомы с основами HTML/CSS/JS.

Читать далее

Про esModuleInterop и совместимость модулей ES6 и CommonJS

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

Всем привет, хабровчане! Я (не)начинающий разработчик с относительно небольшим стажем, который пытается углубить свои знания в любимой технологии. В работе и повседневной жизни очень часто приходится работать с языком TypeScript, который мне очень нравится, но к своему стыду, сам очень плохо знаком с настройкой его конфигурации, поэтому решил восполнить этот пробел, ведя собственный Today I Learned. Некоторые опции tsconfig являются очень простыми и понятными. Другие же заставляют знатно напрячься. И даже если поверхностное назначение какой-то настройки является понятным, все равно возникает желание разобраться с принципом ее действия, понять, на какие структурные аспекты проекта она влияет, а также узнать, а как вообще людям жилось до ее появления.

Как раз об одном из них и пойдет разговор в этой статье, а именно об esModuleInterop. Действие опции проверялось при попытке подружить CommonJS-модуль с ES-модульным проектом. Поверхностная гуглешка не дала исчерпывающий ответ на ряд моих вопросов, поэтому приходилось обращаться к спецификации ES6, документации tsconfig (упаси боже читать документацию (шутка)), в личные блоги авторитетных дядек в сообществе и к описаниям модульных систем. На основе найденной информации я составил небольшое резюме, с попыткой собрать материал во едно. Надеюсь, кому-то он покажется интересным. Приятного чтения!

Читать далее

Зачем я написал очередной велосипед для работы с директориями (спойлер: не совсем велосипед)

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

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

Я — да. И вместо того чтобы мириться с ручным копированием, гигантскими .gitignore и вечными конфликтами, написал dmp — инструмент, который:
 Отслеживает, откуда взялся каждый файл,
 Автоматически разрешает конфликты (или даёт контроль),
 Не ломает IDE (никаких симлинков!),
 Работает с любыми языками и фреймворками.

Для кого:
— Разработчики плагинов/модулей,
— Те, кто устал от git-submodules и rsync,
— Все, кто хочет чистый workflow без монрепозитория.

Читать далее

Как Хоук упрощает отладку JavaScript с помощью трекера консоли

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

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

Читать далее

Будущее JavaScript: что нас ждет

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

Недавно прошла 108-я встреча TC39, на которой было продвинуто 9 предложений на разные стадии стандартизации — от сырых идей (Стадия 0) до полностью утвержденных возможностей (Стадия 4).

Ниже краткий обзор этих предложений и того, что они могут привнести в JavaScript.

Читать далее

Почему бы я не выбрал WebRTC? (но всё-таки выбрал)

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

Привет, Хабр! Я Данил и я разработчик проекта Termidesk Assistant. На нашем проекте мы успешно используем технологию WebRTC, а еще ее используют такие технологические гиганты, как Google Meet, Microsoft Teams, Discord и многие другие.

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

Читать далее

API-First & Frontend

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

Мы все чаще сталкиваемся с парадоксом: с одной стороны, растут требования к скорости вывода продукта на рынок, с другой — увеличивается сложность приложений. При этом, разработчики тратят большое количество времени на рутинные задачи, такие как интеграция с API и написание boilerplate-кода. Именно здесь на помощь приходит автоматизация рутинных задач во фронтенде на основе OpenAPI-спецификаций и она может очень сильно упростить нам, фронтендерам, жизнь!

Читать далее

Долгий путь к ResizeObserver

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

Привет, Хабр! Меня зовут Анна, я JS-разработчик в компании SimbirSoft и занимаюсь разработкой веб-приложений на React. Эту статью я посвящаю тем, кто занимается разработкой, сталкивается с нестандартными задачами и переживает, что нашу профессию может вскоре заменить искусственный интеллект (ИИ). Я поделюсь решением задачи, связанной с динамическими размерами блока, — проблемой, с которой наверняка может столкнуться в своей работе любой frontend-разработчик.

Почему же я назвала статью именно «Долгий путь к ResizeObserver»?

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

Читать далее

Как я сделал автоматический Телеграм канал с помощью Gmail и OpenAI API

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

Как мы сделали автоматический Телеграм канал который по апи собирает новостные рассылки, суммаризирует и постит в Телеграм.

Читать далее

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

Пособие по промпт-инжинирингу для программистов

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

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

Под катом Эдди Османи, ведущий инженер Google, выделяет ключевые шаблоны запросов, повторяемые фреймворки и запоминающиеся примеры, которые нашли отклик у разработчиков.

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

Читать далее

Head Hunters на LinkedIn — они очень хотят, чтобы вы сделали тестовое задание

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

Знакомая ситуация? Неизвестный вам контакт пишет на LinkedIn, предлагает работу мечты... Но что‑то вас останавливает, вы уверены, что вас хотят обмануть! В этой статье я расскажу вам о новом способе атаки на разработчиков, под названием OtterCookie.

Читать далее

Как мы топили «Госуслуги»: разбор фишинговой сети от разведки до abuse-репорта

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

Привет, Хабр. Сегодня я хочу поделиться историей одного небольшого, но увлекательного расследования. Все началось, как обычно, с малого — с одного подозрительного IP-адреса. А закончилось вскрытием целой сетки фишинговых доменов и отправкой финального «письма счастья» хостинг-провайдеру.

Это не рассказ о взломе Пентагона с помощью 0-day. Это реальный кейс, показывающий, как с помощью базовых инструментов, OSINT и капельки терпения можно пресечь деятельность мошенников, которые, как выяснилось, работали с размахом.

Читать далее

Как я сделал игру для Яндекс Игр

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

Всем привет! Меня зовут Игорь, и в свободное время я занимаюсь созданием игр.

Вчера я выпустил свою первую публичную игру «Дом до небес». Это простая в которой нужно ставить блоки этажей, чем ровнее тем лучше, этому мешает раскачивающийся крюк, и шатающееся здание. Игра похожая на ту, в которую я играл в детстве, когда телефоны ещё были кнопочными.

Ссылка на игру

Читать далее

Vue 2 в 2025: какие паттерны стоит забыть, а какие – оставить

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

Vue 2 в 2025 году официально стал legacy, но множество проектов всё ещё работают на нём. Миграция на Vue 3 не всегда возможна сразу, поэтому важно правильно поддерживать и модернизировать старый код.

В этой статье разберём:

Устаревшие паттерны, от которых лучше избавиться.

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

Альтернативы из Vue 3, которые можно адаптировать уже сейчас

Читать далее

Простой кейс, про простой A/B-тест, чтобы брать и пользоваться (чутка математики + код)

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

Без воды и лишней теории (хотя я так не считаю, что она лишняя), на примере конкретного кейса разберем, как быстро и без боли запустить A/B-тест через Яндекс.Метрику и куки.

Прочитать и пойти всех оттестировать...

Frontend и OpenAPI: генерация клиента, мокирование API и данных с помощью MSW

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

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

Читать далее

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