diplomová práce

Generátor klientů pro Language Server Protocol

Text práce 2.48 MB Příloha 12.12 MB

Autor práce: Ing. Dominik Jelínek

Ak. rok: 2018/2019

Vedoucí: doc. Ing. Petr Číka, Ph.D.

Oponent: prof. Ing. Radim Burget, Ph.D.

Abstrakt:

Diplomová práce se zabývá protokolem Microsoft Language Server Protocol. V teoretické části práce je popsána architektura a vlastnosti protokolu, popis implementace protokolu LSP uvnitř vývojových prostředí Eclipse a VS Code a postup pro vytvoření nového zásuvného modulu do vývojových prostředí Eclipse a VS Code. Dále se teoretická část práce věnuje seznámení s projektem Apache Camel a implementací Camel Language serveru a Camel Language klientů pro rozšířenou jazykovou podporu. Poslední zmínka teoretické části je věnována nástroji pro usnadnění vytváření nových projektů Yeoman. Popis praktické části práce se zabývá vlastnostmi a implementací vytvořeného generátoru klientů pro Language Server Protocol.

Klíčová slova:

Apache Camel, Eclipse, JSON-RPC, Language Server Protocol, LSP, VS Code, Yeoman

Termín obhajoby

05.06.2019

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta: - Navržený generátor používá pro správu balíčků Maven. Lze s jeho pomocí rozlišit pro případné závislé knihovny architekturu 32 bit popř. 64 bit a dle aktuálních parametrů systému použít patřičnou knihovnu? - Co jsou to anotace a jakou mají výhodu oproti používání XML pro konfiguraci například Camel Frameworku. Posuďte, jaké výhody či nevýhody by jejich použití přineslo pro tento projekt.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Elektrotechnika, elektronika, komunikační a řídicí technika (EEKR-M1)

Studijní obor

Telekomunikační a informační technika (M1-TIT)

Složení komise

prof. Ing. Eva Gescheidtová, CSc. (předseda)
prof. Ing. Jan Hajný, Ph.D. (místopředseda)
doc. Ing. Petr Číka, Ph.D. (člen)
Ing. Tomáš Mácha, Ph.D. (člen)
doc. Ing. Petr Sysel, Ph.D. (člen)
Ing. Petr Ilgner (člen)

Posudek vedoucího
doc. Ing. Petr Číka, Ph.D.

Bc. Dominik Jelínek řešil diplomovou práci s maximální pečlivostí a vytvořil funkční generátor klientů LSP tak, jak bylo požadováno v zadání od společnosti Red Hat Czech s.r.o. Je velkým předpokladem, že výstupy práce budou dále prakticky využívány v komunitě zabývající se servery LSP. Text práce je na vynikající úrovni. Práci navrhuji hodnotit známkou A/100 bodů. Výsledný počet bodů navržený vedoucím: 100

Známka navržená vedoucím: A

Cílem diplomové práce byl návrh nástroje pro ulehčení vytváření jazykových klientů LSP do různých vývojových prostředí pro rozdílné jazykové servery LSP a následná implementace navrženého nástroje. Součástí této práce je také samotné ověření funkčnosti generátoru.
Práce je velmi aktuální staví na spolupráci společností Microsoft a RedHat zahájené v roce 2016.
V práci oceňuji použití moderních technologií a principů, schopnost studenta zorientovat se v celé škále problémů a  profesionální návrh celé práce.
Práce staví na frameworku Yeoman (generování základů jazyků) a Apache Camel (integrace systémů).
Po formální stránce nemám k práci žádnou připomínku. Otázky k obhajobě:
  1. Navržený generátor používá pro správu balíčků Maven. Lze s jeho pomocí rozlišit pro případné závislé knihovny architekturu 32 bit popř. 64 bit a dle aktuálních parametrů systému použít patřičnou knihovnu?
  2. Co jsou to anotace a jakou mají výhodu oproti používání XML pro konfiguraci například Camel Frameworku. Posuďte, jaké výhody či nevýhody by jejich použití přineslo pro tento projekt.
Výsledný počet bodů navržený oponentem: 95

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová