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

Компания fuse8 временно не ведёт блог на Хабре

Сначала показывать

Ловушка фичеризма: почему продукт страдает, когда мы зациклены на функциональности

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

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+9
Комментарии9

Избавляемся от легаси: паттерн «Перехват Событий»

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

Когда мы постепенно переводим легаси систему на новые рельсы, возникает множество случаев, когда само легаси и то, чем мы его заменяем должны взаимодействовать. Поскольку внесение изменений в легаси — это всегда долго, дорого и сложно, нам нужен механизм, который сможет интегрировать возможности новой системы, минимизируя при этом воздействие на легаси. Разбираемся, как можно использовать паттерн «Перехват Событий», чтобы пересылать их в новую систему.

Читать далее
Всего голосов 4: ↑2 и ↓2+2
Комментарии0

Проектный менеджмент в бигтехе: как там все устроено, и почему во всем этом отсутствует Scrum

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

Если вам интересно, какие инструменты не любят инженеры в бигтехе, почему проджекты там скорее не нужны, для чего на самом деле Scrum, и как стоит подходить к ведению проектов, если есть цель вырастить хорошую инженерную культуру и регулярно добиваться необходимых компании результатов, залетайте под кат и давайте разбираться вместе!

Читать далее
Всего голосов 7: ↑4 и ↓3+2
Комментарии4

Как измерять эффективность разработчиков, и почему метод McKinsey может убить культуру разработки в компании

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+9
Комментарии8

Разбираемся в серверных и клиентских компонентах в Next.js: когда, как и почему?

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии0

Как провести демо: о подготовке, презентации и способах работы с обратной связью заказчика

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

Есть множество практик проведения демо. Некоторые очень распространены. Другие используются редко. Демо — вообще весьма индивидуальный процесс для каждой команды (особенно при отсутствии зафиксированных регламентов проведения демо). 

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

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии0

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

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

События – это объекты, которые получают уведомления о некотором действии в разрабатываемом ПО и могут запускать реакции на это действие. Разработчик может определить эти действия, добавив к событию обработчик. Разберем в этом материале само понятие событий в .NET и разные способы работы с ними.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии8

Оцениваем сложность алгоритмов на C# по памяти и времени с примерами

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

Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов,  а также наглядно покажем, как эта сложность влияет на производительность кода.

Читать далее
Всего голосов 9: ↑6 и ↓3+4
Комментарии20

8 неочевидных уязвимостей при разработке e-commerce проекта на NextJS

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

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

В этом материале расскажем о безопасности на примере мультиязычного e-commerce сервиса – интернет-магазина с аккаунтом покупателя. Проект построен на NextJS, где часть бекенда на JS и пишется фронтендерами. Поэтому помнить о безопасности в таком случае приходится более старательно, держа в уме случаи, о которых расскажем в этой статье. 

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

Как правильно замерить скорость работы кода в .NET

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

Поговорим о бенчмаркинге кода: о том, что это такое и для чего нужно. А также покажем, как на основе результатов бенчмаркинга оценить производительность кода в проекте, написанном на C#.

Читать далее
Всего голосов 15: ↑12 и ↓3+10
Комментарии2

Как не надо проводить performance review в команде разработки

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии11

Настраиваем рабочее место: полезные инструменты для разработчиков и не только

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии16

Формализуем процесс создания нового API в микросервисах на .NET

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

Мы работаем с ИТ-продуктами в сфере логистики и e-commerce. Большинство таких проектов крупные с точки зрения архитектуры – включают в себя множество сервисов, необходимых для исправной работы целостных систем. 

Поговорим о том, как организовать взаимодействие микросервисов в большом продукте-долгожителе синхронно и асинхронно. 

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии12

Как эффективно использовать Chrome DevTools для QA: подборка интересных возможностей

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

Chrome DevTools — это консоль разработчика, набор инструментов в браузере для создания и отладки сайтов и приложений. С их помощью можно в том числе тестировать уже разработанную функциональность.

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

Отмечу, что говорить мы будем именно о Chrome DevTools, хотя и в других браузерах есть аналогичные консоли разработчиков. Сам их частенько использую — это удобно. Поскольку инструменты неочевидные, рекомендую заглянуть под кат и начинающим, и опытным тестировщикам — точно почерпнёте для себя что-то новое.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Для каких задач подходят Headless CMS, и как с их помощью сокращается time-to-market разработки

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

Между идеей и готовой для использования разработкой лежит долгий путь из продумывания концепции, формирования продукта, организации разработки и способов продвижения, развития проекта. IT-продукт невозможно создать в два щелчка. Сократить время на разработку и упростить поддержку и масштабирование продукта помогает Headless CMS – инструмент, о котором поговорим в этой статье.

Читать далее
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

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

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

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

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

Читать далее
Всего голосов 12: ↑10 и ↓2+12
Комментарии11

Как в 1.5 раза повысить производительность фронтенда высоконагруженного интернет-магазина на Next.js

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии18

Асинхронность в JS: как выполнять долгие сетевые запросы без блокирования основного потока

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

Асинхронность – это способ координации поведения программы на протяжении какого-то временного отрезка. Разбираем, как в синхронном JavaScript вынести операции за рамки единого потока, чтобы не блокировать действие кода после тяжёлых операций. 

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии8

Разработка фронтенда ИТ-продукта: какой подход выбрать исходя из задач бизнеса

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии5

Enterprise проекты: что нужно знать разработчику?

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии11