TypeScript für Fortgeschrittene
|
|
- Linette Lester
- 6 years ago
- Views:
Transcription
1 TypeScript für Fortgeschrittene Tobias Meier, BridgingIT GmbH
2 Tobias Meier Lead Softwarearchitekt Microsoft Blog: Wir bringen Dinge zusammen Standort Frankfurt Solmsstraße Frankfurt Standort Mannheim N7, Mannheim Standort Stuttgart Marienstraße Stuttgart Standort Nürnberg Königtorgraben Nürnberg Standort Köln Martinstraße Köln Standort Karlsruhe Rüppurrer Straße Karlsruhe Standort München Riesstraße München Standort Zug/Schweiz Baarerstraße 14 CH-6300 Zug Copyright BridgingIT GmbH Autor: Tobias Meier Mai
3 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
4 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
5 JavaScript Intellisense Typsicherheit Compiler Refactoring.
6 Warum TypeScript? Great tooling enabled by static types Features from the future today
7 Wie verwendet ihr TypeScript?
8 VSCode AutoImport Debugger for Chrome, Edge TSLint Codelens, Code Metrics Angular Language Service
9 Tooling in VSCode Quick Fixes Autoimport Codelens Code Metrics Angular Language Service
10 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
11 Aufwärmübung var conference = 'DevDays Magdeburg'; for (var i=2016; i< 2017; i++) { var conference = 'Dev Days Magdeburg ' +i; console.log (conference); console.log (conference);
12 Aufwärmübung 1 var conference = 'DevDays Magdeburg'; for (var i = 2016; i < 2017; i++) { var conference = 'Dev Days Magdeburg ' + i; console.log(conference); console.log(conference);
13 Aufwärmübung 2 let conference = 'DevDays Magdeburg'; for (var i = 2016; i < 2017; i++) { let conference = 'Dev Days Magdeburg ' + i; console.log(conference); console.log(conference);
14 Aufwärmübung 3 const conference = 'DevDays Magdeburg'; for (var i = 2016; i < 2017; i++) { conference = 'Dev Days Magdeburg ' + i; console.log(conference); console.log(conference);
15 Destructuring (1/4) const sessions = ['IOT', 'TypeScript', 'Automatisieren'] const [session1, session2, session3] = sessions; console.log(session1); console.log(session2); console.log(session3);
16 Destructuring (2/4) const sessions = ['IOT', 'TypeScript', 'Automatisieren'] const [session1,...weiteresessions] = sessions; console.log(session1); console.log(weiteresessions.join());
17 Destructuring (3/4) const person = { firstname: 'Tobias', surname: 'Tobias', plz: '70178', city: 'Stuttgart', street: 'Marienstraße 17' ; const { firstname, surname,...address = person; console.log(firstname); console.log(surname); console.log(address.plz); console.log(address.city); console.log(address.street);
18 Destructuring (4/4) const person = { firstname: 'Tobias', surname: 'Tobias', plz: '70178', city:'stuttgart', street:'marienstraße 17' ; const {firstname :vorname, surname:nachname,...address: adresse = person; console.log (vorname); console.log (nachname); console.log(adresse.plz); console.log(adresse.city); console.log(adresse.street);
19 Parameter: Optional, Default, Sonstige function buildaddress(firstname: string, surname?: string,...address: string[]) { let result = surname; if (surname) result = result + ' ' + surname; return result + address.join(' '); console.log(buildaddress( 'Tobias', 'Meier','70178','Stuttgart', 'Marienstr. 17'));
20 Klasse als Interface verwenden class Person{ name: string; interface OnlinePerson extends Person { string; const person: OnlinePerson = {name: 'Meier', 'tobias.meier@bridging-it.de'; console.log (person. );
21 Spread let original = { name: 'Tobias' ; let address = { city: 'Stuttgart' ; let copy = {...original ; let merged = {...original,...address ; let obj = { x: 1, y: "string" ; var newobj = {...obj, z: 3, y: 4 ;
22 Rest let obj = { x: 1, y: 1, z: 1 ; let { z,...obj1 = obj; console.log (obj1.x); console.log (obj1.y);
23 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
24 Null und undefined function add (zahl1: number, zahl2: number null):number { return zahl1 + (zahl2!= null? zahl2 : 0); tsconfig.json "compileroptions": { "strictnullchecks": true var result = add (1,1); // => 2 var result = add (1,null); // => 1 Nun auch in Angular verwendbar: Angular //Kompilierfehler var result = add (null,1);
25 Intersection Types interface Company { name: string interface Address { street: string, plz: string, city:string type CompanyWithAddress = Company & Address const person : CompanyWithAddress = { name: "BridgingIT GmbH", plz: "70178", city: "Stuttgart", street: "Marienstraße 17" ;
26 Datentypen: Union Types function sum (x: number number[]) { if (typeof x === "number") { return x + 10; else { // return sum of numbers
27 Type Guard typeof function format(obj: string number): string { if (typeof obj === 'number') { return obj.tolocalestring(); return obj; console.log( format("abc") ); console.log( format(10.124));
28 Type Guard instanceof class Person { constructor(public firstname: string, public lastname: string){ class Company { constructor(public companyname: string) { function getname(obj: Person Company): string { if (obj instanceof Person) { return obj.firstname + ' ' + obj.lastname; return obj.companyname;
29 Eigene Type Guards function isperson(obj: Person Company): obj is Person { if (obj instanceof Person) { return true; return false; var obj: Person Company = new Company("BridingIT GmbH"); if (isperson(obj)) { console.info(obj.lastname); else { console.info(obj.companyname);
30 Discriminated Union interface Square { kind: "square"; size: number; interface Rectangle { kind: "rectangle"; width: number; height: number; interface Circle { kind: "circle"; radius: number; type Shape = Square Rectangle Circle; function area(s: Shape) { switch (s.kind) { case "square": return s.size * s.size; case "rectangle": return s.width * s.height; case "circle": return Math.PI *s.radius * s.radius;
31 Fluent API: Polymorphic this class StringBuilder { add (str: string) : this { // return this; class AdvancedStringBuilder extends StringBuilder { appendline () : this { return this; new AdvancedStringBuilder().add('Hello').appendLine();
32 Mapped Types class User { firstname: string; surname: string; interface ReadonlyUser { readonly firstname: string; readonly surname: string; const user = new User(); user.firstname = 'Tobias'; user.surname = 'Meier'; const ruser = <ReadonlyUser> user; ruser.firstname = "tobias";
33 Mapped Types: Readonly class User { firstname: string; surname: string; const user = new User(); user.firstname = 'Tobias'; user.surname = 'Meier'; const ruser = <Readonly<User>> user; ruser.firstname = "tobias";
34 Mapped Types: Partial class User { firstname: string; surname: string; const user : User = {firstname: 'Tobias'; const puser : <Partial<User>> = {firstname: 'Tobias';
35 Und wie lautet der Zaubertrick?
36 Keyof-Operator type Readonly<T> = { readonly [P in keyof T]: T[P]; type Partial<T> = { [P in keyof T]?: T[P];
37 Mapped Types: Record type Person = Record<'firstname' 'surname' ' ', string>; const person1 = <Person> { firstname:"tobias", surname:"meier", "tobias.meier@bridging-it.de" ;
38 Mapped Types: Pick type Person=Record<'firstname' 'surname' ' ',string>; const P1 = <Person> { firstname:"tobias", surname:"meier", "tobias.meier@bridging-it.de" ; type OnlinePerson = Pick<Person, ' '>; const P2 = <OnlinePerson> P1; console.log(p2. );
39 Keyof-Operator Record und Pick type Record<K extends string number, T> = { [P in K]: T; type Pick<T, K extends keyof T> = { [P in K]: T[P];
40 String Literal Types type Direction= "north" "south" "west" "east"; function drive (dir: Direction) { //. drive ('north'); //ok drive ('east'); //ok drive ('n'); //error
41 Type Assertions interface SquareConfig { color?: string; width?: number; function createsquare(config: SquareConfig): { color: string; area: number { return null; let mysquare = createsquare({ colour: "red", width: 100 );
42 Type Assertions interface SquareConfig { color?: string; width?: number; function createsquare(config: SquareConfig): { color: string; area: number { return null; let mysquare = createsquare({ colour: "red", width: 100 as SquareConfig );
43 Type Assertions interface SquareConfig { color?: string; width?: number; [propname: string]: any; function createsquare(config: SquareConfig): { color: string; area: number { //.. let mysquare = createsquare( { colour: "red", width: 100 );
44 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
45 async / await async function main() { await ping(); async function ping() { for (var i = 0; i < 10; i++) { await delay(300); console.log("ping"); function delay(ms: number) { return new Promise(resolve => settimeout(resolve, ms)); main();
46 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
47 Decorator Entspricht Attributen in C# Feature muss explizit aktiviert werden: In Angular stark verwendet:
48 Eigener Decorator (1/2) function sealed(constructor: Function) { Object.seal(constructor); Object.seal(constructor.prototype);
49 Eigener Decorator (2/2): function logger(): any { return function (target: any, propertykey: string, descriptor: PropertyDescriptor) { const originalmethod = descriptor.value; descriptor.value = function (...args: any[]) { console.log("called method " + propertykey +" (" + JSON.stringify(args) +")"); const result = originalmethod.apply(this, args); console.log("method " + propertykey +" returns:" + result); return result; ; return descriptor; ; var sb = new StringBuilder(); sb.add('hallo').add(' Magdeburg');
50 Mixins class Person{ ///... export type Constructable = new (...args: any[]) => object; export function Timestamped<BC extends Constructable>(Base: BC) { return class extends Base { timestamp = new Date(); ; const TimestampedPerson= Timestamped(Person); const person1 = new TimestampedPerson(); console.info (person1.timestamp);
51 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
52 Modulauflösung Angelehnt an NodeJS Tracing : tsconfig.json { "compileroptions": { "moduleresolution": "node", "traceresolution": true
53 Modulauflösung (relativ) File Main.ts: import {Cust from './customer'; File 'C:/Projekte/ET/ts/customer.ts' does not exist. File 'C:/Projekte/ET/ts/customer.tsx' does not exist. File 'C:/Projekte/ET/ts/customer.d.ts' does not exist. Directory 'C:/Projekte/ET/ts/customer' does not exist, skipping all lookups in it. Loading module as file / folder, candidate module location 'C:/Projekte/ET/ts/customer', target file type 'JavaScript'. File 'C:/Projekte/ET/ts/customer.js' does not exist. File 'C:/Projekte/ET/ts/customer.jsx' does not exist. Directory 'C:/Projekte/ET/ts/customer' does not exist, skipping all lookups in it. ======== Module name './customer' was not resolved. ========
54 Modulauflösung (absolut) File Main.ts: import {Cust from 'customer'; File 'C:/Projekte/ET/ts/node_modules/customer.ts' does not exist. File 'C:/Projekte/ET/ts/node_modules/customer.tsx' does not exist. File 'C:/Projekte/ET/ts/node_modules/customer.d.ts' does not exist. Directory does not exist, skipping all lookups in it. Directory 'C:/Projekte/ET/node_modules' does not exist, skipping all lookups in it. Directory 'C:/Projekte/node_modules' does not exist, skipping all lookups in it. Directory 'C:/node_modules' does not exist, skipping all lookups in it. Loading module 'customer' from 'node_modules' folder, target file type 'JavaScript'. File 'C:/Projekte/ET/ts/node_modules/customer.js' does not exist. File 'C:/Projekte/ET/ts/node_modules/customer.jsx' does not exist. Directory 'C:/Projekte/ET/node_modules' does not exist, skipping all lookups in it. Directory 'C:/Projekte/node_modules' does not exist, skipping all lookups in it. Directory 'C:/node_modules' does not exist, skipping all lookups in it. ======== Module name 'customer' was not resolved. ========
55
56 SystemJS: Textdateien importieren 1/2 System.config({ map: { text: 'path/to/text.js' ); import mytext from './mytext.html!text';
57 SystemJS: Textdateien importieren 1/2 tsconfig.json { "compileroptions": { "sourcemap": true, "module": "system", "target": "es5", "strictnullchecks": true, "alwaysstrict": true, "exclude": [ "node_modules", "jspm_packages", "**/*.spec.ts" ] package.json (Ausschnitt) { "jspm": { "dependencies": { "systemjs": "npm:systemjs@^ ", "text": "github:systemjs/plugin-text@^0.0.9", "devdependencies": { "jspm": " "
58 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
59 TSConfig Meine Empfehlung { "compileroptions": { "target": "es5", "module": "commonjs", "noimplicitthis": false, "strict": true Erzeugbar über: tsc -init Seit TypeScript 2.3
60 Agenda Status quo, Editor Support Advanced Variables, Interfaces and Classes Advanced Types Async / Await Decorators und Mixins Module Resolution Projektsetup Erste Hilfe
61 VS-Code TypeScript-Version: TypeScript-Version: tsc v Suchpfad überprüfen where tsc
62 TypeScript wächst
63 TypeScript für Fortgeschrittene JavaScript that scales Great tooling enabled by static types Features from the future today
64 Vielen Dank Blog: Bilder:
Nick Senger & Jesse van den Kieboom
Using TypeScript with the ArcGIS API for JavaScript Nick Senger & Jesse van den Kieboom Live version of this presentation is available on: https://jkieboom.github.io/devsummit-palm-springs-2018/presentations/typescript-arcgis-js-api
More informationOne language to rule them all: TypeScript. Gil Fink CEO and Senior Consultant, sparxys
One language to rule them all: TypeScript Gil Fink CEO and Senior Consultant, sparxys About Me sparxys CEO and Senior consultant Microsoft MVP in the last 8 years Pro Single Page Application Development
More informationIntroduction to TypeScript
AngularJS and TypeScript SPA Development, http://www.iproduct.org/ Introduction to TypeScript e-mail: tiliev@iproduct.org web: http://www.iproduct.org Oracle, Java and JavaScript are trademarks or registered
More informationIN4MATX 133: User Interface Software
IN4MATX 133: User Interface Software Lecture 7: Package Management & TypeScript Professor Daniel A. Epstein TA Jamshir Goorabian TA Simion Padurean 1 A1 Make sure you Push as well as Committing! Need to
More informationAn Introduction to TypeScript. Personal Info
An Introduction to TypeScript Jason Bock Practice Lead Magenic Level: Beginner/Intermediate Personal Info http://www.magenic.com http://www.jasonbock.net https://www.twitter.com/jasonbock https://www.github.com/jasonbock
More informationTypeScript. Часть II. Старков Дима
TypeScript Часть II Старков Дима 1 Сегодня Вывод типов Структурная типизация Более сложные типы Обобщенные типы Type Guards 2 TypeScript? Спасет от выстрелов себе в ногу ESNext прямо сейчас Средство против
More information3/6/2018 Spectacle PARALLELIZING PRODUCT DEVELOPMENT WITH GRAPHQL.
@chrisbiscardi PARALLELIZING PRODUCT DEVELOPMENT WITH GRAPHQL http://localhost:3000/#/6?export 1/48 honeycomb.io coffee @chrisbiscardi biscarch CHRISBISCARDI http://localhost:3000/#/6?export 2/48 APPLICATION
More informationJSON Evaluation. User Store
Overview Demo following technologies: JSON Node Package Manager npm Node modules. Very brief introduction to asynchronous programming using async and await. Mongo db JSON JavaScript Object Notation. Inductive
More informationMAKE NODEJS APIs GREAT WITH TYPESCRIPT
MAKE NODEJS APIs GREAT WITH TYPESCRIPT ABOUT ME I really like my work, software engineering never makes me bored, always keeps in learning and improving mood. dmytro.zharkov@gmail.com http://bit.ly/2fam3lr
More informationAngular 2: What s new? Jonas Bandi, IvoryCode GmbH
Angular 2: What s new? Jonas Bandi, IvoryCode GmbH Once upon a time the world was peacefully creating applications with AngularJS but change was lurking in the maze of a mailing list https://groups.google.com/forum/#!search/misko$20hevery$20may$2022$202013/polymer-dev/4rsyakmbtek/uyny3900wpij
More informationLab 1 - Introduction to Angular
Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get
More informationECMAScript oder? - das ist hier die Frage - Version: 1.3. Orientation in Objects GmbH. Weinheimer Str Mannheim.
ECMAScript oder? - das ist hier die Frage - Version: 1.3 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler @ThorstenMaier
More informationIntroduction to the SharePoint Framework Bob German Principal Architect - BlueMetal. An Insight company
Introduction to the SharePoint Framework Bob German Principal Architect - BlueMetal An Insight company Bob German Bob is a Principal Architect at BlueMetal, where he leads Office 365 and SharePoint development
More informationMidterm Exam. 5. What is the character - (minus) used for in JavaScript? Give as many answers as you can.
First Name Last Name CSCi 90.3 March 23, 2010 Midterm Exam Instructions: For multiple choice questions, circle the letter of the one best choice unless the question explicitly states that it might have
More informationexcalibur Documentation
excalibur Documentation Release Erik Onarheim, Josh Edeen, Kamran Ayub Aug 12, 2017 User Documentation 1 Installing Excalibur.js 3 1.1 Getting Excalibur............................................. 3
More informationTypeScript. Jonathan Kula 12/3/2018
TypeScript Jonathan Kula 12/3/2018 Introducing TypeScript A superset of JavaScript. This means that all JavaScript code is valid TypeScript code! TypeScript just adds some new features that will make your
More informationAdvanced React JS + Redux Development
Advanced React JS + Redux Development Course code: IJ - 27 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 astr. hours / 54 study 1 hours Sofia, 2016 Copyright 2003-2016
More informationChapter 1 - Development Setup of Angular
Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular
More informationEIN. Java Forum Stuttgart Dominik Schadow bridgingit
EIN VAULT FÜRALLE FÄLLE Java Forum Stuttgart 2018 Dominik Schadow bridgingit spring: datasource: name: mydatabase username: mydatabaseuser password: mysupersecretdatabasepassword management: context-path:
More informationnpm install [<name> [<name>...]] [--save --save-dev --save-optional]
Node Package Manager by Jesse Warden http://www.jessewarden.com v1 npm ls Everything you have installed in the current directory. npm search [search terms] Search the registry for packages matching the
More informationCREATING APPS WITH UI5
CREATING APPS WITH UI5 Me Tobias Hofmann Senior Consultant PROFILE Fiori Cloud CONTACT Twitter: @tobiashofmann E-Mail: tobias.hofmann@bridging-it.de Portal Mobile Architect & Developer BridgingIT GmbH
More informationJavaScript. History. Adding JavaScript to a page. CS144: Web Applications
JavaScript Started as a simple script in a Web page that is interpreted and run by the browser Supported by most modern browsers Allows dynamic update of a web page More generally, allows running an arbitrary
More informationThe Basics of Visual Studio Code
/ VS Code 0.9.1 is available. Check out the new features /updates and update /docs/howtoupdate it now. TOPICS The Basics Tweet 16 Like 16 Edit in GitHub https://github.com/microsoft/vscode docs/blob/master/docs/editor/codebasics.md
More informationThe course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA2442 Introduction to JavaScript Objectives This intensive training course
More informationTypeScript. TypeScript. RxJS
Web 2017.08 About Me TypeScript TypeScript RxJS 2014 X 4 0 Mac/Windows Native UI Web Angular React JavaScript IM User DING Contact RPC Native Nw.js C++ Cef 2014 10 Web 11 nw.js Web App IM DING DING ->
More informationJavaScript Lecture 2
JavaScript Lecture 2 Waterford Institute of Technology May 5, 2016 John Fitzgerald Waterford Institute of Technology, JavaScriptLecture 2 1/28 JavaScript Introduction Topics discussed this presentation
More informationCustom Types. Outline. COMP105 Lecture 19. Today Creating our own types The type keyword The data keyword Records
Outline COMP105 Lecture 19 Custom Types Today Creating our own types The type keyword The data keyword Records Relevant book chapters Programming In Haskell Chapter 8 Learn You a Haskell Chapter 8 The
More informationJScript Reference. Contents
JScript Reference Contents Exploring the JScript Language JScript Example Altium Designer and Borland Delphi Run Time Libraries Server Processes JScript Source Files PRJSCR, JS and DFM files About JScript
More informationNode.js. Node.js Overview. CS144: Web Applications
Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly
More informationWhat is Node.js? Tim Davis Director, The Turtle Partnership Ltd
What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks
More informationTypeScript. Types. CS144: Web Applications
TypeScript Superset of JavaScript (a.k.a. JavaScript++) to make it easier to program for largescale JavaScript projects New features: types, interfaces, decorators,... All additional TypeScript features
More informationIAT 355 : Lab 01. Web Basics
IAT 355 : Lab 01 Web Basics Overview HTML CSS Javascript HTML & Graphics HTML - the language for the content of a webpage a Web Page put css rules here
More informationECMAScript 2015 The Future of JavaScript is Now!
ECMAScript 2015 The Future of JavaScript is Now! Tom Van Cutsem SPLASH-I 2015 @tvcutsem Talk Outline Part I: JavaScript s origins, and the long road to ECMAScript 6 Part II: a brief tour of ECMAScript
More informationJavaScript. History. Adding JavaScript to a page. CS144: Web Applications
JavaScript Started as a simple script in a Web page that is interpreted and run by the browser Supported by most modern browsers Allows dynamic update of a web page More generally, allows running an arbitrary
More informationAngular 2 Programming
Course Overview Angular 2 is the next iteration of the AngularJS framework. It promises better performance. It uses TypeScript programming language for type safe programming. Overall you should see better
More informationInductive Data Types
Inductive Data Types Lars-Henrik Eriksson Functional Programming 1 Original slides by Tjark Weber Lars-Henrik Eriksson (UU) Inductive Data Types 1 / 42 Inductive Data Types Today Today New names for old
More informationData Types and the main Function
COMP101 - UNC Data Types and the main Function Lecture 03 Announcements PS0 Card for Someone Special Released TODAY, due next Wednesday 9/5 Office Hours If your software has issues today, come to office
More informationVariables and Typing
Variables and Typing Christopher M. Harden Contents 1 The basic workflow 2 2 Variables 3 2.1 Declaring a variable........................ 3 2.2 Assigning to a variable...................... 4 2.3 Other
More informationCOMP200 INHERITANCE. OOP using Java, from slides by Shayan Javed
1 1 COMP200 INHERITANCE OOP using Java, from slides by Shayan Javed 2 Inheritance Derive new classes (subclass) from existing ones (superclass). Only the Object class (java.lang) has no superclass Every
More informationQuick Desktop Application Development Using Electron
Quick Desktop Application Development Using Electron Copyright Blurb All rights reserved. No part of this book may be reproduced in any form or by any electronic or mechanical means including information
More informationFull Stack boot camp
Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building
More informationCOMP200 ABSTRACT CLASSES. OOP using Java, from slides by Shayan Javed
1 1 COMP200 ABSTRACT CLASSES OOP using Java, from slides by Shayan Javed Abstract Classes 2 3 From the previous lecture: public class GeometricObject { protected String Color; protected String name; protected
More informationFrontend UI Training. Whats App :
Frontend UI Training Whats App : + 916 667 2961 trainer.subbu@gmail.com What Includes? 1. HTML 5 2. CSS 3 3. SASS 4. JavaScript 5. ES 6/7 6. jquery 7. Bootstrap 8. AJAX / JSON 9. Angular JS 1x 10. Node
More informationCatbook Workshop: Intro to NodeJS. Monde Duinkharjav
Catbook Workshop: Intro to NodeJS Monde Duinkharjav What is NodeJS? NodeJS is... A Javascript RUNTIME ENGINE NOT a framework NOT Javascript nor a JS package It is a method for running your code in Javascript.
More informationwebpack bundle inner structure and optimization Alexey Ivanov, Evil Martians
webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians Evil Martians Evil Martians What I'm working on Problems Multiple versions of lodash or underscore. Problems Multiple versions
More informationClasses vs Simple Object Delegation In JavaScript
Classes vs Simple Object Delegation In JavaScript Things to consider... Do we want to (deeply) understand what our code is doing? Do we want encapsulation? Do we want true private variables and functions?
More informationDecorators. Userland Extensions to ES6 Classes
Decorators Userland Extensions to ES6 Classes Userland Classes Class.new({ init: function(firstname, lastname) { this.firstname = firstname; this.lastname = lastname; this._super();, fullname: function()
More informationTimo Korinth MAXIMAGO. Flexbox CSS Layouting der Zukunft
Timo Korinth MAXIMAGO Flexbox CSS Layouting der Zukunft Special Day Modern Business Applications Thema Sprecher Datum, Uhrzeit Raum TypeScript für.net-entwickler Christian Wenz DI, 20. September 2016,
More informationBuilding Your own Widget with ArcGIS API for JavaScript
Building Your own Widget with ArcGIS API for JavaScript Matt Driscoll @driskull JC Franco @arfncode Agenda About Widgets Prerequisites Widget framework Theming DO IT! Tips & tricks About Widgets What?
More informationPrinciples of Programming Languages
Principles of Programming Languages www.cs.bgu.ac.il/~ppl172 Collaboration and Management Dana Fisman Lesson 2 - Types with TypeScript 1 Types What are types in programming languages? What types are you
More informationSecrets in the Cloud JAX Dominik Schadow
Secrets in the Cloud JAX 2017 Dominik Schadow bridgingit spring: datasource: username: mydatabaseuser password: mysupersecretdatabasepassword ID USERNAME PASSWORD SECRET_ID SECRET_DATA kvgkiu7zupidk9g7wua
More informationFRONT END WEB. {< Course Details >}
FRONT END WEB {< Course Details >} centers@acadgild.com www.acadgild.com 90360 10796 css { } HTML JS { ; } centers@acadgild.com www.acadgild.com 90360 10796 Brief About the Course Our Front end development
More informationChapter 23. Inheritance and Polymorphism
B B Chapter 23 Inheritance and Polymorphism 533 This chapter describes six levels of abstraction. Data abstraction, encompassing Type abstraction, and Structure abstraction Control abstraction, encompassing
More informationArjen de Blok. Senior Technical Consultant bij ICT Groep ( sinds 1995 Programmeren sinds 1990 Technologiën. Links
Arjen de Blok Senior Technical Consultant bij ICT Groep (www.ict.eu) sinds 1995 Programmeren sinds 1990 Technologiën Links Visual C++ met Microsoft Foundation Classes.NET WinForms & WPF Silverlight ASP.NET
More informationIntroduction to. Angular. Prof. Dr.-Ing. Thomas Wiedemann.
EwA - Web based systems Introduction to Angular Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH) Fachbereich Informatik/Mathematik
More informationFlowCAD. FlowCAD Webinar. OrCAD / Allegro PCB Editor Trucs et astuces November 2012
FlowCAD Webinar OrCAD / Allegro PCB Editor Trucs et astuces 8. November 2012 Print Screen from the Canvas Open Windows Explorer with the working folder Z-Copy: Copy a Shape to another Layer Z-Copy: Copy
More informationSebastiano
Sebastiano Armeli @sebarmeli http://html5hub.com/wp-content/uploads/2013/11/es6-hiway-sign.png Sebastiano Armeli @sebarmeli ES6 History 199 199 199 199 199 200 200 5 6 7 8 9 0 3 JSScript ECMA-262 Ed.2
More informationBrunch Documentation. Release Brunch team
Brunch Documentation Release 1.2.2 Brunch team June 22, 2012 CONTENTS i ii Contents: CONTENTS 1 2 CONTENTS CHAPTER ONE FAQ 1.1 I want to start new project with Brunch. What s the workflow? Create new
More informationWebStorm, intelligent IDE for JavaScript development
, intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product
More informationCourse Outline. ProTech Professional Technical Services, Inc. Comprehensive Angular 7 Course Summary. Description
Course Summary Description Use Angular 7 to easily build web applications that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. Learn
More informationiwiki Documentation Release 1.0 jch
iwiki Documentation Release 1.0 jch January 31, 2014 Contents i ii Contents: Contents 1 2 Contents CHAPTER 1 Python 1.1 Python Core 1.1.1 Strings 1.1.2 Functions Argument Lists *args tuple/list **kwargs
More informationC # 7, 8, and beyond: language features from design to release to IDE support. Kevin
C # 7, 8, and beyond: language features from design to release to IDE support Kevin Pilch kevinpi@microsoft.com @Pilchie Stack Overflow - most popular technologies http://stackoverflow.com/insights/survey/2017#most-popular-technologies
More informationSymbols. accessor properties, attributes, creating, adding properties, 8 anonymous functions, 20, 80
Index Symbols { } (braces) for function contents, 18 and object properties, 9 == (double equals operator), 5 === (triple equals operator), 5 [ ] (square brackets) for array literals, 10 for property access,
More informationNode.js Training JavaScript. Richard richardrodger.com
Node.js Training JavaScript Richard Rodger @rjrodger richardrodger.com richard.rodger@nearform.com A New Look at JavaScript Embracing JavaScript JavaScript Data Structures JavaScript Functions Functional
More informationASSIGNMENT 3 Classes, Objects and the Robot World
ASSIGNMENT 3 Classes, Objects and the Robot World COMP-202B, Winter 2009, All Sections Due: Tuesday, March 3, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified, you
More informationBedienungsanleitung / Handbuch / Datenblatt
Bedienungsanleitung / Handbuch / Datenblatt Sie benötigen einen Reparaturservice für Ihren Etikettendrucker oder suchen eine leicht zu bedienende Etikettensoftware? Wir helfen Ihnen gerne weiter. Ihr Partner
More informationMultimedia-Programmierung Übung 7
Multimedia-Programmierung Übung 7 Ludwig-Maximilians-Universität München Sommersemester 2009 Ludwig-Maximilians-Universität München Multimedia-Programmierung 7-1 Today Introduction to No more Python :ʼ-(
More informationSicherheit beim Build
Sicherheit beim Build Java Forum Stuttgart 2017 Dominik Schadow bridgingit Verify your security activities Integration into the build pipeline Find security issues as early as possible Catch the low hanging
More informationJavaScript Programming
JavaScript Programming Mendel Rosenblum 1 How do you program in JavaScript? From Wikipedia:... supporting object-oriented, imperative, and functional programming... Mostly programming conventions (i.e.
More informationAdvanced Clojure Microservices. Tobias Bayer Hamburg,
Advanced Clojure Microservices Tobias Bayer Hamburg, 30.09.2016 Tobias Bayer Senior Developer / Software Architect inovex GmbH Clojure, Java, Cloud tobias.bayer@inovex.de https://github.com/tobiasbayer
More informationAutomate with Grunt. Extracted from: The Build Tool for JavaScript. The Pragmatic Bookshelf
Extracted from: Automate with Grunt The Build Tool for JavaScript This PDF file contains pages extracted from Automate with Grunt, published by the Pragmatic Bookshelf. For more information or to purchase
More informationTypeScript. Language Specification. Version 1.8
TypeScript Language Specification Version 1.8 January, 2016 Microsoft is making this Specification available under the Open Web Foundation Final Specification Agreement Version 1.0 ("OWF 1.0") as of October
More informationNode.js 8 the Right Way
Extracted from: Node.js 8 the Right Way Practical, Server-Side JavaScript That Scales This PDF file contains pages extracted from Node.js 8 the Right Way, published by the Pragmatic Bookshelf. For more
More informationDeep Dive on How ArcGIS API for JavaScript Widgets Were Built
Deep Dive on How ArcGIS API for JavaScript Widgets Were Built Matt Driscoll @driskull JC Franco @arfncode Agenda Prerequisites How we got here Our development lifecycle Widget development tips Tools we
More informationINF3110 Programming Languages Types, Subtyping and Object Orientation
INF3110 Programming Languages Types, Subtyping and Object Orientation 8/28/17 1 Object orientation and types Lecture I (today) Lecture II What is a type and why should we care? From predefined (simple)
More informationJavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology
JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy
More informationPSADK THE POWERSHELL APP DEPLOYMENT TOOLKIT
PSADK THE POWERSHELL APP DEPLOYMENT TOOLKIT SINISA SOKOLIC CHIEF INFORMATION OFFICER Citrix XenApp und XenDesktop SCCM Automation 17 years in the field AGENDA Wrappers Packaging PowerShell PSADK SCCM WRAPPERS
More informationTypeScript coding JavaScript without the pain
TypeScript coding JavaScript without the pain @Sander_Mak Luminis Technologies INTRO @Sander_Mak: Senior Software Engineer at Author: Dutch Java Magazine blog @ branchandbound.net Speaker: AGENDA Why TypeScript?
More informationSichere Webanwendungen mit Java
Sichere Webanwendungen mit Java Karlsruher IT- Sicherheitsinitiative 16.07.2015 Dominik Schadow bridgingit Patch fast Unsafe platform unsafe web application Now lets have a look at the developers OWASP
More informationDECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE
DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE Who we are and Why we are here? Saurabh Chugh Started Drupal journey in 2010 with Drupal 6, long journey with Drupal
More informationExtensible Java Pre-processor
Extensible Java Pre-processor National Institute of Advanced Industrial Science and Technology(AIST) Yuuji Ichisugi http://staff.aist.go.jp/y-ichisugi/ 2002/12/17 1 What is EPP? Language extension framework
More informationStencil: The Time for Vanilla Web Components has Arrived
Stencil: The Time for Vanilla Web Components has Arrived Gil Fink sparxys CEO @gilfink / www.gilfink.net Typical Application Web Page Design From Design to Implementation Session List Day tabs Component
More informationJavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects
JavaScript CAC Noida is an ISO 9001:2015 certified training center with professional experience that dates back to 2005. The vision is to provide professional education merging corporate culture globally
More informationGitHub code samples. Appendix B
Appendix B GitHub code samples The vast majority of the code samples in this book were taken from Microsoft Visual Studio 2013 solutions. Although not all of them are directly runnable, they can all be
More informationLEARN WITH INTRODUCTION TO TYPESCRIPT
LEARN WITH INTRODUCTION TO TYPESCRIPT By Jeffry Houser http://www.learn-with.com http://www.jeffryhouser.com https://www.dot-com-it.com Copyright 2017 by DotComIt, LLC Contents Title Page... 2 Introduction
More informationData Visualization (DSC 530/CIS )
Data Visualization (DSC 530/CIS 602-02) Web Programming Dr. David Koop 2 What languages do we use on the Web? 3 Languages of the Web HTML CSS SVG JavaScript - Versions of Javascript: ES6, ES2015, ES2017
More informationAutomating developer tasks with custom SQLcl scripts. APEX Connect 2017 Berlin,
Automating developer tasks with custom SQLcl scripts APEX Connect 2017 Berlin, 2017-05-11 @mennooo About me mennooo Menno Hoogendijk Fulltime APEX developer Working with Oracle since 2008 Tries to be a
More informationIntroduction to Ceylon. Stéphane Épardaud Red Hat
Introduction to Ceylon Stéphane Épardaud Red Hat Executive summary What is Ceylon Why Ceylon Features and feel Demo The community Status 2 About Stéphane Épardaud Open-Source projects RESTEasy, Ceylon
More informationFrench-Australian Regional Informatics Olympiad Thursday 9th March, 2017
French-Australian Regional Informatics Olympiad Thursday 9th March, 2017 Duration: 4 hours 3 questions All questions should be attempted FARIO 2017 Pair Programming Problem 1 Pair Programming Input File:
More informationQuick Review of Object-Oriented Programming in Go
Quick Review of Object-Oriented Programming in Go 02-201 Structs: Grouping Variables as Objects type Rectangle struct { x1 float64 y1 float64 width float64 height float64 type Circle struct { x1 float64
More informationEsprima. Release master
Esprima Release master Apr 15, 2018 Contents 1 Chapter 1. Getting Started 1 1.1 Supported environments......................................... 1 1.2 Using Node.js to play with Esprima...................................
More informationcreate 2 new grid lines
STEP 1: open your class-01 Project file _ go to Level 1 _ select grid line 1 _ type CO (copy) _ repeat for grid line 3 as shown in image 1 Architectural Column STEP 2: from the Ribbon under the Home tab
More informationPractical Node.js. Building Real-World Scalable Web Apps. Apress* Azat Mardan
Practical Node.js Building Real-World Scalable Web Apps Azat Mardan Apress* Contents About the Author About the Technical Reviewer Acknowledgments Introduction xv xvii xix xxi Chapter 1: Setting up Node.js
More informationPointers, Dynamic Data, and Reference Types
Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation The new operator The delete operator Dynamic Memory Allocation for Arrays 1 C++ Data Types simple
More informationUNIT -II. Language-History and Versions Introduction JavaScript in Perspective-
UNIT -II Style Sheets: CSS-Introduction to Cascading Style Sheets-Features- Core Syntax-Style Sheets and HTML Style Rle Cascading and Inheritance-Text Properties-Box Model Normal Flow Box Layout- Beyond
More informationTopic 7: Algebraic Data Types
Topic 7: Algebraic Data Types 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 5.5, 5.7, 5.8, 5.10, 5.11, 5.12, 5.14 14.4, 14.5, 14.6 14.9, 14.11,
More informationCS-202 Introduction to Object Oriented Programming
CS-202 Introduction to Object Oriented Programming California State University, Los Angeles Computer Science Department Lecture III Inheritance and Polymorphism Introduction to Inheritance Introduction
More informationCSE 8B Programming Assignments Spring Programming: You will have 5 files all should be located in a dir. named PA3:
PROGRAMMING ASSIGNMENT 3: Read Savitch: Chapter 7 Programming: You will have 5 files all should be located in a dir. named PA3: ShapeP3.java PointP3.java CircleP3.java RectangleP3.java TriangleP3.java
More information"Charting the Course... Comprehensive Angular 6 Course Summary
Course Summary Description Build applications with the user experience of a desktop application and the ease of deployment of a web application using Angular. Start from scratch by learning the JavaScript
More informationJavaScript I Language Basics
JavaScript I Language Basics Chesapeake Node.js User Group (CNUG) https://www.meetup.com/chesapeake-region-nodejs-developers-group START BUILDING: CALLFORCODE.ORG Agenda Introduction to JavaScript Language
More information