Похожие презентации:
vvedenie-v-it3razrabotka
1. ВВОДНАЯ ЛЕКЦИЯ В IT
Часть 32. В этой презентации
1. Программирование2. Уровни языков
3. Компиляция и интерпретация
4. Инструменты для разработки
5. Базы данных
6. Платформы: Web, Mobile, Desktop
7. Этапы разработки
8. Методологии разработки
3. Программирование
Программирование — это процесс создания программ (программногообеспечения). Для этого программисты пишут исходный код на одном из
языков программирования.
Код - текст компьютерной программы на каком-либо языке программирования
или языке разметки, который может быть прочтён человеком.
Язык программирования —набор лексических, синтаксических и
семантических правил, определяющих внешний вид программы и действия,
выполняющиеся на компьютере. Их более 8000.
Программа – некая последовательность команд (инструкций, шагов), которые
обеспечивают реализацию алгоритма на компьютере.
4. Уровни языков
BB 11 01 B9 0D 00 B4 0E 8A07 43 CD 10 E2 F9 CD 20 48 65
6C 6C 6F 2C 20 57 6F 72 6C 64 21
0: iconst_2
1: istore_1
2: iload_1
3: sipush 1000
print("Hello
World")
6: if_icmpge
44
9: iconst_2
10: istore_2
11: iload_2
12: iload_1
13: if_icmpge 31
16: iload_1
17: iload_2
18: irem
19: ifne 25
22: goto 38
25: iinc 2, 1
28: goto 11
31: getstatic #84;
34: iload_1
35: invokevirtual #85;
38: iinc 1, 1
41: goto 2
44: return
5. Компиляция и интерпретация
Компилируемые языки:C, C++, Swift, Go
Интерпретируемые
языки: Python, JavaScript,
Ruby, PHP
Интерпретируемые в
байт-код: Java, Kotlin, C#
6. Инструменты
IDE – среда разработки, которая предоставляет комплексныевозможности программистам для разработки программного
обеспечения. IDE обычно состоит от:
• Редактор исходного кода
• Компилятор и/или интерпретатор
• Инструмент автоматизации сборки
• Отладчик
Фреймворк – программный продукт, который упрощает создание и
поддержку технически сложных или нагруженных проектов.
Библиотека - это набор функций, к которым разработчик может
получить доступ. Вся идея такой библиотеки заключается в том, что она
содержит код, который можно повторно использовать для
определенной цели.
7. Базы Данных
Системы управления базами данных (СУБД) — это компьютерныепрограммы, которые позволяют пользователям взаимодействовать с
базой данных. Она позволяет контролировать доступ к базе данных,
записывать данные, запускать запросы и выполнять любые другие
задачи, связанные с управлением базами данных.
Реляционная база данных (SQL) – это набор данных с
предопределенными связями между ними. Эти данные организованны
в виде набора таблиц, состоящих из столбцов и строк.
Реляционные СУБД: SQLite, MySQL, PostgreSQL, Oracle
Нереляционная база данных (NoSQL) – используют разнообразные
модели данных для доступа к данным и управления ими. Базы данных
таких типов оптимизированы для приложений, которые работают с
большим объемом данных, нуждаются в низкой задержке и гибких
моделях данных.
Нереляционные СУБД: MongoDB, CouchDB, Cassandra, HBase
8. Платформы
WEBMOBILE
+ CROSSPLATFORM
DESKTOP
EMBEDDED
9. Платформы (WEB)
Web – работает с любого устройства с помощьюинтернета.
Frontend — это клиентская часть продукта
(интерфейс, с которым взаимодействует
пользователь). В случае с сайтом, её формирует и
выводит на экран браузер, который работает с
HTML, CSS и JavaScript.
Backend — это внутренняя часть продукта, которая находится на сервере и
скрыта от пользователей. Для её разработки могут использоваться самые
разные языки, например, Python, PHP, Go, Java, С#, JavaScript (Node.js)
10. Клиент-серверная архитектура
ДанныеБраузер
Сеть
11. Архитектура бэка
12. Платформы (Mobile)
(Objective-C, Swift)(Java, Kotlin)
Кроссплатформенная: React Native, Flutter, Xamarin
13. Платформы (Desktop)
Десктопное ПО — устанавливается, запускается и работает локально накомпьютере. Зависит от операционной системы (Linux, Windows, MacOS),
процессора, видеокарты, ряда других параметров.
Популярные языки: С/С++, Java и C#
Embedded (Встраиваемая система) — работает под управлением компьютера.
То есть под это определение попадают все девайсы и гаджеты, оснащенные
аппаратной платформой (как микроконтроллеры, так и целые устройства, от
камеры до автомобильной приборной панели).
Языки: C/C++
14. Разработка
ИдеяДокументация и
спек
Разработка ПО
Тестирование ПО
Тестирование спека
Задачи разработчика:
1. Создание нового ПО
2. Расширение функциональных
возможностей уже существующего ПО
3. Исправление того, что не работает
4. Поддержка
успех
РЕЛИЗ
НЕ
успех
15. Waterfall Model
16. V-Model
17. Agile (Гибкие методологии)
18. Kanban
19. Scrum
20. Конец
21. Глоссарий
Agile / аджайл / гибкая методология разработки - обобщающий термин для целого ряда подходов и практик, основанных на ценностях Манифеста гибкойразработки программного обеспечения и 12 принципах, лежащих в его основе. Agile предполагает, что при реализации проекта не нужно опираться только на
заранее созданные подробные планы. Важно ориентироваться на постоянно меняющиеся условия внешней и внутренней среды и учитывать обратную связь
от заказчиков и пользователей. Это поощряет разработчиков и инженеров экспериментировать и искать новые решения, не ограничивая себя жесткими
рамками и стандартами. Коротко и ёмко обо всех agile методологиях можно прочитать тут.
Android / андроид - операционная система для смартфонов, планшетов, электронных книг, цифровых проигрывателей, наручных часов, фитнес-браслетов,
игровых приставок, ноутбуков, нетбуков, смартбуков, очков Google Glass, телевизоров, проекторов и других устройств.
Assembly / assembly language / ассемблер - машинно-ориентированный язык программирования низкого уровня. Представляет собой систему обозначений,
используемую для представления в удобно читаемой форме программ, записанных в машинном коде. Его команды прямо соответствуют отдельным
командам машины или их последовательностям.
Backlog / бэклог - список требований/задач, которые необходимо реализовать в разработке продукта.
Bugs / баги - означают ошибку в программе или в системе, из-за которой программа выдает неожиданное поведение и, как следствие, результат.
Bug fixing / баг фиксинг / исправление ошибок - процесс устранения неисправностей в ПО. Под неисправностью следует считать несоответствие поведения
программы техническому заданию.
С / Си - компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969-1973 годах сотрудником Bell Labs
Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на
множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл
применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном
программном обеспечении для множества устройств - от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное
влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.
С# / С sharp / Си шарп - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров компании Microsoft под
руководством Андерса Хейлсберга и Скотта Вильтаумота как язык разработки приложений для платформы Microsoft .NET Framework. Впоследствии был
стандартизирован как ECMA-334 и ISO/IEC 23270. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и
Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа),
делегаты, атрибуты, события, переменные, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ,
исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков C++, Delphi, Модула, Smalltalk и, в особенности, Java - С#,
опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем,
например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественная реализация интерфейсов).
22. Глоссарий
С++ / Си-плюс-плюс / плюс / плюсЫ / кресты (напр. “он пишет на плюсАх) - компилируемый, статически типизированный язык программирования общегоназначения. Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование,
обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, вводвывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков.
В сравнении с его предшественником - языком C - наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для
встраиваемых систем, высокопроизводительных серверов, а также игр. Существует множество реализаций языка C++, как бесплатных, так и коммерческих и
для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал
огромное влияние на другие языки программирования, в первую очередь на Java и C#. Синтаксис C++ унаследован от языка C. Одним из принципов
разработки было сохранение совместимости с C. Тем не менее C++ не является в строгом смысле надмножеством C; множество программ, которые могут
одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.
CSS / Cascading Style Sheets / Каскадные таблицы стилей - формальный язык описания внешнего вида документа (веб-страницы), написанного с
использованием языка разметки (чаще всего HTML или XHTML). Также может применяться к любым XML-документам, например, к SVG или XUL.
Cross-platform Mobile Development / Кроссплатформенная мобильная разработка - создание кодовой базы для продуктов, которые будут поддерживаться
на нескольких мобильных операционных системах (в основном, iOS и Android). Для кроссплатформенной мобильной разработки используют такие технологии,
как React Native, Flutter, Ionic, Xamarin и PhoneGap.
DataBase / DB / БД / База данных - организованная структура, предназначенная для хранения, изменения и обработки взаимосвязанной информации,
преимущественно больших объемов (Не путать с СУБД!).
Flutter / Флаттер - SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений
под Android и iOS, а также это пока единственный способ разработки приложений под Google Fuchsia.
Framework / фреймворк / фв - программная платформа, определяющая структуру программной системы;программное обеспечение, облегчающее
разработку и объединение разных компонентов большого программного проекта. Употребляется также слово «каркас», а некоторые авторы используют его в
качестве основного, в том числе не базируясь вообще на англоязычном аналоге. Можно также говорить о каркасном подходе как о подходе к построению
программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — каркас, не меняющийся от конфигурации к конфигурации
и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения).
Full-stack / фуллстак / full-stack разработчик - разработчик, который может самостоятельно создать MVP (минимальный жизнеспособный продукт). В
рекрутинге чаще всего мы встречаемся с фулл-стеками в том смысле, что человек может сам делать и бэкэнд, и фронтэнд. Например, вакансия фулл-стека
может называться Java+JS Dev.
23. Глоссарий
Go / Го / Golang / Голанг - компилируемый многопоточный язык программирования, разработанный внутри компании Google.Hardware / Computer hardware / Аппаратное обеспечение / Аппаратные средства / Компьютерные комплектующие / «Железо» - электронные и
механические части вычислительного устройства, входящие в состав системы или сети, исключая программное обеспечение и данные (информацию, которую
вычислительная система хранит и обрабатывает). Аппаратное обеспечение включает: компьютеры и логические устройства, внешние устройства и
диагностическую аппаратуру, энергетическое оборудование, батареи и аккумуляторы. Аппаратное обеспечение вычислительных систем — обобщённое
название оборудования, на котором работают компьютеры и сети компьютеров. К аппаратному обеспечению обычно относят: центральный процессор
(процессоры), оперативную память, системную логику, периферийные устройства, сетевое оборудование.
HTML / HyperText Markup Language / ЭйчТиЭмЭль - «язык гипертекстовой разметки», основной язык разметки для создания веб-страниц и другой
информации, которая может быть отображена в веб-браузере.
Interface / Интерфейс. - способ и средства взаимодействия пользователя с программами или программ между собой, программ с аппаратными средствами
или аппаратных средств между собой.
iOS / Айос / Ай ось - операционная система для мобильных устройств Apple, включая iPhone, iPod и iPad.
Java / Джава / Ява - объектно-ориентированный язык программирования. Один из самых популярных языков для написания клиент-серверных и веб
приложений.
JavaScript / JS / Джаваскрипт / Джэ-эс - мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и
функциональный стили. Является реализацией спецификации ECMAScript (стандарт ECMA-262). JavaScript обычно используется как встраиваемый язык для
программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности вебстраницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное
программирование, функции как объекты первого класса. На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на
Java. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в вебразработке.
Kanban / Канбан - одна из Agile-методологий разработки. Канбан предполагает обсуждение производительности в режиме реального времени и полную
прозрачность рабочих процессов. Этапы работы визуально представлены на Kanban-доске, что позволяет членам команды видеть состояние каждой задачи в
любой момент времени. Суть kanban — в визуализации работы, ограничении объема незавершенной работы и достижении максимальной эффективности
(или скорости). Kanban-команды стремятся максимально сократить время, которое уходит на выполнение проекта (или пользовательской истории) от начала
до конца. Для этого они используют доску kanban и непрерывно совершенствуют свой рабочий процесс. Коротко и ёмко обо всех agile методологиях можно
прочитать тут.
24. Глоссарий
Kernel / Кернел / Ядро - основной компонент большинства операционных систем; выполняет функции связующего звена между обработкой данных нааппаратном уровне и прикладными программами. Обеспечивает приложениям координированный доступ к ресурсам компьютера, таким как процессорное
время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой
системы и сетевых протоколов.
Kotlin / Котлин - статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine и
разрабатываемый компанией JetBrains. Также компилируется в JavaScript и в исполняемый код ряда платформ через инфраструктуру LLVM. Язык назван в
честь острова Котлин в Финском заливе, на котором расположен город Кронштадт. Авторы ставили целью создать язык более лаконичный и типобезопасный,
чем Java, и более простой, чем Scala. Следствием упрощения по сравнению со Scala стали также более быстрая компиляция и лучшая поддержка языка в
IDE. Язык полностью совместим с Java, что позволяет java-разработчикам постепенно перейти к его использованию; в частности, в Android язык встраивается
с помощью Gradle, что позволяет для существующего android-приложения внедрять новые функции на Kotlin без переписывания приложения целиком.
Legacy codebase / Легаси кодовая база - Исходный код, унаследованный от более старой версии программного обеспечения.
Legacy stack/ легаси стек - это устаревшие технологии, которые вышли из актуального коммерческого стека. Компании стараются их не использовать, так как
в них нет поддержки существующего, актуального, функционала. Разработчики стороняться легаси, поскольку работа с ним ухудшает их скилл и уменьшает их
ценность на рынке. Чаще всего с легаси сталкиваются на больших проектах, которые были разработаны давно, но все еще нуждаются в поддержке.
Library / Библиотека - сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). Библиотеки представляют собой
уже написанные кем-то переносимые наборы проверенного кода. Это готовые решения, которые программисты могут присоединять к своим программам,
вставлять их в свой код по специальным алгоритмам, причем в разных проектах.
Linux / Линукс - семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU, и,
возможно, другие компоненты.
MacOS / МакОС / МакОсь - проприетарная операционная система производства Apple. Является преемницей Mac OS 9. Семейство операционных систем
macOS является вторым по распространённости для десктопа.
OS / Operating Systems / ОС / операционная система - комплекс программ, обеспечивающий управление аппаратными средствами компьютера,
организующий работу с файлами и выполнение прикладных программ, осуществляющий ввод и вывод данных. На сегодняшний день, операционная система это первый и основной набор программ, загружающийся в компьютер/смартфон. Помимо вышеуказанных функций ОС может осуществлять и другие,
например, предоставление общего пользовательского интерфейса. Сегодня наиболее известными операционными системами для десктопных компьютеров
являются ОС семейства Microsoft Windows и UNIX-подобные системы. Мобильные ОС - iOS (ранее iPhone OS) и Android.
25. Глоссарий
PHP / ПХП / Пи Эйч Пи — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений.Python / Питон / Пайтон — высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением
памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости
написанных на нём программ.
React Native - это кроссплатформенный фреймворк с открытым исходным кодом для разработки нативных мобильных приложений на JavaScript, созданный
Facebook. Сейчас React Native довольно популярен, поскольку: для написания кода используется JavaScript, в частности React; есть возможность быстро
написать приложение под обе платформы - iOS и Android, меньше затраты — выгоднее бизнесу; большая библиотека компонентов; для отладки можно
использовать браузер; его используют такие гиганты как Facebook, Instagram, Skype, Tesla, Baidu, Bloomberg.
Ruby - динамический, рефлективный, интерпретируемый высокоуровневый язык программирования. Язык обладает независимой от операционной системы
реализацией многопоточности, сильной динамической типизацией, сборщиком мусора и многими другими возможностями.
Scrum / скрам - одна из Agile-методологий разработки. Задача команд scrum — поставить работающее ПО за ряд промежутков времени, которые называются
спринтами. Они стремятся создавать циклы обучения для быстрого сбора и учета отзывов клиентов. Scrum-команды используют особые роли, создают
специальные артефакты и проводят регулярные собрания, чтобы работа шла в нужном русле. Лучше всего методика scrum написана в руководстве по scrum.
Коротко и ёмко обо всех agile методологиях можно прочитать тут.
Scrum master - это эксперт по agile и scrum-мышлению, он отвечает за процесс Scrum, его правильную реализацию и максимизацию его преимуществ.
Swift - открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для
разработчиков iOS и macOS. Swift работает с фреймворками Cocoa и Cocoa Touch и совместим с основной кодовой базой Apple, написанной на Objective-C.
UI (user interface, пользовательский интерфейс) - взаимодействие человека с сайтом. Дизайн пользовательского интерфейса (UI) – это дизайн кнопок, полей
ввода, форм заявки – всех точек взаимодействия пользователя с сайтом.
UX (user experience, пользовательский опыт) - это впечатления от работы с интерфейсом. Сайт проектируется на основе потребностей пользователей и
результатов тестирований. UX не ограничивается только визуальным интерфейсом сайта, он охватывает все возможные нюансы общения с пользователем:
путь на сайте, последовательность действий, мысли и чувства, общие впечатления.
V-Model – модель процесса разработки ПО, напрвленная на тщательную проверку и тестирование продукта, находящегося уже на первоначальных стадиях
проектирования. Стадия тестирования проводится одновременно с соответствующей стадией разработки, например, во время кодирования пишутся
модульные тесты.
26. Глоссарий
Waterfall / вотерфол - каскадная модель — модель процесса разработки программного обеспечения, в которой процесс разработки выглядит как поток,последовательно проходящий фазы анализа требований, проектирования, реализации, тестирования, интеграции и поддержки. Каждый этап создания
продукта, словно поток воды, продолжает предыдущий и не может начаться, пока прошлый не завершился.
Windows - группа семейств операционных систем корпорации Microsoft, ориентированных на управление с помощью графического интерфейса.
Xamarin / Ксамарин / Замарин - расширяет платформу разработrb .NET инструментами и библиотеками специально для создания кроссплатформенных
приложений для Android, iOS, tvOS, watchOS, macOS и Windows.
Алгоритмы - конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий
исполнителя для решения определённой задачи. Алгоритмы это то, чему посвящена одна из секций в Яндексе и Тинькофф, и на чем часто “сыпятся”
разработчики-самоучки без профильной вышки.
Байт-код - это язык или форма инструкции, который может быть прочитан и исполнен виртуальной машиной. В отличие от синтаксиса языков разработки,
данный код предназначен не для чтения или написания человеком. Перевод в байт-код происходит автоматически с помощью программного обеспечения,
компиляторов или интерпретаторов.
Бизнес-логика приложения – это описание схем, по которым приложение взаимодействует с пользователем.
Веб-приложение — клиент-серверное приложение, в котором клиент взаимодействует с веб-сервером при помощи браузера. Логика веб-приложения
распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети
Высокоуровневое программирование - разработка с использованием высокоуровневых языков программирования. Высокоуровневый язык
программирования - язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых
языков - это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на
машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
Интерпретация — построчный анализ, обработка и выполнение исходного кода программы или запроса, в отличие от компиляции, где весь текст программы, перед запуском
анализируется и транслируется в машинный или байт-код без её выполнения. Выполняется интерпретатором.
Итерация (Повторение) — организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.
Клиент-серверное взаимодействие (англ. client–server) - взаимодействие двух программных продуктов между собой, один из которых выступает в качестве
сервера, а другой соответственно в качестве клиента. Клиент посылает запрос, а сервер отвечает ему.
27. Глоссарий
Клиент (ПО) - часть ПО, которую видит и с которой взаимодействует пользователь. Например, некий программный интерфейс или веб-сайт. Важным моментомопределения клиента является то, что данная часть ПО не выполняет каких-либо операций с данными. Она только собирает ту информацию, что ввел
пользователь, отправляет ее на сервер, а затем отображает результат полученный, также, от сервера.
Компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком
машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера), выполняемая компилятором.
Машинный код - это язык вычислительной машины, в основном состоящий из единиц, нулей или буквенных значений. Именно его обрабатывают и исполняют
процессоры или микропроцессоры машины. Программа, которая транслируется в машинный код будет работать только на том процессоре, под который
писалась.
Микросервисная архитектура — вариант сервис-ориентированной архитектуры программного обеспечения, направленный на взаимодействие насколько это
возможно небольших, слабо связанных и легко изменяемых модулей — микросервисов.
Монолитная архитектура / Монолит – это стиль, при котором приложение выстраивается как единое целое, с одной кодовой базой. Обычно имеет серверное
приложение, пользовательский интерфейс и единую базу данных.
Компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком
машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера), выполняемая компилятором.
Машинный код - это язык вычислительной машины, в основном состоящий из единиц, нулей или буквенных значений. Именно его обрабатывают и исполняют
процессоры или микропроцессоры машины. Программа, которая транслируется в машинный код будет работать только на том процессоре, под который
писалась.
Методология - набор методов по управлению разработкой: это правила, техники и принципы, которые делают её более эффективной
Микросервисная архитектура — вариант сервис-ориентированной архитектуры программного обеспечения, направленный на взаимодействие насколько это
возможно небольших, слабо связанных и легко изменяемых модулей — микросервисов.
Монолитная архитектура / Монолит – это стиль, при котором приложение выстраивается как единое целое, с одной кодовой базой. Обычно имеет серверное
приложение, пользовательский интерфейс и единую базу данных.
Низкоуровневое программирование - разработка с использованием низкоуровневых языков программирования. Низкоуровневый язык программирования
(язык программирования низкого уровня) - язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального
или виртуального (например, байт-код, IL) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет
запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка (обычно
английских).
Разработка ПО - это процесс написания кода для создания программного обеспечения или проекта/продукта компании, которое выполняет определенную
функцию/задачу или решает конкретную проблему.
28. Глоссарий
Релиз – выпуск готового для использования продукта или его версии на рынок.Сервер - это наиболее сложная часть ПО. Она выполняет четко определенную, программным кодом, последовательность операций по работе с информацией.
Именно сервер обрабатывает ту информацию, полученную от пользователя, что присылает клиент. Он проводит некие взаимодействия с ней, которые
декларируются кодом программы. Также сервер взаимодействует с базой данных для получения информации, которая хранится в ней. С целью последующего
использования этой информации. Сервером могут быть смартфоны, ноутбуки, серверные стойки, дата-центры и прочая техника способная читать и исполнять
программируемые задачи.
Спринт - это короткий временной интервал, в течение которого scrum-команда выполняет заданный объем работы. Спринты лежат в основе методологий scrum
и agile.
Тестирование ПО - процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем
наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом.
Техническая документация – это комплекс документов, в которых подробно описываются технические характеристики и потребительские качества ПО, а
также сведения о процессе его разработки, применения и сопровождения.
Программирование