Максим Сячин — Микросервисы: первая кровь (StudentDay)


. Максим Сячин — Микросервисы: первая кровь (StudentDay)
Java-конференция Joker 2016, Санкт-Петербург, 14-15.10.2016

Микросервисная архитектура — это не только новая мода, но и хорошее, а иногда даже единственно возможное решение для задач, которые сейчас встречаются в разработке программного обеспечения. На конференциях микросервисы сравнивают с монолитной архитектурой, описывают их плюсы и минусы, делятся успешными и провальными историями. Но, пока в столицах дают рок-концерты, на местах осваивают балалайки. Не всегда понятно, как начать делать систему, основанную на микросервисной архитектуре. Какие проблемы ждут архитектора и разработчиков, какие узкие места могут встретиться и как к этому подготовиться? Имеет ли смысл начинать с монолита или надо сразу разбивать систему на микросервисы? Как определить границы, которые встанут между вашими микросервисами?

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

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

Цель доклада не только в освещении проблемных мест разработки микросервисов, но и в предложении советов и решений, которые помогут исправить или даже избежать сложностей и, следственно, потери времени и ресурсов на их исправление.

Наш опыт с Kubernetes в небольших проектах (Флант, RootConf 2017)


Доклад Дмитрия Столярова, технического директора компании «Флант» (https://flant.ru/), на конференции RootConf, проходившей в рамках фестиваля РИТ 2017 (6 июня 2017 г.). Посвящён устройству и основным возможностями Kubernetes и практике использования этой контейнерной системы в небольших проектах…

* Текстовый обзор доклада: habrahabr.ru/company/flant/blog/331188/
* Презентация: speakerdeck.com/flant/nash-opyt-s-kubernetes-v-niebol-shikh-proiektakh
* Анонс доклада на сайте конференции: rootconf.ru/2017/abstracts/2701

P.S. Мы всегда рады новым инженерам! Подробности см. на job.flant.ru/

Грамотное ООП: организация надёжной бизнес-логики / Дмитрий Елисеев (ElisDN)


Презентация и тезисы:
phprussia.ru/2019/abstracts/5114

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

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

Как производить отделение UI от бизнес-логики, чтобы не было протечек слоёв в MVC. Научимся создавать агрегаты для сущностей предметной области для соблюдения инварианта. Какие проверки поместить в сущность, а какие — в сервисный слой. Как производить валидацию и использовать исключения.

Нашли ошибку в видео? Пишите нам на support@ontico.ru

Целостность данных в микросервисной архитектуре / Николай Голов (Avito)


HighLoad Siberia 2018

Тезисы и презентация:
www.highload.ru/siberia/2018/abstracts/3694

На дворе 2018 — все любят микросервисы и пилить монолиты.
При этом у монолита с единой базой есть плюс — целостность и согласованность данных о, например, списании денег за услугу и применении услуги можно гарантировать обычной транзакцией на уровне СУБД (PostgreSQL, Oracle и т.п.).

— Нашли ошибку в видео? Пишите нам на support@ontico.ru

Что мы знаем о микросервисах? / Вадим Мадисон (Avito)


HighLoad Moscow 2018

Тезисы и презентация:
www.highload.ru/moscow/2018/abstracts/4289

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

В общем, поделюсь всем тем, что называется «жизнь после запуска в Kubernetes»…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru

Как стать Python разработчиком в 2021 году?


В последние годы язык программирования Python стремительно набирает популярность. По данным Stack Overflow Developer Survey 2019, в котором приняли участие более 87 тысяч IT специалистов из разных стран, Python опередил даже таких постоянных и несомненных лидеров, как Java, С# и С.

Сейчас он широко используется в Data Science (машинное обучение, анализ данных, визуализация), разработке встроенного программного обеспечения и в реализации серверной части веб-приложений. Также при помощи Python можно создавать игры, десктопные и мобильные приложения, писать тесты для ПО, а также упрощать администрирование ОС.

Хочешь стать Python разработчиком и не знаешь, с чего начать? Регистрируйся на вебинар с Артемом Мураховским 16 декабря. Ты сможешь получить ответы на свои вопросы.

Программа встречи:

— Кто такой Python разработчик и что он делает?
— Какие знания, умения и навыки нужны Python разработчику?
— Требования к разработчикам уровня Junior.
— С чего начать обучение языку Python?
— Составление плана обучения.
— Рекомендуемая литература.
— Ответы на вопросы.

Масштабирование базы данных через шардирование и партиционирование / Денис Иванов (2ГИС)


РИТ 2015, HighLoad Junior

Презентация и тезисы:
junior.highload.ru/2015/

Разрабатывая какой-либо проект рано или поздно мы можем столкнуться с проблемой нагрузки на БД. Данных может быть очень много, а мы как-то должны выдерживать нагрузки и должны быть готовы к её росту.

В своём докладе я поделюсь опытом масштабирования БД, расскажу всё максимально подробно — с какими проблемами можно столкнуться, какие стратегии и подходы лучше всего заложить в проекте.

PHP и PhpMyAdmin - создание, вывод, изменение и удаление данных


В этом видео демонстрируется использование PHP в связке с MySQL по методологии CRUD.
Мы разберем создание, вывод, изменение и удаление записей. Это позволит вам понять, как можно взаимодействовать с базой данных на примере PHP.

Исходники с комментариями: drive.google.com/open?id=1wCxDO97z20eRAnoOFmTsZKrZxoGvypms

VK: vk.com/areawebsu
WS: areaweb.su

Базы данных, лекция №1 (2013 г.)


Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана.
Курс «Базы данных». Лекция №1 «Введение и начало проектирования»
Лектор — Павел Щербинин.

Краткое содержание лекции:
08:03 Зачем и для кого этот курс? Обзор курса (25 минут)
33:05 Рекомендуемая литература и сайты. 4 книги 5 сайтов.
35:08 Что такое данные?
37:35 Реляционная модель данных
45:35 Сущности и связи
48:45 Реляционная алгебра
50:55 Реляционная алгебра. Выборка
53:30 Реляционная алгебра. Проекция
55:24 Реляционная алгебра. Объединение
56:11 Реляционная алгебра. Пересечение
56:43 Реляционная алгебра. Разность
58:47 Реляционная алгебра. Деление
01:00:33 Реляционная алгебра. Соединение
01:04:07 Основы проектирования баз данных
01:05:08 Основные задачи проектирования баз данных
01:11:16 Критерии оценки модели данных 1 слайд
01:18:26 Критерии оценки модели данных 2 слайд
01:20:58 Особенности концептуального проектирования
01:28:52 Рекомендуемая литература: Стив Макконнелл «Совершенный код»
01:30:00 Этапы проектирования
01:32:31 Этапы проектирования. Концептуальное проектирование.
01:34:22 Этапы проектирования. Логическое проектирование
01:36:08 Этапы проектирования. Физическое проектирование
01:40:20 Почему проект БД может быть плохим?
01:44:05 Типы данных MySQL

Слайды лекции www.slideshare.net/Technopark/1-47114287

В лекции обсуждаются значение и роли баз данных в IT, даются определения БД и СУБД. Затем рассказывается о реляционной модели данных, об основах реляционной алгебры. Далее говорится непосредственно о проектировании БД: каковы критерии оценки модели данных, особенности концептуального проектирования, этапы проектирования, что такое логическое проектирование. Остальная часть лекции посвящена типам данных MySQL: NULL, целые числа, числа с плавающей точкой, бинарные, строки, дата и время.

Другие лекции курса | www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Наш видеоканал | www.youtube.com/user/TPMGTU?sub_confirmation=1
Официальный сайт Технопарка | tech-mail.ru/
Официальный сайт Техносферы | sfera-mail.ru/
Технопарк в ВКонтакте | vk.com/tpmailru
Техносфера в ВКонтакте | vk.com/tsmailru
Блог на Хабре | habrahabr.ru/company/mailru/

#ТЕХНОПАРК
#ТЕХНОСФЕРА

x

Базы данных. Проектирование


Презентация:
docs.google.com/presentation/d/1juuFUARCv8_s0gKIWWis1ok2DUH2o440rbIx-r1bLU0/edit?usp=sharing

Задачи — проектируем концептуальные и даталогические модели по описаниям:
docs.google.com/spreadsheets/d/1XtOKycB_16AS1Qp1WvJJXRl9KG-YDkIZLzZYNY4zIjI/edit?usp=sharing

* ОБЯЗАТЕЛЬНО сохраняем всё что сделали, в следующем занятии нам это понадобится

Вводный курс по базам данных.

В этом занятии поговорим о:
— Задачах и этапах проектирования
— ER-диаграммах
— Примерах концептуального, даталогического и физического проектирования

По любым вопросам, связанным с курсом можно писать на почту: okulov@rclass.pro