К основному контенту

5 за 5 (история 4)

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

1. Harvest, Yield, and Scalable Tolerant Systems (PDF)
Обычно мне тяжело даются такие "около академические" труды, CAP-теорема и вот это все. Но тут хорошо зашло: новые термины для того, что уже раньше использовалось в работе и обозначалось "на пальцах".

We assume that clients make queries to servers, in which case there are at least two metrics for correct behaviour: yield, which is the probability of completing a request, and harvest, which measures the fraction of the data reflected in the response, i.e. the completeness of the answer to the
query. Yield is the common metric and is typically measured in “nines”: “four-nines availability” means a completion probability of 0.9999 . In practice, good HA systems aim for four or five nines. In the presence of faults there is typically a tradeoff between providing no answer (reducing yield) and providing an imperfect answer (maintaining yield, but reducing harvest). Some applications do not tolerate harvest degradation because any deviation from the single well-defined correct behaviour renders the result useless.

2. За все время работы в разработке я часто сталкивался с верой в магическую должность "Архитектор" (Архитектор ПО, Системный архитектор и прочее). Видимо мне не повезло встретить и поработать с настоящими архитекторами, если они существуют. А сам я, IMHO, как-то хреново "архитектирую".
Тем не менее, вот вам несколько полезных ссылок про архитектуру ПО "на подумать-почитать":
3. "Программный комитет HolyJS изнутри" - подробный рассказ про процесс подготовку докладов (= содержательной части конфы) к конференции HolyJS. В нашем ПК Heisenbug конфы процессы очень похожие.

4. Немного истории из своего блога "Популярная психология в IT и не только".

5. Интересная цитата, надо книжку почитать
An Approach to Cybernetics (1961) by Gordon Pask
"Observers are men, animals, or machines able to learn about their environment and impelled to reduce their uncertainty about the events which occur in it, by dint of learning... [We] shall examine human observers who, because we have an inside understanding of their observational process, belong to a special category. For the moment, we shall not bother with HOW an observer learns, but will concentrate upon WHAT he learns about, i.e. what becomes more certain."




Комментарии

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub.

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

Проверять работоспособность тестируемого объекта (system uder test - SUT) можно двумя способами: оценивая состояние объекта или его поведение.

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

Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT.

Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы.

Теперь подробнее.

Gerard Meszaros использует термин Test Double (дублер), как обозначение для объекта, который зам…

План "Б" или как прикольно провести субботний день

Всем привет.
Вчера состоялась конференция "План Б". Организаторами выступили ребята из Яндекса, за что им большое спасибо. Судя по приблизительным подсчетам в мероприятии участвовало около 200 человек.

Основной темой конференции было планирование, планирование всего: проектов, разработки, тестирования, дизайнеров и даже организации музыкального фестиваля.
Сначала думал написать отчет в обычном своем стиле: кто и что говорил, но почитав твиттер по #pbconf понял, что просто потеряю время :) Поэтому кому оооочень интересно узнать подробности следуйте за птичкой и вы все узнаете (тэг #pbconf попал в top-30 твиттера)
Здесь приведу лишь те вещи, которые мне запали в мозг
Роман Чернин о продуктовой разработке: "нет заказчика, нет требований, нет сроков -> как принимать решения? ответ: заводим себе Product Manager-а"
Оля Павлова (@op): "бойтесь иллюзии точной формулировки" "заказчик - ребенок, выдаем ему игрушку как можно чаще" "не забываем, …

Переключите тумблер или умные люди дурного не посоветуют

Навеяно интересными вопросами про TDD после вчерашнего выступления.

Uncle Bob: "Flipping the Bit"

Подробнее постараюсь перевести чуть позже, пока только это:
Как определить, что у коллеги (или у вас) ТУМБЛЕР переключен?  Если ваши ответы на вопросы ниже совпадают с приведенными - то все хорошо :)
Мантра:

Сможете ли вы выполнить работу быстрее используя TDD? ДАСуществуют ли какие-либо задачи, которые вы можете выполнить быстрее без TDD? НЕТЯ понимаю, что TDD может помочь в долгом проекте, а что если у вас короткая задача? Будете использовать TDD? Да, потому что TDD быстрее даже в короткой перспективеЧто если времени реально не хватает, и босс стоит над душой, будете ли вы использовать TDD? ДАВ любом случае? ДАЕсть ли случаи, когда вам не нужно использовать TDD? НЕТПредставьте себе что вы на звездном корабле Enterprise (Star track) и осталась всего секунда до взрыва антиматерии. Все что вам нужно, чтобы избежать этого, поменять один IF. Будете ли вы использовать TDD? ДАПочему? П…