Details

Title: Визуализация взаимного влияния языков программирования: бакалаврская работа: 09.03.01
Creators: Числер Александр Николаевич
Scientific adviser: Мяснов Александр Владимирович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2017
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: языки программирования; визуализация; текстовый редактор
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/2/v17-4100
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: RU\SPSTU\edoc\45768

Allowed Actions:

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

Group: Anonymous

Network: Internet

Annotation

Бакалаврская работа посвящена разработке веб-приложения для визуализации взаимного влияния языков программирования. Рассмотрены современные проекты в этой области, исследованы их недостатки. Сформулирована конкретная задача построения универсального веб-приложения, позволяющего поддерживать визуализируемые иерархические данные в актуальном состоянии с помощью сообщества. Разработана схема модели данных, с помощью которой описываются связи языков. Кроме того, разработан текстовый редактор, который извлекает данные для автодополнений и проверки ошибок из схемы модели данных. Графическое представления данных также опирается на схему, что делает возможным использование проекта для описания любых иерархических структур со связями. Прототип на основе данной архитектуры реализован с использованием языка программирования JavaScript и сопутствующих технологий. В процессе разработки проводилось тестирование инструмента. В результате работы была создана технология визуализации взаимного влияния языков программирования и поддержки актуальности данных, и также разработан прототип, реализующий эту технологию.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
External organizations N2 All Read
External organizations N1 All
Internet Authorized users SPbPU Read Print Download
Internet Authorized users (not from SPbPU, N2) Read
Internet Authorized users (not from SPbPU, N1)
-> Internet Anonymous

Table of Contents

  • ВВЕДЕНИЕ
  • 1. Анализ подходов к визуализации
    • 1.1. Неинтерактивные визуализации
      • 1.1.1. Diagram & history of programming languages
      • 1.1.2. Computer Language History
      • 1.1.3. History of Programming Languages от O’REILLY
      • 1.1.4. The Graph Of Programming Langauges
    • 1.2. Интерактивные визуализации
      • 1.2.1. Programming languages influence network
      • 1.2.2. Punctuated equilibrium in the large-scale evolution of programming languages
    • 1.3. Сводная таблица
  • 2. Постановка задачи
  • 3. Проектирование архитектуры системы
    • 3.1. Обзор архитектуры приложения
    • 3.2. Универсальный формат описания иерархических структур
    • 3.3. Обработка
      • 3.3.1. Универсальная валидация текстового документа
      • 3.3.2. Универсальный поиск автодополнений
      • 3.3.3. Унверсальная интерпретация текстового документа для визуализации
      • 3.3.4. Расчеты для навигации в редакторе
    • 3.4. Данные
      • 3.4.1. Получение актуальных данных
      • 3.4.2. Запрос на включение измененных данных
      • 3.4.3. Состояние приложения
      • 3.4.4. Локальная копия состояния
    • 3.5. Используемые технологии и библиотеки представления
      • 3.5.1. Текстовый редактор
      • 3.5.2. Визуализация
      • 3.5.3. Оболочка
    • 3.6. Выводы
  • 4. Разработка приложения
    • 4.1. Универсальная структурная валидация
    • 4.2. Универсальные структурные автодополнения
      • 4.2.1. Определение пути по положению курсора
      • 4.2.2. Определение типа узла по пути
      • 4.2.3. Определение ключевых слов, характерных для типа узла
      • 4.2.4. Выводы
    • 4.3. Семантическая валидация
      • 4.3.1. Валидация присутствия целевого узла
      • 4.3.2. Валидация типа целевого узла ссылки
      • 4.3.3. Выводы
    • 4.4. Семантические автодополнения
    • 4.5. React
      • 4.5.1. Интеграция React
      • 4.5.2. Контроль состояния приложения
    • 4.6. Текстовый редактор
      • 4.6.1. Автодополнения
      • 4.6.2. Навигация в редакторе
      • 4.6.3. Выводы
    • 4.7. Универсальная интерпретация текстового документа для визуализации
      • 4.7.1. Формат данных для визуализации
      • 4.7.2. Извлечение данных для визуализации
    • 4.8. Создание запроса на включение изменений
    • 4.9. Визуализация
      • 4.9.1. Интеграция библиотеки визуализации
      • 4.9.2. Интерактивность визуализации
      • 4.9.3. Отображение текстовой информации о визуализируемых объектах
  • 5. Тестирование системы
    • 5.1. Универсальная схема модели данных
      • 5.1.1. Добавление нового свойства
      • 5.1.2. Добавление обязательного свойства
      • 5.1.3. Изменение типа узла
      • 5.1.4. Добавление свойства-ссылки
      • 5.1.5. Изменение валидных типов целевых узлов
    • 5.2. Модификация данных
      • 5.2.1. Добавление языка
      • 5.2.2. Сброс изменений
      • 5.2.3. Создание Pull Request
      • 5.2.4. Локальное хранилище
    • 5.3. Автодополнения в редакторе
      • 5.3.1. Структурные автодополнения
      • 5.3.2. Семантические автодополнения
    • 5.4. Вывод ошибок
      • 5.4.1. Ошибка парсинга
      • 5.4.2. Ошибка обязательного свойства
      • 5.4.3. Ошибка лишнего свойства
      • 5.4.4. Ошибка типа целевого узла ссылки
      • 5.4.5. Ошибка существования целевого узла ссылки
      • 5.4.6. Расширение контейнера для ошибок
    • 5.5. Навигация
      • 5.5.1. Навигация из ошибки
      • 5.5.2. Навигация по ссылке
    • 5.6. Визуализация
      • 5.6.1. Наведение на узел диаграммы
      • 5.6.2. Наведение на ребро диаграммы
      • 5.6.3. Клик мыши на узел диаграммы
      • 5.6.4. Клик мыши на ребро диаграммы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ А. СХЕМА МОДЕЛИ ДАННЫХ

Usage statistics

stat Access count: 206
Last 30 days: 0
Detailed usage statistics