Детальная информация

Название Реализация кэширования новостной ленты для iOS-приложения «Одноклассники»: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Авторы Пономаренко Владислав Олегович
Научный руководитель Орлов Егор Сергеевич
Организация Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Выходные сведения Санкт-Петербург, 2025
Коллекция Выпускные квалификационные работы ; Общая коллекция
Тематика кэширование ; ios ; yapdatabase ; оффлайн-режим ; новостная лента ; caching ; offline mode ; news feed
Тип документа Выпускная квалификационная работа бакалавра
Тип файла PDF
Язык Русский
Уровень высшего образования Бакалавриат
Код специальности ФГОС 09.03.04
Группа специальностей ФГОС 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2025/vr/vr25-1514
Права доступа Доступ по паролю из сети Интернет (чтение)
Дополнительно Новинка
Ключ записи ru\spstu\vkr\35722
Дата создания записи 30.07.2025

Разрешенные действия

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа Анонимные пользователи
Сеть Интернет

Данная выпускная квалификационная работа посвящена разработке механизма кэширования новостной ленты в приложении «Одноклассники». Цель исследования – повысить доступность контента в ленте, заменив хранение кэша в JSON файле на базу данных YapDatabase. Методика включает анализ ограничений текущего решения, проектирование новой структуры данных на основе коллекций и реализацию минимально жизнеспособной версии (MVP).  Переход от хранения данных в виде JSON-файлов к использованию базы данных обусловлен необходимостью обеспечить поддержку изменения данных в оффлайн-режиме – например, возможность ставить лайки к постам без подключения к сети. Для оценки эффекта выполнен A/B-эксперимент на ограниченной группе пользователей. Разработанный модуль обеспечивает атомарную запись и чтение страниц без полной выгрузки файла, поддерживает управление временем жизни и числом сохранённых страниц, а также корректную работу ленты при отсутствии подключения к интернету. Решение внедрено и протестировано в рамках A/B эксперимента. Полученные результаты демонстрируют снижение числа операций ввода-вывода и дают перспективы для поддержки лайков в оффлайн-режиме. Повышение задержки при первом запуске приложения связано с дополнительной сериализацией данных и будет устранено после переписывания текущих структур с Objective-C на Swift. Практическая ценность работы состоит в возможности адаптации предложенного подхода к другим разделам приложения, в которых нужен оффлайн-доступ к изменяющемуся контенту.

This graduate qualification work is devoted to the development of a mechanism for caching the news feed in the application “Odnoklassniki”. The aim of the research is to increase the availability of content in the feed by replacing the cache storage in JSON file with YapDatabase. The methodology includes analyzing the limitations of the current solution, designing a new collection-based data structure, and implementing a minimum viable version (MVP).  The transition from storing data as JSON files to using a database was driven by the need to provide support for offline data modification - for example, the ability to like posts without a network connection. To evaluate the effect, an A/B-experiment was performed on a limited group of users. The developed module provides atomic writing and reading of pages without full file upload, supports management of lifetime and number of saved pages, as well as correct operation of the feed when there is no Internet connection. The solution has been implemented and tested in the framework of A/B experiment. The obtained results demonstrate a reduction in the number of I/O operations and give prospects for supporting likes in offline mode. The increased latency at the first application launch is due to additional data serialization and will be eliminated after rewriting the current structures from Objective-C to Swift. The practical value of the work lies in the possibility of adapting the proposed approach to other sections of the application where offline access to changing content is needed.

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Прочитать
Интернет Авторизованные пользователи СПбПУ
Прочитать
Интернет Анонимные пользователи

Количество обращений: 0 
За последние 30 дней: 0

Подробная статистика