Details

Title Реализация кэширования новостной ленты для iOS-приложения «Одноклассники»: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators Пономаренко Владислав Олегович
Scientific adviser Орлов Егор Сергеевич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2025
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects кэширование ; ios ; yapdatabase ; оффлайн-режим ; новостная лента ; caching ; offline mode ; news feed
Document type Bachelor graduation qualification work
File type PDF
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2025/vr/vr25-1514
Rights Доступ по паролю из сети Интернет (чтение)
Additionally New arrival
Record key ru\spstu\vkr\35722
Record create date 7/30/2025

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Group Anonymous
Network Internet

Данная выпускная квалификационная работа посвящена разработке механизма кэширования новостной ленты в приложении «Одноклассники». Цель исследования – повысить доступность контента в ленте, заменив хранение кэша в 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.

Network User group Action
ILC SPbPU Local Network All
Read
Internet Authorized users SPbPU
Read
Internet Anonymous

Access count: 0 
Last 30 days: 0

Detailed usage statistics