Level 7. ECMAScript 5: The New Parts

Size: px
Start display at page:

Download "Level 7. ECMAScript 5: The New Parts"

Transcription

1

2 Level 7 ECMAScript 5: The New Parts

3 Any change to a standard is an act of violence.

4 Complete implementations of ECMAScript, Fifth Edition, are now beginning to appear in the best web browsers.

5 ECMAScript 1999 Third Edition 2009 Fifth Edition Default Strict ES3 ES5 For the short term, work in the intersection of ES3 and ES5/Strict. For the long term, work with ES5/Strict. Avoid ES5/Default.

6 A better JavaScript.

7 Lots of Little Things Make the standard conform better to reality. Make the browsers conform better to each other. Where the browsers disagreed, we took license to correct the standard. Interoperability will be improved. If you program well, this should have little impact on you.

8 Goals of ES5 Don't break the web. Improve the language for the users of the language. Third party security (mashups). Protect stupid people from themselves. No new syntax.

9 New Syntax Causes syntax errors on IE < 9.

10 Trailing Commas { "trailing": "comma", [ ] "trailing", "comma",

11 Reserved Word Relaxation No reserved word restrictions on property names. var a = { return: true, function: liberty, class: 'classitis', ; a.return = false; a.function(); alert(a.class);

12 Getters and Setters function make_temperature(temperature) { return { get celsius() { return temperature;, set celsius(value) { temperature = value;, get fahrenheit() { return temperature * 9 / ;, set fahrenheit(value) { temperature = (value - 32) * 5 / 9; ;

13 Multiline string literals var long_line_1 = "This is a \ long line"; // ok var long_line_2 = "This is a \ long line"; // syntax error

14 Constants Infinity NaN undefined

15 parseint parseint('08') === 8

16 Regexp Literals /regexp/ now produces new regular expression objects every time.

17 Replacing Object or Array does not change the behavior of { or []. As if by the original

18 Brand New Methods Methods can be added without breaking syntax.

19 JSON JSON.parse(text, reviver) JSON.stringify(value, replacer, space) json2.js

20 Function.prototype.bind if (!Function.prototype.hasOwnProperty('bind')) { Function.prototype.bind = function (object) { var slice = Array.prototype.slice, func = this, args = slice.call(arguments, 1); return function () { return func.apply(object, args.concat( slice.call(arguments, 0))); ; ;

21 String.prototype.trim if (!String.prototype.hasOwnProperty('trim')) { String.prototype.trim = (function (re) { return function () { return this.replace(re, "$1"); ; (/^\s*(\s*(\s+\s+)*)\s*$/));

22 Array.prototype.every if (!Array.prototype.hasOwnProperty('every')) { Array.prototype.every = function(fun, thisp) { var i, length = this.length; for (i = 0; i < length; i += 1) { if (this.hasownproperty(i) &&!fun.call(thisp, this[i], i, this)) { return false; return true; ;

23 Array.prototype.filter if (!Array.prototype.hasOwnProperty('filter')) { Array.prototype.filter = function(fun, thisp) { var i, length = this.length, result = [], value; for (i = 0; i < length; i += 1) { if (this.hasownproperty(i)) { value = this[i]; if (fun.call(thisp, value, i, this)) { result.push(value); return result; ;

24 Array.prototype.forEach if (!Array.prototype.hasOwnProperty('forEach')) { Array.prototype.forEach = function (fun, thisp) { var i, length = this.length; for (i = 0; i < length; i += 1) { if (this.hasownproperty(i)) { fun.call(thisp, this[i], i, this); ;

25 Array.prototype.indexOf if (!Array.prototype.hasOwnProperty('indexOf')) { Array.prototype.indexOf = function (searchelement, fromindex) { var i = fromindex 0, length = this.length; while (i < length) { if (this.hasownproperty(i) && this[i] === searchelement) { return i; i += 1; return -1; ;

26 Array.prototype.lastIndexOf if (!Array.prototype.hasOwnProperty('lastIndexOf')) { Array.prototype.lastIndexOf = function (searchelement, fromindex) { var i = fromindex; if (typeof i!== 'number') { i = this.length - 1; while (i >= 0) { if (this.hasownproperty(i) && this[i] === searchelement) { return i; i -= 1; return -1; ;

27 Array.prototype.map if (!Array.prototype.hasOwnProperty('map')) { Array.prototype.map = function(fun, thisp) { var i, length = this.length, result = []; for (i = 0; i < length; i += 1) { if (this.hasownproperty(i)) { result[i] = fun.call(thisp, this[i], i, this); return result; ;

28 Array.prototype.reduce if (!Array.prototype.hasOwnProperty('reduce')) { Array.prototype.reduce = function (fun, initialvalue) { var i, length = this.length; for (i = 0; i < length; i += 1) { if (this.hasownproperty(i)) { initialvalue = fun.call(undefined, initialvalue, this[i], i, this); return initialvalue; ;

29 Array.prototype.reduceRight if (!Array.prototype.hasOwnProperty('reduceRight')) { Array.prototype.reduceRight = function (fun, initialvalue) { var i = this.length - 1; while (i >= 0) { if (this.hasownproperty(i)) { initialvalue = fun.call(undefined, initialvalue, this[i], I, this); i -= 1; return initialvalue; ;

30 Array.prototype.some if (!Array.prototype.hasOwnProperty('some')) { Array.prototype.some = function(fun, thisp) { var i, length = this.length; for (i = 0; i < length; i += 1) { if (this.hasownproperty(i) && fun.call(thisp, this[i], i, this)) { return true; return false; ;

31 Date.now() if (!Date.hasOwnProperty('now')) { Date.now = function () { return (new Date()).getTime(); ;

32 Date.prototype.toISOString if (!Date.prototype.hasOwnProperty('toISOString')) { Date.prototype.toISOString = function () { function f(n) { return n < 10? '0' + n : n; ; return this.getutcfullyear() + '-' + f(this.getutcmonth() + 1) + '-' + f(this.getutcdate()) + 'T' + f(this.getutchours()) + ':' + f(this.getutcminutes()) + ':' + f(this.getutcseconds()) + 'Z';

33 Date new Date(string) and Date.parse(string) will try ISO format first.

34 Array.isArray if (!Array.hasOwnProperty('isArray')) { Array.isArray = function (value) { return Object.prototype.toString.apply(value) === '[object Array]'; ;

35 Object.keys if (!Object.hasOwnProperty('keys')) { Object.keys = function (object) { var name, result = []; for (name in object) { if (Object.prototype.hasOwnProperty.call(object, name)) { result.push(name); return result; ;

36 Object.create if (!Object.hasOwnProperty('create')) { Object.create = function (object, properties) { var result; function F() { F.prototype = object; result = new F(); if (properties!== undefined) { Object.defineOwnProperties(object, properties); return result; ;

37 Meta Object API Control over the attributes of the properties of the objects.

38 Two kinds of properties: Data properties Accessor properties

39 Attributes A property is a named collection of attributes. value: any JavaScript value writeable: boolean enumerable: boolean configurable: boolean get: function () { return value; set: function (value) {

40 Data Property var my_object = {foo: bar; var my_object = Object.create(Object.prototype); Object.defineProperty(my_object, 'foo', { value: bar, writeable: true, enumerable: true, configurable: true );

41 Accessor property Object.defineProperty(my_object, 'inch', { get: function () { return this.mm / 25.4;, set: function (value) { this.mm = value * 25.4;, enumerable: true );

42 Meta Object API Object.defineProperty(object, key, descriptor) Object.defineProperties(object, object_of_descriptors) Object.getOwnPropertyDescriptor( object, key)

43 Object.getOwnPropertyNames(object) Object.getPrototypeOf(object) Best not to use these. Secure frameworks may ban their use.

44 function replace_prototype(object, prototype) { var result = Object.create(prototype); Object.getOwnPropertyNames(object).forEach(function (key) { Object.defineProperty(result, key, Object.getOwnPropertyDescriptor( object, key)); ); return result;

45 Object Extensibility Object.preventExtentions(object) Object.seal(object) Object.freeze(object) Object.isExtensible(object) Object.isSealed(object) Object.isFrozen(object)

46 Unintended Inheritance var word_count = {; text.split(/[\s.,?!":;]+/).foreach(function count_word(word) { if (word_count[word]) { word_count[word] += 1; else { word_count[word] = 1; ); Accidental collisions: Fails when word === 'constructor'

47 Solutions in ES5 Object.create(null) creates an object that does not inherit anything. Set the enumerable attribute to false when adding methods to prototypes. That keeps them out of for in enumerations. Object.keys(object) produces an array of strings, the enumerable keys of the own (not inherited) properties.

48 Strict Mode The most important new feature in ECMAScript, Fifth Edition.

49 Strict Mode Backward compatible pragma. 'use strict'; File form. First statement in a file. (avoid) Function form. First statement in a function.

50 implements interface let package private protected public static yield New Reserved Words

51 Strict Mode No more implied global variables within functions. this is not bound to the global object by function form. apply and call do not default to the global object. No with statement. Setting a writeable: false property will throw. Deleting a configurable: false property will throw. Restrictions on eval. eval and arguments are reserved. arguments not linked to parameters. No more arguments.caller or arguments.callee. No more octal literals. Duplicate names in an object literal or function parameters are a syntax error.

52 Forgetting to use the new prefix will now throw an exception, not silently clobber the global object. Death Before Confusion!

53 Strict Mode addeventlistener( ); //error window.addeventlistener( ); //ok

54 Strict Mode There are no methods for determining if strict mode is on, but it is easy to make your own. function in_strict_mode() { return (function () { return!this; ()); function strict_mode_implemented() { return (function () { 'use strict'; return!this; ());

55

56 MASH

57 Safe JavaScript Subsets The design of Strict Mode was informed by safe subsets like Caja & ADsafe. Caja. ADsafe.

58 IE6 MUST DIE!

59 IE7 MUST DIE!

60 IE8 MUST DIE!

61 IE9 MUST DIE!

62 IE10

63 What next? Nothing is certain yet. Lighter, more expressive syntax. More expressive literals. Tail recursion. Modules. Proxies. Fixed typeof operator. Much more.

64 Next time: Section 8

TypeScript for C# developers. Making JavaScript manageable

TypeScript for C# developers. Making JavaScript manageable TypeScript for C# developers Making JavaScript manageable Agenda What is TypeScript OO in TypeScript Closure Generics Iterators Asynchronous programming Modularisation Debugging TypeScript 2 What is TypeScript

More information

JavaScript Patterns. Stoyan Stefanov. O'REILLY' Beijing Cambridge Farnham Koln Sebastopol Tokyo

JavaScript Patterns. Stoyan Stefanov. O'REILLY' Beijing Cambridge Farnham Koln Sebastopol Tokyo JavaScript Patterns Stoyan Stefanov O'REILLY' Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xi 1. Introduction 1 Patterns 1 JavaScript: Concepts 3 Object-Oriented 3 No Classes

More information

Fast JavaScript in V8. The V8 JavaScript Engine. ...well almost all boats. Never use with. Never use with part 2.

Fast JavaScript in V8. The V8 JavaScript Engine. ...well almost all boats. Never use with. Never use with part 2. Fast JavaScript in V8 Erik Corry Google The V8 JavaScript Engine A from-scratch reimplementation of the ECMAScript 3 language An Open Source project from Google, primarily developed here in Århus A real

More information

JavaScript. JavaScript: fundamentals, concepts, object model. Document Object Model. The Web Page. The window object (1/2) The document object

JavaScript. JavaScript: fundamentals, concepts, object model. Document Object Model. The Web Page. The window object (1/2) The document object JavaScript: fundamentals, concepts, object model Prof. Ing. Andrea Omicini II Facoltà di Ingegneria, Cesena Alma Mater Studiorum, Università di Bologna andrea.omicini@unibo.it JavaScript A scripting language:

More information

Visual Basic Programming. An Introduction

Visual Basic Programming. An Introduction Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides

More information

ECMAScript 3 rd Edition Compact Profile

ECMAScript 3 rd Edition Compact Profile Standard ECMA-327 June 2001 Standardizing Information and Communication Systems ECMAScript 3 rd Edition Compact Profile Phone: +41 22 849.60.00 - Fax: +41 22 849.60.01 - URL: http://www.ecma.ch - Internet:

More information

1/23/2012. Rich Internet Applications. The importance of JavaScript. Why learn JavaScript? Many choices open to the developer for server-side

1/23/2012. Rich Internet Applications. The importance of JavaScript. Why learn JavaScript? Many choices open to the developer for server-side The importance of JavaScript Many choices open to the developer for server-side Can choose server technology for development and deployment ASP.NET, PHP, Ruby on Rails, etc No choice for development of

More information

Javascript in Ten Minutes

Javascript in Ten Minutes Javascript in Ten Minutes Spencer Tipping March 20, 2013 Contents 1 Introduction 3 2 Types 3 3 Functions 4 3.1 Variadic behavior (a cool thing)................... 4 3.2 Lazy scoping (a cool thing)......................

More information

Semantics and Security Issues in JavaScript

Semantics and Security Issues in JavaScript Semantics and Security Issues in JavaScript Sémantique et problèmes de sécurité en JavaScript Deliverable Resilience FUI 12: 7.3.2.1 Failles de sécurité en JavaScript / JavaScript security issues Stéphane

More information

JavaScript as a compilation target Making it fast

JavaScript as a compilation target Making it fast JavaScript as a compilation target Making it fast Florian Loitsch, Google Who am I? Florian Loitsch, software engineer at Google Projects Scheme2Js - Scheme-to-JavaScript compiler Js2scheme - JavaScript-to-Scheme

More information

Sample CSE8A midterm Multiple Choice (circle one)

Sample CSE8A midterm Multiple Choice (circle one) Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names

More information

Web Programming Step by Step

Web Programming Step by Step Web Programming Step by Step Lecture 13 Introduction to JavaScript Reading: 7.1-7.4 Except where otherwise noted, the contents of this presentation are Copyright 2009 Marty Stepp and Jessica Miller. Client-side

More information

The Needle Programming Language

The Needle Programming Language The Needle Programming Language The Needle Programming Language 1 What is Needle? Needle is an object-oriented functional programming language with a multimethod-based OO system, and a static type system

More information

JavaScript Patterns Stoyan Stefanov

JavaScript Patterns Stoyan Stefanov JavaScript Patterns JavaScript Patterns Stoyan Stefanov Beijing Cambridge Farnham Köln Sebastopol Tokyo JavaScript Patterns by Stoyan Stefanov Copyright 2010 Yahoo!, Inc.. All rights reserved. Printed

More information

JavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.

JavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved. 1 6 JavaScript: Introduction to Scripting 2 Comment is free, but facts are sacred. C. P. Scott The creditor hath a better memory than the debtor. James Howell When faced with a decision, I always ask,

More information

C++FA 5.1 PRACTICE MID-TERM EXAM

C++FA 5.1 PRACTICE MID-TERM EXAM C++FA 5.1 PRACTICE MID-TERM EXAM This practicemid-term exam covers sections C++FA 1.1 through C++FA 1.4 of C++ with Financial Applications by Ben Van Vliet, available at www.benvanvliet.net. 1.) A pointer

More information

CS 111 Classes I 1. Software Organization View to this point:

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

More information

In order to understand Perl objects, you first need to understand references in Perl. See perlref for details.

In order to understand Perl objects, you first need to understand references in Perl. See perlref for details. NAME DESCRIPTION perlobj - Perl object reference This document provides a reference for Perl's object orientation features. If you're looking for an introduction to object-oriented programming in Perl,

More information

TypeScript. Language Specification. Version 1.4

TypeScript. Language Specification. Version 1.4 TypeScript Language Specification Version 1.4 October, 2014 Microsoft is making this Specification available under the Open Web Foundation Final Specification Agreement Version 1.0 ("OWF 1.0") as of October

More information

JavaScript: The Good Parts

JavaScript: The Good Parts JavaScript: The Good Parts Other resources from O Reilly Related titles High Performance Web Sites JavaScript and DHTML Cookbook JavaScript: The Definitive Guide Learning JavaScript oreilly.com oreilly.com

More information

OBJECT-ORIENTED JAVASCRIPT OBJECT-ORIENTED

OBJECT-ORIENTED JAVASCRIPT OBJECT-ORIENTED THE PRINCIPLES OF OBJECT-ORIENTED OBJECT-ORIENTED JAVASCRIPT NICHOLAS C. ZAKAS www.allitebooks.com www.allitebooks.com The Principles of Object-Oriented JavaScript www.allitebooks.com The Principles of

More information

It has a parameter list Account(String n, double b) in the creation of an instance of this class.

It has a parameter list Account(String n, double b) in the creation of an instance of this class. Lecture 10 Private Variables Let us start with some code for a class: String name; double balance; // end Account // end class Account The class we are building here will be a template for an account at

More information

Pure and functional JavaScript Developer Conference 2013. Jakob Westhoff (@jakobwesthoff) November 7th, 2013

Pure and functional JavaScript Developer Conference 2013. Jakob Westhoff (@jakobwesthoff) November 7th, 2013 Pure and functional JavaScript Developer Conference 2013 Jakob Westhoff (@jakobwesthoff) November 7th, 2013 I am Jakob Westhoff Senior PHP professional Senior JavaScript professional Open source enthusiast

More information

Proposed ECMAScript 4 th Edition Language Overview

Proposed ECMAScript 4 th Edition Language Overview Proposed ECMAScript 4 th Edition Language Overview Revised 23 October 2007 The fourth edition of the ECMAScript language (ES4) represents a significant evolution of the third edition language (ES3), which

More information

JavaScript Introduction

JavaScript Introduction JavaScript Introduction JavaScript is the world's most popular programming language. It is the language for HTML, for the web, for servers, PCs, laptops, tablets, phones, and more. JavaScript is a Scripting

More information

AP Computer Science Java Subset

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

More information

COSC 1020 3.0 Introduction to Computer Science I Section A, Summer 2005. Question Out of Mark A Total 16. B-1 7 B-2 4 B-3 4 B-4 4 B Total 19

COSC 1020 3.0 Introduction to Computer Science I Section A, Summer 2005. Question Out of Mark A Total 16. B-1 7 B-2 4 B-3 4 B-4 4 B Total 19 Term Test #2 COSC 1020 3.0 Introduction to Computer Science I Section A, Summer 2005 Family Name: Given Name(s): Student Number: Question Out of Mark A Total 16 B-1 7 B-2 4 B-3 4 B-4 4 B Total 19 C-1 4

More information

Ecma/TC39/2013/NN. 4 th Draft ECMA-XXX. 1 st Edition / July 2013. The JSON Data Interchange Format. Reference number ECMA-123:2009

Ecma/TC39/2013/NN. 4 th Draft ECMA-XXX. 1 st Edition / July 2013. The JSON Data Interchange Format. Reference number ECMA-123:2009 Ecma/TC39/2013/NN 4 th Draft ECMA-XXX 1 st Edition / July 2013 The JSON Data Interchange Format Reference number ECMA-123:2009 Ecma International 2009 COPYRIGHT PROTECTED DOCUMENT Ecma International 2013

More information

The V8 JavaScript Engine

The V8 JavaScript Engine The V8 JavaScript Engine Design, Implementation, Testing and Benchmarking Mads Ager, Software Engineer Agenda Part 1: What is JavaScript? Part 2: V8 internals Part 3: V8 testing and benchmarking What is

More information

Chulalongkorn University International School of Engineering Department of Computer Engineering 2140105 Computer Programming Lab.

Chulalongkorn University International School of Engineering Department of Computer Engineering 2140105 Computer Programming Lab. Chulalongkorn University Name International School of Engineering Student ID Department of Computer Engineering Station No. 2140105 Computer Programming Lab. Date Lab 2 Using Java API documents, command

More information

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5 Technical Note Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5 In the VMware Infrastructure (VI) Perl Toolkit 1.5, VMware

More information

CS1002: COMPUTER SCIENCE OO MODELLING & DESIGN: WEEK 5

CS1002: COMPUTER SCIENCE OO MODELLING & DESIGN: WEEK 5 This Week CS1002: COMPUTER SCIENCE OO MODELLING & DESIGN: WEEK 5 School of Computer Science University of St Andrews Graham Kirby Alan Dearle More on Java classes Constructors Modifiers cdn.videogum.com/img/thumbnails/photos/commenter.jpg

More information

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry

More information

Norbert Schnell Victor Saiz Karim Barkati Samuel Goldszmidt IRCAM Centre Pompidou, STMS lab IRCAM-CNRS-UPMC, Paris France

Norbert Schnell Victor Saiz Karim Barkati Samuel Goldszmidt IRCAM Centre Pompidou, STMS lab IRCAM-CNRS-UPMC, Paris France Of Time Engines and Masters An API for Scheduling and Synchronizing the Generation and Playback of Event Sequences and Media Streams for the Web Audio API Norbert Schnell Victor Saiz Karim Barkati Samuel

More information

CSE 308. Coding Conventions. Reference

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

More information

Program Analysis for JavaScript Challenges and Techniques

Program Analysis for JavaScript Challenges and Techniques Program Analysis for JavaScript Challenges and Techniques Anders Møller Center for Advanced Software Analysis Aarhus University Joint work with Esben Andreasen, Simon Holm Jensen, Peter A. Jonsson, Magnus

More information

J a v a Quiz (Unit 3, Test 0 Practice)

J a v a Quiz (Unit 3, Test 0 Practice) Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

More information

Determinacy in Static Analysis for jquery

Determinacy in Static Analysis for jquery * Evaluated * OOPSLA * Artifact * AEC Determinacy in Static Analysis for jquery Esben Andreasen Anders Møller Aarhus University {esbena,amoeller}@cs.au.dk Consistent * Complete * Well Documented * Easy

More information

Facebook Twitter YouTube Google Plus Website Email

Facebook Twitter YouTube Google Plus Website Email PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute

More information

Qt Signals and Slots. Olivier Goffart. October 2013

Qt Signals and Slots. Olivier Goffart. October 2013 Qt Signals and Slots Olivier Goffart October 2013 About Me About Me QStyleSheetStyle Itemviews Animation Framework QtScript (porting to JSC and V8) QObject, moc QML Debugger Modularisation... About Me

More information

Finding XSS in Real World

Finding XSS in Real World Finding XSS in Real World by Alexander Korznikov nopernik@gmail.com 1 April 2015 Hi there, in this tutorial, I will try to explain how to find XSS in real world, using some interesting techniques. All

More information

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer

More information

EXT: SEO dynamic tag

EXT: SEO dynamic tag EXT: SEO dynamic tag Extension Key: seo_dynamic_tag Copyright 2007 Dirk Wildt, This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml

More information

Using Dedicated Servers from the game

Using Dedicated Servers from the game Quick and short instructions for running and using Project CARS dedicated servers on PC. Last updated 27.2.2015. Using Dedicated Servers from the game Creating multiplayer session hosted on a DS Joining

More information

Client-side Web Engineering From HTML to AJAX

Client-side Web Engineering From HTML to AJAX Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions

More information

JavaScript: The Good Parts by Douglas Crockford

JavaScript: The Good Parts by Douglas Crockford 1 JavaScript: The Good Parts by Douglas Crockford Publisher: O'Reilly Pub Date: May 2, 2008 Print ISBN-13: 978-0-596-51774-8 Pages: 170 Table of Contents Index Overview Most programming languages contain

More information

First 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. 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 information

ISOBUS VT. ISOBUS Virtual Terminal. User Manual HY33-4010-IB/UK

ISOBUS VT. ISOBUS Virtual Terminal. User Manual HY33-4010-IB/UK ISOBUS VT ISOBUS Virtual Terminal User Manual HY33-4010-IB/UK Vansco Electronics Oy (Parker Hannifin Corporation) Electronic Controls Division PO Box 86 (Tiilenlyöjänkatu 5) FI-30101 Forssa, Finland Office

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

Assignment 3 Version 2.0 Reactive NoSQL Due April 13

Assignment 3 Version 2.0 Reactive NoSQL Due April 13 CS 635 Advanced OO Design and Programming Spring Semester, 2016 Assignment 3 2016, All Rights Reserved, SDSU & Roger Whitney San Diego State University -- This page last updated 4/2/16 Assignment 3 Version

More information

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 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

More information

Performance Issues and Optimizations in JavaScript: An Empirical Study

Performance Issues and Optimizations in JavaScript: An Empirical Study Performance Issues and Optimizations in JavaScript: An Empirical Study Marija Selakovic and Michael Pradel Technical Report TUD-CS-15-1249 TU Darmstadt, Department of Computer Science October, 15 Performance

More information

Certified PHP/MySQL Web Developer Course

Certified PHP/MySQL Web Developer Course Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,

More information

This is a training module for Maximo Asset Management V7.1. It demonstrates how to use the E-Audit function.

This is a training module for Maximo Asset Management V7.1. It demonstrates how to use the E-Audit function. This is a training module for Maximo Asset Management V7.1. It demonstrates how to use the E-Audit function. Page 1 of 14 This module covers these topics: - Enabling audit for a Maximo database table -

More information

Easy-Cassandra User Guide

Easy-Cassandra User Guide Easy-Cassandra User Guide Document version: 005 1 Summary About Easy-Cassandra...5 Features...5 Java Objects Supported...5 About Versions...6 Version: 1.1.0...6 Version: 1.0.9...6 Version: 1.0.8...6 Version:

More information

Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example

Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example Overview Elements of Programming Languages Lecture 12: Object-oriented functional programming James Cheney University of Edinburgh November 6, 2015 We ve now covered: basics of functional and imperative

More information

NewsletterAdmin 2.4 Setup Manual

NewsletterAdmin 2.4 Setup Manual NewsletterAdmin 2.4 Setup Manual Updated: 7/22/2011 Contact: corpinteractiveservices@crain.com Contents Overview... 2 What's New in NewsletterAdmin 2.4... 2 Before You Begin... 2 Testing and Production...

More information

Internationalizing JavaScript Applications Norbert Lindenberg. Norbert Lindenberg 2013. All rights reserved.

Internationalizing JavaScript Applications Norbert Lindenberg. Norbert Lindenberg 2013. All rights reserved. Internationalizing JavaScript Applications Norbert Lindenberg Norbert Lindenberg 2013. All rights reserved. Agenda Unicode support Collation Number and date/time formatting Localizable resources Message

More information

Web Development using PHP (WD_PHP) Duration 1.5 months

Web Development using PHP (WD_PHP) Duration 1.5 months Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as

More information

An Object Storage Model for the Truffle Language Implementation Framework

An Object Storage Model for the Truffle Language Implementation Framework An Object Storage Model for the Truffle Language Implementation Framework Andreas Wöß Christian Wirth Daniele Bonetta Chris Seaton Christian Humer Hanspeter Mössenböck Institute for System Software, Johannes

More information

C++ INTERVIEW QUESTIONS

C++ INTERVIEW QUESTIONS C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get

More information

ECMAScript: A general purpose, cross-platform programming language

ECMAScript: A general purpose, cross-platform programming language Standard ECMA-262 June 1997 Standardizing Information and Communication Systems ECMAScript: A general purpose, cross-platform programming language Phone: +41 22 849.60.00 - Fax: +41 22 849.60.01 - URL:

More information

WebSphere Business Monitor V7.0 Script adapter lab

WebSphere Business Monitor V7.0 Script adapter lab Copyright IBM Corporation 2010 All rights reserved IBM WEBSPHERE BUSINESS MONITOR 7.0 LAB EXERCISE WebSphere Business Monitor V7.0 Script adapter lab What this exercise is about... 1 Changes from the previous

More information

Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk

Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk Programming Autodesk PLM 360 Using REST Doug Redmond Software Engineer, Autodesk Introduction This class will show you how to write your own client applications for PLM 360. This is not a class on scripting.

More information

PL/JSON Reference Guide (version 1.0.4)

PL/JSON Reference Guide (version 1.0.4) PL/JSON Reference Guide (version 1.0.4) For Oracle 10g and 11g Jonas Krogsbøll Contents 1 PURPOSE 2 2 DESCRIPTION 2 3 IN THE RELEASE 3 4 GETTING STARTED 3 5 TWEAKS 4 6 JSON PATH 6 7 BEHAVIOR & ERROR HANDLING

More information

TreatJS: Higher-Order Contracts for JavaScript

TreatJS: Higher-Order Contracts for JavaScript TreatJS: Higher-Order Contracts for JavaScript Matthias Keil and Peter Thiemann Institute for Computer Science University of Freiburg Freiburg, Germany {keilr,thiemann}@informatik.uni-freiburg.de Abstract

More information

MASTERTAG DEVELOPER GUIDE

MASTERTAG DEVELOPER GUIDE MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...

More information

TIBCO ActiveMatrix BPM Integration with Content Management Systems Software Release 2.2.0 September 2013

TIBCO ActiveMatrix BPM Integration with Content Management Systems Software Release 2.2.0 September 2013 TIBCO ActiveMatrix BPM Integration with Content Management Systems Software Release 2.2.0 September 2013 Two-Second Advantage Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE.

More information

Typo3 Extension API. mysqldump --password=[password] [database name] [tablename] --add-drop-table >./ext_tables_static.sql

Typo3 Extension API. mysqldump --password=[password] [database name] [tablename] --add-drop-table >./ext_tables_static.sql Typo3 Extension API Introduction Typo3 can be extended in nearly any direction without loosing backwards compatibility. The Extension API provides a powerful framework for easily adding, removing, installing

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

Java Programming Fundamentals

Java Programming Fundamentals Lecture 1 Part I Java Programming Fundamentals Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Introduction to Java We start by making a few

More information

Performance Testing for Ajax Applications

Performance Testing for Ajax Applications Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies

More information

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

More information

Ajax Performance Tuning and Best Practice

Ajax Performance Tuning and Best Practice Ajax Performance Tuning and Best Practice Greg Murray Doris Chen Ph.D. Netflix Sun Microsystems, lnc. Senior UI Engineer Staff Engineer Agenda > Optimization Strategies and Process > General Coding Best

More information

Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)

Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority) Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the

More information

HTTP REST Interface AnySenseConnect Version 3

HTTP REST Interface AnySenseConnect Version 3 Eemsgolaan 3 9727 DW Groningen P.O. Box 1416 9701 BK Groningen The Netherlands www.tno.nl HTTP REST Interface AnySenseConnect Version 3 T +31 88 866 70 00 F +31 88 866 77 57 infodesk@tno.nl Date 8 March

More information

How-To: Submitting PDF forms to SharePoint from custom websites

How-To: Submitting PDF forms to SharePoint from custom websites How-To: Submitting PDF forms to SharePoint from custom websites Introduction This How-To document describes the process of creating PDF forms using PDF Share Forms tools, and posting the form on a non-sharepoint

More information

Eventia Log Parsing Editor 1.0 Administration Guide

Eventia Log Parsing Editor 1.0 Administration Guide Eventia Log Parsing Editor 1.0 Administration Guide Revised: November 28, 2007 In This Document Overview page 2 Installation and Supported Platforms page 4 Menus and Main Window page 5 Creating Parsing

More information

Example of a Java program

Example of a Java program Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);

More information

JavaScript: Arrays. 2008 Pearson Education, Inc. All rights reserved.

JavaScript: Arrays. 2008 Pearson Education, Inc. All rights reserved. 1 10 JavaScript: Arrays 2 With sobs and tears he sorted out Those of the largest size... Lewis Carroll Attempt the end, and never stand to doubt; Nothing s so hard, but search will find it out. Robert

More information

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 Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun (cmjaun@us.ibm.com) Sudha Piddaparti (sudhap@us.ibm.com) Objective In this

More information

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided

More information

Crash Course in Java

Crash 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 information

How To Program In Scheme (Prolog)

How To Program In Scheme (Prolog) The current topic: Scheme! Introduction! Object-oriented programming: Python Functional programming: Scheme! Introduction Next up: Numeric operators, REPL, quotes, functions, conditionals Types and values

More information

JavaScript Basics & HTML DOM. Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com

JavaScript Basics & HTML DOM. Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com JavaScript Basics & HTML DOM Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com 2 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee

More information

Books for College Students. IT 3203 Introduction to Web Development. Creating Objects. Accessing Property Values. What s in an Object?

Books for College Students. IT 3203 Introduction to Web Development. Creating Objects. Accessing Property Values. What s in an Object? Books for College Students IT 3203 Introduction to Web Development JavaScript II Labeling Systems September 24 Notice: This session is being recorded. Copyright 2007 by Bob Brown The Deluxe Transitive

More information

Release Notes. DocuSign Spring 15 Release Notes. Contents

Release Notes. DocuSign Spring 15 Release Notes. Contents Release Notes Updated March 6, 2015 DocuSign Spring 15 Release Notes This document provides information about the updates deployed to the DocuSign Production environment as part of the March 6, 2015 DocuSign

More information

Teaching Non-majors Computer Programming Using Games as Context and Flash ActionScript 3.0 as the Development Tools

Teaching Non-majors Computer Programming Using Games as Context and Flash ActionScript 3.0 as the Development Tools Teaching Non-majors Computer Programming Using Games as Context and Flash ActionScript 3.0 as the Development Tools Yue-Ling Wong Wake Forest University Computer Science Department Winston-Salem, NC 27109

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free 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 information

Intel Rack Scale Architecture Storage Services

Intel Rack Scale Architecture Storage Services Intel Rack Scale Architecture Storage Services API Specification Software v. August 205 Revision 002 Document Number: 332878-002 All information provided here is subject to change without notice. Contact

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free 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 information

JavaScript: Control Statements I

JavaScript: Control Statements I 1 7 JavaScript: Control Statements I 7.1 Introduction 2 The techniques you will learn here are applicable to most high-level languages, including JavaScript 1 7.2 Algorithms 3 Any computable problem can

More information

Concepts and terminology in the Simula Programming Language

Concepts and terminology in the Simula Programming Language Concepts and terminology in the Simula Programming Language An introduction for new readers of Simula literature Stein Krogdahl Department of Informatics University of Oslo, Norway April 2010 Introduction

More information

07/04/2014 NOBIL API. Version 3.0. Skåland Webservice Side 1 / 16

07/04/2014 NOBIL API. Version 3.0. Skåland Webservice Side 1 / 16 NOBIL API Version 3.0 Skåland Webservice Side 1 / 16 Client API version 3.0 NOBIL is a comprehensive and trustworthy database covering all charging stations in Norway, and is open for other countries,

More information

Grandstream XML Application Guide Three XML Applications

Grandstream XML Application Guide Three XML Applications Grandstream XML Application Guide Three XML Applications PART A Application Explanations PART B XML Syntax, Technical Detail, File Examples Grandstream XML Application Guide - PART A Three XML Applications

More information

Exercise 4 Learning Python language fundamentals

Exercise 4 Learning Python language fundamentals Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also

More information

Using Safari to Deliver and Debug a Responsive Web Design

Using Safari to Deliver and Debug a Responsive Web Design Media #WWDC15 Using Safari to Deliver and Debug a Responsive Web Design Session 505 Jono Wells Safari and WebKit Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted

More information

PHP Tutorial From beginner to master

PHP Tutorial From beginner to master PHP Tutorial From beginner to master PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely-used, free, and efficient alternative to competitors such as Microsoft's ASP.

More information

JavaScript: Client-Side Scripting. Chapter 6

JavaScript: Client-Side Scripting. Chapter 6 JavaScript: Client-Side Scripting Chapter 6 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web http://www.funwebdev.com Development Section 1 of 8 WHAT IS JAVASCRIPT

More information

TIBCO ActiveMatrix BPM - Integration with Content Management Systems

TIBCO ActiveMatrix BPM - Integration with Content Management Systems TIBCO ActiveMatrix BPM - Integration with Content Management Systems Software Release 3.0 May 2014 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE.

More information