Django остаётся самым популярным Python веб-фреймворком в мире, однако архитектура большинства проектов на нём, мягко говоря, оставляет желать лучшего. В этом мастер-классе мы на живом примере поговорим о структуре Django проекта, бизнес-логике в Django, а также о хороших практиках проектирования кода.
0:00 О чём пойдёт речь, постановка задачи
2:17 Создание проекта
3:50 Создание моделей
7:39 Создание первоначальных Django Views
25:21 Анализ полученного начального кода
26:07 Рефакторинг
40:40 Вынос бизнес-логики в отдельный слой
54:09 Анализ полученного кода, финальный рефакторинг
Создание бизнес-сервисов
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Чтобы управлять программистами, нужно понимать их мотивацию. Как «сегодняшнюю» — почему я хочу в проект? Так и глобальную – а что я буду хотеть завтра, удовлетворит ли меня эта работа?
Как правило, в долгосрочной перспективе программист у вас заскучает или проект его перерастет. Значит, замена в команде неизбежна в любом проекте.
…
Нашли ошибку в видео? Пишите нам на support@ontico.ru
ytimg.preload(https://r4---sn-axq7sn7z.googlevideo.com/generate_204);ytimg.preload(https://r4---sn-axq7sn7z.googlevideo.com/generate_204?conn2);3. Проектирование базы данных, нормальные формы — YouTube<link rel=«alternate» type=«application/json oembed» href=«www.youtube.com/oembed?format=json
Лекция читается в рамках образовательного проекта «Технопарк Mail.ru Group» при МГТУ им.Баумана.
Описание лекции:
Лекция посвящена нереляционным (NoSQL) базам данных.
Рассматриваются следующие темы:
— История СУБД
— Реляционные БД
— NoSQL БД
— Теорема CAP
— Модели согласованности (консистентности) данных
— СУБД Tarantool
— Недостатки NoSQL решений
Хронометраж:
00:00:05 О теме лекции
00:02:37 Профессиональные цели и задачи изучения NoSQL
00:06:18 Список литературы, интернет ресурсы по теме лекции
00:12:29 Почему NoSQL? Причины появления концепции NoSQL
00:12:59 Реляционные БД: исторический экскурс
00:13:20 Статистика: наиболее используемые технологии среди разработчиков
00:17:06 Реляционные СУБД: предварительные выводы
00:20:41 Реляционные СУБД: рассмотрение проблем
00:21:31 История СУБД: 80-е — мейнфреймы
00:22:17 История СУБД: 90-е — shared database
00:23:40 История СУБД: XXI век — данных стало больше
00:25:13 История СУБД: XXI век — данные стали сложнее
00:27:51 Производительность реляционных БД
00:30:42 Реляционные БД: проблема Impedance Mismatch
00:33:43 NoSQL: исторический экскурс
00:35:42 NoSQL: история происхождения самого термина
00:38:06 NoSQL: общие характеристики
00:40:55 NoSQL: агрегатно-ориентированные БД (aggregate orientation)
00:44:48 NoSQL: нормализация данных vs данные в виде агрегатов
00:48:10 Пример агрегатов для реляционной модели e-commerce (подробней: habrahabr.ru/post/152477/)
00:49:38 Диаграмма эволюции существующих концепций и реализаций БД
00:53:41 Базы данных NewSQL
00:54:49 Базы данных NewSQL: FoundationDB
00:57:59 Базы данных временных рядов (Time series database (TSDB))
01:00:41 Встраиваемые базы данных (Embedded database)
01:05:00 Базы данных очередей (Queues database)
01:07:12 Хранилище данных ключ-значение (Key-Value Store)
01:12:38 Документно-ориентированное хранилище (Document-Oriented Store)
01:14:01 Хранилище типа «большая таблица» (BigTable-like Store)
01:16:58 Колоночно-ориентированные БД (Column-Oriented database)
01:19:23 Вопрос из зала по изучаемому материалу
01:21:43 OLTP
Это обучающий гайд/урок и обзор Unreal Engine 4 для начинающих разработчиков которые еще не знакомы с движком.
Мы разберём такие темы как:
Что такое Unreal Engine 4 и его возможности
Где скачать и как установить Unreal engine 4
Знакомство с Epic Games Launcher
Обзор на стартовые шаблоны под ваши проекты
что входит в стартовый контент
какое программное обеспечение потребуется.
Сегодня я расскажу, как я сделал свою версию игровой приставки gameboy с помощью arduino, языка программирования C, джостика и дисплея, а потом запустил на ней pseudo3D шутер от первого лица, змейку и flappyBird, только с вектозавром. Приятного просмотра!
В одном из своих предыдущих роликов я уже рассказывал, что все компьютеры на фундаментальном уровне работают абсолютно одинаково: передают нолики и единички из одной части в другую. Самая важная часть компьютера – процессор. Именно там происходят математические операции и вычисления.
В обычном компьютере к процессору подключены разные периферийные устройства, которыми он управляет. Например, видеокарта, оперативная память или жесткий диск.
Но это вовсе не значит, что все компьютеры должны иметь именно такую конфигурацию. Оперативная память может быть расположена внутри процессора, а видеокарты может вообще не быть.
Готовое устройство должно иметь небольшой экран, на который мы будем выводить изображение геймплея. Для того, чтобы рисовать фигуры или писать текст, нужно во первых, подключить его контакты к нужным пинам компьютера, а во вторых, скачать специальную библиотеку, которая будет управлять дисплеем на низком уровне.
Я решил использовать высокоуровневую библиотеку adafruit, которая с помощью интерфейса I2C осуществляет взаимодействие с пикселями на экране.
Первое, что я сделал, это вывод небольшого логотипа с названием канала. Сразу после я переписал псевдо-3д движок на язык СИ, а так же попытался максимально упростить код.
Необходимо добавить небольшое меню, в котором можно будет выбирать игру. Я решил, что элементов управления должно быть по минимуму: только джостик. Наклоном джостика игрок будем перелистывать библиотеку и управлять игровым процессом, а центральной кнопкой выбирать игру и выходить из игры в главное меню.
Следующая игра — змейка. Пожалуй, она самая простая в реализации. Идея максимально проста: змейка — эта массив двумерных точек. Каждый шаг мы смещаем голову (то есть самый первый элемент) в строну взгляда, а каждый следующий на место своего соседа (начиная с конца). Когда змея сьедает яблоко, мы увеличиваем длину змейки на единицу. Джойстиком меняем направление взгляда.
3-я игра — Flappy Bird. Она достаточно простая в реализации, но очень интересная и сложная в игровом процессе.
Я решил использовать алюминиевый корпус. В комплекте идут две лицевые стороны, которые скрепляются между собой боковыми крышками. Крышки крепятся с помощью небольших болтиков. Выглядит такое решение куда более надежно и красиво.
Для того, чтобы сделать геймбой максимально компактным и надежным, нужно сделать плату, на которой будут крепиться все компоненты. Из готовых элементов я собрал схему, которую потом развел в готовую плату. Тут ничего сложного и я уже подробно показывал этот процесс в своем видео про самодельный компьютер с нуля.
В этот раз я решил, что не хочу ждать плату целый месяц, и решил все таки попробовать лазерно-утюжную технологию (ЛУТ). В любом случае, интересно попробовать разные методы разработки.
Для питания я решил использовать небольшие аккумуляторы 3.7 V. Я буду использовать два таких аккумулятора, подключенных последовательно.
Получившийся геймбой работает замечательно, имеет малый вес и удобно сидит в руке. Есть огромные возможности для расширения функционала прошивки и модернизации устройства. Заряд держит приблизительно 2 дня активной игры. Я полностью доволен работой, именно этого результата я хотел добиться.
Моя любимая игра, безусловно, «flappyZavr». В нее не надоедает играть и она постоянно держит в напряжении. В змейку я бы, возможно, в будущем добавил возможность изменения уровня сложности, а в 3D игру можно было бы добавить врагов.