Рубрика «best practices» - 5

Недавно представители ИТ-индустрии озадачили меня, сказав следующее: на серверах не должно быть антивирусов, мы позволяем вам их туда ставить только потому что вы, безопасники, не обладаете нужной квалификацией для создания чистой экосистемы.

При этом оппоненту было разъяснено, что все только за:

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

Следует отметить, что речь идет о серверах с операционными системами от 2000 Server и выше.

Для лучшего понимания сути вопроса предлагаю небольшую картинку. Также предлагаю озвучить ваше мнение, отметившись в опросе, расположенном ниже.
Читать полностью »

Планируете писать приложение на AngularJS? Пишите через ASS Самые непристойные и отвратительные наши поступки, выходящие за всякие нормы морали и принципов, обычно начианаются со слов «А почему бы и нет?».

В данном посте я затрону вопросы проектирования приложения на AngularJS, философии, его архитектуры, сборки, пройдусь по разным полезным библиотекам и готовым архитектурным шаблонам. В довершение устрою небольшую Angular+Require.js+Grunt+Yeoman оргию, которую я назвал Angular-Super-Seed или чуть более скромно ASS-генератор.

Так что, если вы планируете писать приложение на Angular, то почему бы и нет?

Мотивация

  • «Поступай с людьми так, как хотел бы, чтобы поступили с тобой». Вдруг кому-то пригодится
  • Узнать что-нибудь новенькое как о себе, так и о разработке в комментариях.
  • Попиарить свой генератор приложения ASS.

Читать полностью »

Angular boilerplate. Простота — тренд молодежи Любая физическая система стремится к состоянию с наименьшей потенциальной энергией. И программисты не исключение. Поэтому речь пойдет о том, как упростить себе жизнь при разработке на angular.js, используя при этом сервисы, которые сейчас в тренде. Главным образом, я буду ненавязчиво пиарить свое архитектурное решение angular-boilerplate, а на закуску предложу поделиться своим опытом и идеями в комментариях.

Мотивация

Свести рутину к минимуму, создать интуитивно понятную архитектуру и собрать вместе то, что называется best practices.
Читать полностью »

В промежутке времени между переквалификацией с Back-end программиста на Front-end, мне пришлось иногда код для RoR приложения (да-да и тесты были). Интересным для меня показалась своеобразная атмосфера сообщества рубистов, которые очень строго относятся к написанию кода и если ты пишешь плохой код, то тебе могут поломать пальцы не простить. Ведь код должен быть максимально простым и читабельным.

Это же правило применимо и к тестам (как по мне то, они должны быть на порядок проще чем сам код). В дополнение, в тестах есть свое золотое правило — One Expectation per Test. Не нужно писать кучу expect/assert/should вызовов в одном тесте, просто перестаньте это делать! И не забывайте, что тесты это тоже код, а copy-paste — плохая практика.
Читать полностью »

Я получил множество отзывов на мою недавнюю серию постов по Poka-yoke проектированию (я был бы расстроены, если было бы иначе). Множество из этих отзывов касаются различных технологий сериализации или трансляции, используемых обычно на границах приложения: сериализация, XML (де)гидратация (прим. переводчика: тоже самое, что и сериализация), UI-валидация и т.д. Заметьте, что такая трансляция происходит не только по периметру приложения, но также и на уровне сохраняемости (persistence). ORM-ы также являются трасляционными механизмами.
Общим для многих комментариев является утверждение о том, что большая часть технологий сериализации требует наличия конструктора по умолчанию. Например, класс XmlSerializer требует наличия конструктора по умолчанию и публичных, доступных для записи свойств. Большая часть объектно-реляционных преобразователей, которые я изучал, похоже, имеют те же требования. Контролы Windows Forms и WPF (UI – также граница приложения) почти обязаны иметь конструктор по умолчанию. Не нарушает ли это инкапсуляцию? И да и нет.
Читать полностью »

Это пятый пост из серии о Poka-yoke проектировании – также известном, как инкапсуляция.

Конструкторы по умолчанию являются «запахом» в коде. Именно так. Это может звучать возмутительноЧитать полностью »

Это четвёртый пост из серии о Poka-yoke проектировании – также известном, как инкапсуляция.

Недавно, я прочитал из какого-то технологического события Microsoft пост, написанный с энтузиазмом:

Атрибут [Required] в коде автоматически создаёт запись в БД, которая не может принимать null, а также создаёт валидацию на веб-странице – симпотично […]

Читать полностью »

Это второй пост из серии о Poka-yoke проектировании – также известном, как инкапсуляция.

Множество классов имеют тенденцию к потреблению или раскрытию примитивных значений, таких как int, или string. В то время как такие примитивы существуют на любой платформе, их использование может приводить к процедурному коду. Более того, они обычно нарушают инкапсуляцию, допуская присвоение некорректных значений.
Читать полностью »

Это первый пост из серии о Poka-yoke проектировании – также известном, как инкапсуляция.
Известной проблемой в проектировании API является временная связность, которая получается в том случае, если в классе присутствуют скрытые отношения между двумя или более членами, требующие от клиента правильной последовательности вызовов. Это жёстко связывает члены класса во временном разрезе.
Читать полностью »

image

Для эффективного управления качеством обслуживания клиентов, кроме метода Тайного Покупателя (Mystery Shopping), позволяющего оценивать обслуживание с точки зрения корпоративных стандартов, не менее важно проводить опрос реальных клиентов. Это можно делать различными способами, например, с использованием веб-опросов, опросов по почте, с привлечением интервьюеров, опрашивающих клиентов в торговом зале. В последнее время активно развивается технология опроса, в основе которой лежит использование специальных кнопочных пультов или терминалов, устанавливаемых непосредственно в точке оформления покупки или получения услуги. Основное преимущество этой технологии в том, что клиент не успевает забыть свои ощущения, поэтому информация о восприятии клиентами качества обслуживания оказывается очень точной. Кроме этого, клиента значительно проще мотивировать ответить на один вопрос в момент оформления покупки, чем на серию вопросов через день или два, когда радость от покупки (или, наоборот, негодование) уже не такие яркие. Если только, конечно, это не панельное исследование, за которое клиент получает вознаграждение. Поэтому представительность выборки, а, следовательно, и достоверность результатов, оказываются значительно выше.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js