Обновить
448.7

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

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

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

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

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

Запустили сайт HomeBro, который ищет квартиры сразу на всех топовых сайтах объявлений. Все предложения по недвижке на одной карте + уведомления о новых вариантах в телегу.

Читать далее

Atomic CSS здорового человека

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

Перевод статьи «Reimagine Atomic CSS» двухлетней давности одного из членов команды Vue core Anthony Fu, автора UnoCSS, в которой обсуждается концепция Atomic CSS, плюсы и минусы Tailwind и Windi CSS

Что такое Atomic CSS?

Для начала давайте дадим правильное определение атомарному CSS. Из этой статьи Джона Полачека:

> Атомарный CSS — это подход к архитектуре CSS, при котором предпочтение отдается небольшим, одноцелевым классам с именами, основанными на визуальной функции.

Читать далее

TabNine: проверка на практике функционала и новая реальность разработки с ИИ

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

Привет, Хабр! На связи команда Work Solutions. Мы попросили нашего фронтенд-разработчика Александра Шапорова поделиться опытом работы с функционалом AI ассистента TabNine на реальном проекте. Саша расскажет, ускоряет ли утилита разработку, повышает ли качество кода и делает ли процесс программирования более продуктивным. А также объяснит, почему ассистенты на базе искусственного интеллекта не могут стать незаменимыми помощниками разработчиков в написании кода, и почему ИИ в ближайшее время не сможет полностью заменить программистов.

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

Армия ассистентов и утилит на базе искусственного интеллекта пополняется с каждым днем. Готова поддержать разработчиков в их нелегком деле. Среди ассистентов также появился TabNine. Разберемся, может ли этот «джинн в лампе» стать незаменимым помощником разработчиков в создании кода. 

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

Читать далее

Где приятнее покупать автозапчасти: сравнение интернет-магазинов из афтермаркета с «Озоном» и друг с другом

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

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

Читать далее

По заветам кота Вжуха: превращаем веб-приложение в сервис на платформе VK Mini Apps

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

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

Всем хабропривет. Я Леонид Шевчук, старший разработчик. Четыре года создаю мини-приложения. Руковожу командой фронтенд-разработки VK Знакомств. Наш сервис разработан как мини-приложение ВКонтакте. Это яркий пример того, что на платформе VK Mini Apps можно делать продукты с очень развитой функциональностью.

Эта статья пригодится тем, кто ещё не работал с нашей платформой, поэтому я буду рассказывать очевидные для опытных разработчиков вещи. Сначала мы освежим в памяти, на каких технологиях делаются современные веб-приложения. Затем научимся портировать в VK Mini Apps — на примере приложения для планирования дел, написанного на React. И сделаем это так, чтобы оно выглядело органично для платформы. А для чего это всё нужно? Сейчас объясню.

Читать далее

План «Барбаросса» от Vue.js

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

После выхода крайней и достаточно революционной в плане добавления Composition API версии Vue 3.0 более чем три года назад, каких-либо серьезных изменений от команды Evan You в самом фреймворке больше не было. Только стандартные багфиксы, оптимизация и робкие попытки стать с TypeScript ближе. Основное внимание переключилось на экосистему - Vite, Nuxt, VitePress, Pinia и другие.

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

Читать далее

Создание пользовательского типа поля Form в Joomla 5 на примере Modal Select

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

В панели администратора Joomla встречаются поля, которые нужно заполнить данными из других компонентов: указать материал, пункт меню, контакт, товар и т.д. Обычно такие поля оформляются в виде выпадающего списка select option, могут оформляться в виде input type="text" с datalist, но есть и удобные поля, показывающие список искомых сущностей, с фильтрацией, поиском, пагинацией и т.д.

Все мы видели эти поля в действии при выборе материала в пункте меню типа "Материалы - Материал", "Контакты - Контакт", или при создании алиаса (псевдонима) пункта меню - "Системные - Псевдоним".

Как создать точно такое же, но своё (например, для выбора товаров) расскажет эта статья.

Читать далее

Уже поменяли шину? Наш опыт «переобувания» и разработки интеграционной платформы

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

Хабр, привет! На связи Дмитрий Бадулин, я занимаюсь разработкой ПО в компании К2Тех. Корпоративная сервисная шина, или как это по-другому называется, интеграционная платформа — это отдельная боль для множества компаний. И сегодня в условиях, когда некоторые middleware-решения класса ESB перестали нормально работать в России, возникает новая волна спроса на проектирование системы обмена данными между множеством ИС. В их числе, разумеется, есть как красивые и удобные, которые легко интегрировать, так и кошмар интегратора, которые никак не хотят нормально работать.

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

Читать далее

16-, 8- и 4-битные форматы чисел с плавающей запятой

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

Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расширенной точности типа «long double». Эти типы данных покрывали почти все нужды обработки вещественных чисел. Но в последние несколько лет, с наступлением эпохи больших нейросетевых моделей, у разработчиков появилась потребность в типах данных, которые не «больше», а «меньше» существующих, потребность в том, чтобы как можно сильнее «сжать» типы данных, представляющие числа с плавающей запятой.

Я, честно говоря, был удивлён, когда узнал о существовании 4-битного формата для представления чисел с плавающей запятой. Да как такое вообще возможно? Лучший способ узнать об этом — самостоятельно поработать с такими числами. Сейчас мы исследуем самые популярные форматы чисел с плавающей запятой, создадим с использованием некоторых из них простую нейронную сеть и понаблюдаем за тем, как она работает.

Читать далее

F и Z паттерны в дизайне. Куда смотрит зритель?

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

Куда мы смотрим в первую очередь?

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

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

Читать далее

Особенности интеграции метода CallPassword ID

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

Двухфакторная идентификация и подтверждение телефонного номера пользователя сегодня входят в «мастхэв» каждого крупного ИТ-сервиса. CallPassword ID предлагает возможность идентифицировать клиента по его номеру телефона через исходящий звонок на номера компании. Способ хоть и не самый привычный, но набирающий популярность в виду надежности и низкой стоимости. Разберем возможности для интеграции метода и сравним их с популярными аналогами.

Читать далее

Frontend Talks: как упростить создание контекста с помощью Constate

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

Привет, Хабр! Я Константин Логиновских — разработчик в Cloud.ru. Недавно я выступил на Frontend Talks с темой «Constate — контекст на стероидах». Рассказал, какой контекст захочет использовать каждый, почему Constate — это круто и полезно, а также на примере небольшого приложения показал, как с его помощью улучшить разработку. Мой доклад в письменном виде под капотом — welcome!

Подробнее

Откуда брать идеи для пет-проектов

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

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

Читать далее

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

Неочевидные моменты TypeScript и способы их решения

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

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

Если вам будет удобно сразу же проверять каждый пример, читая статью, можно это делать в редакторе. Он удобен тем, что версию TypeScript в нем можно переключать.

Читать далее

Билдер Vue 3 веб приложений

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

Vue 3 вебсайт билдер (npm пакет vue-webapp) позволяет создать каркас будущего веб приложения, с возможностью выбора бизнес-шаблона (портфолио, блог, магазин и .т.д.), макета сайта, дизайна и элементов функционала (API модуль, i18n, PWA, splash screen, auth модуль, темы и т.д.), для дальнейшей кастомизации и наполнения контентом.

Читать далее

Typescript: лучшие практики

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

Привет👋 В последние годы среди фронтенд разработчиков Typescript используется практически везде по умолчанию, начиная небольшими пет-проектами и заканчивая огромнейшими веб-приложениями. Однако, до сих пор на некоторых проектах можно встретить кучу any и Function. Давайте разберемся используете ли вы этот невероятно мощный инструмент правильно?

Читать далее

Магия транзакций в Bitrix: Как заставить ваши данные держаться как вкопанные

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

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

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

Читать далее

Руководство по кэшированию в Django

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

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

Читать далее

Две мощных возможности Python, упрощающие код и улучшающие его читабельность

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

Улучшите качество кода, украсив его оператором match и срезами объектов.

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

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

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

Читать далее

Интересные трюки HTML. Экстремальный минимализм

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

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

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

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