Обновить

Фронтенд

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

Личный опыт «вайб-кодинга» глазами руководителя разработки

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

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

Читать далее

Я портировала знаменитую утилиту Fetch на ReactOS

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

Да, я действительно написала Fetch-подобную утилиту для ReactOS. В этой статье я расскажу, как написание приложения для ReactOS стало моим первым опытом. При этом я не умею программировать.

Читать далее

Как настроить баннер cookie-согласия по требованиям GDPR, Google Consent Mode и законодательства разных стран

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

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

В этой статье мы разберём:
· Зачем нужно согласие на cookie?
· Какие бывают типы cookie?
· Что такое Google Consent Mode?
· Как реализовать баннер согласия?
· Как управлять куки в зависимости от предпочтений пользователя?
· Как проверить, что настройки согласия работают?Зачем нужно согласие на cookie?

А также приведем примеры политик использования файлов cookie.

Читать далее

Есть ли жизнь на GitVerse? Расширения

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

Я давний пользователь GitHub. Можно сказать, что на моих глазах он вырос из самобытного GIT-хостинга до внушительной экосистемы для разработчиков под патронажем само́й Microsoft, и по факту стал индустриальным стандартом.

Со временем я стал задаваться вопросом — можем ли мы в своей стране своими силами создать аналогичную экосистему? В которой нет проблем с платежами, не удаляют репозитории и аккаунты из-за поездки в Крым, где российские компании заказчики не опасаются хостить свои коммерческие проекты. В 2023 году я попробовал GitFlic, но не смог им пользоваться из-за нестабильной работы репозиториев. В 2025 году я решил попробовать GitVerse. Проекту уже больше года, и, скорее всего, он созрел для реального применения. В первую очередь меня интересует, есть ли у GitVerse потенциал стать не просто надёжным хостингом для GIT-репозиториев, а развиться в мощную экосистему, не просто повторить функционал GitHub в масштабе 1:43, а реализовать новое поколение индустриальных стандартов для совместного творчества разработчиков и других IT-специалистов.

Читать далее

Zod v4: Стал в 17 раз медленнее? (и почему это важно)

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

Всем привет! 👋

Я — Дмитрий, автор Sury — самой быстрой библиотеки для работы со схемами. Если вы фанат Zod (а кто не фанат?), эта статья для вас. Сегодня я поделюсь неожиданными результатами тестов производительности Zod v4, расскажу, что это значит для вас, и как избежать подводных камней.

Zod v4: Стал в 17 раз медленнее и никто этого не заметил 🙈

Начнём с небольшого кликбейта.

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

Читать далее

Всё, что можно автоматизировать, должно быть автоматизировано. Даже aria-label

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

Я написала свой ESLint-плагин для доступности. Вот как и зачем.

Я люблю автоматизацию: если что-то можно доверить инструменту, это стоит делать. Особенно то, что повторяется из проекта в проект: aria-label, alt, tabIndex.

Линтер - это как фоновый напарник: один раз настроил - и он работает. Не устает, не отвлекается, не забывает. А в контексте доступности, где многое завязано на деталях, это особенно важно.

Читать далее

Новый язык от 1С: Зачем? Кому? Стоит ли лезть?

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

Привет, Хабр (и просто случайные читатели, зашедшие сюда в поисках истины или интересной статейки на пару минут)!

Так вышло, что последние полгода я провёл в тесных объятиях «Личного кабинета сотрудника» на Элементе — новом языке программирования от 1С. За это время я успел его изучить, полюбить, возненавидеть, снова полюбить и, наконец, написать эту статью, чтобы поделиться своими впечатлениями, страданиями и неожиданными открытиями.

Читать далее

Меня уволили почти день в день. Ответ на пост как после испытательного срока попросить поднятие зарплаты джуну

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели2.3K

Прошлый пост https://habr.com/ru/articles/902990/

И вот подходил испытательный срок к концу. Я в ожидание 1 on 1 с директором и hr-ом и вот захожу в гугл мит, и разговор начинается сразу:

HR: 'Привет, к сожалению у меня для тебя плохие новости.'
Я: 'Сижу в ахере так как считаю что перфоманс для джуна мастхэв'
Директор: 'Мы ожидали большей выработки, но к сожалению данных результатов не хватает'
Я: 'Да, я все понимаю. Ничего страшного, не расстроен. Просто не сошлись взглядами'
HR: 'Когда назначить дату увольнение'
Директор: '30 апреля последний день (к слову созвон 28 апреля. Даже за неделю не смогли предупредить)'
Я(в мыслях): 'Хотят меня пнуть чтобы майские не оплачивать. Работаем по ТК РФ. Я так просто не уйду и заберу небольшую котлетку:D'
Я(Вслух): 'Хорошо, перешлите мне приказ об увольнение мне надо с ним ознакомиться'
И на этом созвон закончился. HR начало поливать меня комплиментами какой я большой грин флаг, но понимаю что я очередной сотрудник, которого компания сливает чтобы сэкономить бабок.

P.S. К слову у меня 155 задач закрыто, 75 готовы к релизу.НО видимо надо больше. И это с зарплатой 67к руб на руки.

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

НО. Я так просто не ушел и начались споры с компанией чтобы они выплатили мне небольшую компенсацию. Что вот так просто за пару дней до конца испыта, меня выкидывают на улицу.

Об этом в следующем посте \o/

Читать далее

Приложение на React c нуля до деплоя с помощью Cursor без строчки кода

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

Самое популярное приложение после Hello World на react - это личный планировщик задач Todo и мы не будем сильно оригинальничать и напишем его с нуля на react и разместим в docker контейнере и поможет нам в этом Cursor AI IDE.

Разрабатывать приложение будем в ОС Windows 10, упакуем в docker контейнер и после разместим на хостинге.

Читать далее

Меня заставили повайбкодить

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели31K

Я давно пользуюсь кодогенерацией. Ещё во времена Yii фреймворка мне нравилось, что одним кликом мышки можно было сгенерировать CRUD с бэкендом, таблицами и формами. Backbone.js сразу из коробки обеспечивал REST API запросы и другие фичи. Между тем временем и нынешним днём — целый пласт инструментов для автоматизации, бутстрапинга и шаблонизации разработки. Приходилось и хрюкать, и глотать. То, что всё это, мягко говоря, так себе — уже отдельная история. Местами стало даже хуже. Хуже, чем когда вы неделю возились с конфигом Webpack.

В этой статье мы рассмотрим вайбкодинг. В чистом виде так сказать.

Читать далее

Как делать внешние редиректы с JavaScript?

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

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

Я хочу сравнить самые популярные методы для редиректов в браузере с помощью JavaScript, а так же способы как их сделать безопаснее и продуманнее.

Читать далее

Валидация сложных форм с помощью Constraint Validation API

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

DOM предоставляет API для валидации пользовательского ввода. Вообще говоря, мы им пользуемся часто, например:

Читать далее

Четвертый шаг в мир RxJs: незавершенные потоки — тихие убийцы приложений

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели1.1K

На протяжении первой, второй и третьей статей мы прошли вместе довольно увлекательный путь: от первого знакомства с Observables, где разобрались с основами реактивного подхода, через освоение операторов, которые позволили нам эффективно преобразовывать и фильтровать данные, до комбинирования потоков, открывшего возможности для синхронизации данных из нескольких источников. Мы постепенно превращали RxJS из интересного инструмента для экспериментов в мощный инструмент для реальных задач.

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

Если первые три шага были о создании и трансформации потоков, то четвёртый шаг — это о том, как брать ответственность за созданное. Это шаг к зрелости в работе с RxJS — понимание того, почему управление подписками важно и как оно влияет на качество ваших приложений.

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

Читать далее

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

Освещение в 3D моделях АГР: как выполнить требования Москомархитектуры

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

С развитием технологий архитектурная визуализация значительно изменилась, и 3D модели стали неотъемлемой частью процесса проектирования и согласования объектов. В последние годы требования Москомархитектуры все больше ориентируются на использование цифровых технологий, включая 3D моделирование. Это позволило значительно улучшить точность представления проектов, упростить процесс согласования и повысить качество архитектурных решений. Одной из таких инноваций является концепция цифрового двойника — виртуальной копии реального объекта, которая используется для моделирования и анализа различных характеристик здания или сооружения.

Читать далее

Меню для отзывчивого интерфейса без скриптов

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

В этой статье мы расскажем как создать отзывчивое меню по принципу mobile-first, используя только HTML и CSS — без JavaScript. Полный код, используемый в этой статье, доступен в репозитории на GitHub.

Читать далее

Создание интерактивных карт с D3.js и Leaflet: Визуализация объектов и графов

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

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

Читать далее

Автовыведение типов в TypeScript: мощь дженериков и функций

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели2.6K

Я уже более 7 лет активно использую TypeScript, применяя его в самых разных сценариях — от простых типизированных переменных до сложных условных типов и интерполяции. Однако TypeScript продолжает удивлять: сегодня я открыл для себя ещё один элегантный сценарий использования автовыведения типов в дженериках и функциях.

В этой статье разберём, как TypeScript автоматически выводит типы в дженериках на примере функции fetchFile из моего кода.

Читать далее

JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 2/2: работа с потоками

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.8K

Demo | GitHub

Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript

Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.

В статье расскажу про работу с потоками.

Читать далее

Создание Умной Документации на основе Встраиваний OpenAI (Деление на фрагменты, Индексация и Поиск)

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

Всем привет! Хочу поделиться своим подходом к созданию чат-бота с функцией «умной документации» для проекта, над которым я работаю. **Я не являюсь экспертом в области ИИ, поэтому любые предложения и улучшения приветствуются!**

Цель этой статьи — **не** создавать очередной туториал по сборке чат-бота с OpenAI. Таких материалов уже достаточно.

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

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

---

## Зачем?

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

Такой ассистент может использоваться в разных сценариях:

- **Быстрые ответы на частые вопросы**

- **Поиск по документации как в Algolia**

- **Помощь пользователям в навигации по документации**

- **Анализ пользовательских вопросов и хранение их для анализа**

---

## Краткое содержание

Ниже приведены три основные части решения:

1. Чтение файлов документации

2. Индексация документации (разбиение, перекрытие, эмбеддинги)

3. Поиск по документации и интеграция с чат-ботом

---

## 1. Чтение файлов документации

Вместо того чтобы жестко прописывать текст, вы можете просканировать папку и найти все `.md` файлы с помощью `glob`.

Читать далее

Как аргументированно попросить повышение после испытательного срока джуниору?

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

Во-первых постараюсь объяснить почему я хочу больше:)
По итогам собеседования меня взяли на позицию джуниор фронтенд разработчик в одну из московских айти компаний на удаленку. И вот какие были условия на момент принятия оффера
- Позиция джуниор фронтенд разработчик
- Будет ментор у которого всегда можно будет спросить
- Испытательный срок 3 месяца

В итоге узнается что ментор это такой

Читать далее