Все потоки
Поиск
Написать публикацию
Обновить
342.95

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

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

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

Меньше магии, больше кода: мой способ писать Django views

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

Команда Python for Devs подготовила перевод статьи о том, как автор выбирает способ написания представлений в Django. Он считает, что обобщённые классовые представления (CBV) скрывают слишком много магии, усложняют чтение кода и отладку. Вместо них он использует базовый View, чтобы сохранять контроль, но при этом избегать громоздких if в функциях.

Читать далее

Командная работа без выгорания: как вести IT-команду

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

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

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

Правда в том, что люди уходят не только из-за денег. Гораздо чаще — из-за ежедневного обесценивания, абсурдного контроля и ощущения бессмысленности. 58% IT-специалистов готовы на меньшую зарплату, но не готовы мириться с токсичной культурой управления (Harvard Business Review).

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

Читать далее

Пишем переиспользуемые инпуты для реактивных форм с ControlValueAccessor + NgControl/Injector

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

ControlValueAccessor - это то, что отделяет профессиональную дизайн‑систему от набора костылей. Но как грамотно связать его с состоянием контрола (invalid, touched), не создав циклических зависимостей? Эта статья - не просто «ещё один туториал». Это пошаговое руководство по созданию универсального инпута на современном стеке: SignalsOnPush и безопасный инжект NgControl. Разбираем раз и навсегда.

Освоить CVA раз и навсегда

Как я стал официальным переводчиком книги издательства O'Reilly про Web Audio API

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

Хочу поделиться своим необычным достижением: я стал официальным переводчиком книги издательства O’Reilly. Я перевёл на русский язык книгу Бориса Смуся Web Audio API (O’Reilly, 2013). В процессе работы над собственным образовательным проектом на тему синтеза и обработки цифрового звука, я начал изучать API и наткнулся на эту книгу на английском языке. Сначала я просто её конспектировал, но полезной информации было так много, что постепенно мои конспекты превратились в полноценный перевод. Тогда у меня появилось желание довести работу до конца — чтобы у русскоязычных разработчиков тоже был доступ к этим знаниям. В итоге я смог получить официальное разрешение на публикацию перевода от главы отдела по правам издательства O’Reilly и делюсь переводом с вами.

Читать далее

Разбираем «под капотом» кастомную фитнес-метрику: от идеи до реализации на Python

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

Всем привет! Я, как и многие здесь, не только разработчик, но и человек, увлеченный циклическими видами спорта. Я обожаю копаться в данных своих тренировок из Strava: анализировать мощность, пульсовые зоны, темп. Но мне всегда не хватало одной вещи — единой, понятной и, главное, прозрачной метрики, которая бы отвечала на простой вопрос: "А насколько я сейчас в хорошей форме?".

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

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

Читать далее

Leaflet, роутинг и тонна JavaScript: создаем свой планировщик маршрутов с нуля

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

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

Так я начал в одиночку создавать The Peakline — свой большой проект для аутдор-энтузиастов. Одной из центральных и самых сложных частей этой системы должен был стать планировщик маршрутов. Я решил сделать его максимально функциональным и открытым, чтобы он стал витриной возможностей всего проекта.

Читать далее

Самый молодой резидент Product Radar: как семиклассник Максим Николаев создал безопасный браузер для детей

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

В 94-м наборе на Product Radar участвовал семиклассник(!) Максим Николаев со своим проектом Amanda – детским браузером с геймификацией и безопасным поиском. Его проект успешно запустился на нашей площадке и занял третье место по итогам недели. Специально для этой статьи я поговорил с Максимом и его родителями, чтобы узнать о предпринимательском пути, успехах и целях самого юного основателя  в нашем сообществе! 

Читать далее

За кулисами Bun Install

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

Запуск bun install работает быстро, очень быстро. В среднем, он работает примерно в 7 раз быстрее, чем npm, в 4 раза быстрее, чем pnpm, и в 17 раз быстрее, чем yarn. Разница особенно заметна в проектах с большой кодовой базой. То, что раньше занимало минуты, теперь занимает (милли)секунды.

Почему это так быстро? Читайте под катом.

Читать далее

Open Source и ЖКХ

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

Привет, мы делаем doma.ai - это open source платформа для рынка ЖКХ, нами пользуется сейчас больше 4 000 юрлиц, а на сервера прилетает до 1 000 rps в пиковые моменты.

Расскажу историю нашего open source, что это дало компании и куда мы хотим развивать open source часть. Посмотреть код и поставить ⭐️ можно на GitHub.

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

Конструктор лендингов: как мы научились делать сайты без разработчиков

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

У нас в Точка Банк много продуктов, для которых нужны SEO-лендинги: онлайн бухгалтерия, эквайринг, электронный документооборот. Создание одного сайта — это несколько недель работы с участием редактора, дизайнера, разработчика, тестировщика, верстальщика. Не страшно, если нужен один сайт. Но когда их много, на их создание уходит колоссальное количество времени. 

Меня зовут Василий Полосухин — я фронтовый техлид в Точка Банк. В статье рассказываю, как мы сделали визуальный конструктор страниц и научились собирать сайты без кода.

Читать далее

Регулярные выражения в PostgreSQL

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

Регулярные выражения (или regex) — это особые текстовые строки, используемые для описания поискового шаблона. В PostgreSQL regex становится незаменимым инструментом, особенно при работе с большими объёмами неструктурированных строковых данных.

Возможно, у кого‑то есть вопрос: «А для чего нам регулярные выражения в БД?» И мы вам ответим:

Регулярные выражения (regex) позволяют описать сложные текстовые шаблоны компактно и гибко.

Читать далее

Как мы собрали личный кабинет на микросервисах и избавили клиентов от бюрократии

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

Привет, Хабр! Я Катя Саяпина, менеджер продукта МТС Exolve. Наша онлайн-платформа — это конструктор омниканальных диалогов для бизнеса, доступный из личного кабинета. Как и почему мы раньше работали без него, что сподвигло нас на перемены и как мы справились с трудностями разработки, расскажу в этом материале.

Читать далее

Мониторинг и анализ производительности бэкенда с помощью ClickHouse и Grafana. Часть 3

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

Всем привет! Я Артём Седых, ведущий разработчик и тимлид проекта банковского сопровождения. Наш сервис — 8-летний монолит на PHP с командой из 39 человек. В цикле статей рассказываю об опыте разработки и внедрения альтернативы pinba: гибкого инструмента мониторинга, который позволяет увидеть живую систему как на ладони и понять, из‑за чего именно проседают определенные экшены. Сегодня, в третьей и заключительной части, рассмотрим мониторинг со стороны devops на дашбордах SLI/Apdex, поколдуем над статистическими методами для прогноза снижения производительности, поговорим об автоматических уведомлениях Grafana. Оценим перспективы развития, сравнительный анализ выбранного подхода и выводы по нашему опыту.

Читать далее

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

Выжимка самого полезного о библиотеке Motion для React из англоязычной документации

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

Когда я начал разбираться с Motion для React, то оказалось, что свежих обзорных статей почти нет — нашёл только несколько старых постов про framer-motion. Поэтому я решил написать свой обзор: перевёл и разобрал документацию (ссылки в конце), попробовал библиотеку в деле и собрал всё в одном месте.

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

Читать далее

Метод MoSCoW — универсальный инструмент для приоритизации задач любого масштаба

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

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

Учимся интуитивно отделять важное от второстепенного.

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

Составляем беклог продукта. 

Планируем спринт.

Решаем личные задачи.

Сравниваем MoSCoW другими методами, RICE, ICE, Kano и Buy a Feature.

Узнать больше

Один из крупнейших взломов NPM: более 18 пакетов были скомпрометированы

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

8 сентября в 13:16 UTC система мониторинга Aikido зафиксировала подозрительные действия: в npm начали публиковаться новые версии популярных пакетов, содержащие вредоносный код.

Читать далее

SRE на Frontend`е

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

На Хабре уже есть статьи про качество кода (линты, хинты, хорошие практики), стратегии обработки ошибок (feature toggle, request retry) и UX/UI их отображения.

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

Читать далее

Thing — Model — View — Editor

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

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

Содержание этого документа интересно и с исторической точки зрения (а как там “деды” воевали программировали), так и в плане уточнения некоторых современных представлений об этом паттерне и программной архитектуре в целом.

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

СУЩНОСТЬ-МОДЕЛЬ-ВЬЮ1-РЕДАКТОР

на примере из системы планирования2


Кому: LRG3

От: Тригве Реенскауг4

Файл: [IVY]<Reenskaug>SMALL>TERMINOLOGY2.DOC

Дата: 12 мая 19795

Цель данной заметки - исследовать метафоры thing-model-view-editor через последовательный набор примеров. Все примеры взяты из моей системы планирования и иллюстрируют вышеуказанные четыре понятия. Все примеры были реализованы, хотя и не в рамках чистой структуры классов, описанной здесь. Метафоры соответствуют real world-Model-view-Tool, предложенным в заметке о требованиях DynaBook ([Ivy]<Reenskaug>DynaBook.doc).


THING (СУЩНОСТЬ)

ОПИСАНИЕ ТЕРМИНА

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

ПРИМЕР: КРУПНЫЙ ПРОЕКТ

Сущность здесь - это крупный проект. Это может быть проектирование и строительство большого моста, электростанции или морской нефтедобывающей платформы.

Читать далее

Деструктуризация в JavaScript

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

Без сомнений, JavaScript — крайне популярный язык программирования. И разработчики постоянно создают обновления, которые позволяют писать код проще, короче и понятнее. Одним из таких инструментов стала деструктуризация — способ получения данных

Привет, Хабр! Меня зовут Александр Дудукало, я автор базового курса по JavaScript. В этом тексте на примерах разберемся, как работает синтаксис и как деструктуризировать массив. Подробности под катом!

Читать далее

Как ИИ помогает мошенникам

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

Тема безопасности в эпоху LLM всплывает всё чаще. И речь идёт не о самой модели — а о пользователях, которые доверяют ей без оглядки.

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

Читать далее

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