new_alterator/pract_rep/pract_rep.tex
2022-07-22 22:16:20 +04:00

241 lines
14 KiB
TeX
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[bachelor, och, pract, times]{SCWorks}
% ïàðàìåòð - òèï îáó÷åíèÿ - îäíî èç çíà÷åíèé:
% spec - ñïåöèàëüíîñòü
% bachelor - áàêàëàâðèàò (ïî óìîë÷àíèþ)
% master - ìàãèñòðàòóðà
% ïàðàìåòð - ôîðìà îáó÷åíèÿ - îäíî èç çíà÷åíèé:
% och - î÷íîå (ïî óìîë÷àíèþ)
% zaoch - çàî÷íîå
% ïàðàìåòð - òèï ðàáîòû - îäíî èç çíà÷åíèé:
% referat - ðåôåðàò
% coursework - êóðñîâàÿ ðàáîòà (ïî óìîë÷àíèþ)
% diploma - äèïëîìíàÿ ðàáîòà
% pract - îò÷åò ïî ïðàêòèêå
% nir - îò÷åò î íàó÷íî-èññëåäîâàòåëüñêîé ðàáîòå
% autoref - àâòîðåôåðàò âûïóñêíîé ðàáîòû
% assignment - çàäàíèå íà âûïóñêíóþ êâàëèôèêàöèîííóþ ðàáîòó
% review - îòçûâ ðóêîâîäèòåëÿ
% critique - ðåöåíçèÿ íà âûïóñêíóþ ðàáîòó
% ïàðàìåòð - âêëþ÷åíèå øðèôòà
% times - âêëþ÷åíèå øðèôòà Times New Roman (åñëè óñòàíîâëåí)
% ïî óìîë÷àíèþ âûêëþ÷åí
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage{graphicx}
\usepackage{tempora}
\usepackage[sort,compress]{cite}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{fancyvrb}
\usepackage{longtable}
\usepackage{minted}
\usepackage{array}
\usepackage[english,russian]{babel}
\usepackage[colorlinks=true]{hyperref}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}% <-- moves axis labels near ticklabels (respects tick label widths)
\usepackage{listings}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\newcommand{\eqdef}{\stackrel {\rm def}{=}}
\newcommand{\No}{\textnumero}
\newtheorem{lem}{Ëåììà}
\setminted{style=bw,
linenos=true,
breaklines=true,
numbersep=5pt,
tabsize=2,
fontsize=\small,
bgcolor=white}
\setmintedinline{style=bw,
bgcolor=white,
fontsize=\normalsize
}
\pgfplotsset{every axis legend/.append style={at={(0.6,1)},anchor=south west}}
%\pgfplotsset{every axis title/.style={at={(0.5,1)},above,yshift=6pt}}
\begin{document}
% Êàôåäðà (â ðîäèòåëüíîì ïàäåæå)
\chair{ìàòåìàòè÷åñêîé êèáåðíåòèêè è êîìïüþòåðíûõ íàóê}
% Òåìà ðàáîòû
\title{Ñîçäàíèå êëèåíòñêîé ÷àñòè ïðèëîæåíèÿ óïðàâëåíèÿ ñèñòåìîé}
% Êóðñ
\course{3}
% Ãðóïïà
\group{311}
% Ôàêóëüòåò (â ðîäèòåëüíîì ïàäåæå) (ïî óìîë÷àíèþ "ôàêóëüòåòà ÊÍèÈÒ")
%\department{ôàêóëüòåòà ÊÍèÈÒ}
% Ñïåöèàëüíîñòü/íàïðàâëåíèå êîä - íàèìåíîâàíèå
\napravlenie{02.03.02 "--- Ôóíäàìåíòàëüíàÿ èíôîðìàòèêà è èíôîðìàöèîííûå òåõíîëîãèè}
%\napravlenie{02.03.01 "--- Ìàòåìàòè÷åñêîå îáåñïå÷åíèå è àäìèíèñòðèðîâàíèå èíôîðìàöèîííûõ ñèñòåì}
%\napravlenie{09.03.01 "--- Èíôîðìàòèêà è âû÷èñëèòåëüíàÿ òåõíèêà}
%\napravlenie{09.03.04 "--- Ïðîãðàììíàÿ èíæåíåðèÿ}
%\napravlenie{10.05.01 "--- Êîìïüþòåðíàÿ áåçîïàñíîñòü}
% Äëÿ ñòóäåíòêè. Äëÿ ðàáîòû ñòóäåíòà ñëåäóþùàÿ êîìàíäà íå íóæíà.
%\studenttitle{Ñòóäåíòêè}
% Ôàìèëèÿ, èìÿ, îò÷åñòâî â ðîäèòåëüíîì ïàäåæå
\author{Êîçûðåâà Þðèÿ Äìèòðèåâè÷à}
% Çàâåäóþùèé êàôåäðîé
\chtitle{ê.\,ô.-ì.\,í., äîöåíò} % ñòåïåíü, çâàíèå
\chname{Ñ.\,Â.\,Ìèðîíîâ}
%Íàó÷íûé ðóêîâîäèòåëü (äëÿ ðåôåðàòà ïðåïîäàâàòåëü ïðîâåðÿþùèé ðàáîòó)
\satitle{Ñòàðøèé ïðåïîäàâàòåëü} %äîëæíîñòü, ñòåïåíü, çâàíèå
\saname{Ì.\,È.\,Ñàôðîí÷èê}
% Ðóêîâîäèòåëü ïðàêòèêè îò îðãàíèçàöèè (òîëüêî äëÿ ïðàêòèêè,
% äëÿ îñòàëüíûõ òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
\patitle{Çàìåñòèòåëü ãåíåðàëüíîãî äèðåêòîðà,\newline
Ðóêîâîäèòåëü îáîñîáëåííîãî ïîäðàçäåëåíèÿ \newline
«Èíæåíåðíûé îòäåë «Ñàðàòîâñêèé»}
\paname{Å.\,À.\,Ñèíåëüíèêîâ}
% Ñåìåñòð (òîëüêî äëÿ ïðàêòèêè, äëÿ îñòàëüíûõ
% òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
\term{6}
% Íàèìåíîâàíèå ïðàêòèêè (òîëüêî äëÿ ïðàêòèêè, äëÿ îñòàëüíûõ
% òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
\practtype{ïðîèçâîäñòâåííàÿ}
% Ïðîäîëæèòåëüíîñòü ïðàêòèêè (êîëè÷åñòâî íåäåëü) (òîëüêî äëÿ ïðàêòèêè,
% äëÿ îñòàëüíûõ òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
\duration{4}
% Äàòû íà÷àëà è îêîí÷àíèÿ ïðàêòèêè (òîëüêî äëÿ ïðàêòèêè, äëÿ îñòàëüíûõ
% òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
\practStart{22.06.2022}
\practFinish{19.07.2022}
% Ãîä âûïîëíåíèÿ îò÷åòà
\date{2022}
\maketitle
% Âêëþ÷åíèå íóìåðàöèè ðèñóíêîâ, ôîðìóë è òàáëèö ïî ðàçäåëàì
% (ïî óìîë÷àíèþ - íóìåðàöèÿ ñêâîçíàÿ)
% (äîïóñêàåòñÿ îáà âèäà íóìåðàöèè)
%\secNumbering
\tableofcontents
% Ðàçäåë "Îáîçíà÷åíèÿ è ñîêðàùåíèÿ". Ìîæåò îòñóòñòâîâàòü â ðàáîòå
%\abbreviations
% Ðàçäåë "Îïðåäåëåíèÿ". Ìîæåò îòñóòñòâîâàòü â ðàáîòå
%\definitions
% Ðàçäåë "Îïðåäåëåíèÿ, îáîçíà÷åíèÿ è ñîêðàùåíèÿ". Ìîæåò îòñóòñòâîâàòü â ðàáîòå.
% Åñëè ïðèñóòñòâóåò, òî çàìåíÿåò ñîáîé ðàçäåëû "Îáîçíà÷åíèÿ è ñîêðàùåíèÿ" è "Îïðåäåëåíèÿ"
%\defabbr
% Ðàçäåë "Ââåäåíèå"
\intro
Ïðîèçâîäñòâåííàÿ ïðàêòèêà ïðîõîäèëà â ÎÎÎ «Áàçàëüò ÑÏλ.
Êîìïàíèÿ «Áàçàëüò ÑÏλ ðàçðàáîò÷èê ðîññèéñêèõ îïåðàöèîííûõ ñèñòåì «Àëüò». Îïûò ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ ñîñòàâëÿåò áîëåå 20 ëåò.
 øòàòå êîìïàíèè áîëåå 120 ðàçðàáîò÷èêîâ, ïðîãðàììèñòîâ è òåõíè÷åñêèõ ñïåöèàëèñòîâ. Îôèñû êîìïàíèè íàõîäÿòñÿ â ÷åòûð¸õ ãîðîäàõ: Ñàðàòîâ, Ìîñêâà, Ñàíêò-Ïåòåðáóðã è Îáíèíñê.
Êîìïàíèÿ èìååò ëèöåíçèè ÔÑÒÝÊ íà äåÿòåëüíîñòü ïî ðàçðàáîòêå è ïðîèçâîäñòâó ñðåäñòâ çàùèòû êîíôèäåíöèàëüíîé èíôîðìàöèè, à òàêæå íà äåÿòåëüíîñòü ïî òåõíè÷åñêîé çàùèòå êîíôèäåíöèàëüíîé èíôîðìàöèè (ðåã. íîìåð 1612 è 3025 îò 16 ñåíòÿáðÿ 2016 ãîäà). Ëèöåíçèè äåéñòâóþò áåññðî÷íî.
\section{Òåîðåòè÷åñêèå ñâåäåíèÿ}
\subsection{Îêðóæåíèå}
«Áàçàëüò ÑÏλ çàíèìàåòñÿ ðàçðàáîòêîé ëèíåéêè ñîáñòâåííûõ äèñòðèáóòèâîâ Linux, ïîä íàçâàíèåì "ALT". Îäíèì èç êëþ÷åâûõ ýëåìåíòîâ ÎÑ ÿâëÿåòñÿ ñèñòåìà ìåæïðîöåññíîãî âçàèìîäåéñòâèÿ D-Bus.
\subsubsection{Linux}
Linux (Ëè?íóêñ; â ÷àñòè ñëó÷àåâ GNU/Linux) — ñåìåéñòâî Unix-ïîäîáíûõ îïåðàöèîííûõ ñèñòåì íà áàçå ÿäðà Linux, âêëþ÷àþùèõ òîò èëè èíîé íàáîð óòèëèò è ïðîãðàìì ïðîåêòà GNU, è, âîçìîæíî, äðóãèå êîìïîíåíòû. Êàê è ÿäðî Linux, ñèñòåìû íà åãî îñíîâå, êàê ïðàâèëî, ñîçäàþòñÿ è ðàñïðîñòðàíÿþòñÿ â ñîîòâåòñòâèè ñ ìîäåëüþ ðàçðàáîòêè ñâîáîäíîãî è îòêðûòîãî ïðîãðàììíîãî îáåñïå÷åíèÿ. Linux-ñèñòåìû ðàñïðîñòðàíÿþòñÿ â îñíîâíîì áåñïëàòíî â âèäå ðàçëè÷íûõ äèñòðèáóòèâîâ — â ôîðìå, ãîòîâîé äëÿ óñòàíîâêè è óäîáíîé äëÿ ñîïðîâîæäåíèÿ è îáíîâëåíèé, — è èìåþùèõ ñâîé íàáîð ñèñòåìíûõ è ïðèêëàäíûõ êîìïîíåíòîâ, êàê ñâîáîäíûõ, òàê è ïðîïðèåòàðíûõ.
Ïîÿâèâøèñü êàê ðåøåíèÿ âîêðóã ñîçäàííîãî â íà÷àëå 1990-õ ãîäîâ ÿäðà, óæå ñ íà÷àëà 2000-õ ãîäîâ ñèñòåìû Linux ÿâëÿþòñÿ îñíîâíûìè äëÿ ñóïåðêîìïüþòåðîâ è ñåðâåðîâ, ðàñøèðÿåòñÿ ïðèìåíåíèå èõ äëÿ âñòðàèâàåìûõ ñèñòåì è ìîáèëüíûõ óñòðîéñòâ, íåêîòîðîå ðàñïðîñòðàíåíèå ñèñòåìû ïîëó÷èëè è äëÿ ïåðñîíàëüíûõ êîìïüþòåðîâ.
Çà ñ÷¸ò èñïîëüçîâàíèÿ ñâîáîäíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ è ïðèâëå÷åíèÿ âîëîíò¸ðîâ êàæäàÿ èç ñèñòåì Linux îáëàäàåò çíà÷èòåëüíûìè ïðîãðàììíûìè âîçìîæíîñòÿìè, òðóäíî ðåàëèçóåìûìè â ïðî÷èõ ìîäåëÿõ ðàçðàáîòêè: íàïðèìåð, â 2008 ãîäó ðàñ÷¸òû ïîêàçûâàëè, ÷òî äëÿ òîãî, ÷òîáû «ñ íóëÿ» ðàçðàáîòàòü ñèñòåìó, àíàëîãè÷íóþ Fedora 9, ïîòðåáîâàëîñü áû çàòðàòèòü 10,8 ìëðä \$, à ñîâîêóïíàÿ ñåáåñòîèìîñòü òîëüêî ÿäðà Linux îöåíèâàëàñü â ñóììó áîëåå 1,4 ìëðä \$, ïðèòîì òîëüêî çà 2008 ãîä îíà óâåëè÷èëàñü íà 315 ìëí \$, ñîâîêóïíûé òðóä îöåí¸í â ðàçìåðå 73 òûñ. ÷åëîâåêî-ëåò.
Ñåìåéñòâî ñèñòåì, âêëþ÷àþùèõ â êà÷åñòâå êîìïîíåíòîâ îñíîâíûå ïðîãðàììû ïðîåêòà GNU, òàêèå êàê bash, gcc, glibc, coreutils è ðÿä äðóãèõ, èíîãäà èäåíòèôèöèðóåòñÿ êàê GNU/Linux. Òàê êàê òðàäèöèîííî áîëüøèíñòâî ñèñòåì áûëî èìåííî òàêèì, ïîä «Linux» îáû÷íî ïîäðàçóìåâàþòñÿ èìåííî îíè; ïðèòîì ñóùåñòâóåò ñïîð îá èìåíîâàíèè GNU/Linux. Ñóùåñòâóåò ïðîåêò ñòàíäàðòèçàöèè âíóòðåííåé ñòðóêòóðû Linux-ñèñòåì — Linux Standard Base, ÷àñòü äîêóìåíòîâ êîòîðîãî çàðåãèñòðèðîâàíà â êà÷åñòâå ñòàíäàðòîâ ISO; íî äàëåêî íå âñå ñèñòåìû ñåðòèôèöèðóþòñÿ ïî íåìó, è â öåëîì äëÿ Linux-ñèñòåì íå ñóùåñòâóåò êàêîé-ëèáî îáùåïðèçíàííîé ñòàíäàðòíîé êîìïëåêòàöèè èëè ôîðìàëüíûõ óñëîâèé âêëþ÷åíèÿ â ñåìåéñòâî. Îäíàêî åñòü ðÿä ñèñòåì íà áàçå ÿäðà Linux, íî íå èìåþùèõ â îñíîâå çàâèñèìîñòè îò ïðîãðàìì GNU, êîòîðûå ïîýòîìó "GNU/Linux" íå íàçûâàþò, â ÷àñòíîñòè, òàêîâû ìîáèëüíûå ñèñòåìû Android è FirefoxOS.
Îôèöèàëüíûì ëîãîòèïîì è òàëèñìàíîì Linux ÿâëÿåòñÿ ïèíãâèí Tux, ñîçäàííûé â 1996 ãîäó Ëàððè Þèíãîì. Òîðãîâàÿ ìàðêà «Linux» ïðèíàäëåæèò ñîçäàòåëþ è îñíîâíîìó ðàçðàáîò÷èêó ÿäðà Ëèíóñó Òîðâàëüäñó. Ïðè ýòîì ïðîåêò Linux â øèðîêîì ñìûñëå íå ïðèíàäëåæèò êàêîé-ëèáî îðãàíèçàöèè èëè ÷àñòíîìó ëèöó, âêëàä â åãî ðàçâèòèå è ðàñïðîñòðàíåíèå îñóùåñòâëÿþò òûñÿ÷è íåçàâèñèìûõ ðàçðàáîò÷èêîâ è êîìïàíèé, îäíèì èç èíñòðóìåíòîâ âçàèìîäåéñòâèÿ êîòîðûõ ÿâëÿþòñÿ ãðóïïû ïîëüçîâàòåëåé Linux. Ñóùåñòâóåò ðÿä íåêîììåð÷åñêèõ îáúåäèíåíèé, ñòàâÿùèõ îñíîâíîé öåëüþ ðàçâèòèå è ïðîäâèæåíèå Linux, íàèáîëåå êðóïíîå è âëèÿòåëüíîå èç íèõ — îñíîâàííûé â 2007 ãîäó The Linux Foundation. Ñóùåñòâóåò çíà÷èòåëüíûé ðûíîê êîììåð÷åñêîé òåõíè÷åñêîé ïîääåðæêè Linux-ñèñòåì, íà êîòîðîì ñ äîëåé ñâûøå 70 \% (2017) äîìèíèðóåò êîðïîðàöèÿ Red Hat (ïîãëîùåíà IBM â 2019 ãîäó).
\subsection{Äèñòðèáóòèâ ALT}
Âñå äèñòðèáóòèâû îïåðàöèîííûõ ñèñòåì ALT îñíîâàíû íà ñîáñòâåííîé ðàñïðåäåë¸ííîé èíôðàñòðóêòóðå ðàçðàáîòêè, èíñòðóìåíòàðèè ñáîðêè è ðåïîçèòîðèè «Ñèçèô» (Sisyphus).
Èíôðàñòðóêòóðà ðàçðàáîòêè íàõîäèòñÿ íà òåððèòîðèè ÐÔ, ïðèíàäëåæèò è ïîääåðæèâàåòñÿ êîìïàíèåé «Áàçàëüò ÑÏλ. Ñîòðóäíèêè «Áàçàëüò ÑÏλ è êîìàíäà ðàçðàáîò÷èêîâ ALT Linux Team ïðèíèìàþò àêòèâíîå ó÷àñòèå â ìåæäóíàðîäíûõ ïðîåêòàõ ðàçðàáîòêè ñâîáîäíîãî ÏÎ.
Íà áàçå ðåïîçèòîðèÿ Sisyphus ïåðèîäè÷åñêè ôîðìèðóåòñÿ ñòàáèëüíàÿ âåòêà (ïðîãðàììíàÿ ïëàòôîðìà), êîòîðàÿ ïîääåðæèâàåòñÿ â òå÷åíèå äëèòåëüíîãî âðåìåíè è èñïîëüçóåòñÿ â êà÷åñòâå áàçû äëÿ ïîñòðîåíèÿ äèñòðèáóòèâîâ ëèíåéêè «Àëüò». Íà ïðîòÿæåíèè âñåãî æèçíåííîãî öèêëà ïðîãðàììíîé ïëàòôîðìû â íåé èñïðàâëÿþòñÿ êðèòè÷åñêèå îøèáêè, âûïóñêàþòñÿ îáíîâëåíèÿ, â òîì ÷èñëå è ïî áåçîïàñíîñòè. Ëþáûå èçìåíåíèÿ ïîïàäàþò â ñòàáèëüíóþ âåòêó òîëüêî ïîñëå îáÿçàòåëüíîãî ôóíêöèîíàëüíîãî è ðåãðåññèîííîãî òåñòèðîâàíèÿ.
 2021 ãîäó ñôîðìèðîâàíà íîâàÿ äåñÿòàÿ ïëàòôîðìà (Aronia).
Ïðîäóêòû íà áàçå Äåñÿòîé ïëàòôîðìû âûïóñêàþòñÿ ñ äåêàáðÿ 2021 ã.
Äèñòðèáóòèâ ïðåäñòàâëÿåò ñîáîé îïåðàöèîííóþ ñèñòåìó íà îñíîâå ÿäðà Linux è íàáîð ñèñòåìíîãî è ïðèêëàäíîãî ÏÎ, îáúåäèí¸ííûõ èíñòàëëÿòîðîì (óñòàíîâùèêîì).
Îñíîâîé âñåõ äèñòðèáóòèâîâ «Àëüò» ÿâëÿåòñÿ ìîäóëüíàÿ ñèñòåìà óïðàâëåíèÿ Alterator, ñîäåðæàùàÿ áîëåå 100 ìîäóëåé äëÿ êîíôèãóðèðîâàíèÿ ñèñòåìû.
Äèñòðèáóòèâû «Àëüò» ñïðîåêòèðîâàíû ñ ó÷¸òîì âîçìîæíîñòè èíòåãðàöèè ìåæäó ñîáîé. Ýòî ïîçâîëÿåò ñòðîèòü èíôîðìàöèîííûå ñèñòåìû ëþáîãî ìàñøòàáà, à òàêæå îáåñïå÷èâàåò ðàáîòó â ãåòåðîãåííûõ ñåòÿõ.
Äèñòðèáóòèâû «Áàçàëüò ÑÏλ âêëþ÷åíû â Åäèíûé ðååñòð ðîññèéñêèõ ïðîãðàìì äëÿ ýëåêòðîííûõ âû÷èñëèòåëüíûõ ìàøèí è áàç äàííûõ (êðîìå Simply Linux).
\subsection{D-Bus}
D-Bus — ñèñòåìà ìåæïðîöåññíîãî âçàèìîäåéñòâèÿ, êîòîðàÿ ïîçâîëÿåò ïðèëîæåíèÿì â îïåðàöèîííîé ñèñòåìå ñîîáùàòüñÿ äðóã ñ äðóãîì.
D-Bus ÿâëÿåòñÿ ÷àñòüþ ïðîåêòà freedesktop.org. Îíà îáëàäàåò âûñîêîé ñêîðîñòüþ ðàáîòû, íå çàâèñèò îò ðàáî÷åé ñðåäû, ðàáîòàåò íà POSIX-ñîâìåñòèìûõ îïåðàöèîííûõ ñèñòåìàõ, òàêæå ñóùåñòâóåò âåðñèÿ äëÿ Windows (ïîêà íà ñòàäèè ðàçðàáîòêè)[1].
Ñîñòîèò èç äâóõ ÷àñòåé: äåìîíà è íèçêîóðîâíåâîãî API. Ñóùåñòâóþò âûñîêîóðîâíåâûå áèáëèîòåêè äëÿ ôðåéìâîðêîâ Qt, Java, GLib, C\#, Python, Ruby è áèáëèîòåêà äëÿ C++.
\subsection{Èíñòðóìåíòû}
 õîäå ïðàêòèêè èñïîëüçîâàëèñü ñëåäóþùèå èíñòðóìåíòû: äëÿ ðåàëèçàöèè âíóòðåííåé ëîãèêè ïðèëîæåíèÿ èñïîëüçîâàëñÿ ÿçûê ïðîãðàììèðîâàíèÿ C++ ñ ôðåéìâîðêîì Qt, äëÿ îïèñàíèÿ ïîëüçîâàòåëüñêîãî èíòåðôåéñà ïðèìåíÿëñÿ ÿçûê ðàçìåòêè QML.
\subsubsection{Qt}
Qt — ôðåéìâîðê äëÿ ðàçðàáîòêè êðîññïëàòôîðìåííîãî ïðîãðàììíîãî îáåñïå÷åíèÿ íà ÿçûêå ïðîãðàììèðîâàíèÿ C++. Äëÿ ìíîãèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ ñóùåñòâóþò áèáëèîòåêè, ïîçâîëÿþùèå èñïîëüçîâàòü ïðåèìóùåñòâà Qt: Python — PyQt, PySide; Ruby — QtRuby; Java — Qt Jambi; PHP — PHP-Qt è äðóãèå.
Ñî âðåìåíè ñâîåãî ïîÿâëåíèÿ â 1996 ãîäó áèáëèîòåêà ëåãëà â îñíîâó ìíîãèõ ïðîãðàììíûõ ïðîåêòîâ. Êðîìå òîãî, Qt ÿâëÿåòñÿ ôóíäàìåíòîì ïîïóëÿðíîé ðàáî÷åé ñðåäû KDE, âõîäÿùåé â ñîñòàâ ìíîãèõ äèñòðèáóòèâîâ Linux.
\subsubsection{QML}
QML (Qt Meta Language èëè Qt Modeling Language) — äåêëàðàòèâíûé ÿçûê ïðîãðàììèðîâàíèÿ, â îñíîâàíèè êîòîðîãî ëåæèò ñðåäà JavaScript. QML èñïîëüçóåòñÿ äëÿ ðàçðàáîòêè ïðèëîæåíèé, äåëàþùèõ îñíîâíîé óïîð íà ïîëüçîâàòåëüñêèé èíòåðôåéñ è, â öåëîì, íà äèçàéí ãðàôè÷åñêîé ÷àñòè. ßâëÿåòñÿ ÷àñòüþ Qt Quick, ñðåäû ðàçðàáîòêè ïîëüçîâàòåëüñêîãî èíòåðôåéñà, ðàñïðîñòðàíÿåìîé âìåñòå ñ Qt. ×àñòî èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ïðèëîæåíèé, îðèåíòèðîâàííûõ íà ìîáèëüíûå óñòðîéñòâà ñ ñåíñîðíûì óïðàâëåíèåì.
QML-äîêóìåíò ïðåäñòàâëÿåò ñîáîé äåðåâî ýëåìåíòîâ. QML ýëåìåíò, òàê æå, êàê è ýëåìåíò Qt, ïðåäñòàâëÿåò ñîáîé ñîâîêóïíîñòü áëîêîâ: ãðàôè÷åñêèõ (òàêèõ, êàê rectangle, image) è ïîâåäåí÷åñêèõ (òàêèõ, êàê state, transition, animation). Ýòè ýëåìåíòû ìîãóò áûòü îáúåäèíåíû, ÷òîáû ïîñòðîèòü êîìïëåêñíûå êîìïîíåíòû, íà÷èíàÿ îò ïðîñòûõ êíîïîê è ïîëçóíêîâ è çàêàí÷èâàÿ ïîëíîöåííûìè ïðèëîæåíèÿìè, ðàáîòàþùèìè ñ èíòåðíåòîì.
QML ýëåìåíòû ìîãóò áûòü äîïîëíåíû ñòàíäàðòíûìè äëÿ JavaScript âñòàâêàìè ïóò¸ì âñòðàèâàíèÿ .js ôàéëîâ. Òàêæå îíè ìîãóò áûòü ðàñøèðåíû C++ êîìïîíåíòàìè ÷åðåç Qt framework.
QML - ýòî ÿçûê ðàçìåòêè; åãî ñðåäîé âûïîëíåíèÿ JavaScript ÿâëÿëñÿ ïîëüçîâàòåëüñêèé äâèæîê V4.
Êîä QML è JavaScript ìîæåò áûòü ñêîìïèëèðîâàí â ñîáñòâåííûå äâîè÷íûå ôàéëû C++ ñ ïîìîùüþ Qt Quick Compiler. Äëÿ óäîáñòâà ðàçðàáîòêè ñóùåñòâóåò ôîðìàò ôàéëà êýøà QML, êîòîðûé äèíàìè÷åñêè ñîõðàíÿåò ñêîìïèëèðîâàííóþ âåðñèþ QML äëÿ áîëåå áûñòðîãî ñòàðòà ïðè ñëåäóþùåì çàïóñêå.
\section{Âûïîëíåíèå ïðàêòè÷åñêîãî çàäàíèÿ}
Âî âðåìÿ ïðîèçâîäñòâåííîé ïðàêòèêè áûëà ïîñòàâëåíà çàäà÷à ðåàëèçîâàòü êàðêàñ ïîëüçîâàòåëüñêîé ÷àñòè àëüòåðàòîðà è èíòåðôåéñ îäíîãî èç åãî ìîäóëåé â êà÷åñòâå òèïîâîãî.
\subsection{title}
% Ðàçäåë "Çàêëþ÷åíèå"
\conclusion
 õîäå âûïîëíåíèÿ êóðñîâîé ðàáîòû áûëè èçó÷åíû ðàçëè÷íûå ìîäåëè ãåíåðàöèè ñëó÷àéíûõ ãðàôîâ, è ïðîâåäåíû èññëåäîâàíèÿ ñòàíäàðòíîé ìîäåëè Áàðàáàøè"--~Àëüáåðò. Ïðîâåäåííûå ýêñïåðèìåíòû ïîêàçàëè, ìîäåëü ñëó÷àéíîãî ãðàôà Áàðàáàøè"--~Àëüáåðò ïîäõîäèò äëÿ ìîäåëèðîâàíèÿ ïðîöåññîâ, ïðîèñõîäÿùèõ â ñîöèàëüíûõ ñåòÿõ è äðóãèõ ñëîæíûõ ñèñòåìàõ. Òàêæå áûëè èçó÷åíû ðàçëè÷íûå ìîäóëè ÿçûêà ïðîãðàììèðîâàíèÿ Python òàêèå êàê: networkx(äëÿ ðàáîòû ñ ãðàôàìè), random è numpy.random(äëÿ ðàáîòû ñî ñëó÷àéíûìè âåëè÷èíàìè), multiprocessing(äëÿ âûïîëíåíèÿ ïàðàëåëüíûõ âû÷èñëåíèé), à òàêæå matplotlib, matplotlib.pyplot è pylab(äëÿ ïîñòðîåíèÿ è îòîáðàæåíèÿ ãðàôèêîâ).
% Ñïèñîê ëèòåðàòóðû
\bibliographystyle{gost780uv}
\bibliography{thesis}
% Îêîí÷àíèå îñíîâíîãî äîêóìåíòà è íà÷àëî ïðèëîæåíèé
% Êàæäàÿ ïîñëåäóþùàÿ ñåêöèÿ äîêóìåíòà áóäåò ÿâëÿòüñÿ ïðèëîæåíèåì
\appendix
\section{Òåêñò ïðîãðàììû}\label{app:program}
 ýòîì ïðèëîæåíèè ïðèâåä¸í ïîëíûé òåêñò ðåàëèçàöèè ìîäåëè Áàðàáàøè"--~Àëüáåðò.
\begin{minted}{python}
\end{minted}
\end{document}