Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «проектирования»
[Из песочницы] Отстой ли XMPP? 2015-06-30 18:45:45
Я должен признаться, что написать эту статью я решил очень спонтанно, прочитав статью «XMPP ...
+ развернуть текст сохранённая копия
Я должен признаться, что написать эту статью я решил очень спонтанно, прочитав статью «XMPP отстой» и почувствовав некоторую близость к чувствам автора, так как также использую ХМРР в одном из наших продуктов. Тем не менее, сжав эмоции в кулак, я всё-таки решил просто изложить, почему я испытываю смешанные чувства к данному протоколу и разложить по полкам плюсы и минусы. Также расскажу, что мы выбрали для сервера и клиента. Это все, чтобы тебе, дорогой читатель, сделать правильный выбор и вырвать меньше волос в твоих будущих проектах.
Читать дальше →
Тэги: chat, communications, javascript, prosody, stanza.io, xmpp, анализ, веб-разработка, проектирование, систем
[Перевод] 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, архитектура, веб-разработка, код, лучше, ммм, называется, недостаточно, ооп, паттерны, перевёл, правда, приложений, проектирование, промт, рефакторинг, сайтов, слова, совершенный, фаулер, хорош, штука
[Перевод] Внутреннее представление значений в PHP 7 (часть 2) 2015-06-29 15:59:38
+ развернуть текст сохранённая копия
Kore Nordmann
В первой части мы рассматривали высокоуровневые различия во внутреннем представлении значений между PHP 5 и PHP 7. Как вы помните, главное отличие заключается в том, что zval больше не выделяются отдельно и не хранят в себе refcount . Простые значения, вроде целочисленных или с плавающей точкой, могут храниться прямо в zval , в то время как сложные значения представляются с помощью указателя на отдельную структуру.
Читать дальше →
Тэги: group, mail.ru, php, web-программирование, web-разработка, анализ, блог, веб-разработка, компании, покровов, программирование, проектирование, систем, срыв, теги, читает
Проектирование микросервиса 2015-06-29 13:43:35
В предыдущей публикации я писал о плюсах использования микросервисной архитектуры. Сейчас же ...
+ развернуть текст сохранённая копия
В предыдущей публикации я писал о плюсах использования микросервисной архитектуры. Сейчас же хочу описать процесс создания одного полезного микросервиса. Забегая вперед, скажу, что будет еще одна «микросервисная» статья, посвященная печальному результату погони за технологией, а не за смыслом.
Задача
В тестовом заданий от компании Wheely мне предстояло реализовать аутентификацю через код в смс-сообщении. Суть процесса в следующем:
- Пользователь совершаете какое-либо действие.
- Для подтверждения этого действия генерируется код.
- Код отправляется в СМС-сообщении.
- Пользователь указывает ключ.
- Ключ проверяется на соответствие.
Результатом должно было стать самостоятельное приложение, которое выполняет задачи, обозначенные в пунктах 2, 3 (только имитация), 5. Пины становятся не актуальны через 2 минуты после генерации. Все остальное на мое усмотрение.
Я выполнял подобную задачу (с разной степенью проработки) уже дважды, однако оба раза в качестве монолитного сервиса, стараясь использовать те технологии, которые уже были в проекте. В этом же задании было указано, что особое внимание при проверке будет уделено именно моему выбору инструментов.
Читать дальше →
Тэги: redis, ruby, sinatra, анализ, веб-разработка, микросервисы, проектирование, разработка, систем
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, веб-разработка, визуализация, высокая, данных, оптимизация, проектирование, производительность, рефакторинг, серверная
Главная / Главные темы / Тэг «проектирования»
|
Взлеты Топ 5
Падения Топ 5
|