Рубрика «архитектура» - 35

Хочется рассказать немного о технической части своего проекта, возможно для критики а может кто-то почерпнет что-то для себя.
Читать полностью »

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

Большинство разработчиков, скорее всего, представляют себе архитектуру только в приложении к конкретному проекту, т.е. можно часто услышать от них «архитектура ПО», однако это лишь малая часть того, что входит в общее понятие. Условно можно разделить глобальное понятие на несколько частей, от общего к частному. Можете представить их в виде пирамиды:

  • Бизнес архитектура
  • Архитектура информационных систем (потоки данных)
  • Технологическая архитектура

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

Бизнес архитектура, она же Enterprise, является представлением того, как эффективно перевести цели бизнеса и стратегию путем создания, улучшения и объединения ключевых требований, принципов и моделей для успешного развития бизнеса и достижения поставленных целей. Определение взято из английской википедии.  Архитекторы уровня Enterprise должны ориентироваться на бизнес потребности и проводить анализ потоков данных, т.е. покрывают два указанных пункта. Архитекторы уровня Solution занимаются технологическими аспектами проектов. Так же стоит упомянуть не обозначенных здесь Infrastructure Architect, людей, которые занимаются глобальным развитием и анализом технических возможностей по реализации проектов.
Читать полностью »

Добрый день, сообщество!

Изначально я планировал написать статью в виде конспекта с доклада на devconf. Потом на меня снизошло понимание, что сорокапятиминутное выступление сложно переложить в статью на хабре, при этом оставив ее размер вменяемым. Поэтому в статье речь пойдет об архитектуре plus1.wapstart.ru, а слайды с конференции можно посмотреть здесь.

Plus1.wapstart.ru — это рекламная сеть для мобильного интернета. Наша «экосистема» — это рекламодатели, владельцы площадок (сайтов и приложений) и аудитория пользователей.
Владельцы площадок хотят максимально просто и эффективно монетизировать свою аудиторию, рекламодатели хотят эффективно вложить деньги, потребителей реклама должна как минимум не раздражать, а как максимум — они должны быть ей довольны.
Задача plus1.wapstart.ru — удовлетворение потребностей этих групп. Для нас их желания означают, что мы должны работать максимально быстро, не допускать ни минуты даутнайма и само собой следить за качеством и внешним видом рекламы.

Немного цифр:

  • Пиковая нагрузка > 103 динамических запросов в секунду.
  • В день мы показываем более ~ 107 объявлений.
  • Cуммарное число баннеров и площадок измеряется четырехзначными цифрами.
  • Среднее время отдачи баннера не превышает 90ms.

Если вам интересно как это всё работает — добро пожаловать под кат!

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

Напишу сразу, чтоб небыло вопросов в дальнейшем.

Для меня:
backend — серверная часть (работа с БД, обработка данных, и т.д.), вообщем все, чего клиент не видит.
frontend — все что видит клиент (верстка, JS скрипты, флеш и т.д.)

Очень часто я вижу сообщения с очередными «велосипедами» как разделить фронтенд часть от бекенд части (мухи отдельно, котлеты отдельно).

Не так давно в одной из статей на Хабре предлагали фронтенд делать XSLT файлами (аля как в Java), еще раньше все ударились в MVC архитектуру. Но мне это все не нравится и я сейчас объясню почему.

1. Мне _не_ нравится что вьюхи лежат в проекте (да, я плохой backend dev и редко хочу копаться в вьюхах).
2. Мне _не_ нравится что я преобразовываю корректные данные чтоб они «красиво легли в вьюху».
3. Мне _не_ нравится что вообще связан фронтенд и бекенд.

Вам тоже это не нравится? Тогда вам подкат.

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

«Мы работаем для того, чтобы вы не боялись летать»

image
рис 1. Модель Bombardier BD 500 в аэродинамической трубе

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

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

Любой знакомый с книгой о паттернах, написанной Бандой Четырёх знает, что паттерны, описанные в книге, представляют собой элегантные решения, проверенные временем. К сожалению, выделение этих паттернов из преемственного кода невозможно, потому что никто не знает, что они предложили эти паттерны, когда писали преемственный код. Поэтому следующий текст представляет из себя паттерны для широких масс. Представленные в этом документе паттерны представляют собой решения, пережившие многих. Наслаждайтесь чтением, но не используйте на практике!

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

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

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

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

Хотел рассказать, как я вижу устройство архитектуры взаимодействия серверной и клиентской частей. И хотел бы узнать спросить, чем плоха или хорошо такая архитектура.
Архитектура взаимодействия клиентской и серверной частей Web приложения
Читать полностью »

83-летняя жительница Нью-Йорка Эвелин Пасволл потребовала от Apple компенсации в миллион долларов.

Пожилая женщина собиралась войти в один из магазинов компании Apple в Нью-Йорке, но не поняла, что подходит к стеклянной двери, и ударилась о нее лицом. Удар оказался сильным, и врачи констатировали перелом носа старушки.

$1 млн убытков за оригинальную архитектуру Apple Store

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

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

Так что не отправляй в Apple Store свою бабушку одну, %username%.
Читать полностью »

Я закончил разработку бета-версии своего оптимизатора загрузки JavaScript — jWidget SDK.

github.com/enepomnyaschih/jwsdk/wiki

jWidget SDK — это небольшой скрипт, сборщик (прекомпилятор) вашего JavaScript. Это обертка вокруг YUICompressor, которая автоматизирует сборку проекта и дает очень гибкую конфигурацию. Инструмент совместим с любой архитектурой сервера, со всеми JavaScript-фреймворками. Инструмент бесплатный, с открытым исходным кодом и имеет лицензию LGPL.

Инструмент успешно протестирован на нескольких коммерческих проектах с разной серверной архитектурой. В том числе (не имею права дать ссылки):

— Чистый веб-сервис на Java + AJAX + JS. Особенность приложения: весь-весь-весь контент рендерится динамически через JavaScript, и приложение грузится почти мгновенно благодаря браузерному кэшированию
— Один шахматный клиент на jQuery, встроенный в сайт на Zend Framework
— Клиент одного приложения на Adobe Air

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


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