- Видео 55
- Просмотров 9 967
Васины лекции
Добавлен 6 мар 2023
Цикл волонтёрских лекций по основам программирования и смежных дисциплин.
По ходу курса обсуждаем важное:
- устройство ЭВМ и машинный код;
- файловую систему Linux и процессы в ней;
- строение сети интернет;
- основы языка С;
- основы объектно-ориентированныx языков (С++, Java);
- графические библиотеки;
- системы автосборки и контроля версий;
- сетевое программирование.
По замыслу, такой прагматический курс должен создать базу для более глубокого (само)образования в выбранной области. И таким образом в перспективе приоткрыть backdoor to the industry (дверь в индустрию).
Справочные материалы накапливаются здесь: github.com/vmt42/programming-101
Автор курса - Василий Толстой, сотрудник Dell.
По ходу курса обсуждаем важное:
- устройство ЭВМ и машинный код;
- файловую систему Linux и процессы в ней;
- строение сети интернет;
- основы языка С;
- основы объектно-ориентированныx языков (С++, Java);
- графические библиотеки;
- системы автосборки и контроля версий;
- сетевое программирование.
По замыслу, такой прагматический курс должен создать базу для более глубокого (само)образования в выбранной области. И таким образом в перспективе приоткрыть backdoor to the industry (дверь в индустрию).
Справочные материалы накапливаются здесь: github.com/vmt42/programming-101
Автор курса - Василий Толстой, сотрудник Dell.
2023-05-04 • Контейнеры и виртуализация
Попытаемся представить в общих чертах, что такое «виртуальное» и «реальное», подумаем об условности этих понятий.
Потом поговорим про виртуальную машину внутри железной машины, про гипервизоры.
Такая штука, которая умеет поддержку виртуализации в ядре, разграничивает ресурс и часть его выделяет под внутреннюю отдельную ОС, называется гипервизор.
Контейнер похож на гипервизор.
Фактически, вокруг некоторого процесса или группы процессов (с помощью особой магии, о которой мы поговорим в следующий раз), мы создаем контейнер, который - программными средствами - изолирует процесс, выделяет ему независимые ресурсы (все, либо только некоторые), которые имитируют вокруг него полную ОС.
Такие подпрост...
Потом поговорим про виртуальную машину внутри железной машины, про гипервизоры.
Такая штука, которая умеет поддержку виртуализации в ядре, разграничивает ресурс и часть его выделяет под внутреннюю отдельную ОС, называется гипервизор.
Контейнер похож на гипервизор.
Фактически, вокруг некоторого процесса или группы процессов (с помощью особой магии, о которой мы поговорим в следующий раз), мы создаем контейнер, который - программными средствами - изолирует процесс, выделяет ему независимые ресурсы (все, либо только некоторые), которые имитируют вокруг него полную ОС.
Такие подпрост...
Просмотров: 193
Видео
2023-04-27 • Индексация и другие важные концепции баз данных
Просмотров 163Год назад
Сначала - о том, как компьютеры чувствительны, на самом-то деле, к температуре, вибрации и количеству атмосферы над ними. А также о влиянии радиации на электронные компоненты, и где она ещё может прятаться. В качестве примера у нас был советский истребитель МиГ-29 и древние байки о его устройстве. Потом мы скачкообразно перешли к обсуждению оставшейся части SQL: 1. Индексы. 2. Ограничения. 3. Х...
2023-04-20 • Транзакции в базе данных SQL
Просмотров 256Год назад
Выясним, что такое транзакции и зачем они нужны: основная идея транзакции в сохранении здравого смысла при одновременном обращении к БД (и прямо, и через серверы приложений) многих клиентов. Для этого необходимо обеспечить атомарность группы операций, составляющей единое действие бизнес-логики, и предусмотреть разрешение возможных конфликтов между одновременными транзакциями: выбрать сообразный...
2023-04-18 • Обзор промежуточных результатов курса
Просмотров 102Год назад
Организационно-философское. Про значимость feedback. Про то, что уже было в этом курсе и на фоне каких событий. Про то, что в этом курсе еще предполагается охватить, в каком объеме и зачем/почему.
2023-03-30 • Подходы к нормализации баз данных
Просмотров 94Год назад
В данном случае было бы полезно с азартом рассуждать о нормальных формах, которых с десяток, и научно пояснить, какая какие критерии вводит. Вместо этого мы смотрели в Википедию и выращивали интуицию: как нужно нормализовывать БД, как не нужно, и какие в этом (теоретически благом) процессе бывают практические грабли. Это еще одна лекция, которую одновременно будет нужно переделать - и в то же в...
2023-03-23 • Ключи в SQL и другие чудеса
Просмотров 65Год назад
Дальше в SQL. Самых существенных тем в SQL перед нами еще простирается три: 1) о ключах (они же ограничения), которые, теоретически, дисциплинируют ваятеля; 2) о нормализации (в образе слона, который, к счастью, пока еще ждет на улице, но скоро придется его заводить в дом и понимать-понимать); 3) об API, чтобы как-то полезно для себя применить новое знание о БД вообще и SQL в частности. В куске...
2023-03-21 • Реляционность и первые SQL-запросы
Просмотров 66Год назад
Поговорим об определениях, что вообще означает «реляционные базы данных». Реляцией, то есть отношением, здесь служит функциональная зависимость в строке таблицы БД (одинаковая для всех строк). А дальше займемся освоением SQL синтаксиса и запросов на примерах. По дороге обсудим, что в SQL таблицах есть настоящий NULL, то есть просто ничего (не ноль, не пустая строка, а именно NULL), и что можно ...
2023-03-16 • О базах данных для самых неосведомленных. Реляционные БД
Просмотров 245Год назад
Сегодня о базах данных ab ovo, о многозначности этого понятия, от таблички до демона. Затем о том, что можно выделить три основных момента: - какими средствами мы осуществляем доступ к БД; - на каком языке мы с БД общаемся; - каково представление данных в этой БД. Мы узнаем, что самое распространенное сегодня - это реляционные базы данных, состоящие из набора взаимосвязанных таблиц. Связь между...
2023-03-07 • Про паттерны в ООП, а потом о концепции MVC (Model - View - Controller)
Просмотров 123Год назад
Начнем с евангелистов объектно-ориентированного программирования (Гради Буч и все-все-все), посмотрим на книгу о дизайне паттернов, узнаем, что классики думают по поводу дизайна итератора и синглтона, а также благоговейно полюбуемся на паттерн абстрактной фабрики. А потом плавно перейдем к вольному обсуждению паттерна Model -View - Controller, который важен для любой среды, активно общающейся с...
2023-03-02 • Блицкриг с объектной библиотекой Qt
Просмотров 159Год назад
Это занятие мы целиком посвятим сражению с функциональностью Qt. Сначала посмотрим, как ее правильно инсталлировать (в прошлый раз мы попались на том, что пакет, предлагаемый к инсталляции по умолчанию, самой Qt-то и не содержит). Затем откроем проект из Qt examples и разберемся, как он устроен. Посмотрим на хедеры, на файлы C , на файл графического окна (тот самый, который редактируется в Desi...
2023-02-28 • Начинаем изучать оконные системы
Просмотров 74Год назад
В этой лекции мы в самых общих чертах узнаем, как устроены оконные системы и как с ними взаимодействуют приложения. И начнём устанавливать библиотеку Qt, но продвинемся недалеко. 00:00 Отступление о проблемах с виртуальными средами и службой безопасности 06:00 Экскурс в историю оконных систем 20:20 Как устроена работа оконной системы 29:10 Взаимодействие приложения и оконной системы через API 3...
2023-02-14 • Исключительно умные указатели, стандартные и самодельные
Просмотров 84Год назад
Вместо предисловия мы узнаем, что такое «хорошая морская практика» вообще и предметно в приложении к информационным сообщениям в коммерческом коде. А дальше займемся умными указателями (smart pointers). Сначала заведем какой-нибудь класс и для него построим умный указатель со всеми качествами умного указателя: показывает, куда просили, аккуратно убирает за собой и сам удаляется, когда перестал ...
2023-02-09 • Как потрогать контейнер за его элементы
Просмотров 201Год назад
На этом занятии мы поговорим про итераторы - сущности из стандартной объектной библиотеки STL, которые осуществляют доступ к элементам контейнера, для чего у контейнера есть методы begin() и end(). Отметим, что итератор может бегать по разным типам контейнеров. Увидим, что итераторы можно перемещать вперед ( ) и назад ( ), если это позволяет контейнер (не всякий позволяет, например, однонаправл...
2023-01-31 • О месте и роли наследования в С++ и об альтернативных подходах
Просмотров 82Год назад
В этот раз - на редкость человеколюбивое и по большей части лирико-философское занятие. Сначала о том, что не стоит переоценивать концепцию наследования в объектных языках. В частности, в контексте собеседования и популярной ловушки в задаче о рисовании фигур обсудим, что в такой задаче скорее имеет смысл пользоваться не наследованием, а концепцией геттеров и сеттеров (которые не охотничьи псы,...
2023-01-12 • Закапываемся все дальше в С++: деструкторы
Просмотров 180Год назад
Посмотрим, как выглядит в С привычная в С концепция «выделение памяти - освобождение памяти». На самом деле очень просто, аналогом malloc будет new, а аналогом free - delete. Озвучим понятие деструктора и потратим время, чтобы с ним освоиться. Вооружась этим новым знанием, посмотрим дальше на то, как правильно освобождать память в С с учетом наследования и полиморфизма. По пути запасемся двумя ...
2023-01-10 • Наследование в С++ и принцип Лисков
Просмотров 93Год назад
2023-01-10 • Наследование в С и принцип Лисков
2022-12-22 • Сетевые протоколы прикладного уровня
Просмотров 119Год назад
2022-12-22 • Сетевые протоколы прикладного уровня
2022-12-20 • Старт следующей части курса и обзор ближайших лекций
Просмотров 215Год назад
2022-12-20 • Старт следующей части курса и обзор ближайших лекций
2022-11-24 • Основные понятия сетевой архитектуры (2/2)
Просмотров 92Год назад
2022-11-24 • Основные понятия сетевой архитектуры (2/2)
2022-11-22 • Основные понятия сетевой архитектуры (1/2)
Просмотров 249Год назад
2022-11-22 • Основные понятия сетевой архитектуры (1/2)
2022-11-17 • Создание процессов и межпроцессное взаимодействие
Просмотров 139Год назад
2022-11-17 • Создание процессов и межпроцессное взаимодействие
2022-11-10 • Сравнительный анализ разных систем автосборки - Устройство файловой системы Linux
Просмотров 76Год назад
2022-11-10 • Сравнительный анализ разных систем автосборки - Устройство файловой системы Linux
2022-11-03 • Дебаггинг тормозящей и перегружающей процессор программы на C
Просмотров 114Год назад
2022-11-03 • Дебаггинг тормозящей и перегружающей процессор программы на C
2022-10-27 • Регулярные выражения - что это, зачем надо, как пользоваться
Просмотров 169Год назад
2022-10-27 • Регулярные выражения - что это, зачем надо, как пользоваться
2022-10-25 • Github для коллективного творчества - Устройство веб-сайтов - Soft skills программиста
Просмотров 58Год назад
2022-10-25 • Github для коллективного творчества - Устройство веб-сайтов - Soft skills программиста
2022-10-20 • Об оценке времени исполнения программы - О системах автосборки на примере Make
Просмотров 112Год назад
2022-10-20 • Об оценке времени исполнения программы - О системах автосборки на примере Make
2022-10-18 • Планирование в программировании - Фабулы типичных программ - Применение функции qsort
Просмотров 132Год назад
2022-10-18 • Планирование в программировании - Фабулы типичных программ - Применение функции qsort