«Где Прототип 3?» — после выхода второй части, с каждым годом вопрос этот звучал все чаще и громче. Из раза в раз приобретая различные интонации. Вначале было отрицание того, что триквела не будет. Следом гнев и возмущение. Торг в момент выхода переиздания на консоли текущего поколения. Депрессия от того, что это ни на что не повлияло и наконец… принятие. Кажется, именно сейчас, в 2019 году фанаты этой дилогии окончательно смирились с мыслью о том, что скорого возрождения франшизы не ожидается. Но как так вышло? Как серия, покорившая столь многих людей, получила одобрительные оценки критиков и продавалась, казалось бы, далеко не самыми малыми тиражами, ушла в небытие?
Мы приветствуем вас на канале TVG и сегодня постараемся ответить на все эти вопросы. Встречайте же, Расцвет и Упадок Prototype.
Резервное копирование баз данных — всегда актуально. В этом видео мы покажем, как написать два Python скрипта, один снимает полный дамп с PostgreSQL, затем архивирует, шифрует и загружает его в Яндекс Object Storage (S3-совместимое хранилище); а второй — выкачивает последний по времени дамп базы из хранилища, расшифровывает его, распаковывает и накатывает на БД.
Исходники — github.com/alexey-goloburdin/postgres-s3-backuper (прочтите описание, код из видео и в репозитории несколько отличаются).
Яндекс утилиту WAL-G здесь не используем, только стандартный pg_dump. Возможно, в следующих видео расскажем о WAL-G:)
0:00 О скриптах резервного копирования PostgreSQL
0:30 О Яндекс Object Storage / S3
1:07 Обзор скрипта бэкапа
4:44 Шифрование бэкапов с openssl
5:40 Продолжение обзора скрипта бэкапа
10:48 Emoji и разноцветный текст в консоли
11:45 Просмотр всех бэкапов в браузере
12:08 Обзор скрипта автоматической распаковки бэкапа в PostgreSQL
18:45 Выводы
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Микросервисная архитектура — это не только новая мода, но и хорошее, а иногда даже единственно возможное решение для задач, которые сейчас встречаются в разработке программного обеспечения. На конференциях микросервисы сравнивают с монолитной архитектурой, описывают их плюсы и минусы, делятся успешными и провальными историями. Но, пока в столицах дают рок-концерты, на местах осваивают балалайки. Не всегда понятно, как начать делать систему, основанную на микросервисной архитектуре. Какие проблемы ждут архитектора и разработчиков, какие узкие места могут встретиться и как к этому подготовиться? Имеет ли смысл начинать с монолита или надо сразу разбивать систему на микросервисы? Как определить границы, которые встанут между вашими микросервисами?
Во время разработки можно заложить на будущее множество сложностей, благодаря привычкам, оставшимся после работы над монолитной архитектурой. Во время доклада будут рассмотрены различные сценарии, в результате которых происходит увеличение связанности системы. Все сценарии взяты из реальных проектов и относятся к работе с библиотеками и интеграцией между микросервисами.
Выбор микросервисов окажет большое влияние на тестирование, где специалистов QA ждет ряд новых проблем, связанных со сбором логов и развертыванием окружения для тестирования.
Цель доклада не только в освещении проблемных мест разработки микросервисов, но и в предложении советов и решений, которые помогут исправить или даже избежать сложностей и, следственно, потери времени и ресурсов на их исправление.
Все мы читали про объектно-ориентированное программирование и проектирование абстрактных типов данных, но мало кто из нас использует их по назначению. И бизнес-логику проектировать и тестировать получается не у всех. Почему-то вместо красивого кода образуется переплетение вызовов, и загромождаются контроллеры.
Вместе мы научимся раскладывать весь этот код по местам. Потренируемся в объектно-ориентированной декомпозиции для грамотного проектирования сущностей по обязанностям. Научимся сочинять ко всему этому быстрые, удобные и надёжные юнит-тесты.
Как производить отделение UI от бизнес-логики, чтобы не было протечек слоёв в MVC. Научимся создавать агрегаты для сущностей предметной области для соблюдения инварианта. Какие проверки поместить в сущность, а какие — в сервисный слой. Как производить валидацию и использовать исключения.
—
Нашли ошибку в видео? Пишите нам на support@ontico.ru