Сообщения без ответов | Активные темы Текущее время: 2024-11-22 22:23



Ответить на тему  [ 1 сообщение ] 
[Технопарк] Лекции Технопарка. 1 семестр. C/C++ [2014, RUS] 
Автор Сообщение
Постоянный
Постоянный
Раздал: 1.19 ТБ
Скачал: 949.67 ГБ
Ратио: 1.278


Зарегистрирован: 2014-10-13 17:53
Сообщения: 2494
Ответить с цитатой 
Лекции Технопарка. 1 семестр. C/C++

#777
Год выпуска: 2014
Производитель: Технопарк
Сайт производителя: https://tech-mail.ru
Автор: Алексей Петров
Продолжительность: 24 часа
Тип раздаваемого материала: Видеоурок
Язык: Русский
Описание: Цель курса — формирование практических навыков и умений, необходимых специалистам по разработке программного обеспечения (ПО) UNIX-подобных операционных систем для участия в проектах промышленной разработки среднего уровня сложности на языках C и C++, в том числе для замещения стажерских должностей разработчиков серверной части высоконагруженных приложений.

Содержание



[*]Лекция 1. Язык С. Основы организации и использования оперативной и сверхоперативной памяти

Описание
Лекция начинается с введения в язык С: рассказывается об истории его появления, особенностях, преимуществах и недостатках, о сферах применения. Описываются основы препроцессорной обработки, рассматриваются вопросы управления памятью (модели управления памятью, области видимости объектов хранения) и производительность программ на языке С. Обсуждается связывание объектов хранения и их инициализация. Затем рассказывается о классах памяти в языке С. Следующая часть лекции посвящена проблематике указателей, а также работе с одномерными массивами. В заключение рассматривается стандарт POSIX и вопросы переносимости.



[*]Лекция 2. Дополнительные вопросы организации и использования оперативной и сверхоперативной памяти

Описание
Лекция начинается с рассмотрения многомерных массивов. На примере двумерного массива показывается эффективный обход. Разбирается пример задачи об умножении матриц, обсуждаются векторы векторов. Далее рассматривается ряд вопросов, посвящённых указателям:


[*]указатели и двумерные массивы;

[*]совместимость указателей;

[*]указатели на константы и константные указатели;

[*]указатели и квалификатор restrict.

Затем рассказывается об использовании функций применительно к многомерным массивам, о массивах переменной длины. Далее обсуждается выравнивание и упаковка переменных составных типов, в том числе реорганизация структур данных. Рассматривается оптимизация загрузки кэш-памяти: асимметрия условий, встраивание функций. Заключительная часть лекции посвящена системным аспектам выделения и освобождения памяти. В частности, рассказывается о четырёх частях структуры памяти данных.



[*]Лекция 3. Специальные вопросы инкапсуляции

Описание
Инкапсуляция — один из трёх базовых принципов объектно-ориентированного проектирования. В первую очередь описывается, что представляет собой инкапсуляция. Даётся определение класса, разбирается его состав, перечисляются существующие виды классов. Подробно рассматриваются объекты класса, в том числе константные, атрибуты и методы класса, битовые поля и вложенные классы. Далее описываются разные виды методов класса (статические и нестатические, встроенные, константные, неустойчивые), а также указатели на них. Затем рассматриваются так называемые дружественные классы и функции. Ближе к концу лекции рассказывается про классы-объединения, анонимные и безымянные объединения, битовые поля в определении классов. Финальная часть лекции посвящена конструкторам и деструкторам.



[*]Лекция 4. Специальные вопросы наследования и полиморфизма. Множественное и виртуальное наследование. Динамическая идентификация типов (RTTI)

Описание
В начале лекции обсуждаются инициализация без конструктора, конструкторы по умолчанию, конструкторы с параметрами, закрытые и защищённые конструкторы. Далее рассказывается о механизмах почленной инициализации и присваивания, о конструкторах копирования, операциях преобразования, а также о деструкторах, в том числе виртуальных. Обсуждается идиома RAII (Resource acquisition is initialization), явный вызов деструкторов и список инициализации в конструкторе. Рассказывается о переносе в языке С++11, в том числе о семантике и конструкторе переноса. Далее обсуждаются такие базовые принципы ООП, как наследование (раннее и позднее связывание, базовые и производные классы) и полиморфизм (защищённые и закрытые члены класса, перегрузка и перекрытие членов класса). Затем говорится о вызове конструкторов и деструкторов производных классов, списке инициализации при наследовании, виртуальных функциях и абстрактных классах. Рассказывается о виртуальном и множественном наследовании. В завершение лекции обсуждаются такие вопросы, как динамическая идентификация типов времени выполнения (RTTI) и операции приведения типов, производительность и безопасность полиморфизма и средств поддержки RTTI.



[*]Лекция 5. Шаблоны классов и методов. Обработка исключительных ситуаций. Обобщённое и безопасное программирование

Описание
В начале лекции даётся определение шаблонов классов и рассматриваются их параметры. Объясняется механизм конкретизации шаблонов классов. Рассказывается о методах шаблонов, о дружественных объектах в шаблонах, о статических членах, о специализации шаблонов, в том числе о полной и частичной. В качестве примера метапрограммирования рассматривается рекурсивное определение шаблонов. Объясняется суть новой идиомы, SFINAE (Substitution failure is not an error), в том числе применительно к интроспекции времени компиляции. Солидная часть лекции посвящена всевозможным характеристикам типов. Рассказывается о технологии обработки исключительных ситуаций. Следующий блок информации посвящён безопасному программированию: безопасности классов, методов, конструкторов и деструкторов, критериям безопасности и нейтральности кода. В конце лекции обсуждаются различные исключения в стандартной библиотеке.



[*]Лекция 6. Практическое введение в STL. Функциональное программирование в С++

Описание
Сначала рассказывается об истории создания стандартной библиотеки шаблонов (STL): о предпосылках, о предназначении STL и гарантиях производительности. Далее подробно рассказывается обо всех компонентах, входящих в состав STL:


[*]последовательных контейнерах (векторах, деках, списках);

[*]упорядоченных ассоциативных контейнерах (множествах и мультимножествах, отображениях и мультиотображениях);

[*]последовательных алгоритмах;

[*]алгоритмах упорядочения;

[*]алгоритмах на числах;

[*]копирующих, предикатных алгоритмах;

[*]алгоритмах, работающих на месте;

[*]алгоритмах сортировки.

Рассматриваются отношения сравнения в алгоритмах, обратные отношения, операции над множествами и хипами. Затем говорится об итераторах STL, об их видах (в том числе об итераторах вставки и потоковых итераторах), о поддерживаемых итераторами диапазонах и операциях. Ближе к концу лекции обсуждаются стандартные функциональные объекты STL и их базовые классы. Даётся информация об адаптерах (контейнерных, функциональных). В конце затрагивается вопрос применения контейнеров в STL.



[*]Лекция 7. Практическое введение в Boost

Описание
Лекция начинается с рассказа о лямбда-функциях, основных правилах их оформления, ключевых преимуществах и применении замыканий. Затем обсуждается Boost (набор из нескольких десятков автономных библиотек), его состав и назначение. Основная часть лекции посвящена рассмотрению примеров использования Boost: проверке времени компиляции, характеристикам типов, вариантным контейнерам, «умным» указателям. В заключение рассказывается об использовании средств Boost для повышения производительности и безопасности кода.



[*]Лекция 8. Принципы и шаблоны объектно-ориентированного проектирования. Базовые шаблоны, шаблоны GoF

Описание
Лекция открывается длительным обсуждением целей, проблем и принципов объектно-ориентированного проектирования. Далее рассказывается о шаблонах проектирования: что это такое, какие бывают виды шаблонов, каковы их преимущества. Рассматриваются базовые шаблоны и их реализации:


[*]наследование и композиция;

[*]делегирование;

[*]неизменяемые объекты;

[*]интерфейс.

После этого разбираются три группы шаблонов GoF. Порождающие шаблоны:


[*]абстрактная фабрика;

[*]строитель;

[*]фабричный метод;

[*]прототип;

[*]класс с единственным экземпляром.

Структурные шаблоны:


[*]адаптер;

[*]декоратор;

[*]мост;

[*]компоновщик;

[*]фасад;

[*]приспособленец;

[*]заместитель.

Поведенческие шаблоны:


[*]интерпретатор;

[*]команда;

[*]цепочка ответственности;

[*]итератор;

[*]хранитель;

[*]состояние;

[*]наблюдатель;

[*]стратегия;

[*]посредник;

[*]посетитель;

[*]шаблонный метод.

И в заключение рассказывается о принципах S.O.L.I.D.



[*]Лекция 9. Идиоматика языка С++. Основы рефакторинга и качество исходного кода. Стандарты кодирования и методология разработки ПО

Описание
Завершающая лекция в рамках данного курса. Сначала даётся определение термина «идиома языка программирования». Рассказывается об идиомах процедурного программирования, об объектно-ориентированных идиомах. Обсуждаются методы управления памятью, относящиеся к идиомам повышенного уровня сложности:


[*]контекстно-зависимая перегрузка индексирования;

[*]«автоматическая» сборка мусора и подсчёт ссылок;

[*]управление памятью заменой операций new и delete;

[*]идиома «конверт/письмо» и делегированный полиморфизм.

Следующая часть лекции посвящена рефакторингу и статическому анализу исходного кода: даются определения, рассказывается о возможном применении, рассматриваются преимущества, недостатки и сопутствующие риски. Далее разбираются типовые анти-шаблоны, «грязные техники», логико-семантические ошибки. Обсуждаются вопросы оптимизации программ с точки зрения производительности, размера объектного кода и объёма памяти данных. Затем рассматривается понятие «качественного ПО», описываются функциональные и структурные показатели качества кода. Рассказывается о моделях и факторах качества ПО, в том числе о модели МакКола. Далее говорится о сложности кода как об атрибуте качества ПО, о способах управления сложностью и о влиянии на неё модульности. Затем рассматриваются понятие «технического долга», стандарты и стили кода, методологии промышленной разработки (правила организации и способы записи, комментирование и документирование, жизненный цикл разработки ПО, его модели). И в завершение курса даётся обзор SWEBoK (Software engineering body of knowledge).





Файлы примеров: отсутствуют
Формат видео: MP4
Видео: AVC MPEG-4, 1280x720, 16:9, 25 fps, 968 Kbps
Аудио: AAC, 44.1 KHz, 192 Kbps, 2 channels

Скриншоты


Доп. информация: Необходимы базовые знания C/C++


2015-06-22 02:30
Профиль
  • Торрент
Автор: Александр С. Хэш: ---
Добавлен: 2015-06-22 02:00 Приватный: Нет (DHT включён)
Статус:
---
Размер: 11.6 ГБ (12 460 365 153 байт)
Изменил:
---
Скачали: 0 (Раздающих: 0%)
Причина:
---
Здоровье: 0%
Сидеров: 0 Личеров: 0
Скорость раздачи: 0 байт/сек Скорость скачивания: 0 байт/сек
Последний сидер: Нет Последний личер: Нет
Для скачивания торрента необходимо зарегистрироваться или войти на трекер.
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ 1 сообщение ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
ppkBB3cker v.2.5 © 2008-2021 @ PPK | Icon Theme by Everaldo.com Design Studio
Designed by ST Software.
Русская поддержка phpBB
[ Time : 0.208s | 16 Queries | GZIP : Off ]
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!
tracker_cron Яндекс.Метрика