Все чаще и чаще я слышу от разработчиков и читаю в статьях, что шаблоны проектирования (они же дизайн-паттерны) никому не нужны. Мол, они появились во времена «цветения» UML, RUP, CASE систем и прочих чересчур «сложных» инструментов, подходов и практик. А сейчас самое важное — это код рабочий написать, да побыстрее. На умные толстые книжки ни у кого нет времени, разве что для прохождения собеседования. Тех, кто хочет обсудить данную тему, прошу под кат.
Рубрика «архитектура» - 35
Для чего нужны шаблоны проектирования
2013-02-20 в 15:01, admin, рубрики: Анализ и проектирование систем, архитектура, дизайн, команда, проектирование, Проектирование и рефакторинг, разработка, шаблоны проектирования, метки: архитектура, дизайн, команда, проектирование, разработка, шаблоны проектированияУправление в стиле ООП
2013-02-18 в 4:16, admin, рубрики: архитектура, ооп, паттерны проектирования, Совершенный код, управление проектами, метки: архитектура, ооп, паттерны проектирования, управление проектамиЛюбому приличному программисту известно, что грамотно написанная система должна иметь хорошую архитектуру, обеспечивающую чёткую структуру, удачное сочетание и взаимодействие объектов, чётко распределённые между объектами роли и разделение на слои.
Каждый приличный руководитель проекта знает, что для успешного, сданного в срок проекта хорошего качества (который, к тому же, не слишком вылез из бюджета) необходим отлаженный процесс, обеспечивающий прозрачное взаимодействие между членами команды, чёткое распределение ролей и обязанностей, полномочий и ответственности. Т.е. грамотная архитектура команды.
В этой статье я (очевидно, не слишком серьёзно) попробую спроецировать основные принципы ООП на проектное управление и посмотреть, что из этого получится.
Business Natural Languages
2013-02-17 в 18:17, admin, рубрики: bdd, coffeescript, DDD, dsl, KISS, YAGNI, архитектура, ооп, Программирование, Проектирование и рефакторинг, метки: bdd, coffeescript, DDD, dsl, kiss, yagni, архитектура, оопПоскольку идея данного поста родилась у меня независимо от эпопеи с хлебопекарней, хочу вставить и свои пять копеек.
Итак, суть проблемы — поставить программный код в соответствие с бизнес-требованиями. Существуют замечательные методологии и техники, например, Behavior Driven Development (BDD), которые позволяют в декларативном стиле описать требуемое поведение системы (тесты).
Возникает вопрос — зачем описывать как должен работать код, если можно и сам код написать в этих терминах. Почему user story не может быть самой программой.
не код должен генерироваться из модели — модель должна быть кодом
Чтобы не томить читателей сразу перейду от слов к делу. Представим себе язык для программирования вот такого робота:
Warning! Данный пример служит только для иллюстрации идеи и не предназначен для приготовления пищи в реальной жизни. Автор не несет ответственности за вред здоровью нанесенный в результате употребления пищи, приготовленной с помощью данного примера.
Анонс новых инженерных тренингов
2012-11-06 в 12:39, admin, рубрики: agile, continuous delivery, legacy, архитектура, Блог компании ScrumTrek, разработка, тестирование, метки: agile, continuous delivery, legacy, архитектура, разработка, тестированиеОдин из основных вопросов, которые задают себе участники почти всех тренингов — «Что мне с этим делать дальше?» Безусловно, на этих тренингах рассматривается много полезной информации, участники практикуют новые навыки, но все же реальные проекты сильно отличаются от тех, которые рассматриваются на обучении. Мы бы хотели изменить такую ситуацию и представляем вам анонс двух принципиально новых тренингов:
- Использование практик XP для спасения проектов от 2 лет и более
- Тестирование взрослых проектов: от стабильной боли к стабильному качеству с помощью XP практик
Фронт-энд Островка изнутри
2012-10-29 в 13:19, admin, рубрики: css, google closure, html, javascript, jsdoc, scss, архитектура, БЭМ, Веб-разработка, верстка, фронтенд, метки: css, google closure, html, javascript, jsdoc, scss, архитектура, БЭМ, верстка, фронтендПривет, меня зовут Игорь (iamo0), я старший фронт-энд разработчик в Островке. Я занимаюсь нашим основным продуктом: сайтом Ostrovok.ru. С помощью нашего сайта ежедневно бронируют отели тысячи человек, поэтому для нас очень важно, чтобы качество нашего продукта было на высоте. А для этого нужно не отвлекаться на разного рода мелочи и уметь эффективно решать поставленные задачи.
Расскажу как мы организовали процесс фронт-энд разработки так, чтобы можно было решать поставленные задачи, не задумываясь о средствах их решения, сосредоточившись на самой задаче.
Не претендую на то, что мой рассказ сорвет покровы или станет настоящим откровением. Хочу поделиться с вами опытом работы с большими приложениями, накопленным разработчиками Островка.
Читать полностью »
Архитектура таймеров в node.js
2012-10-29 в 6:34, admin, рубрики: node.js, nodejs, setTimeout, sockets, архитектура, Блог компании «Alawar Entertainment», таймеры, метки: node.js, nodejs, setTimeout, sockets, архитектура, таймеры Я бы хотел рассказать о таком замечательном и повсеместно используемом в node.js инструменте, как таймеры, и об их использовании в функциях setTimeout, setInterval и в модуле net. В node.js за таймеры отвечает модуль ядра timers.js. setTimeout — всего лишь доступная глобально функция из этого модуля.
Читать полностью »
Разработка через страдание
2012-10-24 в 12:20, admin, рубрики: DRY, KISS, Storm, suffering oriented programming, архитектура, Программирование, Проектирование и рефакторинг, разработка, разработка через страдание, рефакторинг От переводчика:
Немало копий сломано в спорах о том, когда уместнее KISS, а когда DRY, когда лучше как можно быстрее и проще решить задачу любыми средствами, а когда стоит создавать красивые и универсальные абстракции. Натан Марц, автор популярного фреймворка Storm, используемого в Твиттере, предлагает свой вариант. Чтобы не создавать тонны бесполезного кода ради абстрактной универсальности и в то же время не позволять системе превращаться в кашу из костылей, он использует «разработку через страдание» (suffering oriented programming).

Я использую стиль разработки, который сильно уменьшает степень риска таких больших проектов, как Storm. Я называю этот стиль «разработкой через страдание». В двух словах: не занимайтесь реализацией технологий, от отсутствия которых вы не испытываете страданий. Этот совет применим как к большим, архитектурным решениям, так и к маленьким повседневным задачам. Разработка через страдание существенно уменьшает риск, гарантируя, что вы всегда работаете над чем-то важным, и что вы хорошо разобрались в предметной области, прежде чем вложить в решение много сил.
Я придумал такую мантру разработки: «Сначала сделай, чтобы было. Затем — чтобы было красиво. Затем — чтобы было быстро».
Читать полностью »
Разработчики «Мамбы» на конференции HighLoad++2012
2012-10-23 в 12:05, admin, рубрики: comet, leveldb, nosql, автоматизация, архитектура, Блог компании Мамба, деплой, деплоймент, знакомства, метки: comet, highload, leveldb, nosql, автоматизация, архитектура, деплой, деплоймент, знакомства Сегодня стартовала самая значимая конференция для разработчиков HighLoad++2012
Наши прекрасные разработчики расскажут много интересного и полезного о высоконагруженной системе знакомств с аудиторией в 17 000 000 пользователей.
Спикеры «Мамбы»:
Глеб Арестов
Использование Comet для создания интерактивных интерфейсов
Михаил Буйлов
Цикл разработки, визуальный деплой, автоматизация и интернационализация
Дмитрий Ананьев
Читать полностью »
Что такое FlexPod?
2012-10-10 в 6:47, admin, рубрики: Cisco, Cisco Nexus, Cloupia, flexpod, hyper-v, microsoft, MultiStore, NetApp, nexus 5000, rhel, sap, Secure Multi-Tenancy, UCS, vdi, VMware, vSphere, xendesktop, архитектура, ит-инфраструктура, облачные технологии, СХД, цод, метки: Cisco, Cisco Nexus, Cloupia, flexpod, hyper-v, microsoft, MultiStore, NetApp, nexus 5000, rhel, sap, Secure Multi-Tenancy, UCS, vdi, vmware, vSphere, xendesktop, архитектура, облачные технологии, СХД, цод Многие из вас, возможно, слышали этот термин из новостей. Что же это значит и почему это должно быть интересно? Я постараюсь ответить на оба эти вопроса.
Читать полностью »
тезисы к докладу на Highload++ «Опыт создания собственных key/value хранилищ для небольших высоконагруженных проектов»
2012-10-04 в 22:14, admin, рубрики: highload, key-value storage, nosql, архитектура, высокая производительность, демоны, метки: highload, key-value storage, nosql, архитектура, высокая производительность, демоны Под катом тезисы, хочется знать, что из этого вызовет интерес, а что сократить
Читать полностью »