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

(статья очень старая, по поднятые в ней вопросы актуальны по сей день и регулярно поднимаются в различных обсуждениях)

Многие из вас наверняка заметили, что я пишу книгу о Zend Framework. Недавно я закончил черновики двух глав: «Архитектура приложений на Zend Framework» и «Понимая Zend Framework». В первой главе объясняется архитектурный шаблон Model-View-Controller (MVC) и причины, по которым он стал стандартом де-факто для веб-приложений. Во второй исследуется связь MVC с компонентами Zend Framework, их структурой и взаимодействием.

Завершив обе главы я осознал, что большую часть времени описывал модель и ее фактическое отсутствие в Zend Framework. На самом деле ни один веб-фреймворк не предлагает нам полноценную модель (по причинам, которые я объясню чуть позже). И ни в одном из них не дается внятного объяснения этому обстоятельству. Вместо этого они последовательно связывают понятие модели с родственным, но не идентичным понятием доступа к данным, что изрядно всех запутывает.

Эта сторона фреймворков никогда не привлекала особого внимания. И все же именно она лежит в основе целого класса проблем в тех приложениях, которые пытаются использовать MVC по образу и подобию фреймворков для веб-приложений. Более того, попытки донести идею модели до других разработчиков нередко напоминают битье головой о стену. Я не хочу сказать, что все разработчики тупые или не понимают саму идею, просто никто из них (вне зависимости от того, работают они с PHP или нет) не связывает модели с той областью, которая наделяет их смыслом — принципами объектно-ориентированного программирования.
Читать полностью »

«Безбашенные» небоскребы будущего

От зданий, которые качают воду в гималайских ледниках, до круглых башен, которые могут позволить путешествовать их жильцам не выходя из дома. Как архитекторы представляют себе здания будущего?Читать полностью »

Строительство Саграда Фамилия началось в 1882 году, а позже в этом году строительство возглавил знаменитый архитектор Антонио Гауди́, который заложил основы ставшей теперь знаменитой на весь мир церкви Барселоны. Гауди посвятил Саграда Фамилия многие годы и спустя 130 лет храм считается одним их самых потрясающих и уникальных строений на Земле. Хотя за прошедшее время строительство так и не было завершено.

ПО помогло закончить план Гауди, начатый 130 лет назадЧитать полностью »

Проект нового кампуса Google

Компания Google славится своими офисами. Наверное, любой программист мечтает работать на территории Googleplex.
Но ни один из офисов компании не был построен с нуля. Она лишь брала существующую недвижимость и перестраивала под свои нужды.
Гугл не так давно уже предпринимал попытку построить собственный офис. В 2011 году был нанят немецкий архитектор Christophe Ingenhoven, который должен был спроектировать комплекс суперсовременных зданий неподалёку от существующего Googleplex. Но год спустя компания решила отказаться от этого проекта и осуществить свои планы в другой части Mountain View — ближе к заливу Сан-Франциско. Для этого было решено найти нового архитектора.
В распоряжение ресурса Vanity Fair попал рендер нового проекта, подготовленный архитектурным бюро NBBJ.
Читать полностью »

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

Все чаще и чаще я слышу от разработчиков и читаю в статьях, что шаблоны проектирования (они же дизайн-паттерны) никому не нужны. Мол, они появились во времена «цветения» UML, RUP, CASE систем и прочих чересчур «сложных» инструментов, подходов и практик. А сейчас самое важное — это код рабочий написать, да побыстрее. На умные толстые книжки ни у кого нет времени, разве что для прохождения собеседования. Тех, кто хочет обсудить данную тему, прошу под кат.

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

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

Каждый приличный руководитель проекта знает, что для успешного, сданного в срок проекта хорошего качества (который, к тому же, не слишком вылез из бюджета) необходим отлаженный процесс, обеспечивающий прозрачное взаимодействие между членами команды, чёткое распределение ролей и обязанностей, полномочий и ответственности. Т.е. грамотная архитектура команды.

В этой статье я (очевидно, не слишком серьёзно) попробую спроецировать основные принципы ООП на проектное управление и посмотреть, что из этого получится.

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

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

Итак, суть проблемы — поставить программный код в соответствие с бизнес-требованиями. Существуют замечательные методологии и техники, например, Behavior Driven Development (BDD), которые позволяют в декларативном стиле описать требуемое поведение системы (тесты).

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

не код должен генерироваться из модели — модель должна быть кодом

Чтобы не томить читателей сразу перейду от слов к делу. Представим себе язык для программирования вот такого робота:
image

Warning! Данный пример служит только для иллюстрации идеи и не предназначен для приготовления пищи в реальной жизни. Автор не несет ответственности за вред здоровью нанесенный в результате употребления пищи, приготовленной с помощью данного примера.

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

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

  • Использование практик XP для спасения проектов от 2 лет и более
  • Тестирование взрослых проектов: от стабильной боли к стабильному качеству с помощью XP практик

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

Привет, меня зовут Игорь (iamo0), я старший фронт-энд разработчик в Островке. Я занимаюсь нашим основным продуктом: сайтом Ostrovok.ru. С помощью нашего сайта ежедневно бронируют отели тысячи человек, поэтому для нас очень важно, чтобы качество нашего продукта было на высоте. А для этого нужно не отвлекаться на разного рода мелочи и уметь эффективно решать поставленные задачи.

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

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


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