diff --git a/balakhonov_danila_lab_2/README.md b/balakhonov_danila_lab_2/README.md new file mode 100644 index 0000000..973280e --- /dev/null +++ b/balakhonov_danila_lab_2/README.md @@ -0,0 +1,64 @@ +# Лабораторная работа номер 2 + +> Здравствуйте меня зовут Балахонов Данила группа ПИбд-42 +> +> *— Балахонов Данила ПИбд-42* + +Видео лабораторной работы номер 2 доступно по этой [ссылке](https://drive.google.com/file/d/1N4NgWsFLlHY5lGOO3Ps7DPvdJbHNxaqz/view?usp=sharing). + +## Как запустить лабораторную работу номер 2? +### Необходимые компоненты для запуска лабораторной работы номер 2 +> Здесь рассказана установка необходимых компонентов для запуска лабораторной работы номер 2 под дистрибутив GNU/Linux **Ubuntu**. + +Для запуска лабораторной работы номер 2 необходимы такие компоненты: + - Git + - Docker + - Docker compose + +Чтобы установить **Git**, необходимо ввести данные команды в командную строку: +``` bash +sudo apt-get update +sudo apt-get install git +``` + +Чтобы установить **Docker** и **Docker compose**, стоит ввести такие команды: +``` bash +# Настройка репозитория Docker +sudo apt-get update +sudo apt-get install ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update + +# Установка Docker и его компонентов +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +``` +### Запуск лабораторной работы номер 2 +Для запуска лабораторной работы номер 2 необходимо **склонировать** репозиторий в любую папку и **перейти на ветку** balakhonov_danila_lab_2. +Далее в папке с `docker-compose.yaml` нужно вызвать такую команду: +``` bash +sudo docker-compose up --build +``` +Таким образом контейнеры будут подготовлены и запущены. Результат выполнения будет находится внутри директории докера. Расположение файлов data.txt и result.txt: `/var/lib/docker/volumes/balakhonov_danila_lab_2_result/_data/` + +## Какие технологии были использованы? +Для выполнения лабораторной работы номер 2 были применены такие технологии, как: + - Dockerfile + - Docker compose + - Git + - .NET SDK и F# в частности + +Сервисы были написаны с использованием .NET SDK на языке F#. +## Что делает лабораторная работа номер 2? +Лабораторная работа номер 2 запускает два сервиса: + + 1. Сервис, который берёт из каталога `/var/data` случайный файл и перекладывает его в `/var/result/data.txt` + 2. Сервис, который ищет наибольшее число из файла `/var/result/data.txt` и сохраняет количество таких чисел из последовательности в `/var/result/result.txt` + +Благодаря лабораторной работе номер 2 были получены навыки создания Dockerfile для развертывания проектов в контейнерах, а также их связки с помощью docker-compose.yaml. \ No newline at end of file diff --git a/balakhonov_danila_lab_2/docker-compose.yaml b/balakhonov_danila_lab_2/docker-compose.yaml new file mode 100644 index 0000000..59314f9 --- /dev/null +++ b/balakhonov_danila_lab_2/docker-compose.yaml @@ -0,0 +1,22 @@ +services: + app1: + build: ./sigma_app_1/ + volumes: + # Создание папки /var/data внутри контейнера + # И копирование файлов из ./files в эту папку + - ./files:/var/data + # Создание папки /var/result внутри контейнера + # А также папки result внутри директории докера + - result:/var/result + app2: + build: ./skibidi_app_2/ + # Указано, что пока не запуститься app1, app2 не запустится + # Он ЗАВИСИТ от app1 (depends on (с англ.) - зависит от) + depends_on: + - app1 + volumes: + - result:/var/result +volumes: + # Указывается, что будет создана папка result + # внутри директории докера + result: \ No newline at end of file diff --git a/balakhonov_danila_lab_2/files/1.txt b/balakhonov_danila_lab_2/files/1.txt new file mode 100644 index 0000000..9ae046a --- /dev/null +++ b/balakhonov_danila_lab_2/files/1.txt @@ -0,0 +1,323 @@ +245 +678 +12 +987 +456 +234 +789 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +987 +654 +321 +456 +789 +12 +34 +56 +78 +90 +123 +456 +789 +234 +567 +890 +123 +456 +789 +987 +654 +321 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 +123 +456 +789 +234 +567 +890 +12 +34 +56 +78 +90 +123 +456 +789 +321 +654 +987 +432 +876 +543 +210 +678 +345 +678 \ No newline at end of file diff --git a/balakhonov_danila_lab_2/files/2.txt b/balakhonov_danila_lab_2/files/2.txt new file mode 100644 index 0000000..4f4838d --- /dev/null +++ b/balakhonov_danila_lab_2/files/2.txt @@ -0,0 +1,642 @@ +873 +62 +455 +879 +235 +941 +267 +811 +174 +517 +382 +399 +460 +221 +640 +915 +384 +622 +897 +212 +798 +109 +477 +546 +29 +995 +678 +342 +135 +804 +890 +453 +726 +891 +664 +290 +872 +190 +526 +304 +12 +587 +234 +753 +980 +197 +824 +579 +458 +15 +999 +614 +704 +205 +860 +537 +842 +491 +668 +210 +920 +477 +811 +350 +731 +95 +639 +287 +127 +423 +1000 +394 +521 +8 +267 +154 +431 +715 +266 +834 +173 +268 +947 +582 +157 +367 +882 +737 +305 +472 +481 +651 +960 +843 +701 +122 +514 +92 +658 +884 +371 +458 +637 +620 +793 +285 +611 +785 +495 +822 +849 +708 +592 +465 +469 +78 +734 +667 +606 +241 +666 +474 +569 +543 +918 +68 +906 +123 +501 +330 +947 +111 +365 +734 +249 +429 +296 +16 +511 +974 +317 +764 +230 +542 +920 +821 +718 +281 +556 +575 +900 +632 +720 +462 +88 +275 +403 +100 +418 +684 +600 +119 +863 +781 +225 +971 +670 +80 +643 +220 +176 +588 +58 +202 +850 +537 +934 +748 +378 +817 +505 +696 +21 +630 +324 +117 +420 +257 +493 +826 +688 +305 +772 +654 +927 +208 +525 +511 +256 +650 +447 +163 +99 +74 +99 +487 +306 +754 +510 +132 +201 +392 +785 +778 +512 +258 +904 +932 +589 +694 +204 +884 +110 +673 +152 +649 +295 +387 +758 +927 +538 +619 +904 +651 +174 +712 +104 +641 +474 +198 +322 +764 +204 +407 +550 +42 +879 +716 +368 +316 +43 +600 +893 +370 +137 +631 +244 +571 +663 +551 +907 +211 +166 +746 +583 +708 +771 +215 +90 +829 +653 +494 +563 +334 +794 +745 +936 +718 +126 +923 +451 +668 +966 +532 +935 +886 +646 +75 +858 +693 +859 +284 +315 +679 +133 +878 +292 +340 +716 +128 +250 +554 +482 +789 +677 +308 +494 +931 +144 +337 +982 +713 +535 +893 +939 +932 +905 +805 +236 +991 +781 +686 +572 +951 +335 +58 +303 +335 +145 +608 +794 +862 +792 +619 +54 +292 +878 +585 +293 +959 +379 +20 +484 +144 +678 +67 +363 +946 +566 +106 +442 +820 +562 +109 +201 +759 +481 +289 +698 +25 +847 +648 +733 +613 +776 +989 +257 +864 +32 +703 +989 +465 +103 +963 +515 +829 +30 +303 +926 +159 +586 +268 +852 +953 +321 +306 +978 +909 +177 +835 +458 +994 +885 +213 +775 +385 +598 +267 +754 +448 +1000 +555 +354 +657 +231 +979 +265 +374 +68 +197 +953 +648 +153 +523 +761 +827 +819 +63 +782 +766 +882 +404 +258 +672 +883 +80 +111 +212 +681 +812 +911 +837 +194 +161 +143 +427 +981 +132 +357 +605 +810 +414 +20 +210 +772 +882 +313 +186 +578 +154 +523 +339 +383 +903 +29 +172 +62 +314 +491 +289 +550 +521 +327 +794 +299 +678 +769 +415 +266 +77 +33 +438 +233 +160 +11 +523 +623 +254 +29 +327 +924 +938 +588 +444 +976 +547 +775 +638 +35 +23 +203 +203 +927 +149 +198 +150 +370 +728 +775 +818 +768 +99 +40 +969 +435 +49 +276 +360 +964 +277 +283 +825 +479 +331 +471 +381 +652 +264 +564 +891 +638 +470 +291 +101 +143 +93 +663 +328 +841 +881 +94 +327 +2 +628 +474 +905 +545 +421 +453 +282 +276 +24 +655 +295 +48 +102 +49 +676 +187 +773 +169 +170 +165 +405 +348 +4 +654 +276 +343 +153 +381 +756 +753 +816 +474 +186 +652 +67 +689 +69 +920 +880 +363 +637 +524 +171 +753 +12 +634 +648 +668 +220 +408 +348 +887 +341 +738 +681 +408 +377 +693 +234 +83 +982 +417 +222 +322 +253 +494 +868 +951 +344 +60 +23 +41 +99 +944 +723 +156 +813 +5 +44 +62 +899 +835 +482 +469 +157 +637 +295 +929 +992 +234 +66 +31 +170 +333 +92 +185 +117 +627 +82 +292 +796 +840 +768 +532 +981 +300 +125 +958 +4 \ No newline at end of file diff --git a/balakhonov_danila_lab_2/files/3.txt b/balakhonov_danila_lab_2/files/3.txt new file mode 100644 index 0000000..d7c283f --- /dev/null +++ b/balakhonov_danila_lab_2/files/3.txt @@ -0,0 +1,489 @@ +522 +173 +815 +671 +284 +903 +477 +639 +732 +143 +928 +564 +812 +109 +397 +249 +868 +301 +848 +376 +794 +99 +506 +217 +645 +12 +187 +930 +811 +583 +684 +455 +94 +499 +118 +722 +603 +267 +772 +947 +845 +210 +495 +632 +372 +930 +908 +546 +327 +685 +883 +235 +613 +579 +762 +491 +328 +672 +156 +739 +1000 +421 +731 +215 +867 +610 +847 +732 +204 +411 +515 +150 +438 +651 +174 +590 +725 +963 +530 +889 +577 +694 +417 +261 +767 +480 +934 +125 +558 +282 +899 +96 +653 +908 +303 +774 +617 +407 +482 +538 +239 +472 +766 +118 +920 +206 +797 +420 +853 +205 +340 +123 +387 +497 +640 +24 +999 +476 +77 +920 +382 +405 +55 +834 +371 +167 +290 +300 +611 +53 +470 +81 +232 +14 +451 +678 +623 +564 +787 +99 +648 +873 +803 +888 +504 +186 +256 +405 +102 +999 +673 +721 +434 +814 +305 +582 +436 +90 +774 +216 +706 +855 +702 +307 +59 +835 +812 +234 +736 +168 +523 +219 +868 +365 +294 +500 +207 +927 +450 +521 +851 +703 +992 +327 +916 +554 +846 +658 +88 +659 +628 +764 +84 +45 +10 +870 +779 +320 +882 +942 +93 +792 +836 +137 +489 +862 +391 +337 +887 +114 +237 +178 +874 +569 +135 +919 +931 +231 +50 +995 +215 +658 +139 +484 +292 +903 +113 +755 +333 +829 +942 +360 +172 +689 +42 +127 +799 +191 +455 +533 +234 +15 +404 +636 +373 +884 +921 +977 +113 +227 +703 +173 +297 +440 +604 +575 +971 +855 +82 +252 +589 +276 +826 +206 +166 +482 +375 +174 +612 +818 +854 +832 +809 +569 +306 +993 +931 +289 +148 +943 +421 +784 +441 +536 +426 +548 +49 +687 +415 +505 +951 +583 +368 +172 +974 +47 +173 +570 +264 +754 +701 +693 +796 +914 +809 +310 +512 +725 +963 +829 +614 +220 +410 +631 +860 +270 +158 +168 +595 +62 +715 +913 +517 +157 +5 +660 +274 +414 +139 +300 +698 +675 +263 +872 +292 +142 +375 +696 +895 +302 +75 +576 +899 +524 +362 +721 +916 +883 +347 +980 +29 +392 +839 +971 +593 +708 +804 +678 +234 +719 +659 +418 +914 +437 +550 +418 +576 +776 +293 +737 +348 +292 +48 +975 +547 +205 +831 +783 +587 +657 +132 +733 +53 +700 +785 +292 +332 +771 +849 +994 +905 +460 +420 +923 +663 +134 +658 +673 +618 +779 +951 +244 +425 +312 +436 +878 +538 +236 +805 +457 +897 +799 +134 +469 +56 +724 +370 +521 +654 +20 +260 +315 +525 +501 +433 +90 +368 +192 +162 +198 +65 +652 +613 +222 +160 +76 +755 +541 +305 +257 +669 +179 +849 +878 +249 +224 +4 +1 +860 +967 +738 +712 +281 +834 +908 +774 +964 +880 +902 +234 +635 +138 +305 +532 +585 +956 +68 +21 +278 +639 +622 +473 +769 +161 +580 +285 +204 +410 +115 +430 +953 +968 +593 +703 +704 +469 +835 +623 +991 \ No newline at end of file diff --git a/balakhonov_danila_lab_2/sigma_app_1/.dockerignore b/balakhonov_danila_lab_2/sigma_app_1/.dockerignore new file mode 100644 index 0000000..f20b791 --- /dev/null +++ b/balakhonov_danila_lab_2/sigma_app_1/.dockerignore @@ -0,0 +1,4 @@ +bin/ +obj/ +Dockerfile +README.md \ No newline at end of file diff --git a/balakhonov_danila_lab_2/sigma_app_1/.gitignore b/balakhonov_danila_lab_2/sigma_app_1/.gitignore new file mode 100644 index 0000000..104b544 --- /dev/null +++ b/balakhonov_danila_lab_2/sigma_app_1/.gitignore @@ -0,0 +1,484 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from `dotnet new gitignore` + +# dotenv files +.env + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml +.idea + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# Vim temporary swap files +*.swp diff --git a/balakhonov_danila_lab_2/sigma_app_1/Dockerfile b/balakhonov_danila_lab_2/sigma_app_1/Dockerfile new file mode 100644 index 0000000..85f4bf9 --- /dev/null +++ b/balakhonov_danila_lab_2/sigma_app_1/Dockerfile @@ -0,0 +1,14 @@ +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /App + +# Copy everything +COPY . ./ +# Restore as distinct layers +RUN dotnet restore +# Build and publish a release +RUN dotnet publish -c Release -o out + +FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime +WORKDIR /App +COPY --from=build /App/out . +ENTRYPOINT ["dotnet", "sigma_app_1.dll"] \ No newline at end of file diff --git a/balakhonov_danila_lab_2/sigma_app_1/Program.fs b/balakhonov_danila_lab_2/sigma_app_1/Program.fs new file mode 100644 index 0000000..f91b183 --- /dev/null +++ b/balakhonov_danila_lab_2/sigma_app_1/Program.fs @@ -0,0 +1,14 @@ +let PATH = @"/var/data/" +let RESULT_PATH = @"/var/result/data.txt" + +let getFiles(path: string): seq = + System.IO.Directory.EnumerateFiles(path) + +let getRandFile(files: seq) = + let rand = System.Random() + let index = rand.Next(Seq.length files) + Seq.item index files + +let files = getFiles(PATH) +let randFile = getRandFile(files) +System.IO.File.Copy(randFile, RESULT_PATH) diff --git a/balakhonov_danila_lab_2/sigma_app_1/README.md b/balakhonov_danila_lab_2/sigma_app_1/README.md new file mode 100644 index 0000000..4228a93 --- /dev/null +++ b/balakhonov_danila_lab_2/sigma_app_1/README.md @@ -0,0 +1,4 @@ +# Первая программа лабораторной работы номер 2 +> Вариант 6 +> +> Берёт из каталога `/var/data` случайный файл и перекладывает его в `/var/result/data.txt` diff --git a/balakhonov_danila_lab_2/sigma_app_1/sigma_app_1.fsproj b/balakhonov_danila_lab_2/sigma_app_1/sigma_app_1.fsproj new file mode 100644 index 0000000..5a3c697 --- /dev/null +++ b/balakhonov_danila_lab_2/sigma_app_1/sigma_app_1.fsproj @@ -0,0 +1,12 @@ + + + + Exe + net8.0 + + + + + + + diff --git a/balakhonov_danila_lab_2/skibidi_app_2/.dockerignore b/balakhonov_danila_lab_2/skibidi_app_2/.dockerignore new file mode 100644 index 0000000..f20b791 --- /dev/null +++ b/balakhonov_danila_lab_2/skibidi_app_2/.dockerignore @@ -0,0 +1,4 @@ +bin/ +obj/ +Dockerfile +README.md \ No newline at end of file diff --git a/balakhonov_danila_lab_2/skibidi_app_2/.gitignore b/balakhonov_danila_lab_2/skibidi_app_2/.gitignore new file mode 100644 index 0000000..104b544 --- /dev/null +++ b/balakhonov_danila_lab_2/skibidi_app_2/.gitignore @@ -0,0 +1,484 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from `dotnet new gitignore` + +# dotenv files +.env + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml +.idea + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# Vim temporary swap files +*.swp diff --git a/balakhonov_danila_lab_2/skibidi_app_2/Dockerfile b/balakhonov_danila_lab_2/skibidi_app_2/Dockerfile new file mode 100644 index 0000000..5b50431 --- /dev/null +++ b/balakhonov_danila_lab_2/skibidi_app_2/Dockerfile @@ -0,0 +1,14 @@ +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /App + +# Copy everything +COPY . ./ +# Restore as distinct layers +RUN dotnet restore +# Build and publish a release +RUN dotnet publish -c Release -o out + +FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime +WORKDIR /App +COPY --from=build /App/out . +ENTRYPOINT ["dotnet", "skibidi_app_2.dll"] \ No newline at end of file diff --git a/balakhonov_danila_lab_2/skibidi_app_2/Program.fs b/balakhonov_danila_lab_2/skibidi_app_2/Program.fs new file mode 100644 index 0000000..1ee0a33 --- /dev/null +++ b/balakhonov_danila_lab_2/skibidi_app_2/Program.fs @@ -0,0 +1,16 @@ +let INPUT_FILE = @"/var/result/data.txt" +let OUTPUT_FILE = @"/var/result/result.txt" + +let getNumbersFromFile(path: string): seq = + System.IO.File.ReadLines(path) + |> Seq.map int + +let getCountOfMaxNumber(numbers: seq): int = + numbers + |> Seq.max + |> fun maxNum -> Seq.filter ((=) maxNum) numbers + |> Seq.length + +let numbers = getNumbersFromFile(INPUT_FILE) +let count = getCountOfMaxNumber(numbers) +System.IO.File.WriteAllText(OUTPUT_FILE, string count) diff --git a/balakhonov_danila_lab_2/skibidi_app_2/README.md b/balakhonov_danila_lab_2/skibidi_app_2/README.md new file mode 100644 index 0000000..a7979aa --- /dev/null +++ b/balakhonov_danila_lab_2/skibidi_app_2/README.md @@ -0,0 +1,4 @@ +# Вторая программа лабораторной работы номер 2 +> Вариант 3 +> +> Ищет набольшее число из файла `/var/result/data.txt` и сохраняет количество таких чисел из последовательности в `/var/result/result.txt` \ No newline at end of file diff --git a/balakhonov_danila_lab_2/skibidi_app_2/skibidi_app_2.fsproj b/balakhonov_danila_lab_2/skibidi_app_2/skibidi_app_2.fsproj new file mode 100644 index 0000000..5a3c697 --- /dev/null +++ b/balakhonov_danila_lab_2/skibidi_app_2/skibidi_app_2.fsproj @@ -0,0 +1,12 @@ + + + + Exe + net8.0 + + + + + + +