Similar presentations:
up_presentation
1.
ОГБПОУ «Костромской политехнический колледж»Разработка ф айлового сервера
Учебная практика по МДК.01 .04 «Системное программирование»
Выполнили студенты группы 3-1 П9: Васильев Н.С., Абдуллаев И.А.
Руководитель: Пономарев К.Р.
Кострома, 2026
2.
Содержание— Введение и актуальность разработки
— Цель и задачи учебной практики
— Выбор технологий и обоснование языка Go
— Архитектура и логическая структура сервера
— Функциональные возможности приложения
— Технические средства и порядок запуска
— Заключение и результаты работы
3.
Актуальность разработкиСовременные условия требуют наличия легких и быстрых инструментов для обмена
данными в локальных сетях без избыточной сложности.
Минимализм: отсутствие потребности в развертывании тяжелых фреймворков и баз
данных для простых задач хранения.
Универсальность: использование стандартного HTTP-протокола обеспечивает доступ к
файлам с любого устройства и ОС.
Автоматизация: упрощение процессов загрузки и управления файлами значительно
повышает общую эффективность работы сотрудников.
4.
Цель и задачи проектаЦель работы:
Создание надежного кроссплатформенного программного решения для управления
файловым хранилищем посредством HTTP-запросов.
Основные задачи:
— Проектирование и программная реализация HTTP-эндпоинтов для управления файлами.
— Разработка модуля безопасного взаимодействия с локальной файловой системой.
— Проведение комплексного тестирования и подготовка технической документации.
5.
Обоснование выбора технологийЯзык программирования Go (Golang) был выбран как наиболее эффективный инструмент
для системного программирования и сетевых утилит.
Ключевые преимущества:
— Производительность: высокая скорость выполнения операций ввода-вывода (I/O).
— Автономность: компиляция в единый исполняемый ф айл без внешних зависимостей.
— Безопасность: строгая типизация и встроенная работа с ошибками.
Используемые пакеты стандартной библиотеки:
net/http, os, io, path/filepath, log.
6.
Логическая структура программыМодуль инициализации (main.go)
Точка входа в программу. Отвечает за запуск сервера, автоматическое создание папки для файлов и
связывание сетевого и файлового модулей.
Модуль HTTP-сервера (server.go)
Посредник между клиентом и сервером. Принимает запросы, проверяет их корректность, извлекает
данные и передает команды в модуль хранения.
Модуль хранилища (storage.go)
Отвечает за прямую работу с жестким диском. Предоставляет безопасные функции для сохранения,
чтения, получения списка и удаления файлов.
7.
Функциональные возможностиЗагрузка файлов (POST)
Прием файлов от клиентов и их автоматическое сохранение в локальную директории ./storage на
стороне сервера.
Просмотр списка (GET)
Предоставление актуального перечня имен всех ф айлов, находящихся в хранилище, в формате
текстового ответа.
Скачивание файлов (GET)
Отдача запрашиваемого файла клиенту с установкой корректных HTTP-заголовков для инициации
процесса загрузки.
Удаление файлов (POST/ DELETE)
Физическое удаление указанного файла из файловой системы сервера по запросу пользователя.
8.
Технические средства и запускСреда разработки
Порядок в ы полнения
— ОС: Windows 11 (или любая
— Открыть терминал в директории проекта.
кроссплатф орменная система).
— Инструменты : Visual Studio Code / PyCharm.
— Выполнить команду запуска:
go run .
— Компилятор: Go версии 1 .20 и выше.
— Тестирование эндпоинтов с помощью
утилиты cUR L или браузера.
9.
ЗаключениеВ ходе учебной практики был успешно разработан и протестирован полнофункциональный
консольный файловый сервер на языке Go.
✓ Результат: создан готовый к эксплуатации кроссплатформенный программный продукт с
высокой скоростью работы.
✓ Соответствие: полностью реализованы все функциональные требования, заложенные в
техническом задании.
✓ Перспективы: архитектура приложения позволяет легко расширять систему, добавляя
модули авторизации и расширенного логирования.