Расскажу про проблемы, с которыми мы столкнулись при разработке одного из самых нагруженных сервисов Авито, а именно о базовых шаблонах проектирования микросервисной архитектуры. А также расскажу, почему разрабатывать, поддерживать и чинить проблемы в микросервисной архитектуре гораздо сложнее, чем в монолите, и что нужно сделать, чтобы облегчить этот процесс.
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru
Чтобы управлять программистами, нужно понимать их мотивацию. Как «сегодняшнюю» — почему я хочу в проект? Так и глобальную – а что я буду хотеть завтра, удовлетворит ли меня эта работа?
Как правило, в долгосрочной перспективе программист у вас заскучает или проект его перерастет. Значит, замена в команде неизбежна в любом проекте.
…
Нашли ошибку в видео? Пишите нам на support@ontico.ru
Технопарк 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
В лекции обсуждаются значение и роли баз данных в IT, даются определения БД и СУБД. Затем рассказывается о реляционной модели данных, об основах реляционной алгебры. Далее говорится непосредственно о проектировании БД: каковы критерии оценки модели данных, особенности концептуального проектирования, этапы проектирования, что такое логическое проектирование. Остальная часть лекции посвящена типам данных MySQL: NULL, целые числа, числа с плавающей точкой, бинарные, строки, дата и время.
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
Shodan — поисковая система индексирующая и каталогизирующая различные устройства подключенные к интернету. Используя shodan можно подключиться к вебкамере, подобрать пароль от роутера, камеры, принтера или другого устройства. И даже найти открытые системы управления дорожным движением. Это интересно и одновременно опасно, потому-что любой может подключиться и стать проблемой в безопасности даже целого города…
Сегодня я расскажу, как я сделал свою версию игровой приставки gameboy с помощью arduino, языка программирования C, джостика и дисплея, а потом запустил на ней pseudo3D шутер от первого лица, змейку и flappyBird, только с вектозавром. Приятного просмотра!
В одном из своих предыдущих роликов я уже рассказывал, что все компьютеры на фундаментальном уровне работают абсолютно одинаково: передают нолики и единички из одной части в другую. Самая важная часть компьютера – процессор. Именно там происходят математические операции и вычисления.
В обычном компьютере к процессору подключены разные периферийные устройства, которыми он управляет. Например, видеокарта, оперативная память или жесткий диск.
Но это вовсе не значит, что все компьютеры должны иметь именно такую конфигурацию. Оперативная память может быть расположена внутри процессора, а видеокарты может вообще не быть.
Готовое устройство должно иметь небольшой экран, на который мы будем выводить изображение геймплея. Для того, чтобы рисовать фигуры или писать текст, нужно во первых, подключить его контакты к нужным пинам компьютера, а во вторых, скачать специальную библиотеку, которая будет управлять дисплеем на низком уровне.
Я решил использовать высокоуровневую библиотеку adafruit, которая с помощью интерфейса I2C осуществляет взаимодействие с пикселями на экране.
Первое, что я сделал, это вывод небольшого логотипа с названием канала. Сразу после я переписал псевдо-3д движок на язык СИ, а так же попытался максимально упростить код.
Необходимо добавить небольшое меню, в котором можно будет выбирать игру. Я решил, что элементов управления должно быть по минимуму: только джостик. Наклоном джостика игрок будем перелистывать библиотеку и управлять игровым процессом, а центральной кнопкой выбирать игру и выходить из игры в главное меню.
Следующая игра — змейка. Пожалуй, она самая простая в реализации. Идея максимально проста: змейка — эта массив двумерных точек. Каждый шаг мы смещаем голову (то есть самый первый элемент) в строну взгляда, а каждый следующий на место своего соседа (начиная с конца). Когда змея сьедает яблоко, мы увеличиваем длину змейки на единицу. Джойстиком меняем направление взгляда.
3-я игра — Flappy Bird. Она достаточно простая в реализации, но очень интересная и сложная в игровом процессе.
Я решил использовать алюминиевый корпус. В комплекте идут две лицевые стороны, которые скрепляются между собой боковыми крышками. Крышки крепятся с помощью небольших болтиков. Выглядит такое решение куда более надежно и красиво.
Для того, чтобы сделать геймбой максимально компактным и надежным, нужно сделать плату, на которой будут крепиться все компоненты. Из готовых элементов я собрал схему, которую потом развел в готовую плату. Тут ничего сложного и я уже подробно показывал этот процесс в своем видео про самодельный компьютер с нуля.
В этот раз я решил, что не хочу ждать плату целый месяц, и решил все таки попробовать лазерно-утюжную технологию (ЛУТ). В любом случае, интересно попробовать разные методы разработки.
Для питания я решил использовать небольшие аккумуляторы 3.7 V. Я буду использовать два таких аккумулятора, подключенных последовательно.
Получившийся геймбой работает замечательно, имеет малый вес и удобно сидит в руке. Есть огромные возможности для расширения функционала прошивки и модернизации устройства. Заряд держит приблизительно 2 дня активной игры. Я полностью доволен работой, именно этого результата я хотел добиться.
Моя любимая игра, безусловно, «flappyZavr». В нее не надоедает играть и она постоянно держит в напряжении. В змейку я бы, возможно, в будущем добавил возможность изменения уровня сложности, а в 3D игру можно было бы добавить врагов.
● В этом ролике: вы узнаете как я сделал такой крутой рабочий стол в Kali Linux. Так же я расскажу о том, какой оболочкой пользуюсь и немного покажу процесс её настройки. Тут ничего сложного нет, но меня буквально закидали комментариями о том, как я так украсил свой рабочий стол в Kali Linux.
● vk.cc/9WVoMC — Архив с файлами для украшения терминала Kali Linux
— ● В ролике «Красивый Kali Linux как у меня | Украшаем KDE | UnderMind» — я рассказываю вам о том, как украсить рабочий стол в Linux. Конкретно я рассказываю и показываю это на примере Kali Linux используя рабочую среду KDE. Рабочих сред для Linux очень много (Gnome, Unity, KDE, Mate, Cinnamon, Xfce и это далеко не все), но я из всех этих рабочих окружений выбрал именно KDE. Мне очень нравится KDE. Поэтому в этом ролике я покажу Вам, как я сделал такой крутой рабочий стол.
● Kali Linux — это обычная Операционная Система (ОС) для специалистов по защите информации. Эта ОС нигде не запрещена и есть в открытом доступе (не в даркнете). Все утилиты, которые в ней есть, предназначены для тестирования своих сетей и систем на защищенность. Автор ролика ни в коем случае не побуждает вас к созданию и использованию любого ПО в противозаконых целях! Данный ролик носит образовательный характер с точки зрения информационной безопасности, и призван повысить Вашу бдительность при обеспечении защиты информации.
● Данный ролик — художественный вымысел автора, монтаж, фотошоп и постанова. Всё рассказанное в ролике — является авторской выдумкой. Всё происходящее в видео — выполнено используя монтаж, и к реальной жизни не имеет никакого отношения. Любые совпадения наименований программного обеспечения (ПО), названий ПО и либо каких-либо других продемонстрированных фактов и событий в ролике — не более чем совпадение и полная случайность.