A Web-Based Code-Editor

Total Page:16

File Type:pdf, Size:1020Kb

A Web-Based Code-Editor A Web-Based Code-Editor For Use in Programming Courses Christian Rasmussen David Åse Master of Science in Computer Science Submission date: September 2014 Supervisor: Hallvard Trætteberg, IDI Norwegian University of Science and Technology Department of Computer and Information Science Abstract In this thesis a code-editor was implemented as a part of a bigger web-based system for solving programming assignments in the course TDT4100. The editor was created in order to allow the students of the class to focus solely on writing code, and not on setting up the surrounding framework (installing programming languages and IDEs, setting up projects, etc.). The editor supports syntax highlighting, error checking, code completion, multiples classes, and running of tests, along with all of the more basic editor functionality such as block indentation, bracket matching, line-numbers, etc. The editor is embedded into each problem contained in an assignments, which allows students to solve basic and intermediate programming challenges directly in their web-browser, without the need for any setup. The system also utilizes several gamification elements, as described in the thesis’ preliminary study, “Gamification of Assignment Systems” (Åse, 2014). Responsive web design principles were used while implementing the system, which allows students to check their ranks and scores from any device (cellphone, tablet, laptop and similar). This was done in order to foster competition between the students, which will in turn increase motivation even further. The results from the experiments performed indicate that the editor is well suited for use on programming assignments in courses such as TDT4100, TDT4110 and TDT4120, or any other course which has assignments that can be tested programmatically, as the editor has a low response time even for very large programs (64KB). However, the editor is not suited for courses such as TDT4180, or other GUI-programming courses, since the he editor is currently limited to displaying console output and test-results. Sammendrag I løpet av denne masteroppgaven ble det implementert en kodeeditor som en del av et større web-basert system for å løse programmeringsøvinger i faget TDT4100. Dette ble gjort for å la studentene få fokusere på å skrive kode, og ikke på rammene rundt (det å installere programmeringsspråk, konfigurere utviklingsverktøy og operativsystem, osv.). Editoren støtter syntax highlighting, error checking, code completion, flere klasser og kjøring av tester/kode, i tillegg til mer grunnleggende funksjonalitet som blokkinnrykk, bracket matching, linjenummer, osv. Editoren er tilgjengelig i hver oppgave i en øving, hvilket gjør det mulig for studenter å løse grunnleggende og middels avanserte programmeringsøvinger direkte i nettleseren, uten å måtte tenke noe på oppsett. Systemet benytter seg også av flere spillifiseringselementer, som beskrevet i oppgavens forstudium “Gamification of Assignment Systems” (Åse, 2014). Prinsipper for responsivt design ble brukt under implementasjonen av systemet, noe som gjør det mulig for studenter å holde seg oppdatert fra alle typer enheter (mobil, nettbrett, PC o.l.). Dette ble gjort for å tenne konkurranseinstinktet, som igjen fører til høyre motivasjon. Testresultatene viser at editoren er godt egnet for bruk på programmeringsøvinger i fag som TDT4100, TDT4110 og TDT4200, samt andre fag med øvinger som kan testes programmatisk, siden editoren har lav responstid selv for store programmer (64KB). Editoren er derimot ikke like godt egnet for øvinger i fag som TDT4180, eller andre GUI-programmeringsfag, siden den på nåværende tidspunkt kun kan vise konsollutskrift og testresultater. Preface This is the project report for the subject “TDT4900 – Master Thesis”, written summer 2014. The project was conducted by Christian Rasmussen and David Åse, who are, at the time of writing, studying Computer Science at the Norwegian University of Science and Technology (NTNU). The project was completed under the supervision of Associate Professor Hallvard Trætteberg. To get the most out of this report, the reader should have a basic understanding of computer science, and be familiar with Eclipse and its ecosystem. Nomenclature List AJAX Asynchronous JavaScript and XML API Application Programming Interface BPMN Business Process Modeling Notation CORBA Common Object Request Broker Architecture CPU Central Processing Unit CSS Cascading Style Sheets DAO Data Access Object DSL Domain Specific Language DTO Data Transfer Object ECJ Eclipse Compiler for Java EMF Eclipse Modeling Framework GOMS Goals, Operators, Methods, and Selection rules GUI Graphical User Interface HQL Hibernate Query Language HTML HyperText Markup Language HTTP Hypertext Transfer Protocol IDE Integrated Development Environment IDL Interface Definition Language ISO International Organization for Standardization JAR Java Archive JDK Java Development Kit JPEG Joint Photographic Experts Group JSON JavaScript Object Notation JSP JavaServer Pages JVM Java Virtual Machine MVC Model-View-Controller OCL Object Constraint Language ORB Object Request Broker ORM Object-Relational Mapping OSGi Open Service Gateway initiative PC Personal Computer PNG Portable Network Graphics RAM Random Access Memory REST Representational state transfer RMI Remote Method Invocation RPC Remote Procedure Call SQL Structured Query Language SSE Server-Sent Events SSL Secure Sockets Layer SUS System Usability Scale TA Teaching Assistant TCP Transmission Control Protocol UML Unified Modeling Language URL Uniform Resource Locator UUID Universally Unique Identifier VM Virtual Machine XML Extensible Markup Language YAML YAML Ain't Markup Language Table of Contents 1 - Introduction ................................................................................................................................................................. 1 1.1 Background and motivation ............................................................................................................................ 1 1.1.1 The pre-study ................................................................................................................................................ 1 1.1.2 Thesis scope ................................................................................................................................................... 2 1.2 Goals .......................................................................................................................................................................... 3 1.3 Research approach .............................................................................................................................................. 3 1.4 Thesis structure .................................................................................................................................................... 4 2 - Background theory .................................................................................................................................................... 5 2.1 Process efficiency (usability) .......................................................................................................................... 5 2.1.1 GOMS ................................................................................................................................................................. 5 2.1.2 BPMN ................................................................................................................................................................ 7 2.2 IDE functionality ................................................................................................................................................... 8 2.2.1 Syntax highlighting ...................................................................................................................................... 8 2.2.2 Error checking ............................................................................................................................................... 8 2.2.3 Code completion ........................................................................................................................................... 9 2.2.4 IDE architecture ........................................................................................................................................ 10 2.3 Editor performance .......................................................................................................................................... 13 2.3.1 Response time ............................................................................................................................................ 13 2.3.2 Scalability ..................................................................................................................................................... 14 2.4 Responsive design ............................................................................................................................................. 14 2.5 Gamification......................................................................................................................................................... 16 2.6 State of the art .................................................................................................................................................... 16 2.6.1 Educational systems ...............................................................................................................................
Recommended publications
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • Es Fluttert Gewaltig René Jahn, SIB Visions Gmbh
    Es Fluttert gewaltig René Jahn, SIB Visions GmbH Wer eine App für mobile Geräte entwickeln möchte, as JVx Framework [1] ermöglicht die Erstellung von Daten- steht zumindest vor einer wichtigen Frage: Mit D bank-Applikationen für unterschiedlichste GUI-Technologien welcher Technologie soll die App realisiert werden? mit einer einzigen Source-Basis. Es ist sowohl eine GUI-Abstraktion als auch ein Full-Stack Application Framework. Die damit erstell- Da es aktuell verschiedenste Möglichkeiten gibt, ist ten Applikationen laufen ohne Änderungen im Browser mittels Ja- die Antwort nicht sofort klar. Mit diesem Problem vaScript/CSS, am Desktop mit Swing oder JavaFX und auf mobilen war das Framework-Team von SIB Visions ebenfalls Geräten mithilfe nativer Apps. Mit JVx können Applikationen unter- schiedlichster Größe und Komplexität realisiert werden. Zwei Pro- konfrontiert, als es darum ging, einen Client für dukte, die mit JVx entwickelt wurden, sind beispielsweise SNOWsat das Open Source Application Framework JVx zu Maintain [3] und VisionX [4]. entwickeln. Wie es zu einer Entscheidung kam und vor allem was umgesetzt wurde, wird in diesem Wie soeben erwähnt, werden für die Ausführung auf mobilen Gerä- ten native Apps eingesetzt. Es gibt eine App für iOS und eine andere Artikel erklärt. für Android. Erfahrene App-Entwickler werden vermuten, dass die- iii iii 30 www.ijug.eu iiiiii se Apps unabhängig voneinander entwickelt wurden. Das ist auch Gesamteindruck war nicht zufriedenstellend. So blieb am Ende also genauso. Die iOS-App wurde mit Objective-C und die Android-App Flutter übrig. Doch nicht, weil es der letzte Kandidat war, sondern mit Java entwickelt. Das war im Jahr 2014 auch ein gangbarer Weg, weil man von Anfang an den Eindruck hatte, dass es sich um die da es nur wenige Lösungen gab, die eine Entwicklung mit nur einer richtige Technologie handelt.
    [Show full text]
  • Fira Code: Monospaced Font with Programming Ligatures
    Personal Open source Business Explore Pricing Blog Support This repository Sign in Sign up tonsky / FiraCode Watch 282 Star 9,014 Fork 255 Code Issues 74 Pull requests 1 Projects 0 Wiki Pulse Graphs Monospaced font with programming ligatures 145 commits 1 branch 15 releases 32 contributors OFL-1.1 master New pull request Find file Clone or download lf- committed with tonsky Add mintty to the ligatures-unsupported list (#284) Latest commit d7dbc2d 16 days ago distr Version 1.203 (added `__`, closes #120) a month ago showcases Version 1.203 (added `__`, closes #120) a month ago .gitignore - Removed `!!!` `???` `;;;` `&&&` `|||` `=~` (closes #167) `~~~` `%%%` 3 months ago FiraCode.glyphs Version 1.203 (added `__`, closes #120) a month ago LICENSE version 0.6 a year ago README.md Add mintty to the ligatures-unsupported list (#284) 16 days ago gen_calt.clj Removed `/**` `**/` and disabled ligatures for `/*/` `*/*` sequences … 2 months ago release.sh removed Retina weight from webfonts 3 months ago README.md Fira Code: monospaced font with programming ligatures Problem Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like -> , <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet. Solution Download v1.203 · How to install · News & updates Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character combinations.
    [Show full text]
  • Design Pattern
    Sitesbay.com A Perfect Place for All Tutorials Resources Java Projects | C | C++ | DS | Interview Questions | JavaScript Core Java | Servlet | JSP | JDBC | Struts | Hibernate | Spring | Java Projects | C | C++ | DS | Interview Questions | Html | CSS | Html5 | JavaScript | Ajax | Angularjs | Basic Programs | C Project | Java Project | Interview Tips | Forums | Java Discussions www.sitesbay.com DESIGN PATTERN By SEKHAR SIR [Thursday, May 29, 2014] Recursive Problem:- If some problem occurs again and again in a particular context then we call it as a Recursive Problem. For example, if an audio player having support with MP2 files gets problem for MP3 files and having support for MP3 gets problem MP4. So it is a recursive problem. In a software application, for example a recursive problem will be transferring the data across layers. Q. Why Design Patterns? Ans:- Design patterns are used for solving recursive problems in a software application design. A design pattern is a description for how to solve a recursive problem. Design patterns are not a technology or a tool or a language or a platform or a framework. Design patterns are effective proven solutions for recursive problems. Q. How many Design Patterns? Ans:- Actually, there is no fixed count of no of design patterns because design patterns is not a package and not in the form of classes. SUN Microsystems constituted a group with four professional with the name of Gang of Four (GOF) to find effective solutions for the recursive problems. According to GOF, they found 23 design patterns as effective solutions for re-occurring problems. GOF divided java design patterns into 4 categories (a) Creational Design Patterns:- (1) Singleton Pattern.
    [Show full text]
  • Chapter Index
    index.fm Page 699 Monday, April 2, 2007 12:46 PM Chapter Index A Action methods, roles of, 80 AbstractFacesBean, 580 Action states, 577 accept attribute, 101 actionListener attribute, 92, 285 h:form, 104 h:command and h:commandLink, 119 acceptcharset attribute, 101 and method expressions, 69, 396 h:form, 104 MethodBinding object, 385 Accept-Language value, 45 ActionLogger class, 286 Access control application: ActionMethodBinding, 386 directory structure for, 513 Actions, 275 messages.properties, 516 ActionSource interface, 361, 385, 387, 402 noauth.html, 514 ActionSource2 interface, 359, 361, 403 UserBean.java, 515 addDataModelListener(DataModelListener web.xml, 513–514 listener), 214 accesskey attribute, 101, 109 Address book application, EJBs, 606 h:command and h:commandLink, 120 ADF Faces components set (Oracle), 613 h:outputLink, 123 Ajax: selection tags, 132 basic, with an XHR object and a AccordionRenderer class, 551 servlet (application), 530–532 action attribute, 71 components, 546–554 h:command and h:commandLink, 119 Direct Web Remoting (DWR), 543–546 method expressions, 69, 73, 396 form completion, 534–537 MethodBinding object, 385 fundamentals of, 530–533 Action events, 33, 275–284 hybrid components, 546–551 firing, 268, 418–418 JSF-Rico accordion hybrid, 548–551 Action listeners, 385 realtime validation, 537–542 compared to actions, 275 Rico accordion, 546–551 699 index.fm Page 700 Monday, April 2, 2007 12:46 PM 700 Index Ajax (cont): arg attribute, creditCardValidator, 659 transmitting JSP tag attributes to Arithmetic operators,
    [Show full text]
  • Wines by the Glass
    WINES BY THE GLASS SPARKLING 2013 Domaine Carneros, Brut 16 2012 Frank Family, Brut Rosé, Carneros 25 WHITE 2016 Albariño, Cave Dog, Stewart Ranch, Carneros 14 2014 Sauvignon Blanc / Sémillon, Tramuntana, 'Beyond the Mountains' 17 2014 Sauvignon Vert / Sémillon / Golden Chasselas / Green Hungarian, DeSante, 'The Old 15 Vines' 2013 Chardonnay, Massican, 'Gemina' 20 2015 Chardonnay, HdV, 'Le Debut', Hyde Vineyard, Carneros 19 2014 Chardonnay / Grenache Blanc / Ribolla Gialla / etc., Durant & Booth, Blanc 20 ROSÉ 2016 Cabernet Sauvignon / Petite Syrah, Wingspan, 'Saturn Return' 16 RED 2013 Pinot Noir, Mira, Stanly Ranch, Carneros 15 2014 St. Laurent, Forlorn Hope, 'Ost-Intrigen', Ricci Vineyard, Carneros 15 2014 Grenache / Charbono / Petite Sirah, Shypoke, 'Keep', Calistoga 17 2006 Cabernet Sauvignon, Notre Vin, 'L'Etrier' 24 2014 Cabernet Sauvignon, Paul Hobbs, 'Crossbarn' 26 2014 Cabernet Sauvignon, Clos du Val, 'Estate', Stags Leap District 25 DESSERT 2009 Fore Family, Late Harvest, (Sauvignon Blanc) 375 ml 20 2010 Far Niente 'Dolce' Late Harvest (Sauvignon Blanc, Semillon) 375 ml 25 2008 Philip Togni, 'Ca' Togni' (Black Hamburgh) 375 ml 25 2010 Gandona, 'Fraga do Arco', Touriga Nacional 25 PORT / SHERRY / MADEIRA NV Cockburn’s, 20 Year Tawny Port 500 ml 17 NV Ramos Pintos, Ruby Port 9 2009 Dow’s, Late Bottled Vintage 15 1977 Fonseca Vintage Port 38 NV Equipo Navazos, Fino, Bota #35 28 NV Equipo Navazos, Amontillado, #58 29 NV Equipo Navazos, Amontillado, 'Bota NO' #61 500 ml 34 NV Equipo Navazos, Manzanilla Pasada, 'Bota Punta' #60 500
    [Show full text]
  • Osgi and GWT Integration Via Pax-Web and Maven (V:0.01)
    OSGi and GWT integration via Pax-web and Maven (v:0.01) Sergio Blanco Diez Ignacio Diaz de Sarralde Carvajal January 13, 2010 Contents 1 Introduction 2 2 GWT 3 2.1 Toolkit overview.....................................3 2.1.1 Development overview..............................3 2.1.2 Google Web Toolkit component overview...................4 2.2 Workflow.........................................4 2.2.1 Project creation.................................4 2.2.2 Project structure.................................5 2.2.3 \Hosted" or Development server........................6 2.2.4 Module definition; .gwt.xml files........................8 2.2.5 Coding the client; GWT Widgets........................9 2.2.6 Coding the server; Remote Procedure Calls.................. 12 2.3 Other features...................................... 14 2.3.1 Internationalization............................... 14 2.3.2 Declarative User Interfaces........................... 14 3 OSGi and GWT integration 17 3.1 Creating the GWT Project............................... 17 3.2 Things to consider in GWT Maven projects...................... 20 3.3 Enabling OSGi in the GWT project.......................... 20 3.3.1 Turning the GWT project into a bundle.................... 20 3.3.2 Dependencies management........................... 25 3.3.3 Run using Pax Runner.............................. 28 1 Chapter 1 Introduction When developing complex OSGi applications it is usual to implement one or more web frontends, be them for end users or for consumption by other systems. OSGi provides a standard way to register servlets and resources under different URLs, but creating complex frontends can be dif- ficult and time consuming. When the frontend is SOA based, solutions like Apache CXF help exposing internal services via web services or REST. But if the frontend must be a fairly complex web application in itself, complexity rises.
    [Show full text]
  • Un Enfoque Semántico
    UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION BÚSQUEDA Y VISUALIZACIÓN DE IMÁGENES EN MEMORIA CHILENA: UN ENFOQUE SEMÁNTICO MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVIL EN COMPUTACION FELIPE IGNACIO SAAVEDRA CÉSPEDES PROFESOR GUIA: CLAUDIO GUTIERREZ GALLARDO MIEMBROS DE LA COMISION: CARLOS HURTADO LARRAIN SANTIAGO DE CHILE SEPTIEMBRE 2007 RESUMEN DE LA MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVIL EN COMPUTACION POR: FELIPE SAAVEDRA CESPEDES FECHA: 23/10/2007 PROF. GUIA: Sr. CLAUDIO GUTIERREZ. BÚSQUEDA Y VISUALIZACIÓN DE IMÁGENES EN MEMORIA CHILENA: UN ENFOQUE SEMÁNTICO La Web Semántica ha cambiado la forma de presentar los contenidos en la web. Ha logrado el desarrollo de nuevos estándares descriptores para los recursos presentados denominados metadatos, como también estructurarlos y relacionarlos. Esto ha permitido una ganancia en cuanto a expresividad de contenidos, a la vez de posibilitar su interacción tanto por la profundidad de las relaciones como por la interactividad lograda con el usuario. En la actualidad, se están utilizando metadatos principalmente como una manera de relacionar los recursos y almacenar mayor información descriptiva sobre recursos de distintas naturalezas (textos, multimediales, etc). Aún no resulta común encontrar aplicaciones que permitan al usuario interactuar directamente con las relaciones proporcionadas por el modelo de datos inherente de algún portal, y si se añade un interés especial en contenidos multimediales es aún menor. Un caso particular se encuentra en el sitio web de Memoria Chilena, cuyos contenidos presentan metadatos. En el siguiente trabajo se proporciona un enfoque para lograr explotar los metadatos y brindar mayor expresividad para el usuario final, con el motivo final de presentar recursos visuales que faciliten al usuario explorar contenidos y realizar búsquedas de contenidos.
    [Show full text]
  • Bakaláˇrská Práce Webová Aplikace Pro Poˇrádán´I Závod˚U V Orientacn
    Z´apadoˇcesk´a univerzita v Plzni Fakulta aplikovan´ych vˇed Katedra informatiky a v´ypoˇcetn´ı techniky Bakal´aˇrsk´apr´ace Webov´aaplikace pro poˇr´ad´an´ız´avod˚u v orientaˇcn´ım bˇehu Plzeˇn2017 Jan Palc´ut M´ısto t´eto strany bude zad´an´ıpr´ace. Prohl´aˇsen´ı Prohlaˇsuji, ˇzejsem bakal´aˇrskou pr´aci vypracoval samostatnˇea v´yhradnˇe s pouˇzit´ım citovan´ych pramen˚u. V Plzni dne 26. ˇcervna 2017 Jan Palc´ut Podˇekov´an´ı T´ımto bych chtˇel podˇekovat vedouc´ımu bakal´aˇrsk´epr´ace panu Ing. Tom´aˇsovi Hercigovi za cenn´erady, pˇripom´ınky a odborn´eveden´ıt´eto pr´ace. Abstract The topic of this bachelor thesis is the creation of a web application for organizing orienteering races including user registration, creation of races, registration of users to races, management of teams and contestants, and results evaluation based on selected criteria. Section2 deals with the de- scription of Java web frameworks. Section3 describes the Spring modules and the reasons why this framework was chosen for implementation. Sec- tion4 includes used technologies. The Section5 describes the funcionalities of the website and database. Section6 describes the creation of the ap- plication in the framework Spring, the structure of the project and selected sections of the code. Section7 includes race simulation, stress test, web browsers compatibility, and Selenium tests. Abstrakt Pˇredmˇetem m´ebakal´aˇrsk´epr´ace je vytvoˇren´ıwebov´eaplikace pro poˇr´ad´an´ı z´avod˚uv orientaˇcn´ım bˇehu umoˇzˇnuj´ıc´ı registraci uˇzivatel˚u, vytv´aˇren´ı z´a- vod˚u, registraci uˇzivatel˚udo z´avodu, spravov´an´ıseznamu t´ym˚uvˇcetnˇe´uˇcast- n´ık˚ua n´asledn´evyhodnocen´ızadan´ych v´ysledk˚upodle zvolen´ych krit´eri´ı.
    [Show full text]
  • Assignment of Bachelor's Thesis
    ASSIGNMENT OF BACHELOR’S THESIS Title: DET language IDE Student: Toghrul Sultanzade Supervisor: Ing. Ondřej Guth, Ph.D. Study Programme: Informatics Study Branch: Computer Science Department: Department of Theoretical Computer Science Validity: Until the end of summer semester 2020/21 Instructions The aim is to implement an integrated development environment (IDE) for DET scripting language (it is a proprietary language based on Java). The IDE should be capable of syntax highlighting, autocompletion, and error recognition. 1. Study existing parser of DET language [1] and modify it for the needs of the IDE. 2. Research existing open-source IDEs and techniques for syntax highlighting, autocompletion and error recognition. 3. Based on the research, use existing libraries and algorithms to implement the IDE and its required features as a prototype. 4. Use appropriate tools and methods to test the results. References [1] GRANKIN, Daniil. A translator of DET scripting language into Java. Bachelor's thesis. Czech technical university in Prague, 2019. Available from: http://hdl.handle.net/10467/83386. doc. Ing. Jan Janoušek, Ph.D. doc. RNDr. Ing. Marcel Jiřina, Ph.D. Head of Department Dean Prague October 17, 2019 Czech Technical University in Prague Faculty of Information Technology Department of Computer Science Bachelor's thesis DET language IDE Toghrul Sultanzade Supervisor: Ing. Ondrej Guth, Ph.D. 21st February 2020 Acknowledgements Firstly, I would like to express my appreciation and thanks to my thesis su- pervisor, Ing. Ondrej Guth, for his professional attitude and dedication to help me. The door to his office was always open, whenever I had troubles and obstacles in the process of writing the thesis.
    [Show full text]
  • Metadefender Core V4.13.1
    MetaDefender Core v4.13.1 © 2018 OPSWAT, Inc. All rights reserved. OPSWAT®, MetadefenderTM and the OPSWAT logo are trademarks of OPSWAT, Inc. All other trademarks, trade names, service marks, service names, and images mentioned and/or used herein belong to their respective owners. Table of Contents About This Guide 13 Key Features of Metadefender Core 14 1. Quick Start with Metadefender Core 15 1.1. Installation 15 Operating system invariant initial steps 15 Basic setup 16 1.1.1. Configuration wizard 16 1.2. License Activation 21 1.3. Scan Files with Metadefender Core 21 2. Installing or Upgrading Metadefender Core 22 2.1. Recommended System Requirements 22 System Requirements For Server 22 Browser Requirements for the Metadefender Core Management Console 24 2.2. Installing Metadefender 25 Installation 25 Installation notes 25 2.2.1. Installing Metadefender Core using command line 26 2.2.2. Installing Metadefender Core using the Install Wizard 27 2.3. Upgrading MetaDefender Core 27 Upgrading from MetaDefender Core 3.x 27 Upgrading from MetaDefender Core 4.x 28 2.4. Metadefender Core Licensing 28 2.4.1. Activating Metadefender Licenses 28 2.4.2. Checking Your Metadefender Core License 35 2.5. Performance and Load Estimation 36 What to know before reading the results: Some factors that affect performance 36 How test results are calculated 37 Test Reports 37 Performance Report - Multi-Scanning On Linux 37 Performance Report - Multi-Scanning On Windows 41 2.6. Special installation options 46 Use RAMDISK for the tempdirectory 46 3. Configuring Metadefender Core 50 3.1. Management Console 50 3.2.
    [Show full text]
  • Developing Webapps Faster with Appfuse Matt Raible [email protected]
    Developing webapps faster with AppFuse Matt Raible [email protected] !ww.raibledesigns.co" Who is Matt Raible? • Developing websites since 1994 (before Netscape 1.0) - Developing in Java since 1999 • Committer on several open source projects: Roller Weblogger, Struts Menu, Display Tag, AppFuse, Struts Resume • Have a weblog (http://raibledesigns.com) with tips n’ tricks for J2EE and web development • Author: Spring Live (SourceBeat) and contributor to Pro JSP (Apress) !ww.raibledesigns.co" Audience Questions • Your Experience with webapps? • What do you want to get from this presentation? • Open Source experience with Ant, XDoclet, Struts, Hibernate, Spring? !ww.raibledesigns.co" Presentation Agenda • What is AppFuse? • Open Source Dependencies • Demo of Features • HowTo: Create Person object and DAO to persist • Questions? !ww.raibledesigns.co" AppFuse - what is it? • History - how it came to be • Powered by Ant, glued together with Spring, persisted by Hibernate and controlled with Struts • Easy setup (ant setup) for Tomcat and MySQL • Testing on all tiers: DAOs, Business Delegates, Struts Actions and JSPs !ww.raibledesigns.co" Dependencies !ww.raibledesigns.co" Demo of Features • Container Managed Authentication - easily switch from JDBC to LDAP or Windows domain authentication • Remember Me and Self Registration • GZip Compression Built-in • Testing environment ready to go, Anthill ready • http://demo.raibledesigns.com/appfuse !ww.raibledesigns.co" Create database, table, POJO and DAO A Quick HowTo !ww.raibledesigns.co" Development
    [Show full text]