Коты-программисты. Сезон #05.

Эпизод #50

- Тихон, ну что, ты запускал бенчмарки для 21-го эрланга?

- Да, запускал.

- И что там, какие результаты?

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

Эпизод #51

- Тихон, а давай переведем проект на более свежую версию эрланга.

- Давай, Марфа. А девопсам про это не скажем.

- Коварный план, хе-хе-хе.

- Главное, потом вовремя убежать и спрятаться, хи-хи-хи.

Эпизод #52

- Ну что, Марфа, как там нагрузочный тест?

- Хорошая новость в том, что те метрики, которые ты предложил добавить, действительно помогли.

- Угу.

- А плохая новость в том, что выяснилось, что все работает не так, как мы думали.

Эпизод #53

- Тихон, тебе скоро выступать на митапе. Ты готовишься?

- Да. Но в основном морально.

- То есть, прокрастинируешь?

- Ну можно и так это назвать.

Эпизод #54

- О чем ты думаешь, Марфа?

- Вот думаю, почему docker-compose позволяет указать, какой сервис запутить, но не позволяет указать, какой сервис не запускать?

- Но ты же справилась с этой проблемой?

- Справилась. Комментирование строк в docker-compose.yml никто не запрещал.

Эпизод #55

- Тихон, у Эликсира есть целая отдельная книжка про метапрограммирование. А зачем это все?

- А это, Марфа, называется: "мы добавили язык программирования в наш язык программирования, чтобы вы могли программировать, пока программируете".

- И что, от него вообще пользы нет?

- Польза есть. Вот, например, Ecto сделали. А в эрланге такое никак не получалось, сколько ни пытались.

Эпизод #56

- Тихон, вот ты сидишь, копаешься в чужом легаси-коде. Неудачник.

- Марфа, дело не в том, что это чужой легаси-код. Дело в том, что это проект, который мог взлететь, и не взлетел. Но у него еще есть шанс.

- Да может выбросить его нафиг, и написать все заново.

- Обязательно. Непременно. Но потом. Сперва попробуем починить.

Эпизод #57

- Коты, как там ваш предыдущий проект поживает?

- Да все хорошо. Вот, недавно баг нашли, критический.

- А, ну, значит, все в порядке.

- В порядке, в порядке. Чиним, не мешай.

Эпизод #58

- Тихон, ты опять делаешь метрики?

- Ага.

- Чего ты столько возишься с этой ерундой? Это ж просто.

- Просто раскидать в случайных местах в коде случайные метрики.

Эпизод #59

- Что делаешь, Тихон?

- Готовлюсь проводить собеседование.

- Будешь спрашивать про круглые люки?

- Ну нет, что ты, конечно нет. А хотя ...

Эпизод #5A

- Марфа, зачем ты завела отдельную переменную для хранения размера очереди?

- Потому что вызов queue:len выполняется за O(n).

- Хорошо, а зачем тогда тут проверка assert(queue:len(Inbox) == InboxSize) ?

- А это чтобы убедиться, что переменная находится в консистентном состоянии.

- А ты в курсе, что твой assert выполняется за O(n)?

- Ой, блин.

Эпизод #5B

- Тихон, ты уже начал делать эту задачу?

- Да, сейчас начну, только отвечу на четыре письма, и начну.

- Ты говорил то же самое два часа назад.

- Два часа назад были другие четыре письма.

Эпизод #5C

- Смотри, Тихон, какой лаконичный код у меня получился.

- Отлично, Марфа. Но я могу написать еще короче.

- Это как?

- Смотри, вот так:

- Но тут ничего нет.

- Верно.

Эпизод #5D

- Коты, вот что это сейчас было?

- Это стендап, ежедневный утренний стендап.

- Угу, а зачем стул опрокинули и тикеты разбросали?

Эпизод #5E

- Тихон, ты опять опоздал на работу.

- Я всегда на работе. Я опоздал в офис.

- Что это значит? Ты, типа, круглые сутки только о работе думаешь?

- Не, это такая красивая отмазка.

Эпизод #5F

- Тихон, расскажи, что такое модель акторов?

- Ну это как тусовка котов -- ходят туда-сюда, обмениваются сообщениями.

- И все?

- Еще у каждого из них своя голова. Нет головы, общей для нескольких котов.

- Умеешь ты метафоры придумывать.