Software Construction
|
|
- Sharon Johns
- 8 years ago
- Views:
Transcription
1 Software Construction Documentation and Logging Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can use Mock Objects as an efficient alternative for Unit Testing know how to setup log4j can use log4j Institut für Mobile und Verteilte Systeme J. Luthiger 2
2 Documentation IMPORTANT All documentation is a mirror of the code Build Documentation In, Don't Bolt It On Tip 68 (The Pragmatic Programmer) Institut für Mobile und Verteilte Systeme J. Luthiger 3 Internal Documentation Includes source code, comments, design and test documents, Documenting the source code Use Naming Convention Integrate comments into source code Use tool to generate appropriate docs out of the source code Try to keep source and code in sync! Institut für Mobile und Verteilte Systeme J. Luthiger 4
3 Java Naming Conventions Naming conventions make programs more understandable by making them easier to read easier to understand easier to improve easier to detect bugs Use coding guidelines e.g. from SUN "Code Conventions for the JavaTM Programming Language" (see Resources) Institut für Mobile und Verteilte Systeme J. Luthiger 5 Tool JavaDoc Purpose Instead of writing and maintaining separate documentation, the programmer writes speciallyformatted comments in the Java code itself. JavaDoc takes these comments and transforms them into documentation in HTML (web page) format. Institut für Mobile und Verteilte Systeme J. Luthiger 6
4 General Format Start with the normal beginning of comment delimiter (/*) followed by another (*). All following lines start with an asterisk lined up under the first asterisk in the first line. The last line contains just the normal end of comment delimiter (*/). /** * The number of students in the class. * This variable must not be negative or greater than 200. */ public int numstudents; Institut für Mobile und Verteilte Systeme J. Luthiger 7 JavaDoc Tags Tags for Tags @exception Tags for Variables needs no tags, just normal JavaDoc comment Institut für Mobile und Verteilte Systeme J. Luthiger 8
5 Package Level Comments Each package can have its own package-level doc comment source file The Javadoc tool will merge them into the final documentation This file is named package.html This file is kept in the source directory Institut für Mobile und Verteilte Systeme J. Luthiger 9 Integrate JavaDoc into the Build Process Use the javadoc Ant Task Core Task (see Ant's Website) Institut für Mobile und Verteilte Systeme J. Luthiger 10
6 External Documentation Includes everything which is published to the outside world like user manual, Use a markup language to produce the final documentation e.g. DocBook, Latex, DocBook XML based text-oriented => easily to integrate into a VCS supports different output formats: HTML, PDF, Tex, supports automation => Ant integration Institut für Mobile und Verteilte Systeme J. Luthiger 11 Resources Sun Reference: "How to Write Doc Comments for the Javadoc Tool" Code Conventions for the Java Language DocBook Home Institut für Mobile und Verteilte Systeme J. Luthiger 12
7 Why Logging? Debuggers focus on the state of a program NOW A stack trace can you tell only how got here directly It is not possible to detect what was before this actual call Logging can provide information about the state of a program or a data structure over time Logging can reveal several classes of errors that debugger's can't Logging is invaluable in any system where time itself is a factor concurrent processes real-time systems event-based application distributed environment Institut für Mobile und Verteilte Systeme J. Luthiger 13 Brian W. Kernighan says... As personal choice, we tend not to use debuggers beyond getting a stack trace or the value of a variable or two. One reason is that it is easy to get lost in details of complicated data structures and control flow; we find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places. Clicking over statements takes longer than scanning the output of judiciously-placed displays. It takes less time to decide where to put print statements than to single-step to the critical section of code, even assuming we know where that is. More important, debugging statements stay with the program; debugging sessions are transient. In "The Practice of Programming" Institut für Mobile und Verteilte Systeme J. Luthiger 14
8 Approaches to Logging System.out.println Poor performance All or none Example below Some people use a class like: Class foo{ public static final boolean debug = true; public void test(){ if (debug) System.out.println( I exist only in a test environmnet ); } } Custom log api More code to maintain Classic build vs. buy (or use) decision Open Source (like Log4j) Institut für Mobile und Verteilte Systeme J. Luthiger 15 Java Specification Request JSR 47 Enable/disable logging at runtime Control logging at a fairly fine granularity Disable logging for specific functionality Bridge services that connect the logging APIs to existing logging services (Operating System Logs, Third party logs) Institut für Mobile und Verteilte Systeme J. Luthiger 16
9 Requirements for a Logging Framework Configuration of the logging features should be externalized Log messages should have priorities Logging should support different message formats Logging should not slow down the program speed, it must support message caching Institut für Mobile und Verteilte Systeme J. Luthiger 17 Logging Frameworks Log4j: Apache Open Source Project Java1.4 Logging Logging API by SUN introduced with JDK1.4 Institut für Mobile und Verteilte Systeme J. Luthiger 18
10 log4j background Originally developed by IBM at their Zurich research lab. ( Currently maintained by Source Forge Open source Release 1.0+ documentation at Institut für Mobile und Verteilte Systeme J. Luthiger 19 Basic API As of 1.0, printing messages are of the form: debug(object message, Throwable t) debug(object message) If the 1 st argument is a String object, it will be written in its present form. Other objects rendered by a registered Object Renderer for its class or using the Object.toString method. Institut für Mobile und Verteilte Systeme J. Luthiger 20
11 Basic Usage Example Standard usage: class Foo { Logger logger = null; public Foo(){ logger = Logger.getLogger(Foo.class); logger.info( Constructing foo ); } public String dostuff(long x){ logger.debug( doing stuff ); } } Institut für Mobile und Verteilte Systeme J. Luthiger 21 Priorities Five recognized message priorities: DEBUG,INFO,WARN,ERROR,FATAL Priority specific log methods following the the form: debug(object message); debug(object message, Throwable throwable); General log methods for wrappers and custom priorities: log(priority level, Object message); log(priority level, Object message,throwable throwable); Localized log methods supporting ResourceBundles: L7dlog(Priority level, String message, Throwable throwable) L7dlog(Priority level, Object[] params, Throwable throwable) setresourcebundle(resourcebundle); Institut für Mobile und Verteilte Systeme J. Luthiger 22
12 Priorities Usage DEBUG Least Importance Level Log requests that are relevant while debugging the application. INFO Log requests that informs the user of the application about something (e.g., informs him about application progress) WARN Log requests to alert about harmful situations. ERROR When an error is encountered (but you application can still run). FATAL In case of very sever errors after which your application cannot continue any more. Institut für Mobile und Verteilte Systeme J. Luthiger 23 Loggers The notion of loggers lies at the heart of log4j. Loggers define a hierarchy and give the programmer run-time control on which statements are printed or not. Loggers are assigned priorities. A log statement is printed depending on its priority and its category. Used to support output to multiple logs (Appenders) at the same time. logger = Logger.getLogger(User.class); Institut für Mobile und Verteilte Systeme J. Luthiger 24
13 Logger Names Name loggers by locality. It turns out that instantiating a logger in each class, with the logger name equal to the fully-qualified name of the class, is a useful and straightforward approach of defining loggers. However, this is not the only way for naming loggers. A common alternative is to name loggers by functional areas. For example, the "database" category, "RMI" category, "security" category, or the "XML" category. Institut für Mobile und Verteilte Systeme J. Luthiger 25 Benefits of using fully qualified class names It is very simple to implement. It is very simple to explain to new developers. It automatically mirrors the application's own modular design. It can be further refined at will. Printing the logger automatically gives information on the locality of the log statement. Institut für Mobile und Verteilte Systeme J. Luthiger 26
14 Root Logger If no logger is defined via a configuration file or programmatically, then all messages will be sent to the root logger. All loggers define a priority level an appender # set log level of rental package to DEBUG log4j.logger.ch.fhnw.edu.rental=debug # configuration of stdout appender log4j.appender.stdout=org.apache.log4j.consoleappender Institut für Mobile und Verteilte Systeme J. Luthiger 27 Appenders An Appender is a object that sends log messages to their final destination. ConsoleAppender - Write log to System.out or System.err FileAppender Write to a log file SocketAppender Dumps log output to a socket SyslogAppender Write to the syslog. NTEventLogAppender Write the logs to the NT Event Log system. RollingFileAppender After a certain size is reached it will rename the old file and start with a new one. SocketAppender Dumps log output to a socket SMTPAppender Send Messages to JMSAppender Sends messages using Java Messaging Service or create your own! Institut für Mobile und Verteilte Systeme J. Luthiger 28
15 PatternLayout Customize your message Used to customize the layout of a log entry. The format is closely related to conversion pattern of the printf function in c see The following options are available: c - Used to output the Logger name of the logging event. C - Used to output the fully qualified class name of the caller issuing the logging request. d - Used to output the date of the logging event. The date conversion specifier may be followed by a date format specifier enclosed between braces. For example: %d{hh:mm:ss,sss} or %d{dd MMM yyyy HH:mm:ss,SSS}. If no date format specifier is given then ISO8601 format is assumed F - Used to output the file name where the logging request was issued. l - Used to output location information of the caller which generated the logging event. (C+M+L) L - Used to output the line number from where the logging request was issued. Performance penalty! Institut für Mobile und Verteilte Systeme J. Luthiger 29 PatternLayout Customize your message n - Outputs the platform dependent line separator character or characters. M - Used to output the method name where the logging request was issued. p - Used to output the priority of the logging event. t - Used to output the name of the thread that generated the logging event. x - Used to output the NDC (nested diagnostic context) associated with the thread that generated the logging event. Institut für Mobile und Verteilte Systeme J. Luthiger 30
16 Sample log4j.xml log4j.xml will be searched first <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" > <log4j:configuration> <appender name="stdout" class="org.apache.log4j.consoleappender"> <layout class="org.apache.log4j.simplelayout"></layout> </appender> <root> <priority value="debug"></priority> <appender-ref ref="stdout"/> </root> </log4j:configuration> Institut für Mobile und Verteilte Systeme J. Luthiger 31 Sample log4j.properties log4j.rootlogger=info, stdout # set log level of rental package to DEBUG log4j.logger.ch.fhnw.edu.rental=debug # configuration of stdout appender log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.layout=org.apache.log4j.simplelayout Institut für Mobile und Verteilte Systeme J. Luthiger 32
17 Logging performance Log4j claims to be fast and flexible: speed first flexibility second Although log4j has a many features, its first design goal was speed. Some log4j components have been rewritten many times to improve performance. Institut für Mobile und Verteilte Systeme J. Luthiger 33 Cost of logging When logging is turned off entirely or just for a set of priorities, the cost of a log request consists of a method invocation plus an integer comparison. The typical cost of actually logging is about 100 to 300 microseconds. This is the cost of formatting the log output and sending it to its target destination. logger.debug("entry number: " + i + " is " + String.valueOf(entry[i])); Example: constructing the message parameter, i.e. converting both integer i and entry[i] to a String, and concatenating intermediate strings, regardless of whether the message will be logged or not Institut für Mobile und Verteilte Systeme J. Luthiger 34
18 Hidden costs of logging Method invocation involves the "hidden" cost of parameter construction. To avoid the parameter construction cost write: if (logger.isdebugenabled() { logger.debug("entry number: " + i + " is " + String.valueOf(entry[i])); } Institut für Mobile und Verteilte Systeme J. Luthiger 35 Some best practices Don't use e.printstacktrace() use log.error("exception message", e) instead Don't log exception and throw it again Don't swallow the Stack Trace } catch(sqlexception e){ throw new RuntimeException("DB excpetion"+e.getmessage()); } Institut für Mobile und Verteilte Systeme J. Luthiger 36
19 Apache Commons Logging JCL The Logging package is an ultra-thin bridge between different logging implementations. Commons Logging will guess (discover) the preferred logging system and you won't need to do any configuration of JCL at all! There are two base abstractions used by JCL: Log (the basic logger) LogFactory (which knows how to create Log instances). Institut für Mobile und Verteilte Systeme J. Luthiger 37 Using JCL import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory;... private Log log = LogFactory.getLog(this.getClass());... if (log.isdebugenabled()) { log.debug("song '" + song.gettitle() + "' added to playlist"); } Institut für Mobile und Verteilte Systeme J. Luthiger 38
Documentum Developer Program
Program Enabling Logging in DFC Applications Using the com.documentum.fc.common.dflogger class April 2003 Program 1/5 The Documentum DFC class, DfLogger is available with DFC 5.1 or higher and can only
More informationSoftware Construction
Software Construction Debugging and Exceptions Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You know the proper usage
More informationHow to Enable Quartz Job Execution Log Interception In Applications. J u n e 26, 2 0 1 5
How to Enable Quartz Job Execution Log Interception In Applications J u n e 26, 2 0 1 5 Table of Contents 1. PURPOSE. 3 2. DEFINITIONS.. 4 3. ENABLING LOG MESSAGE INTERCEPTION.. 5 3.1 LOGBACK 5 3.2 LOG4J
More informationRuntime Monitoring & Issue Tracking
Runtime Monitoring & Issue Tracking http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Runtime monitoring Nástroje pro vývoj software
More informationDesigning with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
More informationThe Java Logging API and Lumberjack
The Java Logging API and Lumberjack Please Turn off audible ringing of cell phones/pagers Take calls/pages outside About this talk Discusses the Java Logging API Discusses Lumberjack Does not discuss log4j
More informationLogging in Java Applications
Logging in Java Applications Logging provides a way to capture information about the operation of an application. Once captured, the information can be used for many purposes, but it is particularly useful
More information... Apache Log4j 2 v. 2.5 User's Guide.... The Apache Software Foundation 2015-12-06
... Apache Log4j 2 v. 2.5 User's Guide... The Apache Software Foundation 2015-12-06 T a b l e o f C o n t e n t s i Table of Contents... 1. Table of Contents...........................................................
More informationSAS 9.4 Logging. Configuration and Programming Reference Second Edition. SAS Documentation
SAS 9.4 Logging Configuration and Programming Reference Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2014. SAS 9.4 Logging: Configuration
More informationVolta Log Library user manual
Volta Log Library user manual www.satellitevolta.com 1 ... 3... 3... 3... 3... 3 www.satellitevolta.com 2 [Ref.01] Volta Log distribution package (volta-log-x.y.z.* http://sourceforge.net/projects/voltalog/files/?source=navbar)
More informationSAS 9.3 Logging: Configuration and Programming Reference
SAS 9.3 Logging: Configuration and Programming Reference SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2011. SAS 9.3 Logging: Configuration and
More informationContents. Apache Log4j. What is logging. Disadvantages 15/01/2013. What are the advantages of logging? Enterprise Systems Log4j and Maven
Enterprise Systems Log4j and Maven Behzad Bordbar Lecture 4 Log4j and slf4j What is logging Advantages Architecture Maven What is maven Terminology Demo Contents 1 2 Apache Log4j This will be a brief lecture:
More informationEffective logging practices ease enterprise
1 of 9 4/9/2008 9:56 AM Effective logging practices ease enterprise development Establish a logging plan up front and reap rewards later in the development process Level: Intermediate Charles Chan (chancharles@gmail.com),
More informationOverview. NetBorder Express Loggers Configuration Guide
Overview The Gateway service includes a powerful logging framework to enable you to control the logging of events. This document contains information about logging, including the following key topics:
More informationSoftware 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
More informationCA Aion Rule Manager. Rule Engine: JSR-94 Implementation Guide. r11
CA Aion Rule Manager Rule Engine: JSR-94 Implementation Guide r11 This documentation and any related computer software help programs (hereinafter referred to as the "Documentation") are for your informational
More informationService Integration course. Cassandra
Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Service Integration course Cassandra Oszkár Semeráth Gábor Szárnyas
More informationAnnouncement. SOFT1902 Software Development Tools. Today s Lecture. Version Control. Multiple iterations. What is Version Control
SOFT1902 Software Development Tools Announcement SOFT1902 Quiz 1 in lecture NEXT WEEK School of Information Technologies 1 2 Today s Lecture Yes: we have evolved to the point of using tools Version Control
More informationJava Troubleshooting and Performance
Java Troubleshooting and Performance Margus Pala Java Fundamentals 08.12.2014 Agenda Debugger Thread dumps Memory dumps Crash dumps Tools/profilers Rules of (performance) optimization 1. Don't optimize
More informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
More informationCoding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd
Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History
More informationDetermine the process of extracting monitoring information in Sun ONE Application Server
Table of Contents AboutMonitoring1 Sun ONE Application Server 7 Statistics 2 What Can Be Monitored? 2 Extracting Monitored Information. 3 SNMPMonitoring..3 Quality of Service 4 Setting QoS Parameters..
More informatione ag u g an L g ter lvin v E ram Neal G g ro va P Ja
Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend
More informationFundamentals 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
More informationAdding WebLogic Logging Services to Applications Deployed on Oracle WebLogic Server 12.1.3 12c (12.1.3)
[1]Oracle Fusion Middleware Adding WebLogic Logging Services to Applications Deployed on Oracle WebLogic Server 12.1.3 12c (12.1.3) E41901-02 August 2015 Documentation for developers that describes how
More informationSAS 9.2 Enhanced Logging Facilities. Session 308-2008 Wednesday, March 19, 2008 9:00 9:50, Room 212
SAS 9.2 Enhanced Logging Facilities Session 308-2008 Wednesday, March 19, 2008 9:00 9:50, Room 212 SAS Global Forum 2008 Copyright Notice The correct bibliographic citation for this manual is as follows:
More informationvcenter Hyperic Configuration Guide
vcenter Hyperic 5.8 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of
More informationOracle WebLogic Server
Oracle WebLogic Server Using WebLogic Logging Services for Application Logging 10g Release 3 (10.3) July 2008 Oracle WebLogic Server Using WebLogic Logging Services for Application Logging, 10g Release
More informationHP Operations Orchestration Software
HP Operations Orchestration Software Software Version: 9.00 HP Service Desk Integration Guide Document Release Date: June 2010 Software Release Date: June 2010 Legal Notices Warranty The only warranties
More informationSyncTool for InterSystems Caché and Ensemble.
SyncTool for InterSystems Caché and Ensemble. Table of contents Introduction...4 Definitions...4 System requirements...4 Installation...5 How to use SyncTool...5 Configuration...5 Example for Group objects
More informationJava 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
More informationWebSphere Application Server V6: Diagnostic Data. It includes information about the following: JVM logs (SystemOut and SystemErr)
Redbooks Paper WebSphere Application Server V6: Diagnostic Data Carla Sadtler David Titzler This paper contains information about the diagnostic data that is available in WebSphere Application Server V6.
More informationby LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000
Home Products Consulting Industries News About IBM by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000 Copyright IBM Corporation, 1999. All Rights Reserved. All trademarks or registered
More informationAndroid WebKit Development: A cautionary tale. Joe Bowser Nitobi E-Mail: joe.bowser@nitobi.com
Android WebKit Development: A cautionary tale Joe Bowser Nitobi E-Mail: joe.bowser@nitobi.com About this talk This talk is not explicitly about PhoneGap This is a technical talk - It is expected that you
More informationContent. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
More informationAspect Oriented Programming. with. Spring
Aspect Oriented Programming with Spring Problem area How to modularize concerns that span multiple classes and layers? Examples of cross-cutting concerns: Transaction management Logging Profiling Security
More informationPerformance Monitoring API for Java Enterprise Applications
Performance Monitoring API for Java Enterprise Applications Purpose Perfmon4j has been successfully deployed in hundreds of production java systems over the last 5 years. It has proven to be a highly successful
More informationPHP on IBM i: What s New with Zend Server 5 for IBM i
PHP on IBM i: What s New with Zend Server 5 for IBM i Mike Pavlak Solutions Consultant mike.p@zend.com (815) 722 3454 Function Junction Audience Used PHP in Zend Core/Platform New to Zend PHP Looking to
More informationGLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS. 2015 Software AG. All rights reserved. For internal use only
GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS CONSULTING TOOLS VALUE CREATING ADD-ONS REDUCE manual effort time effort risk 6 READY-TO- USE TOOLS MORE COMING SOON SIMPLE PRICING & INSTALLATION INCREASE
More informationCopyright 2013 Consona Corporation. All rights reserved www.compiere.com
COMPIERE 3.8.1 SOAP FRAMEWORK Copyright 2013 Consona Corporation. All rights reserved www.compiere.com Table of Contents Compiere SOAP API... 3 Accessing Compiere SOAP... 3 Generate Java Compiere SOAP
More informationIBM Software Services for Lotus Consulting Education Accelerated Value Program. Log Files. 2009 IBM Corporation
Log Files 2009 IBM Corporation Goals Understand where to find log files Understand the purpose of various log files Components and log files Look at logs, starting with the most likely component Review
More informationLecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
More informationRIFF Submission Service Technical and User Guide 21 December 2007
RIFF Submission Service Technical and User Guide 21 December 2007 Table of Contents 1.Purpose......3 2.Overview......3 3.Services......3 4.Default Workflows......4 5.Job Configuration......6 6.Source Code
More informationJobScheduler and Script Languages
JobScheduler - Job Execution and Scheduling System JobScheduler and Script Languages scripting with the package javax.script March 2015 March 2015 JobScheduler and Script Languages page: 1 JobScheduler
More informationSyllabus for CS 134 Java Programming
- Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.
More informationFree Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program
Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2015 The third
More informationDebugging Java Applications
Debugging Java Applications Table of Contents Starting a Debugging Session...2 Debugger Windows...4 Attaching the Debugger to a Running Application...5 Starting the Debugger Outside of the Project's Main
More informationDeveloping In Eclipse, with ADT
Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)
More informationFree Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program
Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2014 Jill Seaman
More informationPHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
More informationDocumentation 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
More informationJBoss Portlet Container. User Guide. Release 2.0
JBoss Portlet Container User Guide Release 2.0 1. Introduction.. 1 1.1. Motivation.. 1 1.2. Audience 1 1.3. Simple Portal: showcasing JBoss Portlet Container.. 1 1.4. Resources. 1 2. Installation. 3 2.1.
More informationSoftware Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
More informationCache Configuration Reference
Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...
More informationAspects of using Hibernate with CaptainCasa Enterprise Client
Aspects of using Hibernate with CaptainCasa Enterprise Client We all know: there are a lot of frameworks that deal with persistence in the Java environment one of them being Hibernate. And there are a
More informationJava CPD (I) Frans Coenen Department of Computer Science
Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials
More informationVersion Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
More informationAP 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
More informationSonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)
Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1
More informationInstall Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html
CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center 319 8/19/2015 Install
More informationWHAT S NEW 4.5. FileAudit VERSION. www.isdecisions.com
WHAT S NEW FileAudit 4.5 VERSION www.isdecisions.com Table of Contents 1. FileAudit Version 4... 3 1.1. File and Folder Activity Real-Time Monitoring... 3 1.2. File and Folder Activity Alerts... 3 1.3.
More informationHello World Portlet Rendered with JSP for WebSphere Portal Version 4.1
1 of 11 16.10.2002 11:41 Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1 Table of Contents Creating the directory structure Creating the Java code Compiling the code Creating the
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationJava 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
More informationCrash Course in Java
Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is
More informationJava Web Services SDK
Java Web Services SDK Version 1.5.1 September 2005 This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed users of the product.
More informationTool Integration and Data Formats for Distributed Airplane Predesign
Tool Integration and Data Formats for Distributed Airplane Predesign Arne Bachmann, Markus Kunde, Markus Litz Simulation and Software Technology German Aerospace Center (DLR) ModelCenter European Users
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111
More informationChapter 3. Input and output. 3.1 The System class
Chapter 3 Input and output The programs we ve looked at so far just display messages, which doesn t involve a lot of real computation. This chapter will show you how to read input from the keyboard, use
More informationCSE 403. Performance Profiling Marty Stepp
CSE 403 Performance Profiling Marty Stepp 1 How can we optimize it? public static String makestring() { String str = ""; for (int n = 0; n < REPS; n++) { str += "more"; } return str; } 2 How can we optimize
More informationCrawl Proxy Installation and Configuration Guide
Crawl Proxy Installation and Configuration Guide Google Enterprise EMEA Google Search Appliance is able to natively crawl secure content coming from multiple sources using for instance the following main
More informationCS 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
More informationEMC Documentum Content Services for SAP iviews for Related Content
EMC Documentum Content Services for SAP iviews for Related Content Version 6.0 Administration Guide P/N 300 005 446 Rev A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000
More informationVA Smalltalk Update. John O Keefe Principal Smalltalk Architect Instantiations, Inc. Copyright 2011, Instantiations, Inc.
VA Smalltalk Update John O Keefe Principal Smalltalk Architect Instantiations, Inc. Recent Events Completed first year as pure Smalltalk company # of users and revenues continue to grow Growing Engineering
More informationPicketLink Federation User Guide 1.0.0
PicketLink Federation User Guide 1.0.0 by Anil Saldhana What this Book Covers... v I. Getting Started... 1 1. Introduction... 3 2. Installation... 5 II. Simple Usage... 7 3. Web Single Sign On (SSO)...
More informationJDOM Overview. Application development with XML and Java. Application Development with XML and Java. JDOM Philosophy. JDOM and Sun
JDOM Overview Application Development with XML and Java Lecture 7 XML Parsing JDOM JDOM: Java Package for easily reading and building XML documents. Created by two programmers: Brett McLaughlin and Jason
More informationException Handling In Web Development. 2003-2007 DevelopIntelligence LLC
Exception Handling In Web Development 2003-2007 DevelopIntelligence LLC Presentation Topics What are Exceptions? How are they handled in Java development? JSP Exception Handling mechanisms What are Exceptions?
More informationKaseya 2. User Guide. Version 7.0. English
Kaseya 2 Log Parsers User Guide Version 7.0 English September 3, 2014 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya s Click-Accept EULATOS
More informationThis presentation explains how to integrate Microsoft Active Directory to enable LDAP authentication in the IBM InfoSphere Master Data Management
This presentation explains how to integrate Microsoft Active Directory to enable LDAP authentication in the IBM InfoSphere Master Data Management Collaboration Server. Before going into details, there
More informationSDK Code Examples Version 2.4.2
Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated
More informationFor 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,
More informationCommuniqué 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é
More informationjmonitor: Java Runtime Event Specification and Monitoring Library
RV 04 Preliminary Version jmonitor: Java Runtime Event Specification and Monitoring Library Murat Karaorman 1 Texas Instruments, Inc. 315 Bollay Drive, Santa Barbara, California USA 93117 Jay Freeman 2
More informationDocBook Framework (DBF)
DocBook Framework (DBF) The Apache Velocity Developers V 1.0 Copyright 2006-2007 The Apache Software Foundation Table of Contents 1. Preface... 1 1.1. About this Project... 1 1.2. License Information...
More informationEffective feedback from quality tools during development
Effective feedback from quality tools during development EuroSTAR 2004 Daniel Grenner Enea Systems Current state Project summary of known code issues Individual list of known code issues Views targeted
More informationZend Server 5.x Reference Manual
Zend Server 5.x Reference Manual By Zend Technologies www.zend.com This is the Reference Manual for Zend Server Version 5.0. The information in this document is subject to change without notice and does
More informationComputing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
More informationHow To Configure A Bmca Log File Adapter For Windows 2.5 (For Windows) For A Powerpoint 2.2 (For Microsoft) (For Ubuntu) (Powerpoint 2) (Windows) (Perl) (
BMC Impact Event Adapters User Guide Supporting BMC Event and Impact Management 2.0 BMC ProactiveNet Performance Manager 8.0 November 2009 www.bmc.com Contacting BMC Software You can access the BMC Software
More informationWhat s really under the hood? How I learned to stop worrying and love Magento
What s really under the hood? How I learned to stop worrying and love Magento Who am I? Alan Storm http://alanstorm.com Got involved in The Internet/Web 1995 Work in the Agency/Startup Space 10 years php
More informationModel-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,
More informationApplication Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.
Avaya Solution & Interoperability Test Lab Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.0 Abstract
More informationOverview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
More informationRTI Monitoring Library Getting Started Guide
RTI Monitoring Library Getting Started Guide Version 5.1.0 2011-2013 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. December 2013. Trademarks Real-Time Innovations,
More information10 Java API, Exceptions, and Collections
10 Java API, Exceptions, and Collections Activities 1. Familiarize yourself with the Java Application Programmers Interface (API) documentation. 2. Learn the basics of writing comments in Javadoc style.
More informationConfiguring Log Files and Filtering Log Messages for Oracle WebLogic Server 12.1.3 12c (12.1.3)
[1]Oracle Fusion Middleware Configuring Log Files and Filtering Log Messages for Oracle WebLogic Server 12.1.3 12c (12.1.3) E41909-02 August 2015 Documentation for system administrators who configure WebLogic
More informationObject-Oriented Databases db4o: Part 2
Object-Oriented Databases db4o: Part 2 Configuration and Tuning Distribution and Replication Callbacks and Translators 1 Summary: db4o Part 1 Managing databases with an object container Retrieving objects
More informationExtending XSLT with Java and C#
Extending XSLT with Java and C# The world is not perfect. If it were, all data you have to process would be in XML and the only transformation language you would have to learn would XSLT. Because the world
More informationCS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013
Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)
More information