Uploaded by Алексей Русаков

Практика 1 Технологии и методы программирования

advertisement
Центр дистанционного обучения
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«МИРЭА - Российский технологический университет»
РТУ МИРЭА
МАТЕРИАЛЫ ПРАКТИЧЕСКИХ РАБОТ
Технологии и методы программирования
(наименование дисциплины (модуля) в соответствии с учебным планом)
Уровень
бакалавриат, специалитет
(бакалавриат, магистратура, специалитет)
очная
Форма обучения
(очная, очно-заочная, заочная)
10.03.01, 10.05.03, 10.05.04
Направление (спец.)
(код (-ы) и наименование (-я))
Институт
Кибербезопасности и цифровых технологий (ИКБ)
(краткое и полное наименование)
Кафедра
Кафедра КБ-2 «Прикладные информационные технологии»
(полное и краткое наименование кафедры, реализующей
дисциплину (модуль))
Русаков Алексей Михайлович
Лектор
(сокращенно – ученая степень, ученое звание; полностью ФИО)
Используются в данной редакции с учебного года
2023/2024
(учебный год цифрами)
Проверено и согласовано «___» _________ 2023 г. Бакаев А.А.
(подпись директора Института/Филиала с расшифровкой)
Москва 2023 г.
1
МИНИСТЕРСТ
• «МИРЭА
online.mirea.ru
Центр дистанционного обучения
Технологии и методы
программирования
Практика №1
ФИО преподавателя: Русаков Алексей Михайлович
e-mail: rusakov_a@mirea.ru
Online-edu.mirea.ru
online.mirea.ru
Центр дистанционного обучения
Список литературы
• Руководство по языку программирования Python
https://metanit.com/python/tutorial/
• Руководство по JavaScript
https://metanit.com/web/javascript/
• Руководство по HTML5 и CSS3
https://metanit.com/web/html5/
• Язык программирования Python 3 для начинающих и
чайников
https://pythonworld.ru/
• Образовательная платформа по Python
https://pythonist.ru/
• MDN Web Docs (mozilla.org)
online.mirea.ru
3
https://developer.mozilla.org/ru/
Центр дистанционного обучения
Список дополнительной литературы по
программированию
https://stepik.org/course/91715/ Пишем свой мессенджер на основе
современных технологий (основы)
https://www.sololearn.com/
4
online.mirea.ru
Центр дистанционного обучения
Способ обмена исходными кодами
OpenSource сообщество (один из вариантов)
https://github.com/RusAl84
5
online.mirea.ru
Центр дистанционного обучения
Знакомство методологией разработки
ПО GitFlow
Система
управления
версиями (Version Control
System)
позволяет
упорядоченно
хранить
несколько версий одного и
того же файла, объединять
изменения
в
файле,
сделанные
несколькими
разработчиками,
просматривать
историю
изменений,
возвращаться
обратно
к
предыдущим
версиям и др.
6
online.mirea.ru
Центр дистанционного обучения
системы управления версиями
распределенные
централизованные
CVS
7
online.mirea.ru
Центр дистанционного обучения
Методология разработки GitFlow
8
online.mirea.ru
Центр дистанционного обучения
9
online.mirea.ru
Центр дистанционного обучения
10
online.mirea.ru
Центр дистанционного обучения
Предполагается, что при разработке используются
следующие типы веток:
• master branch
• develop branch
• release branches
• hot fix branches
• feature branches
11
online.mirea.ru
Центр дистанционного обучения
Основные ветви
Ветвь master создаётся при инициализации репозитория.
Параллельно ей также мы создаём ветку для разработки под
названием develop.
Ветка origin/master считается главной. То есть, исходный код в
ней должен находиться в состоянии production-ready в любой
произвольный момент времени.
12
online.mirea.ru
Центр дистанционного обучения
Настройка файла .gitignore
# комментарий — эта строка игнорируется
# не обрабатывать файлы, имя которых заканчивается на .a
*.a
# НО отслеживать файл lib.a, несмотря на то, что мы
игнорируем все #.a файлы с помощью предыдущего правила
!lib.a
# игнорировать только файл TODO находящийся в корневом
каталоге, не # относится к файлам вида subdir/TODO
/TODO
# игнорировать все файлы в каталоге build/
build/
# игнорировать doc/notes.txt, но не doc/server/arch.txt
doc/*.txt
# игнорировать все .txt файлы в каталоге doc/
doc/**/*.txt
13
online.mirea.ru
Центр дистанционного обучения
14
online.mirea.ru
Центр дистанционного обучения
refactoring.guru
15
online.mirea.ru
Центр дистанционного обучения
16
online.mirea.ru
Центр дистанционного обучения
17
online.mirea.ru
Центр дистанционного обучения
18
online.mirea.ru
Центр дистанционного обучения
19
online.mirea.ru
Центр дистанционного обучения
online.mirea.ru
20
Центр дистанционного обучения
21
online.mirea.ru
Центр дистанционного обучения
22
online.mirea.ru
Центр дистанционного обучения
23
online.mirea.ru
Центр дистанционного обучения
24
online.mirea.ru
Центр дистанционного обучения
25
online.mirea.ru
Центр дистанционного обучения
26
online.mirea.ru
Центр дистанционного обучения
27
online.mirea.ru
Центр дистанционного обучения
28
online.mirea.ru
Центр дистанционного обучения
29
online.mirea.ru
Центр дистанционного обучения
30
online.mirea.ru
Центр дистанционного обучения
31
online.mirea.ru
Центр дистанционного обучения
32
online.mirea.ru
Центр дистанционного обучения
33
online.mirea.ru
Центр дистанционного обучения
34
online.mirea.ru
Центр дистанционного обучения
35
online.mirea.ru
Центр дистанционного обучения
36
online.mirea.ru
Центр дистанционного обучения
37
online.mirea.ru
Центр дистанционного обучения
38
online.mirea.ru
Центр дистанционного обучения
Примеры готовых структур данных
для современных языков программирования
39
online.mirea.ru
Центр дистанционного обучения
Последовательные контейнеры С++
•
vector: массив переменного размера.
Поддерживает произвольный доступ к любому элементу в контейнере.
Обеспечивает добавление и удаление элементов из любого места контейнера.
•
deque: двусторонняя очередь.
Поддерживает произвольный доступ к любому элементу в контейнере.
Обеспечивает удаление и добавление элементов в начале и в конце контейнера.
•
list: двухсвязный список
Поддерживает только последовательный двухнаправленный доступ к элементам.
Обеспечивает удаление и добавление элементов в начале и в конце контейнера.
•
forward_list: односвязный список.
Поддерживает только однонаправленный последовательный доступ к элементам.
Обеспечивает удаление и добавление элементов в начале и в конце контейнера.
•
array: массив фиксированного размера.
Поддерживает произвольный доступ к любому элементу в контейнере.
Добавлять или удалять элементы из контейнера нельзя.
•
40
online.mirea.ru
string: представляет контейнер, аналогичный вектору, который состоит из символов, то есть строку
Центр дистанционного обучения
collections — Типы данных контейнеров Python
Этот модуль реализует специализированные типы данных контейнеров, предоставляя альтернативы
встроенным контейнерам общего назначения Python, dict, list, set, и tuple.
namedtuple()
заводская функция для создания подклассов кортежей с именованными полями
deque
контейнер, похожий на список, с быстрым добавлением и всплывающими окнами
на обоих концах
ChainMap
подобный dict класс для создания единого представления нескольких
сопоставлений
Counter
подкласс dict для подсчета хешируемых объектов
OrderedDict
добавлен подкласс dict, который запоминает записи порядка
defaultdict
подкласс dict, который вызывает заводскую функцию для предоставления
отсутствующих значений
UserDict
обертка вокруг объектов словаря для упрощения создания подклассов dict
UserList
обертка вокруг объектов списка для упрощения создания подклассов списка
UserString
обертка вокруг строковых объектов для упрощения создания подклассов строк
41
online.mirea.ru
Центр дистанционного обучения
Типы данных JavaScript
• Методы примитивов
• Числа
• Строки
• Массивы
• Методы массивов
• Перебираемые объекты
• Map и Set
• WeakMap и WeakSet
learn.javascript.ru/data-types
• Object.keys, values, entries
• Деструктурирующее присваивание
• Дата и время
online.mirea.ru
42
• Формат JSON, метод toJSON
Центр дистанционного обучения
Спасибо за внимание!
online.mirea.ru
Download