Auto-Generating Documentation & Source Code
|
|
|
- Edward Little
- 10 years ago
- Views:
Transcription
1 Auto-Generating Documentation & Source Code Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics
2 Documentation Nástroje pro vývoj software Generating Documentation & Code 2
3 Types Developer System architecture (design) Code documentation API (methods, interfaces) Internally used algorithms User Tutorials, guides, and examples System administration manual Nástroje pro vývoj software Generating Documentation & Code 3
4 Documentation generators Main features Extracting annotations from source code comments Various output formats (HTML, PDF, LaTeX, man) Generating navigation (links, references, indexes) Tools Input: documentation written by the user as source code annotations (comments) Doxygen, JavaDoc, NDoc, Sandcastle Nástroje pro vývoj software Generating Documentation & Code 4
5 Nástroje pro vývoj software Generating Documentation & Code 5 Doxygen Supported platforms: Unix/Linux, Windows Languages: C/C++, Java, C#, PHP, Python, etc Annotations format: JavaDoc style, Qt-style Output formats: HTML, PDF, LaTeX, man pages Released under GPL (open source) Home page
6 Nástroje pro vývoj software Generating Documentation & Code 6 How to run Doxygen Creating the default configuration file doxygen -g Doxyfile Generating documentation from annotations doxygen Doxyfile
7 Configuration PROJECT_NAME = PROJECT_NUMBER = PROJECT_BRIEF = INPUT = <dir> RECURSIVE = YES FILE_PATTERNS = OUTPUT_DIRECTORY = <dir> EXTRACT_ALL = YES EXTRACT_PRIVATE = YES EXTRACT_STATIC = YES GENERATE_LATEX = NO GENERATE_TREEVIEW = YES JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = YES Nástroje pro vývoj software Generating Documentation & Code 7
8 Nástroje pro vývoj software Generating Documentation & Code 8 Source code annotations: JavaDoc style /** * Returns the index of the first occurrence of the specified substring, starting at the given index. * If the specified substring is not found, then -1 is returned. The method can also throw exception. str the substring for which to search fromindex the index from which to start the search the index of the first occurrence of given substring, or -1 NullPointerException if the given substring is null */ public int indexof(string str, int fromindex) {... } Based on the official API documentation for the java.lang.string class
9 Nástroje pro vývoj software Generating Documentation & Code 9 Source code annotations: other styles Qt style /*! * Returns the index of the first occurrence of the specified substring, starting at the given index. * If the specified substring is not found, then -1 is returned. * \param str the substring for which to search * \param fromindex the index from which to start * \return the index of the first occurrence of given substring, or -1 * \throws NullPointerException if the string is null */ C++ style ///... ///... ///...
10 Annotations Classes /** * Brief description (first sentence). * Full details (the rest). */ public class MyData { Fields /** description */ private int somenumber; Nástroje pro vývoj software Generating Documentation & Code 10
11 Nástroje pro vývoj software Generating Documentation & Code 11 Annotations Methods /** * Brief description of the method (first sentence). * Full details (all text up to the first command). id description [out] data my output argument T template parameter error code NullPointerException if some arg is null. */ public int compute(int id, char* data, T typ) {... return 0; }
12 Task 1 Try out basic usage of Doxygen Look into the configuration file (Doxyfile) to see additional options Try different settings of configuration variables Write documenting annotations for some program Some example program from the previous lectures or your own program (any supported language) Check the generated output (HTML) Nástroje pro vývoj software Generating Documentation & Code 12
13 Nástroje pro vývoj software Generating Documentation & Code 13 References Links to other classes Links to functions function_name() function_name(<argument list>) class_name#function_name Example /** Use the method createinput() to prepare data. */ public void myproc1(data arg) { See also links /** * This procedure evaluates the input expression. createinputexpr */ void process(expr e) {
14 Nástroje pro vývoj software Generating Documentation & Code 14 Where to put annotations Right before the corresponding declaration /** *... */ class MyData { Almost anywhere if you specify the name file MyData.java class MyData {... } some other file /** MyData *... */
15 Nástroje pro vývoj software Generating Documentation & Code 15 Annotating other entities Source code files /** mydefs.h *... */ Packages (Java) /** cz.cuni.mff */ Namespaces (C++, C#) /** gui */
16 Formatting HTML commands Structure: <h1>, <h2>, <br>, <p> Lists: <ul>, <ol>, <li> Font: <b>, <i>, <code>, <small> Tables: <table>, <td>, <tr>, <th> Custom stylesheet (CSS) Nástroje pro vývoj software Generating Documentation & Code 16
17 Index page /** Program intro Introduction * some text and HTML impl Implementation */ Nástroje pro vývoj software Generating Documentation & Code 17
18 Nástroje pro vývoj software Generating Documentation & Code 18 Doxygen: advanced topics Grouping annotations (modules) Markdown syntax (formatting) Mathematical formulas (LaTeX) Visualizing relations between code elements Example: inheritance diagrams, call graphs Rendering: Graphviz (the dot tool) Customizable output layout, colors, navigation Linking external documents
19 Task 2 Try advanced features of Doxygen Links and references Annotating files Formatting output Main page (index) Nástroje pro vývoj software Generating Documentation & Code 19
20 JavaDoc Part of the standard Java platform Input for the generator Java source code files with annotations Comment files (package, overview) Output formats: HTML Annotation must precede the code element Nástroje pro vývoj software Generating Documentation & Code 20
21 Nástroje pro vývoj software Generating Documentation & Code 21 JavaDoc: features Good support for inheritance (method overriding) Copying parts of annotations from superclasses Linking to superclasses and interfaces Documenting packages Option 1: package-info.java /** *... */ package cz.cuni.mff; Option 2: package.html File saved into the same directory as the.java source files
22 Nástroje pro vývoj software Generating Documentation & Code 22 Running JavaDoc Command line javadoc -d myapp/doc -private -sourcepath./projects/myapp/src cz.cuni.myapp cz.cuni.myapp.util -subpackages cz.cuni.myapp.core Ant task <javadoc destdir="./doc"> <packageset dir="${src.dir}"> <include name="cz/cuni/myapp"/> <include name="cz/cuni/myapp/util"/> <include name="cz/cuni/myapp/core/**"/> </packageset> </javadoc>
23 Customizing JavaDoc output Doclet Extract some information about input Java classes Print all the information in a custom format (style) Taglet Define custom tag that can be used in annotations Generates the output of a custom tag (formatting) Nástroje pro vývoj software Generating Documentation & Code 23
24 Nástroje pro vývoj software Generating Documentation & Code 24 Code indexing Purpose easy navigation, code browsing Tools Ctags Generates large index of names in the source code Integration with many editors (Vim, Emacs, jedit) Backend for many other tools (mostly Unix/Linux) Supports many languages: C/C++, Java, C#, PHP, TeX LXR: Linux Cross Reference
25 LXR Toolset for indexing and presenting large source code repositories (Linux, Mozilla) Based on Ctags Output Set of inter-linked HTML files derived from sources Examples Nástroje pro vývoj software Generating Documentation & Code 25
26 Code Generation Nástroje pro vývoj software Generating Documentation & Code 26
27 Code Generation Writing code manually Hard, tedious, and time-consuming work Very error prone (copy & paste mistakes) Automated generating (partially) From simple and high-level description Input: template, database, model, UML Nástroje pro vývoj software Generating Documentation & Code 27
28 Options Wizards (Eclipse, NetBeans, Visual Studio) Code skeletons from design models (UML) Parser generators (ANTLR, JavaCC, Bison) Generating code with template engines Nástroje pro vývoj software Generating Documentation & Code 28
29 Template engines General programming Domain specific (Web) Tools (frameworks) FreeMarker, StringTemplate, AutoGen Nástroje pro vývoj software Generating Documentation & Code 29
30 Nástroje pro vývoj software Generating Documentation & Code 30 Using template engines Template (language) Data model (file, DB, XML) Template Engine Document (source, HTML)
31 FreeMarker General-purpose template engine Open source (BSD license) Target platform: Java Easily embeddable in Java programs generic programs, Servlet and JSP containers Special support for web development Generating HTML pages from your templates Nástroje pro vývoj software Generating Documentation & Code 31
32 How to use FreeMarker Input Template Defined in the FreeMarker template language (FTL) Data model Prepared in the Java program Running Template processor executed also in Java Nástroje pro vývoj software Generating Documentation & Code 32
33 Nástroje pro vývoj software Generating Documentation & Code 33 FTL: example <table> <tr><th>name</th><th>salary</th></tr> <#list employees as emp> <tr> <td>${emp.name}</td> <td> <#-- print top salaries in bold --> <#if (emp.salary > 2000)><b>${emp.salary * 2}</b> <#else>${emp.salary + 500} </#if> </td> </tr> </#list> </table>
34 Nástroje pro vývoj software Generating Documentation & Code 34 FTL: other features Direct access to sequence elements ${employees[2].salary} Custom procedures and functions First-class language constructs (assignable) Invoking custom function: ${add(2,3)} Including other files <#include header.html > Custom directives
35 Nástroje pro vývoj software Generating Documentation & Code 35 Data model: example (root) -- employees -- [1] -- name = Joe Doe -- salary = [2] -- name = John Smith -- salary = products...
36 Preparing the data model Map data = new HashMap(); List employees = new LinkedList(); Map emp = new HashMap(); emp.put( name, Joe Doe ); emp.put( salary, new Integer(1800)); employees.add(emp);... // more employees data.put( employees, employees); Nástroje pro vývoj software Generating Documentation & Code 36
37 Nástroje pro vývoj software Generating Documentation & Code 37 Executing template processor Initialization of FreeMarker Loading template from file Preparing the data model Applying template on data
38 Nástroje pro vývoj software Generating Documentation & Code 38 Initialization Configuration cfg = new Configuration(); cfg.setdirectoryfortemplateloading( new File("resources/templates") ); cfg.setobjectwrapper(new DefaultObjectWrapper()); cfg.setdefaultencoding("utf-8"); cfg.settemplateexceptionhandler( TemplateExceptionHandler.RETHROW_HANDLER ); cfg.setincompatibleimprovements( new Version(2,3,20) );
39 Processing template Loading Template tl = cfg.gettemplate( test.ftl ); Applying FileWriter out = new FileWriter( index.html ); tl.process(data, out); out.flush(); Nástroje pro vývoj software Generating Documentation & Code 39
40 How to define custom functions public class AddMethod implements TemplateMethodModel { public TemplateModel exec(list args) { Integer op1 = new Integer((String) args.get(0)); Integer op2 = new Integer((String) args.get(1)); return new SimpleNumber(new Integer(op1 + op2)); } } data.put( add, new AddMethod()); Nástroje pro vývoj software Generating Documentation & Code 40
41 Nástroje pro vývoj software Generating Documentation & Code 41 Task 3 Download FreeMarker Write template, data model, and processing code Option 1: Generating classes from a list of field names and types (declarations, getters and setters, equals) Option 2: Generating code that will create GUI just from a simple textual description (widgets, labels, positions) Option 3: your own idea (e.g., something that you need) Specify data model in the Java program Use arbitrary output language (C#, C, Java,...)
42 Nástroje pro vývoj software Generating Documentation & Code 42 Links Doxygen JavaDoc NDoc Platform C#/.NET, documentation comments written in XML Sandcastle Help file builder for Windows/.NET Further information (recommended)
43 Links StringTemplate Project Lombok GNU AutoGen Nástroje pro vývoj software Generating Documentation & Code 43
44 Homework Assignment Deadline / Nástroje pro vývoj software Generating Documentation & Code 44
Software documentation systems
Software documentation systems Basic introduction to various user-oriented and developer-oriented software documentation systems. Ondrej Holotnak Ondrej Jombik Software documentation systems: Basic introduction
Runtime Monitoring & Issue Tracking
Runtime Monitoring & Issue Tracking http://d3s.mff.cuni.cz Pavel Parízek [email protected] CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Runtime monitoring Nástroje pro vývoj software
Java with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Tutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios [email protected] Department of Management Science and Technology Athens University of Economics and
CSE 308. Coding Conventions. Reference
CSE 308 Coding Conventions Reference Java Coding Conventions googlestyleguide.googlecode.com/svn/trunk/javaguide.html Java Naming Conventions www.ibm.com/developerworks/library/ws-tipnamingconv.html 2
Drupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.
Expert PHP 5 Tools Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications Dirk Merkel PUBLISHING -J BIRMINGHAM - MUMBAI Preface Chapter 1:
Documentation and Project Organization
Documentation and Project Organization Software Engineering Workshop, December 5-6, 2005 Jan Beutel ETH Zürich, Institut TIK December 5, 2005 Overview Project Organization Specification Bug tracking/milestones
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Introduction to Eclipse
Introduction to Eclipse Overview Eclipse Background Obtaining and Installing Eclipse Creating a Workspaces / Projects Creating Classes Compiling and Running Code Debugging Code Sampling of Features Summary
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
Getting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
1 Using CWEB with Microsoft Visual C++ CWEB INTRODUCTION 1
1 Using CWEB with Microsoft Visual C++ CWEB INTRODUCTION 1 1. CWEB Introduction. The literate programming technique is described by Donald Knuth in Literate Programming and The CWEB System for Structured
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv
Data Integration through XML/XSLT. Presenter: Xin Gu
Data Integration through XML/XSLT Presenter: Xin Gu q7.jar op.xsl goalmodel.q7 goalmodel.xml q7.xsl help, hurt GUI +, -, ++, -- goalmodel.op.xml merge.xsl goalmodel.input.xml profile.xml Goal model configurator
HOW TO CREATE THEME IN MAGENTO 2
The Essential Tutorial: HOW TO CREATE THEME IN MAGENTO 2 A publication of Part 1 Whoever you are an extension or theme developer, you should spend time reading this blog post because you ll understand
Guile Present. version 0.3.0, updated 21 September 2014. Andy Wingo ([email protected])
Guile Present version 0.3.0, updated 21 September 2014 Andy Wingo ([email protected]) This manual is for Guile Present (version 0.3.0, updated 21 September 2014) Copyright 2014 Andy Wingo Permission is granted
Content Management Systems: Drupal Vs Jahia
Content Management Systems: Drupal Vs Jahia Mrudula Talloju Department of Computing and Information Sciences Kansas State University Manhattan, KS 66502. [email protected] Abstract Content Management Systems
Course Name: Course in JSP Course Code: P5
Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: [email protected] Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i
Analytics Configuration Reference
Sitecore Online Marketing Suite 1 Analytics Configuration Reference Rev: 2009-10-26 Sitecore Online Marketing Suite 1 Analytics Configuration Reference A Conceptual Overview for Developers and Administrators
Introduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
Content Management Implementation Guide 5.3 SP1
SDL Tridion R5 Content Management Implementation Guide 5.3 SP1 Read this document to implement and learn about the following Content Manager features: Publications Blueprint Publication structure Users
Alkacon Software GmbH
Software GmbH An der Wachsfabrik 13 DE - 50996 Köln (Cologne) Geschäftsführer / CEO Alexander Kandzior Amtsgericht Köln HRB 54613 Tel: +49 (0)2236 3826-0 Fax: +49 (0)2236 3826-20 http://www.alkacon.com
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
Installing & Customizing the OHMS Viewer Eric Weig
Installing & Customizing the OHMS Viewer Eric Weig This is a brief tutorial on installing and customizing the OHMS viewer software. Please note that this tutorial is intended for technical folks at the
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun ([email protected]) Sudha Piddaparti ([email protected]) Objective In this
STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009
STORM Simulation TOol for Real-time Multiprocessor scheduling Designer Guide V3.3.1 September 2009 Richard Urunuela, Anne-Marie Déplanche, Yvon Trinquet This work is part of the project PHERMA supported
Building and Using Web Services With JDeveloper 11g
Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the
creating a text-based editor for eclipse
creating a text-based editor for eclipse By Elwin Ho Contact author at: [email protected] June 2003 2003 HEWLETT-PACKARD COMPANY TABLE OF CONTENTS Purpose...3 Overview of the Eclipse Workbench...4 Creating
Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
Model-View-Controller. and. Struts 2
Model-View-Controller and Struts 2 Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request,
G563 Quantitative Paleontology. SQL databases. An introduction. Department of Geological Sciences Indiana University. (c) 2012, P.
SQL databases An introduction AMP: Apache, mysql, PHP This installations installs the Apache webserver, the PHP scripting language, and the mysql database on your computer: Apache: runs in the background
BT CONTENT SHOWCASE. JOOMLA EXTENSION User guide Version 2.1. Copyright 2013 Bowthemes Inc. [email protected]
BT CONTENT SHOWCASE JOOMLA EXTENSION User guide Version 2.1 Copyright 2013 Bowthemes Inc. [email protected] 1 Table of Contents Introduction...2 Installing and Upgrading...4 System Requirement...4
Server side PDF generation based on L A TEX templates
Server side PDF generation based on L A TEX templates ISTVÁN BENCZE, BALÁZS FARK, LÁSZLÓ HATALA, PÉTER JESZENSZKY University of Debrecen Faculty of Informatics Egyetem t. H-4032, Debrecen, Hungary jeszy
Requirements for Developing WebWorks Help
WebWorks Help 5.0 Originally introduced in 1998, WebWorks Help is an output format that allows online Help to be delivered on multiple platforms and browsers, which makes it easy to publish information
Eclipse 4 RCP application Development COURSE OUTLINE
Description The Eclipse 4 RCP application development course will help you understand how to implement your own application based on the Eclipse 4 platform. The Eclipse 4 release significantly changes
Developers Guide. Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB. Version: 1.3 2013.10.04 English
Developers Guide Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB Version: 1.3 2013.10.04 English Designs and Layouts, How to implement website designs in Dynamicweb LEGAL INFORMATION
Introduction to Python
Introduction to Python Sophia Bethany Coban Problem Solving By Computer March 26, 2014 Introduction to Python Python is a general-purpose, high-level programming language. It offers readable codes, and
Terms and Definitions for CMS Administrators, Architects, and Developers
Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page
1. Tutorial - Developing websites with Kentico 8... 3 1.1 Using the Kentico interface... 3 1.2 Managing content - The basics... 4 1.2.
Kentico 8 Tutorial Tutorial - Developing websites with Kentico 8.................................................................. 3 1 Using the Kentico interface............................................................................
Skills for Employment Investment Project (SEIP)
Skills for Employment Investment Project (SEIP) Standards/ Curriculum Format for Web Application Development Using DOT Net Course Duration: Three Months 1 Course Structure and Requirements Course Title:
AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev
International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach
WebObjects Web Applications Programming Guide. (Legacy)
WebObjects Web Applications Programming Guide (Legacy) Contents Introduction to WebObjects Web Applications Programming Guide 6 Who Should Read This Document? 6 Organization of This Document 6 See Also
Contents. Downloading the Data Files... 2. Centering Page Elements... 6
Creating a Web Page Using HTML Part 1: Creating the Basic Structure of the Web Site INFORMATION TECHNOLOGY SERVICES California State University, Los Angeles Version 2.0 Winter 2010 Contents Introduction...
A Java proxy for MS SQL Server Reporting Services
1 of 5 1/10/2005 9:37 PM Advertisement: Support JavaWorld, click here! January 2005 HOME FEATURED TUTORIALS COLUMNS NEWS & REVIEWS FORUM JW RESOURCES ABOUT JW A Java proxy for MS SQL Server Reporting Services
Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform
Communiqué 4 Standardized Communiqué 4 - fully implementing the JCR (JSR 170) Content Repository Standard, managing digital business information, applications and processes through the web. Communiqué
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Visualising Java Data Structures as Graphs
Visualising Java Data Structures as Graphs John Hamer Department of Computer Science University of Auckland [email protected] John Hamer, January 15, 2004 ACE 2004 Visualising Java Data Structures
Grails 1.1. Web Application. Development. Reclaiming Productivity for Faster. Java Web Development. Jon Dickinson PUBLISHING J MUMBAI BIRMINGHAM
Grails 1.1 Development Web Application Reclaiming Productivity for Faster Java Web Development Jon Dickinson PUBLISHING J BIRMINGHAM - MUMBAI Preface Chapter 1: Getting Started with Grails 7 Why Grails?
Development. with NetBeans 5.0. A Quick Start in Basic Web and Struts Applications. Geertjan Wielenga
Web Development with NetBeans 5.0 Quick Start in Basic Web and Struts pplications Geertjan Wielenga Web Development with NetBeans 5 This tutorial takes you through the basics of using NetBeans IDE 5.0
NetBeans: Universal Tool for Java Development and More. Roman Štrobl Technology Evangelist [email protected] http://blogs.sun.
NetBeans: Universal Tool for Java Development and More Roman Štrobl Technology Evangelist [email protected] http://blogs.sun.com/roumen Agenda What is NetBeans? New features in NetBeans 5.5 Developer
Eclipse. Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen
Eclipse Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen Agenda What is eclipse and why bother? - An introduction to eclipse. eclipse fundamentals (Java) development
Android Programming: Installation, Setup, and Getting Started
2012 Marty Hall Android Programming: Installation, Setup, and Getting Started Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training:
NextRow - AEM Training Program Course Catalog
NextRow - AEM Training Program Course Catalog Adobe Experience Manager Training Program Course Catalog NextRow provides Adobe CQ training solutions designed to meet your unique project demands. To optimize
XSLT Mapping in SAP PI 7.1
Applies to: SAP NetWeaver Process Integration 7.1 (SAP PI 7.1) Summary This document explains about using XSLT mapping in SAP Process Integration for converting a simple input to a relatively complex output.
Building A Very Simple Web Site
Sitecore CMS 6.2 Building A Very Simple Web Site Rev 100601 Sitecore CMS 6. 2 Building A Very Simple Web Site A Self-Study Guide for Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 Building
Kentico CMS 5 Developer Training Syllabus
Kentico CMS 5 Developer Training Syllabus June 2010 Page 2 Contents About this Course... 4 Overview... 4 Audience Profile... 4 At Course Completion... 4 Course Outline... 5 Module 1: Overview of Kentico
Web Development with the Eclipse Platform
Web Development with the Eclipse Platform Open Source & Commercial tools for J2EE development Jochen Krause 2004-02-04 Innoopract Agenda Currently available Tools for web development Enhancements in Eclipse
Developing Web Views for VMware vcenter Orchestrator
Developing Web Views for VMware vcenter Orchestrator vcenter Orchestrator 5.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
Javadoc like technical documentation for CAPRI
Javadoc like technical documentation for CAPRI Introduction and background - by Wolfgang Britz, July 2008 - Since 1996, CAPRI has grown to a rather complex (bio-)economic modelling system. Its code based
How To Use Titanium Studio
Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 [email protected] 2015 Parma Outline Introduction Installation and Configuration
David RR Webber Chair OASIS CAM TC (Content Assembly Mechanism) E-mail: [email protected] http://wiki.oasis-open.org/cam
Quick XML Content Exchange Tutorial - Making your exchange structure - Creating template and rules - Exporting test examples - Documentation, schema and more - Advanced features David RR Webber Chair OASIS
Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
AP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
Xtreeme Search Engine Studio Help. 2007 Xtreeme
Xtreeme Search Engine Studio Help 2007 Xtreeme I Search Engine Studio Help Table of Contents Part I Introduction 2 Part II Requirements 4 Part III Features 7 Part IV Quick Start Tutorials 9 1 Steps to
Content Management Systems: Drupal Vs Jahia
Content Management Systems: Drupal Vs Jahia Mrudula Talloju Department of Computing and Information Sciences Kansas State University Manhattan, KS 66502. [email protected] Abstract Content Management Systems
Vim, Emacs, and JUnit Testing. Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor
Vim, Emacs, and JUnit Testing Audience: Students in CS 331 Written by: Kathleen Lockhart, CS Tutor Overview Vim and Emacs are the two code editors available within the Dijkstra environment. While both
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Computer Science. Computer Science 213. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements
Computer Science 213 Computer Science (See Computer Information Systems section for additional computer courses.) Degrees and Certificates Awarded Associate in Science Degree, Computer Science Certificate
Glassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
How To Create A Website Template On Sitefinity 4.0.2.2
DESIGNER S GUIDE This guide is intended for front-end developers and web designers. The guide describes the procedure for creating website templates using Sitefinity and importing already created templates
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
Ad Hoc Reporting. Usage and Customization
Usage and Customization 1 Content... 2 2 Terms and Definitions... 3 2.1 Ad Hoc Layout... 3 2.2 Ad Hoc Report... 3 2.3 Dataview... 3 2.4 Page... 3 3 Configuration... 4 3.1 Layout and Dataview location...
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices
232 Computer Science Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools A. NAME OF INSTITUTE Centre For Development of Advanced Computing B. NAME/TITLE OF THE COURSE C. COURSE DATES WITH DURATION
... Introduction... 17
... Introduction... 17 1... Workbench Tools and Package Hierarchy... 29 1.1... Log on and Explore... 30 1.1.1... Workbench Object Browser... 30 1.1.2... Object Browser List... 31 1.1.3... Workbench Settings...
Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00
Course Page - Page 1 of 12 Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00 Course Description Responsive Mobile Web Development is more
CS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
MultiAlign Software. Windows GUI. Console Application. MultiAlign Software Website. Test Data
MultiAlign Software This documentation describes MultiAlign and its features. This serves as a quick guide for starting to use MultiAlign. MultiAlign comes in two forms: as a graphical user interface (GUI)
For Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
Hands on exercise for
Hands on exercise for João Miguel Pereira 2011 0 Prerequisites, assumptions and notes Have Maven 2 installed in your computer Have Eclipse installed in your computer (Recommended: Indigo Version) I m assuming
Data Sheet VISUAL COBOL 2.2.1 WHAT S NEW? COBOL JVM. Java Application Servers. Web Tools Platform PERFORMANCE. Web Services and JSP Tutorials
Visual COBOL is the industry leading solution for COBOL application development and deployment on Windows, Unix and Linux systems. It combines best in class development tooling within Eclipse and Visual
Web Frameworks and WebWork
Web Frameworks and WebWork Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request, HttpServletResponse
TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform
October 6, 2015 1 Introduction The laboratory exercises in this course are to be conducted in an environment that might not be familiar to many of you. It is based on open source software. We use an open
COS 333: Advanced Programming Techniques
COS 333: Advanced Programming Techniques How to find me bwk@cs, www.cs.princeton.edu/~bwk 311 CS Building 609-258-2089 (but email is always better) TA's: Stephen Beard, Chris Monsanto, Srinivas Narayana,
The Smart Forms Web Part allows you to quickly add new forms to SharePoint pages, here s how:
User Manual First of all, congratulations on being a person of high standards and fine tastes! The Kintivo Forms web part is loaded with features which provide you with a super easy to use, yet very powerful
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)
EMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
How to Develop Accessible Linux Applications
Sharon Snider Copyright 2002 by IBM Corporation v1.1, 2002 05 03 Revision History Revision v1.1 2002 05 03 Revised by: sds Converted to DocBook XML and updated broken links. Revision v1.0 2002 01 28 Revised
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
Customizing IBM Lotus Connections 3.0 email digests and notifications
Customizing IBM Lotus Connections 0 email digests and notifications Vincent Burckhardt Software Engineer - Lotus Connections Development IBM Collaboration Solutions Mulhuddart, Ireland Lorenzo Notarfonzo
Portals and Hosted Files
12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines
