Главная страница
Навигация по странице:

  • 3 Осуществление осноных функций по администрилованию

  • ПРИЛОЖЕНИЕ А

  • отчет. Задачами учебной практики являются идентифицировать технические проблемы, возникающих в процессе эксплуатации баз данных


    Скачать 1.11 Mb.
    НазваниеЗадачами учебной практики являются идентифицировать технические проблемы, возникающих в процессе эксплуатации баз данных
    Анкоротчет
    Дата23.03.2022
    Размер1.11 Mb.
    Формат файлаdoc
    Имя файлаOtchett.doc
    ТипЗадача
    #411312




    СОДЕРЖАНИЕ

    ВВЕДЕНИЕ 3


    ВВЕДЕНИЕ


    Учебная практика является основной частью процесса подготовки квалифицированных работников и специалистов для дальнейшей работы на предприятиях. Актуальность учебной практики обуславливается тем, что в процессе прохождения практики студенты получают необходимые практические навыки, без которых невозможно обойтись специалисту.

    Целью практики является закрепление профессиональных компетенций в области соадминистрирование баз данных и серверов.

    Задачами учебной практики являются:

    - идентифицировать технические проблемы, возникающих в процессе эксплуатации баз данных;

    - участвовать в администрировании отдельных компонент серверов;

    - организовывать взаимосвязи отдельных компонент серверов;

    - формировать необходимые для работы информационной системы требований к конфигурации локальных компьютерных сетей;

    - участвовать в соадминистрировании серверов;

    - проверять наличие сертификатов на информационную систему или бизнес-приложения, применение законодательства Российской Федерации в области сертификации программных средств информационных технологий;

    - разрабатывать политику безопасности SQL сервера, базы данных и отдельных объектов базы данных.

    В результате освоения профессионального модуля по соответствующему виду деятельности требуются следующие профессиональные компетенции:

    ПК 7.1. Выявлять технические проблемы, возникающие в процессе эксплуатации баз данных и серверов.

    ПК 7.2. Осуществлять администрирование отдельных компонент серверов.

    ПК 7.3. Формировать требования к конфигурации локальных компьютерных сетей и серверного оборудования, необходимые для работы баз данных и серверов.

    ПК 7.4. Осуществлять администрирование баз данных в рамках своей компетенции.

    ПК 7.5. Проводить аудит систем безопасности баз данных и серверов, с использованием регламентов по защите информации.

    Таким образом учебная практика позволит освоить следующий вид деятельности профессионального модуля: Соадминистрирование баз данных и серверов.

    1 Вводный инструктаж. Постановка целей и задач учебной практики.
    1. Общие требования безопасности

    1.1.К работе на персональном компьютере допускаются лица, прошедшие обучение безопасным методам труда, вводный инструктаж, первичный инструктаж на рабочем месте.

    1.2.При эксплуатации персонального компьютера на работника могут оказывать действие следующие опасные и вредные производственные факторы:

    - повышенный уровень электромагнитных излучений;

    - повышенный уровень статического электричества;

    - пониженная ионизация воздуха;

    - статические физические перегрузки;

    - перенапряжение зрительных анализаторов.

    1.3.Работник обязан:

    1.3.1.Выполнять только ту работу, которая определена его должностной инструкцией.

    1.3.2.Содержать в чистоте рабочее место.

    1.3.3.Соблюдать режим труда и отдыха в зависимости от продолжительности, вида и категории трудовой деятельности (Приложение 1).

    1.3.3.Соблюдать меры пожарной безопасности.

    1.4.Рабочие места с компьютерами должны размещаться таким образом, чтобы расстояние от экрана одного видеомонитора до тыла другого было не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

    1.5.Рабочие места с персональными компьютерами по отношению к световым проемам должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева.

    1.6.Оконные проемы в помещениях, где используются персональные компьютеры, должны быть оборудованы регулируемыми устройствами типа: жалюзи, занавесей, внешних козырьков и др.

    1.7.Рабочая мебель для пользователей компьютерной техникой должна отвечать следующим требованиям:

    - высота рабочей поверхности стола должна регулироваться в пределах 680 - 800 мм; при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм;

    - рабочий стол должен иметь пространство для ног высотой не менее 600 мм, глубиной на уровне колен не менее 450 мм и на уровне вытянутых ног не менее 650 мм;

    - рабочий стул (кресло) должен быть подъемно - поворотным и регулируемым по высоте и углам наклона сиденья и спинки, а также - расстоянию спинки от переднего края сиденья;

    - рабочее место должно быть оборудовано подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20 градусов; поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм;

    - рабочее место с персональным компьютером должно быть оснащено легко перемещаемым пюпитром для документов.

    1.8.Для нормализации аэроионного фактора помещений с компьютерами необходимо использовать устройства автоматического регулирования ионного режима воздушной среды (например, аэроионизатор стабилизирующий "Москва-СА1").

    1.9.Женщины со времени установления беременности и в период кормления грудью к выполнению всех видов работ, связанных с использованием компьютеров, не допускаются.

    1.10.За невыполнение данной Инструкции виновные привлекаются к ответственности согласно правилам внутреннего трудового распорядка или взысканиям, определенным Кодексом законов о труде Российской Федерации.

    2. Требования безопасности перед началом работы

    2.1.Подготовить рабочее место.

    2.2.Отрегулировать освещение на рабочем месте, убедиться в отсутствии бликов на экране.

    2.3.Проверить правильность подключения оборудования к электросети.

    2.4.Проверить исправность проводов питания и отсутствие оголенных участков проводов.

    2.5.Убедиться в наличии заземления системного блока, монитора и защитного экрана.

    2.6.Протереть антистатической салфеткой поверхность экрана монитора и защитного экрана.

    2.7.Проверить правильность установки стола, стула, подставки для ног, пюпитра, угла наклона экрана, положение клавиатуры, положение "мыши" на специальном коврике, при необходимости произвести регулировку рабочего стола и кресла, а также расположение элементов компьютера в соответствии с требованиями эргономики и в целях исключения неудобных поз и длительных напряжений тела.

    3. Требования безопасности во время работы

    3.1.Работнику при работе на ПК запрещается:

    - прикасаться к задней панели системного блока (процессора) при включенном питании;

    - переключать разъемы интерфейсных кабелей периферийных устройств при включенном питании;

    - допускать попадание влаги на поверхность системного блока (процессора), монитора, рабочую поверхность клавиатуры, дисководов, принтеров и других устройств;

    - производить самостоятельное вскрытие и ремонт оборудования;

    - работать на компьютере при снятых кожухах;

    - отключать оборудование от электросети и выдергивать электровилку, держась за шнур.

    3.2.Продолжительность непрерывной работы с компьютером без регламентированного перерыва не должна превышать 2-х часов.

    3.3.Во время регламентированных перерывов с целью снижения нервно - эмоционального напряжения, утомления зрительного анализатора, устранения влияния гиподинамии и гипокинезии, предотвращения развития познотонического утомления выполнять комплексы упражнений.

    4. Требования безопасности в аварийных ситуациях

    4.1.Во всех случаях обрыва проводов питания, неисправности заземления и других повреждений, появления гари, немедленно отключить питание и сообщить об аварийной ситуации руководителю.

    4.2.Не приступать к работе до устранения неисправностей.

    4.3.При получении травм или внезапном заболевании немедленно известить своего руководителя, организовать первую доврачебную помощь или вызвать скорую медицинскую помощь.

    5. Требования безопасности по окончании работы

    5.1.Отключить питание компьютера.

    5.2.Привести в порядок рабочее место.

    5.3.Выполнить упражнения для глаз и пальцев рук на расслабление.

    С целью овладения указанным видом профессиональной деятельности и соответствующими профессиональными компетенциями обучающийся в ходе освоения программы практики закрепляет профессиональные компетенций в области соадминистрирование баз данных и серверов.
    2 Развертывание современных серверов

    Архитектура расположения каталогов программного комплекса подразумевает под собой чёткое разделение двух различных типов данных: изменяемых данных пользователя (настройки, временные файлы, логи т.д.) и неизменяемых данных (модули, программы, служебные файлы).

    Если говорить простым языком, то в папке modules никакие файлы никогда не изменяются, не создаются и не удаляются, а в папках domains и userdata напротив, данные постоянно меняются. Такая архитектура создана специально для упрощения синхронизации данных между различными копиями комплекса и экономии места при резервном копировании.


    Рисунок 1 - Архитектура

    Установка и запуск

    Open Server Panel является портативным программным комплексом, однако для удобства пользователей устанавливается через инсталлятор.

    Сборку можно разместить на внешнем жёстком диске, это позволит использовать Open Server Panel на любом компьютере, который отвечает системным требованиям. Однако не стоит размещать сборку на USB-флеш накопителе из-за крайне медленной работы флеш-памяти при параллельных запросах на чтение/запись и её быстрого износа.

    Желательно установить Open Server Panel на SSD-накопитель, при его наличии. Это позволит значительно повысить скорость работы всех модулей и компонентов программного комплекса.

    Внимание!

    Не устанавливайте программу поверх существующей версии, это может уничтожить все имеющиеся базы данных, кастомизированные конфиги и другую важную информацию.

    Системные требования

    Операционные системы: Windows 7 SP1 x64 / Windows Server 2008 R2 SP1 или новее (32-битные системы не поддерживаются);

    Свободные аппаратные ресурсы: от 500 МБ RAM и от 10 ГБ места на диске;

    Системное ПО: MSVC++ 2005-2022 Redistributable Packages (есть в комплекте);

    Установка

    В процессе установки Open Server Panel отметьте галочками пункт по установке Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2019 Redistributable Package, пункт по установке RuntimePack Lite, пункт по настройке Windows и пункт по оптимизации системы для работы с SSD (при его наличии). Без выполнения этих действий работа Open Server Panel на вашем компьютере не гарантируется.

    Установку/переустановку библиотек от Microsoft и применение настроек Windows необходимо выполнять c каждой новой версией Open Server Panel даже в том случае, если вы уже делали это ранее.

    Запуск

    Для запуска Open Server Panel используйте файл Open Server.exe. После старта программы вы увидите красный флажок в области уведомлений Windows (область возле системных часов). Чтобы включить непосредственно сам веб-сервер и сопутствующие модули нажмите на флажок, далее выполните [Меню → Запустить].

    Если сервер не запускается перейдите к разделу Решение проблем данного справочного руководства.

    Настройка Windows 10

    Перед установкой Open Server Panel в системах семейства Windows 10 необходимо обязательно предварительно снять галочку, показанную на картинке, и перезагрузить систему.

    Без выполнения данного условия запуск Open Server Panel в системах семейства Windows 10 будет невозможен. В случае попытки запуска до выполнения данного условия произойдёт порча файлов конфигурации программы, что приведёт к невозможности её дальнейшего использования и запуска.



    Рисунок 2 – настройка windows
    Установка обновлений

    Open Server Panel это достаточно сложный программный комплекс с постоянно совершенствующейся архитектурой. Как таковой процедуры обновления не предусмотрено. При выходе новой версии Open Server Panel необходимо заново выполнить все настройки, скопировать папки ваших сайтов и выполнить перенос баз данных.

    Не распаковывайте файлы дистрибутива поверх существующей версии, а так же не пытайтесь скопировать файлы конфигурации и профилей из старой версии программы в новую!

    Если есть возможность обновиться простым копированием файлов (довольно редкое явление), то ссылка на патч всегда публикуется в новостях на сайте вместе с аннотацией к новой версии.

    3 Осуществление осноных функций по администрилованию

    Настройка защиты

    Cервер становится крайне уязвимым, когда он открыт для доступа из сети Интернет, особенно с настройками установленными по умолчанию. Множество ботов и вирусов постоянно сканируют ip адреса в сети Интернет на предмет открытых портов и, как правило, незащищенный сервер оказывается взломанным уже через несколько часов после появления в сети.

    Несколько шагов по защите веб-сервера от несанкционированного доступа:

    Отключите FTP сервер [Меню → Настройки → FTP сервер];

    Установите собственные пароли для root (и других) пользователей всех модулей СУБД;

    Включите защиту от внешнего доступа в настройках программы [Меню → Настройки → Сервер];

    Теперь перезапустите саму управляющую программу (не сервер);

    Выполните настройку файрвола закрыв на доступ извне все порты кроме тех, которые планируется использовать (например: 80,443,21,990,53);

    Предупреждение

    Не допускайте использования уязвимых скриптов, некорректной конфигурации модулей, простых паролей.

    Встроенная защита от внешнего доступа

    Выбор опции [Меню → Настройки → Сервер → Защитить сервер от внешнего доступа] отключит часть опасных функций PHP, доступ к веб-инструментам извне будет заблокирован, а доступ к диску для PHP скриптов будет ограничен корневой папкой доменов. Данная опция снижает производительность php-скриптов в 2-10 раз (зависит от интенсивности работы с файловой системой)!

    Работа с Composer

    Composer совместим со всеми версиями PHP начиная с 5.3 и в Open Server Panel он доступен во всех совместимых модулях "из коробки".
    Установка пакетов Composer

    Выполните [Меню → Дополнительно → Консоль];

    Перейдите в папку с тем сайтом, куда планируется установка;

    Выполните установку любого нужного вам пакета, например:

    # Переход в папку с проектом

    cd C:\openserver\domains\localhost

    # Установка Symfony

    composer create-project symfony/framework-standard-edition symfony

    # Установка PHPUnit

    composer create-project phpunit/phpunit phpunit & echo @php -d output_buffering=0 phpunit\phpunit %*>phpunit.bat

    # Установка Laravel

    composer create-project laravel/laravel laravel --prefer-dist

    # Установка phpDocumentor

    composer create-project phpdocumentor/phpdocumentor phpdocumentor

    В будущем, чтобы обновить установленный таким образом проект, достаточно перейти в папку с нужным проектом и выполнить команду composer update:

    cd C:\openserver\domains\localhost\phpunit & composer update

    Работа в консоли

    Для запуска встроенной консоли необходимо запустить сервер и выполнить [Меню → Дополнительно → Консоль]. Среда окружения (англ. Environment) формируется в момент запуска сервера и передаётся всем запускаемым модулям. Любые другие программы, будь то консоль или IDE, так же могут получить правильное окружение, достаточно запускать эти программы из меню Open Server Panel. Для этого можно либо сделать закладку, либо добавить ярлык в меню программ (см. разделы Меню закладок и Меню программ).

    Необходимо знать, что если вы запускаете консоль или любую другую программу из стандартного меню Пуск или используя ярлык на рабочем столе Windows, а не из меню Open Server Panel, то они не смогут работать с виртуальным окружением сформированным в Open Server Panel.

    Встроенную консоль можно запустить даже если сервер выключен, в Full версии выполните [Меню → Программы → Консоль]. Однако при выключенном сервере среда окружения не сформирована и поэтому работать из консоли с PHP и другими модулями или программами (wget, composer, скриптами и т.д.) будет невозможно.
    4 Обслуживание и поддержка работы современных серверов.

    Неопытные разработчики вряд ли поймут, что изображено на диаграмме

    ниже. Но без понимания концептуальных основ работы современного веба

    тяжело назвать себя хорошим веб-программистом. В материале будет

    приведено краткое объяснение, которое поможет разобраться в

    происходящем, а после каждый элемент будет разобран в деталях.

    Пользователь ищет в Google «Strong Beautiful Fog And Sunbeams In The

    Forest». Первый результат отправляет его на Storyblocks. Пользователь

    нажимает на ссылку, которая перенаправляет его браузер на страницу с

    изображением. Тем временем браузер отправляет запрос на DNS-сервер, чтобы установить соединение со Storyblock, и, получив ответ, отправляет запрос на сайт.

    Запрос попадает на балансировщик нагрузки, который случайным образом выбирает для обработки запроса один из десяти (или около того) вебсерверов, на которых запущен сайт. Веб-сервер достаёт некоторую часть информации об изображении из службы кэширования, а остальное — из основной базы данных. Если цветовой профиль для изображения ещё не был вычислен, задача определить цветовой профиль» будет добавлена в очередь заданий. Эти задания серверы обрабатывают асинхронно и соответствующим образом обновляют базу данных с результатами.

    Затем происходит поиск похожих фотографий: в службу полнотекстового поиска отправляется запрос с заголовком фотографии в качестве входных данных. Если пользователь авторизовался в Storyblocks, информация о его учётной записи загружается из базы данных учётных записей. Наконец, данные о просмотре страницы отправляются в firehose-хранилище для последующей записи в облачную систему хранения. В конечном счёте, эти данные будут загружены в хранилище данных, которое аналитики используют для обработки.

    Теперь сервер рендерит страничку в HTML и отправляет её обратно браузеру

    пользователя, проходя сначала через балансировщик нагрузки. Страница

    содержит Javascript- и CSS-файлы, которые загружены в облачную систему хранения, подключённую к CDN, поэтому браузер связывается с CDN для получения содержимого. Наконец, браузер отображает страницу пользователю.

    Далее будет рассказано про каждый элемент в деталях. Конечно, каждую тему можно рассмотреть гораздо подробнее, но в рамках этой статьи будут разобраны только основы. Этого должно хватить для понимания архитектуры современного веб-проекта.

    1. DNS

    DNS расшифровывается как «Domain Name System» (система доменных

    имён). Это базовая технология, которая делает возможной работу интернета. На самом базовом уровне DNS обеспечивает поиск пары из доменного имени и IP- адреса домена — DNS. Таким образом, можно считать DNS телефонной книгой интернета.

    Балансировщик нагрузки Прежде чем начать обсуждение балансировки нагрузки, нужно сделать шаг назад, чтобы обсудить горизонтальное и вертикальное масштабирование приложений. Что это и в чём разница? Эта тема хорошо объяснена в посте на StackOverflow: «горизонтальное» масштабирование характеризуется добавлением новых машин в пул ресурсов, тогда как «вертикальное» подразумевает, что наращивается мощность (например, увеличивается CPU или RAM) существующей машины. В веб-разработке проект масштабируется горизонтально как минимум потому, что всё ломается. Серверы падают по непонятным причинам. Сети деградируют. В некоторых ЦОД-ах время от времени отключается свет. Несколько серверов позволит переживать незапланированные отключения без нарушения работы приложения. Другими словами, приложение становится «отказоустойчивым». Горизонтальное масштабирование позволяет минимально связывать разные части проекта (веб-сервер, базу данных и т. д.), потому что каждая из них запускается на разных серверах. Наконец, может наступить такой момент, когда вертикальное масштабирование более невозможно, так как в мире нет достаточно мощного компьютера для выполнения всех вычислений приложения. Поисковая платформа Google является типичным примером, хотя это относится и к компаниям с гораздо меньшими масштабами. Например, Storyblocks обычно использует от 150 до 400 AWS - машин EC2 в любой момент времени. Было бы сложно получить всю эту вычислительную мощность с помощью вертикального масштабирования.

    Давайте вернёмся к балансировщикам нагрузки. Благодаря им возможно горизонтальное масштабирование. Они направляют входящие запросы на один из множества серверов приложения, которые обычно являются зеркальными копиями друг друга, и отправляют ответ обратно пользователю. Любой сервер обрабатывает запросы одинаково, так что балансировщик занимается распределением заданий, чтобы никакой из них не был перегружен. Вот и всё. Концептуально балансировщики нагрузки довольно просты и понятны.

    3. Серверы веб-приложений Если смотреть издалека, серверы веб-приложений относительно просты. Они выполняют основную бизнес-логику, которая обрабатывает запрос пользователя и отправляет HTML обратно браузеру. Чтобы выполнять свою работу, они обычно общаются с различными бэкэнд-инфраструктурами, такими как базы данных, серверы кэширования, очереди заданий, службы поиска и т. д. Как упоминалось выше, обычно есть как минимум два, а то и больше, сервера, подключённых к балансировщику нагрузки для обработки пользовательских запросов. Для реализации сервера приложений требуется выбрать конкретный язык (Node.js, Ruby, PHP, Scala, Java, C#, .NET и т. д.) и MVC- фреймворк для этого языка (Express для Node.js, Ruby on Rails, Play для Scala, Laravel для PHP и т. д.).

    4. Сервер баз данных

    Каждое современное веб-приложение использует одну или несколько баз

    данных для хранения информации. Базы данных предоставляют инструменты

    для организации, добавления, поиска, обновления, удаления и выполнения

    вычислений над данными. В большинстве случаев серверы веб-приложений

    напрямую общаются с серверами заданий. Кроме того, у каждой серверной

    службы может быть соответствующая база данных, изолированная от

    остальной части приложения.

    Здесь стоит упомянуть SQL и NoSQL.

    SQL расшифровывается как «Structured Query Language» (язык

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



    Рисунок 3 - Laravel

    Рассмотрим типичный пример хранения информации об истории адресов пользователей. Получатся две таблицы — user и user_addresses, — связанные друг с другом идентификатором пользователя (id в таблице user). Их можно увидеть на изображении ниже. Таблицы связаны, потому что столбец user_id в user_addresses является «внешним ключом» в столбце id в таблице users.



    Рисунок 4 – структура web-сервра

    Если вы мало что знаете о SQL, настоятельно рекомендуем ознакомиться с нашим курсом по этой теме. Эта технология используется в веб-разработке почти везде, поэтому стоит хотя бы понимать основы для правильного построения приложений.

    Также хочется отметить, что индустрия повсеместно полагается на SQL даже как на интерфейс для баз данных NoSQL, поэтому нужно изучать SQL, даже если он не требуется в вашей работе. В современных реалиях почти невозможно этого избежать.

    5. Кэширование

    Служба кэширования предоставляет простое хранилище данных в формате

    ключ-значение, которое позволяет хранить и искать информацию за время,

    близкое к линейному (O(1)). Обычно приложения используют функции кэширования, чтобы сохранять результаты дорогостоящих вычислений и воспользоваться ими позже из кэша, а не пересчитывать их еще раз. Приложение может кэшировать результаты запроса в базы данных, результаты обращения к внешним службам, HTML для заданного URL- адреса и многое другое. Вот некоторые примеры из реального мира:

    • Google кэширует результаты поиска для популярных поисковых запросов, таких как «собака» или «Тейлор Свифт», а не ищет их каждый раз заново;

    • Facebook кэширует большую часть данных, которые вы видите при входе в систему, например, списки постов или друзей. Подробнее, о технологии кэширования используемого в Facebook, можно почитать в этой статье на Medium;

    • Storyblocks кэширует HTML- страницы от React, результаты поиска и другое.

    Двумя наиболее распространёнными технологиями кэширования являются Redis и Memcache.

    5. Развертывание современных баз даннях

    Создать таблицу MySQL легко из приглашения mysql>. Вы будете использовать команду SQL CREATE TABLE для создания таблицы.

    root@host# mysql -u root -p

    Enter password:*******

    mysql> use TUTORIALS;

    Database changed

    mysql> CREATE TABLE tutorials_tbl(

    -> tutorial_id INT NOT NULL AUTO_INCREMENT,

    -> tutorial_title VARCHAR(100) NOT NULL,

    -> tutorial_author VARCHAR(40) NOT NULL,

    -> submission_date DATE,

    -> PRIMARY KEY ( tutorial_id )

    -> );

    Query OK, 0 rows affected (0.16 sec)

    mysql>

    ПРИМЕЧАНИЕ. — MySQL не завершает команду, пока вы не дадите точку с запятой (;) в конце команды SQL.

    ЗАКЛЮЧЕНИЕ

    В ходе прохождения учебной пркатики были достигнутые поставленные цели, такие как: применение на практике знаний, полученных в процессе изучения профессионального модуля и получение практических навыков выполнения работ по соадминистрирование баз данных и серверов.

    Освоены профессиональные компетенции:

    ПК 7.1. Выявлять технические проблемы, возникающие в процессе эксплуатации баз данных и серверов.

    ПК 7.2. Осуществлять администрирование отдельных компонент серверов.

    ПК 7.3. Формировать требования к конфигурации локальных компьютерных сетей и серверного оборудования, необходимые для работы баз данных и серверов.

    ПК 7.4. Осуществлять администрирование баз данных в рамках своей компетенции.

    ПК 7.5. Проводить аудит систем безопасности баз данных и серверов, с использованием регламентов по защите информации.

    Учебная практика позволила определять метрики программного кода специализированными средствами, выполнять оптимизацию программного кода с использованием специализированных программных средств, использовать методы и технологии тестирования и ревьюирования кода и проектной документации.

    ПРИЛОЖЕНИЕ А









    написать администратору сайта