Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «рефакторинг»
[Перевод] Киски: Рефакторинг 2015-07-20 15:00:21
... цикла статей про рефакторинг от голландца Matthias ... речь идет о рефакторинге, а именно о ...
+ развернуть текст сохранённая копия
Добрый день, Хабровчане!
Продолжаю совмещать развитие навыков перевода c английского и изучение интересных, с моей точки зрения, материалов по программированию и делюсь с вами слегка адаптированным переводом первой части из небольшого цикла статей про рефакторинг от голландца Matthias Noback, который живет в городе Зейст что вблизи Утрехта.
По большей части, в трех статьях речь идет о рефакторинге, а именно о выделении отдельных сущностей и создании самостоятельных частей кода, которые затем удобно тестировать и модифицировать. Это, естественно, приведет к увеличению количества абстракций и усложнению всей задачи, но Noback без этого не может.
Смысловое значение этой статьи не затронуто, а все изменения (заголовок и пара замен названия сервиса) сделаны лишь с целью разбавить довольную сухую и, надеюсь, простую в плане сложности материала статью, чтобы затем перейти к следующим частям всего цикла.
Все подробности, как обычно, под хабракатом..
Тэги: api, cat, matthias, noback, php, refactoring, киски, кисок, клиент, программирование, проектирование, рефакторинг, тестирование
[Перевод] Компромиссы микросервисов 2015-07-03 17:19:15
От переводчика: с момента выхода популярной статьи Мартина Фаулера «Микросервисы» (перевод ...
+ развернуть текст сохранённая копия
От переводчика: с момента выхода популярной статьи Мартина Фаулера «Микросервисы» (перевод на Хабре) прошло уже достаточно времени, чтобы автор смог дополнить свои наблюдения свежим опытом проектирования и разработки микросервисов в различных компаниях, и рассказать о нем в новом посте, чей перевод представляется вашему вниманию.
Многие команды разработчиков нашли архитектурный стиль микросервисов подходом, превосходящим монолитную архитектуру; другие команды выяснили, что для них микросервисы — лишняя обуза, подрывающая производительность разработки. Как и у любого стиля архитектуры, у микросервисов есть свои плюсы и минусы. Для того, чтобы делать осознанный выбор, вы должны понимать эти свойства и уметь рассматривать их на фоне собственных конкретных условий.
Микросервисы дают преимущества… |
…ценою издержек |
Жесткие границы модулей
Strong Module Boundaries
Микросервисы усиливают модульную структуру, что особенно важно для больших команд разработчиков. |
Распределённость
Distribution
Распределенные системы тяжелее программировать, поскольку удаленные вызовы медленные и всегда рискуют неудачей-отказом.
|
Независимый деплоймент
Independent Deployment
Простые сервисы проще деплоить, и, поскольку они автономны, меньше вероятность отказа системы в случае, если что-то идет не так.
|
Cогласованность в конечном счете
Eventual Consistency
Поддержка сильной согласованности чрезвычайно сложна для распределённых систем, и это означает, что придется иметь дело с согласованностью в конечном счете.
|
Технологическое разнообразие
Technology Diversity
С микросервисами вы можете смешивать несколько языков, фреймворков и технологий хранения данных.
|
Эксплуатационная сложность
Operational Complexity
Вам потребуется опытная команда эксплуатации для управления множеством сервисов, которые будут регулярно редеплоиться.
|
Читать дальше →
Тэги: анализ, веб-разработка, мартин, микросервисы, проектирование, разработка, рефакторинг, систем, фаулер
[Перевод] Action-Domain-Responder — доработка MVC под задачи веба 2015-06-30 14:38:36
Цель
Разделить взаимодействия пользовательского интерфейса между веб-клиентом и ...
+ развернуть текст сохранённая копия
Цель
Разделить взаимодействия пользовательского интерфейса между веб-клиентом и веб-приложением на три чётко определённые роли.
Предпосылки
Термин MVC испытывает некоторое семантическое размытие своего первоначального значения, особенно в контексте веба (см. видео Стефана Прибша для более подробного рассмотрения вопроса). В качестве средства устранения этого размытия предлагаю вашему вниманию описание паттерна Action-Domain-Responder, являющегося доработкой концепции MVC под нужды решения специфичных для веба задач.
Я считаю, что ADR значительно лучше соответствует тому, что мы на самом деле реализуем в процессе веб-разработки изо дня в день. К примеру, на создание этого паттерна меня частично вдохновило то, как мы решаем проблемы роутинга и диспетчеризации, ведь в общем случае при роутинге и диспетчеризации мы обращаемся не к классу контроллера per se, а к какому-то конкретному методу действия в этом классе контроллера.
Еще одной вскрывшейся проблемой является тот факт, что часто мы рассматриваем Представление (View) как шаблон (template), хотя в контексте веба, вероятно, более уместно было бы говорить о том, что Представлением является HTTP-ответ. Исходя из вышесказанного, я считаю, что ADR способен предоставить лучшее, чем MVC, разделение концепций для веб-приложений.
Читать дальше →
Тэги: abele, adr, akihito, appel, avtar, bhatt, dci, ddd, derek, ebi, ecb, fowler, greer, hochdorfer, joel, jon, jones, koritama, leighton, martin, move, mvc, mvp, mvvm, nate, niraj, pac, paul, php, priebsch, rachel, rmr, robert, singh, sohi, stefan, stephan, wenzel, архитектура, веб-разработка, код, лучше, ммм, называется, недостаточно, ооп, паттерны, перевёл, правда, приложений, проектирование, промт, рефакторинг, сайтов, слова, совершенный, фаулер, хорош, штука
Brubeck — быстрый, statsd-совместимый агрегатор метрик от GitHub 2015-06-23 18:18:57
+ развернуть текст сохранённая копия
История появления
Одной из главных целей команды разработчиков GitHub всегда была высокая производительность. У них даже существует поговорка: «it's not fully shipped until it's fast» (продукт считается готовым только тогда, когда он работает быстро). А как понять, что что-то работает быстро или медленно? Нужно мерять. Измерять правильно, измерять надёжно, измерять всегда. Нужно следить за измерениями, визуализировать всевозможные метрики, держать руку на пульсе, особенно, когда дело имеешь с высоконагруженными онлайн системами, такими как GitHub. Поэтому метрики — это инструмент, позволяющий команде предоставлять столь быстрые и доступные сервисы, почти без даунтаймов.
В своё время GitHub одними из первых внедрили у себя инструмент под названием statsd от разработчиков из Etsy. statsd — это агрегатор метрик, написанный на Node.js. Его суть состояла в том, чтобы собирать всевозможные метрики и агрегировать их в сервере, для последующего сохранения в любом формате, например, в Graphite в виде данных на графике. statsd — это хороший инструмент, построенный на UDP сокетах, удобный в использовании как на основном Rails приложении, так и для сбора простейших метрик, наподобие вызова nc -u. Проблема с ним начала проявляться позже, по мере роста количества серверов и метрик, отправляемых в statsd. Читать дальше →
Тэги: brubeck, github, graphite, lock-free, so_reuseport, statsd, udp, веб-разработка, визуализация, высокая, данных, оптимизация, проектирование, производительность, рефакторинг, серверная
[Перевод] Сравнение систем типов PHP7 и Hack 2015-06-01 10:58:58
+ развернуть текст сохранённая копия
Одной из интересных вещей в PHP7, кроме невероятной производительности, является введение скалярного type-hinting'а в сочетании с опциональным «strict» режимом. При чтении RFC я заметил, что PHP код в примерах выглядит очень похожим на Hack. Что если выполнить один и тот же код и в PHP7 и в Hack? Какая разница между ними? Вот что я узнал. Читать дальше →
Тэги: hack, hinting, mode, php, php7, strict, type, анализ, веб-разработка, проектирование, рефакторинг, систем
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
Главная / Главные темы / Тэг «рефакторинг»
|
Взлеты Топ 5
Падения Топ 5
|