Второе видео из серии о нормализации отношений баз данных. На примере понятно и доступно рассказывается о том, как спроектировать таблицу базы данных, чтобы она соответствовала условиям второй нормальной форме.
Большинство backend программ начинает свое сетевое общение с REST. По мере развития разработчику приходится отвечать на мелкие, но важные вопросы: как передавать дату и время, большие объемы данных, обеспечивать авторизацию и так далее.
Сетевые коммуникации в современном бэкенде — это множество конкурирующих протоколов, стандартов и подходов. У нас есть «REST», который каждый разработчик реализует по-своему, есть пересекающиеся JSON Schema и Open API, есть JSON API, GraphQL, gRPC, из-за угла выглядывает RAML.
В докладе Григорий рассказывает про современные подходы коммуникаций backend друг с другом и фронтендом, с какими сложностями мы боремся и что хорошего есть в нашем арсенале решений.
Краткий обзор. Какие проблемы решает, а какие создает? Что выбрать, реализацию через наследование или декларативный подход? Рассмотрим возможности СУБД в этих направлениях, историю развития и тенденции. Разберем более подробно декларативный подход и реализацию секционирования в своем проекте.
Спойлер: 100 500 строк кода остается между документацией и внедрением в проекте.
AWS Lambda от Amazon достаточно новая, но интересная и перспективная технология, впервые увидевшая свет чуть менее 5 лет назад. В своем докладе я расскажу как мы разрабатывали с нуля и докатили до прода в достаточно короткие сроки систему на базе AWS Lambda.
Основная задача системы — запуск ML моделей для генерации предсказаний по заданным гипотезам. Однако архитектура получилась достаточно гибкая и позволяет расширять набор моделей практически «на лету».
Я расскажу о некоторых особенностях работы с AWS Lambda, а также немного ближе познакомлю с облачными сервисами Amazon (SQS, SNS, EC2, S3, etc.)
В этом видео мы реализуем Телеграм бота для учёта личных расходов с бюджетом, категориями расходов и базовой статистикой. Использовать будем Python и Aiogram с Asyncio, в качестве базы данных легковесный движок SQLite, а результат работы упакуем в Docker контейнер для быстрого разворачивания на любом сервере.
0:00 Telegram бот для учёта личных финансов
0:43 ТЗ на бота
3:01 Демонстрация работы бота
5:07 Используемые библиотеки и технологии
7:00 Aiogram
7:29 Создание бота, получение токена
8:30 Обход блокировки Telegram
9:40 Инициализация бота
10:36 Добавление расходов
12:27 Модуль expenses
18:22 Работа с категориями
19:15 Структура БД
21:49 Модуль работы с БД
24:01 Продолжение по категориям
25:35 Удаление расхода
26:33 Просмотр расходов
29:00 Статистики
30:30 Docker
33:00 Выводы
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Микросервисная архитектура — это не только новая мода, но и хорошее, а иногда даже единственно возможное решение для задач, которые сейчас встречаются в разработке программного обеспечения. На конференциях микросервисы сравнивают с монолитной архитектурой, описывают их плюсы и минусы, делятся успешными и провальными историями. Но, пока в столицах дают рок-концерты, на местах осваивают балалайки. Не всегда понятно, как начать делать систему, основанную на микросервисной архитектуре. Какие проблемы ждут архитектора и разработчиков, какие узкие места могут встретиться и как к этому подготовиться? Имеет ли смысл начинать с монолита или надо сразу разбивать систему на микросервисы? Как определить границы, которые встанут между вашими микросервисами?
Во время разработки можно заложить на будущее множество сложностей, благодаря привычкам, оставшимся после работы над монолитной архитектурой. Во время доклада будут рассмотрены различные сценарии, в результате которых происходит увеличение связанности системы. Все сценарии взяты из реальных проектов и относятся к работе с библиотеками и интеграцией между микросервисами.
Выбор микросервисов окажет большое влияние на тестирование, где специалистов QA ждет ряд новых проблем, связанных со сбором логов и развертыванием окружения для тестирования.
Цель доклада не только в освещении проблемных мест разработки микросервисов, но и в предложении советов и решений, которые помогут исправить или даже избежать сложностей и, следственно, потери времени и ресурсов на их исправление.
Цель курса — познакомить слушателей с сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается исследователь данных в работе
Мы готовим квалифицированных специалистов для российского рынка веб-разработки.
У нас — бесплатное практико-ориентированное обучение под руководством лучших специалистов Mail.Ru Group. Преподавание строится на примерах из реальной практики, существующих проектов, с анализом их достоинств и недостатков.
Лучшие студенты получают возможность стажировки в Mail.Ru Group.
Отбор в проекты проходит каждые полгода.