Основные идеи из доклада «Отвечаем на архитектурные вопросы при помощи ООП в картинках»

Отстрелялся на RubyRussia с докладом. Народ местами хихикал, местами ржал :)

Началось все с безобидной идеи изображать объекты в виде чувачков с ручками, где ручки — это методы за которые можно подергать:

little dudes

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

Anti-patterns examples

Отдельно хотелось бы выделить руки-базуки, на которые как-то не шибко принято обращать внимание, но тут аналогия становится настолько наглядной что ее невозможно игнорировать! :)

Дальше мы используем получившиеся правила, чтобы изобразить более сложные концепции: полиморфизм и Dependency Injection.

Полиморфизм
Полиморфизм — это просто тот же набор рук с тем же кол-вом пальцев!

В последней части доклада я применяю получившийся визуальный язык чтобы проследить изменения в реальном коде в динамике. Внезапно получается очень наглядно:

Diff
Нет, плагина для CI который бы визуализировал диффы таким образом еще нет. Можете написать!

Посмотрите доклад, короче :)

Есть еще слайды отдельно:

Шутки шутками, но мне кажется что у этой идеи большой потенциал, и я собираюсь еще поработать над ней.

2019   Фигачу

Как запускать программы в макоси по расписанию

Чтобы вкладка в браузере открывалась с какой-то периодичностью, есть Tabsnooze. Я им активно пользуюсь:

  • Просмотр отчетов Welltory — ежедневно
  • Страница с расписанием бассейна — пару раз в неделю
  • Отчеты Rescuetime, Rss Reader — еженедельно
  • Страница Telenor чтобы скачать счета за мобильную свзяь — ежемесячно

А нынче решил почаще практиковать фрирайтинг, и задумался а как сделать так чтобы ежедневно по утрам сам собой запускался Flowstate.

Оказалось, способ есть, хоть и немного хитрожопый. Во встроенном маковском календаре есть возможность поменять алерт у события на кастомный:

После выбора ’Other’ выбираешь любую прогу из Applications, и он её запускает по расписанию. На здоровье!

Мэйлчимп надоел

Про рассылки

Я фанат рассылочного формата. Мне очень вкатывает формат Ильяхова, норм пошел курс о внимании к себе. Толкового программиста я сделал тоже в формате рассылки. И сейчас думаю даже вместо книжки, Painless Rails сделать в рассылочном формате.

Про подсветку кода

Короче, долго ли коротко ли, заряжал тут свой мини-курс Rails Pitfalls в мэйлчимп, и весь прямо извелся оттого, что нормально не мог вставить блоки кода. Посмотрел как делают другие в своем инбоксе — увидел что либо код без подсветки и отступов, либо прямо скриншотами фигачат в письмо.

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

Совсем уже было расстроился. Но решил гуглить до победного. Нагуглить полезных ссылок про мэйлчимп — отдельный челлендж. Первые пять страниц выдачи забиты полумаркетинговыми материалами самого мэйлчимпа. В итоге все-таки накопалась тулза самого мэйлчимпа и еще одну посоветовали в тви.

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

Про автоматические кампании

Вообще говоря, я видимо разбалован терраформом, из-за чего отношение к гуевым инструментам у меня теперь супер-критическое. Мне хочется накидать кампанию в YAML-файле, заготовить шаблонов с контентом, и чтобы апишкой это куданть засосалось само, само там все отправило как надо и когда надо, и отдавало бы назад статистику через вебхуки.

В этом смысле Мэйлчимп — это просто какой-то динозавр. У них половина функционала через API вообще не доступна, вторая половина очень куцая. Вебхуков кот наплакал — о том чтобы узнать кто у тебя там отвалился речь не идет вообще — добро пожаловать в гуй, и ковыряйся там.

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

Мне кажется мир ждет своего DNSimple/Now.sh/Terraform только для рассылок. Ну или я чего-то еще сильно не понимаю в email-маркетинге.

Ctrl + ↓ Ранее