Skip to content

Commit

Permalink
Add infrastructure subsection
Browse files Browse the repository at this point in the history
  • Loading branch information
fuodorov committed Feb 5, 2024
1 parent a4cae8b commit efb6409
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 3 deletions.
9 changes: 9 additions & 0 deletions bibliography.bib
Original file line number Diff line number Diff line change
Expand Up @@ -213,4 +213,13 @@ @article{hodges1958significance
pages={469--486},
year={1958},
publisher={Kluwer Academic Publishers Dordrecht}
}
@article{merkel2014docker,
title={Docker: lightweight linux containers for consistent development and deployment},
author={Merkel, Dirk and others},
journal={Linux j},
volume={239},
number={2},
pages={2},
year={2014}
}
1 change: 1 addition & 0 deletions main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,6 @@
\input{src/texts/kenv_theory}
\input{src/texts/kenv_listing}
\input{src/texts/kenv_gui}
\input{src/texts/redpic_dockerfile}

\end{document}
1 change: 1 addition & 0 deletions src/texts/abbreviations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
\item GUI "--- graphical user interface (графический интерфейс пользователя)
\item ОДУ "--- обыкновенное дифференциальное уравнение
\item ЭВМ "--- электронная вычислительная машина
\item ОС "--- операционная система
\item ПО "--- программное обеспечение
\item ООП "--- объектно ориентированное программирование
\item JIT-компиляция "--- just-in-time (компиляция «точно в нужное время»)
Expand Down
15 changes: 15 additions & 0 deletions src/texts/redpic_dockerfile.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
\Appendix
\begin{center}
Листинг Dockerfile REDPIC
\end{center}

\begin{lstlisting}[caption={Пример Dockerfile для REDPIC}, label={lst:appendix_dockerfile_redpic}]
FROM python:3.10

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
\end{lstlisting}
13 changes: 10 additions & 3 deletions src/texts/redpic_features.tex
Original file line number Diff line number Diff line change
Expand Up @@ -197,11 +197,18 @@ \subsection{Функциональное тестирование}
\item Очистить память.
\end{itemize}

Такое описание облегчает написание тестов и оставляет за собой их документацию при необходимости её можно расширять.
Однако минус такого подхода необходимость править тест-план при исправлении самих тестов.
Такое описание облегчает написание тестов и оставляет за собой их документацию "--- при необходимости её можно расширять.
Однако минус такого подхода "--- необходимость править тест-план при исправлении самих тестов.

\subsection{Инфраструктура проекта}
...
Основная проблема локального запуска "--- необходимость локально держать множество зависимостей и нужную версию Python.
В идеале нужно запускать ПО и функциональные тесты и локально, и у коллеги на компьютере, и в рамках процесса непрерывной интеграции (CI).
Здесь на помощь приходят утилита контейнеризации Docker\cite{merkel2014docker}.
Основное преимущество контейнеризации "--- возможность запустить программу и тесты на любой популярной ОС.
Она позволяла намного быстрее создавать изолированную среду и потребляла значительно меньше ресурсов по сравнению с виртуальной машиной.
В Docker размер контейнеров обычно измеряется в мегабайтах, а в виртуальных машинах счёт идёт на гигабайты.

Пример \lstinline{Dockerfile} для REDPIC можно найти в приложении~\ref{lst:appendix_dockerfile_redpic}

\subsection{Процессы CI/CD}
...
Expand Down

0 comments on commit efb6409

Please sign in to comment.