. Евгений Борисов — Spring-потрошитель, часть 1
Встреча JUG.ru
Санкт-Петербург, 26.06.2014
Казалось бы, зачем знать, как работают внутренности спринга для того, чтобы им пользоваться? Работает? Ну и ладно.
Но как всегда, для эффективной работы с фреймворком, неплохо бы понимать, что находится под капотом. Ведь только понимая его внутреннее устройство, вы сможете пользоваться Спрингом на полную мощность, адаптировать его под нужды вашего проекта, добиться максимальной производительности и решить любую проблему самостоятельно, не обращаясь в Spring-сервис-центр.
Итак, несколько вопросов про Spring, которые мы рассмотрим в рамках данного доклада (с примерами к каждому):
Насколько Spring влияет на производительность вашей программы?
Что входит в жизненный цикл спринга?
Как устроен ApplicationContext?
«Вот это на Spring сделать нельзя» — а может можно?
GPT или MBR? Как узнать стиль вашего диска. Покажу как сделать это несколькими способами и даже при установке Виндовс.
Если сложновато это пока, то тебе сюда, нажимай: youtu.be/CIZLZgr9ZsU
Стили дисков gpt mbr всё чаще интересуют пользователей. Осноная причина — ошибки при установке Windows со стилем не того типа.
Узнать mbr или gpt на вашем диске можно несколькими способами. Можно посмотреть стиль разметки диска прямо при установке Виндовс.
Способ универсальный — командная строка. Запускаем её.
Вводим команду:
diskpart
и затем вводим команду:
list disk
В результате перед нами появится список дисков в системе.
Хотите узнать подробнее, какой у вас стиль разметки диска? Смотрите youtu.be/qqb9MMNH-y4 автор Евгений Юртаев.
Лекция посвящена продвинутым вопросам системного администрирования Linux.
Рассматриваются следующие темы:
— Ядро ОС Linux
— Выделяемые ресурсы ОС
— Виртуальная и резидентная память
— Выделение процессорного времени
— Планировщик задач CFS
— NUMA(Non-Uniform Memory Access)
— Планировщики ввода-вывода (элеваторы)
— CGROUPS — контрольные группы
Хронометраж:
00:00:05 О теме лекции
00:01:27 Ядро ОС: основные функции ядра
00:02:17 Ядро ОС: управление параметрами ядра (общий механизм)
00:02:35 Управление параметрами ядра ОС: интерфейс SYSCTL
00:04:36 Ядро ОС: модульная архитектура
00:06:06 Просмотр загруженных модулей ядра с помощью утилиты LSMOD
00:07:49 Ядро ОС: выделение ресурсов ОС приложению
00:08:11 Вопрос залу: в чем отличия между резидентной и виртуальной памятью?
00:08:42 Вопрос залу: кто из вас программировал на языках с ручным управлением памятью?
00:09:48 Выделяемые ресурсы ОС: виртуальная и резидентная память
00:12:09 Выделяемые ресурсы ОС: процессорное время
00:12:44 Выделяемые ресурсы ОС: ресурсы ввода-вывода, дескрипторы
00:13:36 Виртуальная и резидентная память: пример распределения памяти конкретного процесса
00:15:05 Виртуальная и резидентная память: использование раздела подкачки (swap)
00:16:01 Виртуальная и резидентная память: три стратегии выделения памяти
00:16:14 Стратегии выделения памяти: vm.overcommit_memory = 2
00:17:51 Стратегии выделения памяти: vm.overcommit_memory = 1
00:18:19 Событие OUT OF MEMORY
00:20:44 Стратегии выделения памяти: vm.overcommit_memory = 0
00:22:14 Виртуальная и резидентная память: единицы выделения памяти (страницы)
00:24:26 Виртуальная и резидентная память: HUGE PAGES
00:25:33 Два механизма выделения HUGE PAGES
00:34:52 Сложность решения задачи выделения процессорного времени
00:35:29 Выделение процессорного времени: немного истории
00:36:01 Выделение процессорного времени: кооперативная многозадачность
00:38:12 Выделение процессорного времени: вытесняющая многозадачность
00:39:56 Вытесняющая многозадачность: пример
00:41:22 Алгоритмы выделения процессорного времени в Linux
00:44:08 Два независимых вида приоритетов процессов в Linux
00:46:10 Каким образом работает планировщик задач (CFS)?
00:47:31 CFS: алгоритм управления процессорным временем (SCHED_NORMAL — политика по умолчанию)
00:50:54 CFS: политики планирования задач
00:51:16 Политики планирования задач: SCHED_FIFO
00:53:09 Политики планирования задач: SCHED_RR
00:54:42 Работа с приоритетами: практика, команда NICE
00:57:40 Назначение реалтаймовых приоритетов: команда CHRT
00:59:29 NUMA(Non-Uniform Memory Access)
01:04:00 Работа с NUMA: практический пример
01:06:59 Работа с NUMA: утилита NUMACTL
01:08:54 Вопрос из зала: об архитектурах процессоров
01:11:02 Вопрос из зала: об оптимизации работы приложений с помощью NUMA
01:12:24 Планировщики ввода-вывода (элеваторы)
01:13:51 Планировщики ввода-вывода: NOOP
01:15:41 Планировщики ввода-вывода: CFQ
01:17:14 Планировщики ввода-вывода: DEADLINE
01:18:51 CGROUPS — контрольные группы
01:20:46 Иерархия CGROUPS: пример
01:22:31 CGROUPS: управляемые ресурсы
01:23:46 CGROUPS: пример управления ресурсами
01:26:13 Управление лимитами ввода-вывода
01:27:23 Ответ на вопрос из зала: об основных иерархиях CGROUPS
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
Начни карьеру с бесплатного курса «Основы программирования» goo.gl/jTP4nP
Как ни удивительно, но абсолютно вся информация в компьютере (текст, звук, видео, программы) закодирована всего лишь с помощью двух символов: 0 и 1. Такая система кодирования данных называется «двоичная система счисления». И если вы хотите глубоко понимать, как компьютер работает с информацией — полезно узнать теоретические основы двоичной системы и ее применения в компьютерах. На этом вебинаре вы узнаете:
— зачем программисту знать про системы счисления
— почему компьютер не «понимает» ничего кроме 0 и 1
— как компьютер считает в двоичной системе
— принципы кодирования текста
— принципы кодирования видео
— принципы кодирования звука
— какие еще системы счисления часто применяются в программировании
Технология блокчейн имеет потенциал изменить привычный порядок нашего мира и человеческого взаимодействия. Этот материал поможет понять как работает технология на простом примере и простыми словами. Этот материал о том, что лежит в основе криптовалюты Биткоин, а также других криптовалют.
При создании ролика использовались материалы статьи Мохита Мемориа hackernoon.com/wtf-is-the-blockchain-1da89ba19348.
Интервью с Алексеем Новгородцевым, в котором речь пойдёт о будущем технологического развития — что нас ждёт в перспективе ближайших 10 лет?
— Рынок пользовательских процессоров
— Рынок серверных решений
— Облачные вычисления
— 5G инфраструктура
— Интернет вещей IoT
— Пограничные вычисления (Edge computing)
— Развитие архитектуры: CPU, GPU, FPGA, ASIC, нейроморфный процессор и т.д.
00:00 Превью видео
00:30 Кто такой Алексей Новгородцев?
02:25 Рынок потребительских процессоров
02:55 Intel (INTC) и AMD
04:00 Технологические процессы производства — нанометры
05:50 Куда идут основные объёмы процессоров?
06:50 Важность софта в процессоре
09:10 Облачные технологии
12:00 Будущее техпроцессов, как дальше уменьшать нанометры
17:00 Рынок серверных процессоров
22:30 Риски в Intel
24:00 Шкала Эффективности — CPU, GPU,
FPGAs, ASICs
27:20 Покупка компании по eASIC — быстрота
30:50 Направление будущего в рынке
33:50 Компании со своими процессорами
35:40 Развитие нейросетей в Intel
36:40 Почему Intel может выиграть у AMD?
41:15 Рынок сетевых адаптеров
44:40 Рынок интернета вещей IoT, безопасность
49:10 Умные города, датчики здоровья
51:15 Рынок 5G
54:05 Виртуализация сетей доступа
55:20 Автопилоты машин
01:00:10 Компьютерное зрение, использование дронов
01:07:20 Пограничные вычисления Edge Computing
01:12:30 Квантовый компьютер
01:18:10 Модель подписки на автомобиль
01:19:15 Итоги по Intel
________________
Новгородцев Алексей
— В области IT более 30 лет, начиная от 8-битных Z80 вплоть до суперкомпьютеров HPC.
— Опыт работы в крупнейших российских и международных IT-компаниях.
— На данном этапе занимается управлением и развитием бизнеса компании, входящей в ТОП-50 крупнейших IT-компаний России.
____________________
Интервью с Сергеем Кареловым: «Китай станет Единственной Сверхдержавой?» youtu.be/QLm0_1DwROE
Кафедра бурятского языка и методики преподавания Высшей школы бурятского языка и литературы Восточного института Бурятского государственного университета имени Доржи Банзарова проводит 17-18 декабря 2020 г. Всероссийскую научно-практическую конференцию с международным участием «Преподавание родных языков в современных условиях: эффективные методики и технологии».