Как стать автором
Обновить
70
Карма
0
Рейтинг
Пешков Евгений @GraDea

Развиваю DDDevotion💪

Темные века разработки программного обеспечения

Блог компании Циан Программирование *Проектирование и рефакторинг *
Перевод

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

Но ситуация не была безнадёжной.
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 9.8K
Комментарии 1

Агрегаты, мои агрегаты, как приятно о вас думать

Блог компании Dodo Engineering Программирование *.NET *Проектирование и рефакторинг *
✏️ Технотекст 2021

В Domain-Driven Design выделяют стратегические и тактические паттерны. Например, первые — это Единый язык, а вторые — Агрегаты. Я много раз слышал от коллег, что со стратегией всё понятно, но когда дело доходит до перехода на тактический уровень (до кода) — всё в тумане. Это приводит к некорректным техническим решениям, которые не могут компенсировать даже правильный настрой и близость к бизнесу. Для успеха проекта крайне важно освоить тактические паттерны, особенно Агрегаты. Всё потому, что Агрегаты инкапсулируют в себя почти всю бизнес-логику, это основа вашего приложения. В этой статье я и расскажу про Агрегаты, как они могут помочь и почему важно их освоить. Но...

...сперва антипаттерны
Всего голосов 37: ↑33 и ↓4 +29
Просмотры 18K
Комментарии 96

DDIA book (книга с кабанчиком) — сделай level up в понимании баз данных

SQL *NoSQL *Администрирование баз данных *Читальный зал Распределённые системы *
Несколько месяцев назад на одной из ретроспектив мы решили попробовать совместное чтение.

Наш формат:

  1. Выбираем книгу.
  2. Определяем часть, которую необходимо прочитать за неделю. Выбираем небольшой объем.
  3. В пятницу обсуждаем прочитанное.
  4. Читаем в нерабочее время, обсуждаем в рабочее.
  5. После окончания книги совместно выбираем следующую.

Что дает:

  1. Мотивация на чтение и дочитывание.
  2. Развитие скиллов (в том числе на будущее).
  3. Выравнивание майндсета и терминологии в команде.
  4. Рост доверия.
  5. Лишний повод пообщаться.

Одна из недавних книг, которую мы читали — Designing Data-Intensive Applications. Да-да, та самая книга с кабанчиком. И эта книга настолько всем понравилась, что я решил сделать здесь обзор, чтобы большее количество людей ее прочитали.


Карта в исходном качестве
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 24K
Комментарии 11

Путь разработчика ASP.NET → PHP

PHP *.NET *ASP *C# *
Так получилось, что в сентябре прошлого года назад я перешел в компанию, где основным языком бэкенд-разработки был PHP 7. До этого технологии с которыми я работал ограничивались C#, ASP.NET, Javascript (JQuery, Angular 1.x, Typescript), MS SQL, IIS и Windows Server. Теперь же предстояло погружение в новый стек. Данная статьи — не очередной наброс на вентилятор для поддержки холивара. Постараюсь отметить, что показалось необычным или непривычным. Статья обращена к .net разработчикам, но, надеюсь, будет интересна и PHP сообществу.
image

Начнем с сессии

Читать дальше →
Всего голосов 34: ↑24 и ↓10 +14
Просмотры 29K
Комментарии 75

IIS Request filtering против ddos-атаки

.NET *ASP *IIS *

Лежим


Заказчик, чьи сайты я поддерживал ранее, обратился с тем, что сайт лежит и отдает 500 ошибку. У него стандартный сайт на ASP.NET WebForms, не скажу, что очень нагруженный, но бывали проблемы с производительностью базы данных (MS SQL Server на отдельном сервере). Недавно сервер БД поменяли и перенесли данные.

Этот сайт не основной бизнес заказчика, поэтому практически не обслуживался. У него не настроено никакого мониторинга  и сбора метрик и вообще за ним особо не следят.

Данные телеметрии


Какие аномалии бросились в глаза:

  1. Процесс w3wp использовал более 50% CPU (обычно сильно меньше).
  2. Количество потоков в этом процесс стабильно прирастало (сайт не успевал обслужить клиентов).
  3. Диск на сервере БД использовался на 100% (Active Time).
  4. Длина очереди обращений к диску с базами проекта была большой (обычно в районе нуля-единиц).
  5. Оперативная память на сервер БД использована полностью.
  6. Профайлер показал, что есть один горячий метод, который ходит в БД.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 14K
Комментарии 8

Обзор ASP.NET 5

Разработка веб-сайтов *.NET *ASP *Visual Studio *Microsoft Azure *
Перевод
ASP.NET 5 привносит значительные изменения в платформу ASP.NET. В этой статье рассматриваются новые концепции ASP.NET 5 и объясняется, как они помогут разрабатывать современные веб-приложения.

Введение в ASP.NET 5.


ASP.NET 5 — это лишенный всего избыточного .NET стек для построения современных веб-приложений. Мы построили его с нуля, чтобы обеспечить оптимизированную платформу для разработки приложений, которые будут развернуты в облаке или работать на собственных серверах. Для поддержки гибкости при построении решений данная платформа состоит из модульных компонентов с минимальными накладными расходами.
ASP.NET 5 включает в себя следующие возможности:

  • Новая гибкая и кроссплатформенная среда выполнения
  • Новый модульный конвейер для HTTP-запросов
  • Конфигурация готовая к использованию в облаке
  • Унифицированная программная модель, которая сочетает в MVC, Web API и Web Pages
  • Возможность увидеть изменения без повторного построения проекта
  • Использование нескольких версий .NET Framework бок о бок
  • Возможность self-hosting или хостинга на IIS
  • Новые инструменты в Visual Studio 2015
  • Открытый исходный код в GitHub

Изменения, которые мы сделали для ASP.NET 5 были основаны на запросах клиентов и обратной связи. Эти изменения упрощают разработку, хостинг и обслуживание и ориентированы на современные веб-приложения.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Просмотры 72K
Комментарии 17

TDD мертв. Да здравствует тестирование

Тестирование IT-систем *TDD *
Перевод
От переводчика. Давид Хейнемейер Ханссон данной статьей поднял острую тему обязательности использования TDD и, даже, возможного вреда от написания тестов перед написанием кода. Именно эта статья послужила лейтмотивом уже пяти встреч на тему жив ли TDD, на которых Давид, Кент Бек и Мартин Фаулер обсуждают достоинства и недостатки TDD, рамки применимости и ограничения. Для тех у кого восприятие устного английского оставляет желать лучшего, SergeyT публикует краткие саммари в своем G+.

Читать дальше →
Всего голосов 56: ↑43 и ↓13 +30
Просмотры 31K
Комментарии 40

Автоматизация тестирования Windows-приложений с использованием .Net

.NET *

Автоматизация тестирования.


Тестирование – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах.
Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.
Основным подходом при тестировании программного обеспечения является тестирование «черного ящика». При данном подходе тестировщику неизвестно внутреннее устройство программы. Тестировщик взаимодействует с программой: вводит данные, нажимает кнопки, манипулирует другими визуальными компонентами и оценивает результаты.
Читать дальше →
Всего голосов 26: ↑16 и ↓10 +6
Просмотры 9.3K
Комментарии 17

StreamTorrent — смотрим потоковое видео

Децентрализованные сети *

Интернет телевидение


В связи с улучшением тарифов наших провайдеров (сейчас 2,5 мбита за 450 р.) я заинтересовался Интернет телевидением. Меня привлекает два момента: возможность смотреть спортивные трансляции, которых у нас нет или есть только на спутнике (НТВ+), возможность смотреть англоязычные каналы, так как есть желание научиться понимать английскую речь.
Читать дальше →
Всего голосов 72: ↑60 и ↓12 +48
Просмотры 20K
Комментарии 71

Программирование по контракту в .NET Framework 4

.NET *
Столкнувшись с проблемой смены работы и желания работать разработчиком в хорошей конторе, понял, что мне не хватает знаний в области архитектуры, проектирования, ООП и прочих, не специфичных для платформы или языка вещах. Источники получения информации, кроме личного опыта, стандартные – книги и Интернет.

К тому времени были прочитаны книги Фаулера о рефакторинге и книга GoF. Эти книги многое мне дали и были очень полезными, но хотелось чего-то более основополагающего об ООП. Поискав по форумам, я нашел несколько книг, которые меня заинтересовали:
Бертран Мейер «Объектно-ориентированное конструирование программных систем»
Гради Буч, Объектно-ориентированный анализ и проектирование
Барбара Лисков. Использование абстракций и спецификаций при разработке программ

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

Читать дальше →
Всего голосов 39: ↑25 и ↓14 +11
Просмотры 8.4K
Комментарии 26

Информация

В рейтинге
3,262-й
Дата рождения
Зарегистрирован
Активность