Наполняя сервис функциями, которые непременно будут нужны и понятны для пользователя, легко перестараться и произвести эффект ровно противоположный. Часто те, кто «живут» своим продуктом, забывают, что все его преимущества и удобства — не данность для пользователя, а дополнительная когнитивная нагрузка, которая может начать зашкаливать, если создатели сервиса не будут периодически заземляться.
Под катом небольшое, но осмысленное размышление о том, почему фичеристский подход может убить пользу продукта, и как подойти к разработке так, чтобы этого все‑таки не произошло.
Компания fuse8 временно не ведёт блог на Хабре
Избавляемся от легаси: паттерн «Перехват Событий»
Когда мы постепенно переводим легаси систему на новые рельсы, возникает множество случаев, когда само легаси и то, чем мы его заменяем должны взаимодействовать. Поскольку внесение изменений в легаси — это всегда долго, дорого и сложно, нам нужен механизм, который сможет интегрировать возможности новой системы, минимизируя при этом воздействие на легаси. Разбираемся, как можно использовать паттерн «Перехват Событий», чтобы пересылать их в новую систему.
Проектный менеджмент в бигтехе: как там все устроено, и почему во всем этом отсутствует Scrum
Если вам интересно, какие инструменты не любят инженеры в бигтехе, почему проджекты там скорее не нужны, для чего на самом деле Scrum, и как стоит подходить к ведению проектов, если есть цель вырастить хорошую инженерную культуру и регулярно добиваться необходимых компании результатов, залетайте под кат и давайте разбираться вместе!
Как измерять эффективность разработчиков, и почему метод McKinsey может убить культуру разработки в компании
Когда люди, не знакомые с разработкой и процессами в ней предлагают свои фреймворки для измерения или улучшения эффективности, ничего хорошего из этого не выходит. Поговорим о том, почему ничего хорошего не может выйти и из метода McKinsey, которые решили, что придумали универсальный подход, и воодушевлены продвигать его в массы. А еще поговорим о том, как и зачем на самом деле стоит подходить к оценке продуктивности разработчиков, чтобы не сломать уже работающие механизмы.
Разбираемся в серверных и клиентских компонентах в Next.js: когда, как и почему?
Next.js предлагает широкие возможности для создания высокопроизводительных веб-приложений. Важной частью его функциональности с появлением Next App Router являются серверные и клиентские компоненты, которые позволяют разработчикам управлять рендерингом на стороне сервера и на стороне клиента, в зависимости от требований проекта. Давайте разберемся в этих компонентах более подробно.
Как провести демо: о подготовке, презентации и способах работы с обратной связью заказчика
Есть множество практик проведения демо. Некоторые очень распространены. Другие используются редко. Демо — вообще весьма индивидуальный процесс для каждой команды (особенно при отсутствии зафиксированных регламентов проведения демо).
Я расскажу о нашем опыте. Что-то в нем универсально и подойдет многим командам. Что-то — очень специфично. Просто берите на вооружение то, что кажется вам полезным, а остальное смело пропускайте.
События в .NET: стандартная реализация, альтернативы, и причем тут сахар
События – это объекты, которые получают уведомления о некотором действии в разрабатываемом ПО и могут запускать реакции на это действие. Разработчик может определить эти действия, добавив к событию обработчик. Разберем в этом материале само понятие событий в .NET и разные способы работы с ними.
Оцениваем сложность алгоритмов на C# по памяти и времени с примерами
Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов, а также наглядно покажем, как эта сложность влияет на производительность кода.
8 неочевидных уязвимостей при разработке e-commerce проекта на NextJS
Важно не забывать про безопасность при разработке. По мере усложнения сценариев и архитектуры в онлайн и екоммерс сервисах риск возникновения ошибок возрастает. Поэтому мы обучаем разработчиков основам безопасности в вебе и регулярно проводим стороннее пенетрационное тестирование перед запуском.
В этом материале расскажем о безопасности на примере мультиязычного e-commerce сервиса – интернет-магазина с аккаунтом покупателя. Проект построен на NextJS, где часть бекенда на JS и пишется фронтендерами. Поэтому помнить о безопасности в таком случае приходится более старательно, держа в уме случаи, о которых расскажем в этой статье.
Как правильно замерить скорость работы кода в .NET
Поговорим о бенчмаркинге кода: о том, что это такое и для чего нужно. А также покажем, как на основе результатов бенчмаркинга оценить производительность кода в проекте, написанном на C#.
Как не надо проводить performance review в команде разработки
Performance review для сотрудников мы проводим давно, и проходили мы этот путь не без ошибок. Хорошо, что на ошибках можно учиться — из них мы сложили анти-топ и описали его в этой статье.
Настраиваем рабочее место: полезные инструменты для разработчиков и не только
В статье расскажу про некоторые инструменты и настройки, которые помогают сделать рабочий процесс более комфортным и производительным. Что-то будет о встроенных в Windows фишках, что-то – о сторонних программах. Половина материала полезна вообще всем пользователям, а другая отведена под инструменты разработчиков.
Формализуем процесс создания нового API в микросервисах на .NET
Мы работаем с ИТ-продуктами в сфере логистики и e-commerce. Большинство таких проектов крупные с точки зрения архитектуры – включают в себя множество сервисов, необходимых для исправной работы целостных систем.
Поговорим о том, как организовать взаимодействие микросервисов в большом продукте-долгожителе синхронно и асинхронно.
Как эффективно использовать Chrome DevTools для QA: подборка интересных возможностей
Chrome DevTools — это консоль разработчика, набор инструментов в браузере для создания и отладки сайтов и приложений. С их помощью можно в том числе тестировать уже разработанную функциональность.
В этой статье будет подборка полезных инструментов внутри DevTools, которые не очень распространены в QA, но при этом могут значительно упростить и ускорить тестирование сайтов и приложений. К каждому инструменту я сделал небольшой пошаговый туториал.
Отмечу, что говорить мы будем именно о Chrome DevTools, хотя и в других браузерах есть аналогичные консоли разработчиков. Сам их частенько использую — это удобно. Поскольку инструменты неочевидные, рекомендую заглянуть под кат и начинающим, и опытным тестировщикам — точно почерпнёте для себя что-то новое.
Для каких задач подходят Headless CMS, и как с их помощью сокращается time-to-market разработки
Между идеей и готовой для использования разработкой лежит долгий путь из продумывания концепции, формирования продукта, организации разработки и способов продвижения, развития проекта. IT-продукт невозможно создать в два щелчка. Сократить время на разработку и упростить поддержку и масштабирование продукта помогает Headless CMS – инструмент, о котором поговорим в этой статье.
Неочевидные моменты TypeScript и способы их решения
Разрабатывая на TypeScript, можно столкнуться с ситуациями, в которых код будет работать не так, как ожидается. В статье разберем несколько таких моментов. Часть просто придется иметь ввиду, часть решается обновлением, а часть исправляется – обо всем по порядку.
Если вам будет удобно сразу же проверять каждый пример, читая статью, можно это делать в редакторе. Он удобен тем, что версию TypeScript в нем можно переключать.
Как в 1.5 раза повысить производительность фронтенда высоконагруженного интернет-магазина на Next.js
Об инструментах и порядке действий для достижения промежуточного, но заметного результата в задаче по оптимизации высоконагруженного сайта. Полезные ссылки внутри.
Асинхронность в JS: как выполнять долгие сетевые запросы без блокирования основного потока
Асинхронность – это способ координации поведения программы на протяжении какого-то временного отрезка. Разбираем, как в синхронном JavaScript вынести операции за рамки единого потока, чтобы не блокировать действие кода после тяжёлых операций.
Разработка фронтенда ИТ-продукта: какой подход выбрать исходя из задач бизнеса
Подход к разработке фронтенда в продукте – уже давно не прихоть разработчика, а инструмент для решения бизнес-задачи. В статье простыми словами о том, почему это так, как выбор подхода зависит от назначения продукта, а также примеры использования подходов.
Enterprise проекты: что нужно знать разработчику?
Поговорим о том, что такое enterprise разработка, какие у enterprise проектов могут быть нюансы, и какие навыки нужно обрести для успешной работы в разрезе .NET стека.