Как стать автором
Обновить
348.62

Веб-разработка *

Делаем веб лучше

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

Что такое MR-стенды и с чем их едят

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

В условиях непрерывной интеграции и высокой скорости разработки фронтенд неизбежно сталкивается с вызовами, связанными с тестированием изменений до их слияния в основную ветку. Любой, даже минимальный апдейт, способен повлиять на пользовательский опыт, поэтому эффективность процессов тестирования становится критически важной. Для нас спасением стали MR-стенды, которые предоставляют возможность изолированного тестирования новой функциональности, минимизируя риски и сокращая время на выявление и исправление ошибок. Рассказываем, как работают MR-стенды, в каких случаях они особенно полезны и как их внедрение повлияло на качество и скорость нашей разработки.

Читать далее

Академический минимум js-разработчика: базовые концепции

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

Приветствую всех! Меня зовут Рома, я разработчик в компании АйТи-Баланс. Хочу поделиться с вами своими знаниями и помочь разобраться в базовых концепциях, которые необходимы каждому новичку в мире JavaScript.

Идея этой статьи возникла из популярного репозитория на GitHub. Я немного адаптировал материал, дополнил его и выделил ключевые аспекты, чтобы сделать информацию максимально доступной и полезной.

Читать далее

Кейс применения useMemo и useCallback в React для оптимизации рендеринга при изменении глобального состояния

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

Я занимаюсь фронтенд разработкой на React последние 6 лет (в роли full-stack разработчика). Я знал и слышал, что существуют хуки useCallback и useMemo, которые нужны для оптимизации рендеринга. При этом про их использование я слышал только в теории или на собеседованиях.

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

Читать далее

ИИ для веб-разработки

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


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


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


Обратите внимание, что я акцентировал внимание на бесплатных решениях для написания кода клиентской части веб-приложений.


Список протестированных инструментов:



Далее я подробнее расскажу о первых трех (Codeium, Devv, V0) и немного о двух следующих за ними (ChatGPT, GPT4All) решениях из представленных в списке, как наиболее "выдающихся" с моей точки зрения. Остальные сервисы (начиная с cursor и ниже) в той или иной степени похожи на codeium и `devv`, но показывают более плохие результаты генерации кода по запросу, исправления ошибок и документирования кода, а также менее удобны в использовании и иногда требуют дополнительных настроек, например, указания ключа OpenAI, установки лишних инструментов (тулкитов), являются условно бесплатными и т.п.

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

Истории

Сравнение AI-инструментов для прототипирования: v0, Bolt и Lovable

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

Здравствуйте! Меня зовут Богдан, я являюсь автором телеграм канала про нейросети в телеграме, посчитал эту статью очень интересной для перевода, приятного прочтения

На переполненном рынке инструментов разработки с поддержкой ИИ выделяются три платформы для прототипирования компонентов и приложений: v0 от Vercel, Bolt от StackBlitz и Lovable. В этой статье рассматриваются их практическое применение для начальной загрузки MVP, ограничения и компромиссы с инженерной точки зрения.

Обзор: v0, Bolt, Lovable

Основная задача, которую пытаются решить эти инструменты, не нова: уменьшить трение между идеей и реализацией. Однако их подходы существенно различаются как по архитектуре, так и по исполнению.

v0.dev преуспел в быстром прототипировании пользовательского интерфейса, и несколько компаний используют его для поддержки библиотек компонентов и дополнения своих дизайн-систем. Он хорошо работает с популярными UI-фреймворками, такими как Tailwind или Material-UI. v0 теперь поддерживает генерацию не только UI-компонентов, но и серверных служб, включая интеграцию с базами данных и API-маршрутами, демонстрируя стремление Vercel к разработке полного стека. Хотя эта поддержка полного стека находится на ранней стадии, в будущем она может стать конкурентоспособной.

Я часто предоставляю v0 макет (загружаю изображение или выбираю входные данные Figma), а затем предлагаю интерактивную версию, которая меня устраивает. Он также хорошо работает с чистым текстом, если вам удобно отложить дизайн. Если вам нужна дополнительная поддержка бэкенда, например, БД для хранения данных, v0 также может работать с такими поставщиками, как Prisma, создавая для вас схему.

Читать далее

Роберт, ты мне не дядюшка

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

Роберт Мартин нехило так повлиял на айти‑индустрию. Он придумал принципы SOLID, о которых спрашивают на собесах, пишут статьи на хабре и спорят в комментариях. Он написал книгу «Чистый код» и сделал это словосочетание айтишным мемом. Если зайти на хэдхантер, вбить в поиске слово «чистый», выбрать специализацию «Программист, разработчик» и нажать «Найти», получим больше семисот вакансий. Про чистоту кода и архитектуры спорят на код‑ревью, в комментариях и статьях по всему интернету. Разговоров о чистоте внутри айти‑тусовки бывает так много, словно мы находимся в сообществе клинеров, а не программистов.

Мартин называет себя «дядюшкой Бобом». В своих работах он выступает в образе опытного мудрого и взрослого родственника, который несёт свет и знания таким зелёным и неопытным племянникам. И у него отлично получилось втереться в доверие! Типичный хороший программист‑анальник бессилен перед таким добрым дядей. И я знаю, о чём пишу. Восемь лет назад я сам запоем читал книги дядюшки, а потом до усрачки защищал чистоту кода на код‑ревью. Я на себе почувствовал, насколько Роберт Мартин отличный агитатор и пропагандист. Работая с другими людьми, читая статьи и обсуждения на Хабре и хакерньюс, анализируя требования к вакансиям, я понимаю, что не я один попался на отличную пропаганду от «дядюшки Боба».

Читать далее

Готовим слайсы в Go: подробно о динамических массивах, строчках и ускорении

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

Привет, Хабр! Меня зовут Владислав Белогрудов, я работаю в команде разработки и сервисов управления в YADRO. Мой текущий проект — информационная система на Go. 

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

Под катом рассмотрим, что такое слайсы и string (строки) изнутри, как использовать их с sync.Pool для ускорения — без «внутренностей» последнего, но с точки зрения клиента. Расскажу о полезных трюках, приведу значения измерений производительности и познакомлю с альтернативными решениями. 

Читать далее

Неизвестно полезный CSS. Часть 7

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


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.


Сегодня мы рассмотрим:

  • что вы можете не знать про псевдо-класс :not();
  • примеры работы псевдо-класса :has(), работающие по логике операторов ИЛИ и И;
  • как неожиданно может повыситься специфичность правила при использовании псевдо-класса :has();
  • чем полезно свойство user-select, кроме отмены выделения текста.

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

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

Сделали свой обучающий курс для разработчиков. Выпускать или нет?

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

Всем добра! Я руковожу агентством web/mobile разработки, поэтому заинтересован, чтобы моя команда росла в скиллах. Тем временем рынок меняется, постоянно выкатываются обновления, а найти действительно сильных специалистов все сложнее.

Читать далее

FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем фронтенд

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

Друзья, приветствую! Наконец-то дошли руки до описания второй части нашего большого проекта по работе с выдуманной клиникой «Здоровье Плюс».

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

В прошлой части мы полностью закрыли вопрос логики нашего бота. Сегодня мы займемся написанием фронтенда для нашего Telegram MiniApp с использованием современного JS фреймворка Vue.JS 3.

К концу статьи мы реализуем полноценный реактивный фронтенд, который одинаково хорошо будет смотреться, как в формате веб-сайта (мобильная и пк-версия), так и в формате Telegram MiniApp.

Читать далее

tuple в CPython – мутабельный! И другие шокирующие детали из C-шной реализации

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

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

Я продолжаю свой цикл статей на хабре про детали реализации питона. Сегодня я хочу рассказать, как tuple устроен внутри.

Под катом будет про: мутабельность кортежей (и планы по отмене такого поведения), дичь с ctypes, переиспользование памяти и другие оптимизации.

Ну и конечно – мое полное видео на полтора часа, где будет множество дополнительной информации о деталях работы VM.

Если вам такое интересно или целиком незнакомо – добро пожаловать!

Читать далее

Почему ты не должен использовать onChange в React

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

Недавно, работая с компонентом ввода номера телефона в форме регистрации, я столкнулся с весьма неочевидной особенностью работы различных обработчиков событий. Связано это непосредственно с onChange, onPaste и onInput. Мне пришлось провести достаточно глубокий ресерч, чтобы разобраться в особенностях, которые я встретил. Начнем по порядку.

Читать далее

Как ChatGPT может помочь джуну: практический гайд

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

Ситуация: Ты джун, и тебе дают задачу на разработку. Часто это может быть фикс багов или минорная доработка. Ты еле развернул проект, чуть-чуть разбираешься в синтаксисе, но что значат все эти многобукаф и строчки кода – пока понятия не имеешь.

Читать далее

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

Антиспам бот модератор в телеграм. Защищаем группу за три минуты

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

Недавно мы столкнулись с волной спама. И написали антиспам бота, который удаляет спам сообщения и помогает блокировать нарушителей.

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

В статье вы найдете

ссылку на файлы проекта;

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

Бот умеет удалять спам сообщения, отправлять их на модерацию и дообучаться в случае ошибок.

Читать далее

Перестаньте молиться на принципы S.O.L.I.D

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

В мире разработки программного обеспечения существует множество "священных коров" — принципов и практик, которые принимаются как данность и редко подвергаются критическому анализу. Особенно показательна ситуация с принципами SOLID на русскоязычных ресурсах: достаточно открыть Хабр, чтобы найти 100500 статей о SOLID, и в каждой из них принципы интерпретируются по-разному.


Само существование такого количества "объяснительных" статей говорит о фундаментальной проблеме: если принципы требуют толкования, значит их названия не являются самодостаточными и интуитивно понятными. А если каждый разработчик понимает принципы по-своему, возникает вопрос — зачем вообще нужны принципы, которые не дают однозначного руководства к действию? Принципы SOLID, предложенные Робертом Мартином, давно стали одной из таких "священных коров". Однако пришло время честно признать: то, как мы используем SOLID сегодня, часто противоречит изначальным идеям и в целом иногда может приносить больше вреда, чем пользы. Зависит от контекста.


SRP не SRP


Самый яркий пример искажения первоначального замысла — это интерпретация принципа единственной ответственности (SRP).

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

Rust 1.84: новый релиз отличного языка программирования. Еще лучше, еще эффективнее, как всегда

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

Источник изображения.

Вышел новый релиз языка программирования Rust версии 1.84. Этот язык общего назначения изначально разрабатывался проектом Mozilla, но теперь его поддерживает независимая некоммерческая организация Rust Foundation. Rust ориентирован на безопасную работу с памятью и обеспечивает высокий уровень параллелизма выполнения задач, не прибегая к сборщику мусора или полноценному runtime (runtime ограничен базовой инициализацией и поддержкой стандартной библиотеки). Что нового? Давайте разбираться.
Читать дальше →

Новое руководство по стилю Angular

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

Текущее руководство по стилю было создано ещё в 2016 году, когда только появился переработанный Angular v2.0. Как пишет Джереми Эльбурн (разработчик Angular с 2012 года и технический руководитель проекта), многое изменилось, пора изменить и принятый стиль разработки, поэтому предложен RFC:

Читать далее

Как собрать идеальную команду, если кандидаты завышают опыт, используют ChatGPT и просят высокую зарплату

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

Привет, Хабр! Меня зовут Артём Елизаров, я руковожу отделом разработки фронтальных решений в R-Style Softlab. Значительную часть рабочего времени я посвящаю подбору специалистов и в общей сложности занимаюсь этим уже более 5 лет. В этой статье я хотел бы поделиться опытом проведения собеседований, их спецификой и дать рекомендации тем, кто ищет работу фронтенд-разработчиком. 

Читать далее

Дополненная реальность в Web: какие библиотеки актуальны в 2025?

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

Привет! Я Света, фронтенд-разработчик в отделе рекламных спецпроектов в KTS.

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

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

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

Читать далее

Что случилось с легковесными десктопными приложениями? История Electron

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

Electron — это один из самых известных инструментов современного разработчика. Если присмотреться, то это родственник React Native, манящий лозунгом «пиши один раз, запускай везде!», но с гораздо меньшими издержками по сборке и релизу, чем в случае мобильной разработки. Его уникальное преимущество заключается в комбинации Node.js и Chromium, создающей мощную десктопную среду для веб-технологий. Официальный блог Electron не так давно отметил своё десятилетие, что весьма удивляет с учётом того, насколько глубоко этот инструмент успел проникнуть в культуру разработки.
Читать дальше →

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