Oliver Zeigermann JavaScript für Java-Entwickler
|
|
- Maja Engel
- vor 8 Jahren
- Abrufe
Transkript
1 Oliver Zeigermann JavaScript für Java-Entwickler
2 4 Vorurteile 1. JavaScript ist eine tote Sprache 2. Java als Sprache ist sauberer und klarerer als JavaScript 3. JavaScript-Anwendungen sind ein einziges Chaos 4. Es gibt keinen vernünftigen IDE- Support für JavaScript
3 Vorurteil: JavaScript ist tot Zitat (anonymer redhat-entwickler): JavaScript is doomed to die
4 Warum gerade jetzt JavaScript? Browser werden immer Standard konformer IE6 ist tot JS Engines immer reifer und schneller JS läuft auf jedem Device JS ist Bürger erster Klasse auf Windows 8 Seit ECMAScript 5 ist JavaScript als Sprache gut genug u.a. strict mode
5 HTML5 = HTML + CSS + JavaScript LocalStorage, SessionStorage, index DB, WebSql Canvas Web Workers DnD Web Sockets
6 Vorurteil: Java als Sprache ist sauberer und klarerer als JavaScript Zitat (anonymer Clean Coder): Dein JavaScript sieht aus wie ein Merge-Conflict
7 Grundlagen
8 Hello World #1 <!DOCTYPE html> <html> <head> <script> alert("hello World"); </script> </head> <body></body> </html>
9 Hello World #2 <!DOCTYPE html> <html> <body> <div id="log"></div> <script> var el = document.getelementbyid("log"); el.innerhtml = "<h1>hello World</h1>"; </script> </body> </html>
10 Hello World #3 node -e "console.log('hello World');"
11 Funktionen function f1(p1, p2) { return p1 + p2; } var result1 = f1(1,2); console.log(result1); // => 3 var result2 = f1(1); // WOW console.log(result2); // => NaN
12 Objekte var map = {key1: "value1", key2: 1}; var value1 = map.key1; var value2 = map["key2"]; map.key1 = true; map.f = function() { return "Cool!" }; for (var key in map) { console.log(key + ":" + map[key]); }
13 Ist JavaScript eine schlechte Sprache? Die hässlichen bzw. verwirrenden Teile von JavaScript sind offensichtlich und wohlbekannt 1. Scopes 2. Prototypische Vererbung 3. Wie wird this gesetzt? 4. Hoisting
14 Keine lexikalischen Scopes { } var shouldbelocal = "I am still here"; console.log(shouldbelocal); // => I am still here console.log(shouldbelocal); // => I am still here
15 Scopes mit IIFE (function () { var thatsthewaythecookiecrumbles = "I am gone"; console.log(thatsthewaythecookiecrumbles); // => I am gone })(); console.log(thatsthewaythecookiecrumbles); // => ReferenceError
16 Prototypische Vererbung extends(horse, Animal); function Horse(name) { Animal.call(this, name); } Horse.prototype.move = function () { alert("galloping..."); Animal.prototype.move.call(this, 45); }; var bb = new Horse( Black Beauty ); bb.move();
17 this this kann in JavaScript auf mindestens 5 Arten gesetzt werden 1. Globaler Scope 2. Konstruktor 3. Methodenaufruf 4. call / apply 5. bind Wie this gebunden wird, ist auch für erfahrene JavaScript-Programmierer nicht immer einfach
18 Hoisting console.log(doesnotexist); // Uncaught ReferenceError console.log(hoisted); // undefined var hoisted = 10; console.log(hoisted); // 10
19 ... aber...
20 Ist Java eine klare und einfache Sprache? Bitte alle Arme nach oben Nun Arm runter wer nicht komplett versteht oder gar nicht weiß, wo das Problem liegen sollte Bitte ehrlich sein Boxing / Un-Boxing Generics Initialisierungsreihenfolge bei Klassen und Vererbung
21 Was ist hier falsch? public class GenericDatastoreServiceImpl<T extends HasId<String> & HasStringData, String> implements GenericDataService<String, T> { String wat = ; // Incompatible types }
22 These: JavaScript und Java haben beide ihre schlimmen Teile, aber an die von Java haben wir uns schon gewöhnt...
23 JavaScript ist nicht schlechter als Java, sondern anders
24 Fragen-Block #1 Timebox: 5 Minuten
25 Vorurteil: JavaScript-Anwendungen sind Chaos Zitat (anonymer GWT-Entwickler): JavaScript-Anwendungen sind unstrukturiertes Chaos und können nicht optimiert werden
26 Module var Module = {}; (function() { function InternalStuff() {...} function Person(name, age) { // uses class InternalStuff } Module.Person = Person; })(); var olli = new Module.Person("Olli", 42); Module.InternalStuff === undefined;
27 Live-Demo: Best Practices Entwicklungsprozess
28 Zusammenfassung Live- Demo #1 1. Es gibt ein reifes Build-Tool (Grunt) für JavaScript, vergleichbar mit Gradle 2. Turnaround-Zeiten fast nicht vorhanden 3. Produktionsversionen können statisch zusammengestellt und optimiert werden
29 Zusammenfassung Live- Demo #2 4. Es gibt ein statisches (!) Abhängigkeitsmanagement (Bower), vergleichbar mit Maven / Ivy 5. Werkzeuge werden über node / npm installiert 6. Automatisierte Linter und Tests sind Standard
30 Vorurteil: Es gibt keinen vernünftigen IDE-Support für JavaScript Zitat (anonymer JavaScript- Entwickler): Die beste JavaScript-IDE ist vi
31 Live-Demo: JavaScript IDE WebStorm
32 Zusammenfassung Live-Demo #1 1. Es gibt ausgereifte, mit JUnit vergleichbare Testframeworks 2. Testläufe und Code-Coverage in eng in IDE integriert 3. Umfangreiche Checks mit unterschiedlichen Tools möglich
33 Zusammenfassung Live-Demo #2 4. Code-Completion / Code-Analyse / Refactoring komfortabel aber nicht immer verlässlich 5. zusätzliche Typ-Deklarationen (TypeScript / Closure Compiler) bringen Verlässlichkeit
34 Best-Practices Refactoring JavaScript #1 1. Breite und sinnvolle Testabdeckung (noch wichtiger als in Java) 1. Unit 2. Integration 2. Möglichst kleine Module mit klaren Schnittstellen 3. Evtl. Event-Bus
35 Best-Practices Refactoring 4. Typen einführen JavaScript #2 Google Closure Compiler TypeScript 5. Keine komplexen Expressions in Templates 6. Mächtige IDE benutzen
36 Mehr Vorurteile Es gibt keinen Standard, jeder Browser implementiert seinen eigenen Dialekt JavaScript ist langsam JavaScript ist wie CSS und HTML für Designer, nicht für richtige Entwickler Große Projekte sind nicht möglich
37 Zusammenfassung JavaScript lebt JavaScript und seine Umgebung sind reif für echte Anwendungen Es gibt vernünftige JavaScript-IDEs JavaScript ist nicht hässlicher als Java, nur anders hässlich
38 Nathaniel Schutta, Dienstag, 5. November :30 bis 17:30 The JavaScript Developer's Toolchain
39 Kai Tödter, Mittwoch, 6. November :15 bis 11:15 TypeScript: Das neue JavaScript?
40 Ted Neward, Mittwoch, 6. November :15 bis 11:15 Busy Developer's Guide to NodeJS
41
42 Vielen Dank für die Aufmerksamkeit Fragen / Diskussion Oliver
43 Bonus-Vorurteil: Mit JavaScript kann man keine großen, wartbaren Projekte umsetzen Zitat (anonymer Java-Architekt): Programmieren ohne ein starkes Typensystem ist wie ohne Bremsen auf der Autobahn fahren
44 Was ist ein großes Projekt? Viele Tausend (Hunderttausend?) Zeilen Code Viele (externe) Abhängigkeiten Viele Entwickler arbeiten daran Kommen und Gehen Es lebt viele Jahre (manchmal mehrere Jahrzehnte)
45 Was braucht ein großes Projekt? Der Code muss gut wartbar sein Modular Analysierbar Refactorbar Der Code muss gut lesbar sein Gute Dokumentation? Es muss ein brauchbares Abhängigkeitsmanagement geben Es muss ein Build-Management und CI geben Der Code muss gut getestet sein inkl. automatisierbarer Tests
46 AngularJS: Beispiel eines großen JavaScript-Projekts Anzahl JS-Zeilen (ohne Tests): ~50k cd src; find. -name '*.js' xargs wc -l Tests: >30k Unit und e2e JavaScript braucht typischerweise deutlich weniger Code als Java für die gleich Aufgabe Interne Module ~10 > 20 Abhängigkeiten zu anderen Projekten u.a. jquery, selbst noch einmal so groß Lebt seit 2009 Kernteam bei Google > 10 > 300 externe Mitarbeiter am Projekt
47 Automatisiertes Build und CI Abhängigkeitesmanagement über node / npm und bower Build über grunt Integration in Travis und Jenkins
48 JsDoc Dokumentation ähnlich wie JavaDoc Generiert direkt die Webseite
49 Google Closure Compiler Statische Typinformation in Kommentaren Angeleht an JsDoc Erweitert um alle aus Java bekannten Konstrukte inkl. Sichtbarkeit Typinformation wird benutzt für Dokumentation Minifizierung Statische Checks Besseres Tree Shaking WebStorm-IDE Code-Completion Analyse Refactoring
50 Beispiel Closure Annotationen /** Converts the specified string to lowercase. * {string} string String to be converted to lowercase. {string} Lowercased string. */ function lowercase(string) { }
51 Tests Unit-Tests mit Jasmine E2E-Tests mit anguluar-scenario direkt auf den Code-Beispielen in der Dokumentation Automatische Ausführung auf jedem CI server Karma-Testrunner PhantomJS: Headless Browser
52 Exkurs: Brauchen wir Typen? Zitat (anonymer JavaScript-Hacker): Deklarierte Typen sind für ältere Leute, die mit dynamischen Sprachen überfordert sind
53 Welchen Vorteil haben deklarierte, statische Typen? Oft gehört: Man kann sich nicht verschreiben Der Compiler bietet durch sein Typensystem eine Reihe von automatischen Tests Das Programm enthält weniger Fehler
54 Welchen Vorteil haben sie wirklich? Wie schwer ist die Auswirkung? Wie schwer ist die Ursache zu finden? Allerdings: Ohne deklarierte, statische Typen gibt es keine verlässliche IDE- Unterstützung.
55 Wie gehen wir damit um? Option 1: Annehmen Wir wissen darum und stellen uns darauf ein Wir definieren Module mit sehr klaren Schnittstellen Wir halten diese Module klein Wir nutzen die bestmöglichen IDEs Wir haben eine sinnvolle Testabdeckung
56 Wie gehen wir damit um? Option 2: Deklarierte Typen Wir fügen JavaScript deklarierte Typen hinzu Dadurch erlangen wir IDE-Unterstützung vergleichbar mit der von Java Optionen sind Google Closure-Compiler und TypeScript Beide werden von WebStorm unterstützt
57 Live-Demo: Das Riesen-Projekt Angular.js Automatisches Build Automatische Tests Typen mit dem Closure-Compiler
TypeScript JavaScript mit ohne Kopfschmerzen. Veit Weber 3. JUG Saxony Day Radebeul
TypeScript JavaScript mit ohne Kopfschmerzen Veit Weber 3. JUG Saxony Day 30.09.2016 Radebeul Über mich blog.pikodat.com veit_weber Workshops Apps AngularJS Java EE Agenda 01 02 03 Die Krankheit JavaScript
MehrMit AngularJS Projekte schnell an die Wand fahren
Mit AngularJS Projekte schnell an die Wand fahren Häufige Fehler und wie sie sich vermeiden lassen Rouven Röhrig 2 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und
MehrXML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1
XML Technologien Seminar WS 2011/2012 01.04.12 Einführung in HTML5 1 EINFÜHRUNG IN HTML5 Eine kurze historische Einführung HTML5 Ausblick und kritische Reflexion 01.04.12 Einführung in HTML5 2 Eine kurze
MehrJavaScript ohne Schrecken?
NILS HARTMANN Eine Einführung in TypeScript JavaScript ohne Schrecken? Slides: https://bit.ly/jug-saxony-typescript JUG SAXONY DAY DRESDEN SEPTEMBER 2018 @NILSHARTMANN NILS HARTMANN Programmierer aus Hamburg
MehrFlorian Rappl. TypeScript
Florian Rappl TypeScript Profil Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Kurzer Abriss Aufschwung von JS Vielzahl von Bibliotheken / Code Größere
MehrWeb-Techniken Einführung in JavaScript
Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2
MehrVorstellung e.solutions
Vorstellung e.solutions JavaScript, TDD und Code-Katas 1 Copyright e.solutions 5/3/2017 e.solutions Das Joint Venture von Audi und Elektrobit Bereiche bei e.solutions Bereiche bei e.solutions Erlangen
MehrLT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE. Ralf Enderle
LT 56 - NODE.JS ES GIBT AUCH SCHÖNE MOMENTE Ralf Enderle BE AWARE! Wir betrachten in diesem Lighting Talk ausschließlich die schönen Effekte einiger Feature von Node.js bzw. JavaScript. Über die dunklen
MehrCode-Organisation in JavaScript
Code-Organisation in JavaScript Webworker-Stammtisch NRW 10. Januar 2013 Frederic Hemberger Codekapselung What happens in Vegas, stays in Vegas. Warum sollte man Code kapseln? Wir haben immer mehr Scripte
MehrGoogle s JavaScript Engine: V8
Google s JavaScript Engine: V8 Thomas Hütter (1120239) Mario Preishuber (1120643) Fachbereich Computerwissenschaften Naturwissenschaftliche Fakultät 24. Februar 2014 1 von 17 INHALT Allgemein Was ist JavaScript?
MehrÜberblick. Klassen Optionale Typen DOM. Optionale Parameter Klassen. Einführung. 2 Motivation 3 Werkzeuge 4 Demonstration 5 Dart
Eine kurze Lehrstuhl für Datenmanagement und -exploration RWTH Aachen Proseminar SS 2012 1 / 17 Überblick 1 2 3 4 5 6 7 8 2 / 17 1 -basierte Programmiersprache für Webanwendungen Entwickelt von Google
MehrWeb-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum
1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung
MehrScala. Abstrakte Elemente. Jevgeni Zelenkov. HM
Scala. Abstrakte Elemente Jevgeni Zelenkov. HM. 2010. Was sind abstrakte Elemente Abstrakte Elemente sind Elemente in Traits oder Klassen, die keine konkrete Implementierung haben. Abstrakte Klassen und
MehrNILS HARTMANN. React MODERNE WEB-ANWENDUNGEN MIT. Slides: BED-CON BERLIN SEPTEMBER
NILS HARTMANN React MODERNE WEB-ANWENDUNGEN MIT Slides: http://bit.ly/bedcon-react BED-CON BERLIN SEPTEMBER 2017 @NILSHARTMANN NILS HARTMANN Programmierer aus Hamburg Java JavaScript, TypeScript Trainings
Mehrjavascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.
javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl
MehrARS. JavaScript/node.js Entwickler (m/w) ARS Computer und Consulting GmbH /
JavaScript/node.js Entwickler (m/w) Computer und Consulting GmbH www.ars.de / hr@ars.de DAS INTERVIEW HR Managerin Anita Feuchtinger im Interview mit einem unserer JavaScript Entwickler: HR: Wo arbeitest
MehrMit AngularJS Projekte schnell an die Wand fahren
Mit AngularJS Projekte schnell an die Wand fahren Häufige Fehler und wie sie sich vermeiden lassen Rouven Röhrig 2 Agenda 1. Herausforderungen in Enterprise-JavaScript-Projekten 2. Was ist AngularJS und
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrWebentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo
Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components
MehrCI was tut sich mit Jenkins in Sachen Test?
CI was tut sich mit Jenkins in Sachen Test? Ziel dieses Vortrags Sie sehen, dass CI mit Jenkins für alle Projektbeteiligte Nutzen stiftet Sie kennen den aktuellen Stand der Testautomation Statische Code-Analyse
MehrInformatik II Übung 6 Gruppe 7
Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,
MehrSoftwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany
Softwaretechnik Vorlesung 02: Spezifikation mit Typen Peter Thiemann Universität Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 21 Inhalt Spezifikation mit Typen Exkursion:
Mehrstring: Beispiele: Test, test, `Seitentitel: ${document.title}`
JS Crashkurs Einige JavaScript spezifische Dinge zusammengefasst. Datentypen Javascript kennt folgende primitiven Datentypen: undefined number: Beispiele: 1 1.0.0 1. 0x1 1e0 boolean: true oder false string:
MehrFrontend-Entwicklung mit JavaScript
headquarter Frontend-Entwicklung mit JavaScript Single Page Applications Server-Side HTML Rendering Client-Side HTML Rendering kein JavaScript wenig JavaScript nur JavaScript Der Browser bietet viele neue
MehrDas lustige Überlebenshandbuch. Oliver Pehnke, Benjamin Schmid
Das lustige Überlebenshandbuch für JavaScript Oliver Pehnke, Benjamin Schmid nasa.org ist die erfolgreichste Sprache JavaScript JavaScript ist die erfolgreichste Sprache im im bekannten bekannten Universum.
MehrNILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN. React.
NILS HARTMANN OLIVER ZEIGERMANN EINSTIEG IN React http://bit.ly/react-lehmanns LEHMANNS MEDIA HAMBURG SEPTEMBER 2016 NILS HARTMANN @NILSHARTMANN OLIVER ZEIGERMANN @DJCORDHOSE HTTP://REACTBUCH.DE SINGLE
MehrNode.js Einführung Manuel Hart
Node.js Einführung Manuel Hart Seite 1 Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2 1. Node.js Grundlagen Node.js is a JavaScript runtime
MehrSoftware build (-erstellung), deployment(-verteilung) und execution(-ausführung)
Software build (-erstellung), deployment(-verteilung) und execution(-ausführung) (in eingebetteten Systemen) Inputvortrag Nebenläufige Systeme am 1.11.18 Georg Ringwelski Was machen Sie beim Entwickeln
MehrEinführung in Google Web Toolkit
Einführung in Google Web Toolkit Lars Pfannenschmidt Tobias Ullrich Software Freedom Day 2009 Lars Pfannenschmidt, Tobias Ullrich () Einführung in Google Web Toolkit Software Freedom Day 2009 1 / 24 Aus
MehrÜber mich. Daniel Bälz. Softwareentwickler (inovex GmbH) github.com/dbaelz
Quo vadis Dart? Über mich Daniel Bälz Softwareentwickler (inovex GmbH) dbaelz.de plus.dbaelz.de github.com/dbaelz Agenda Was Wie Warum Wohin Was ist Dart? Übersicht Einsatzgebiet Client (Browser, CLI)
MehrMultimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011
Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 3-1 Übungsblatt - 3 Thema: JavaScript
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrAuf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript...
Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Funktionen und funktionale Aspekte... 61 3 Objektorientierte Programmierung mit JavaScript... 121 4 ECMAScript 6... 173 5 Der Entwicklungsprozess...
MehrÜbung Open Data: Daten mit D3.js visualisieren
Übung Open Data: Daten mit D3.js visualisieren Termin 6, 26. März 2015 Dr. Matthias Stürmer und Prof. Dr. Thomas Myrach Universität Bern, Institut für Wirtschaftsinformatik Abteilung Informationsmanagement
MehrBuild Management Tool
Build Management Tool Build-Prozess? Source Code 3rd Party libraries Veröffentlichung Download all 3rd Party libs by hand Compile your sources: javac -sourcepath./src1;./src2 Byte Code -cp lib1.jar;lib2.jar
Mehrversus Christian Grobmeier http://www.grobmeier.de @grobmeier
versus Christian Grobmeier http://www.grobmeier.de @grobmeier Programmiersprache von Google Kann JS ersetzen Läuft in einer VM Für ernsthafte Anwendungen Jung und rockt Heavy Metal Band aus England Ersetzt
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9d: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans
MehrXHTML MP. Mobile Internet. Axel Reusch ar047 MIB
XHTML MP Mobile Internet Axel Reusch ar047 MIB Agenda Was ist XHTML MP Prinzip Funktionsweise WTAI Vorteile Nachteile Quellen Seite 2 Untermenge von XHTML (aktuell XHTML 1.1) Strikteres HTML (alle Tags
MehrRobuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten. Christoph Kern, Google
Robuste und Praktikable Ansätze zur Verhinderung von Sicherheitsdefekten Christoph Kern, Google Weit verbreitete Sicherheitslücken SQL-injection, XSS, XSRF, etc -- OWASP Top 10 Grundproblem: APIs/Frameworks
MehrPraktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005
Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:
MehrVorwort Einleitung Entstehung und Historie 18
Inhalt Vorwort 13 1 Einführung n 1.1 Einleitung 17 1.2 Entstehung und Historie 18 1.3 Einsatzgebiete von JavaScript 19 1.3.1 Clientseitige JavaScript-Webanwendungen 19 1.3.2 Serverseitige JavaScript-Anwendungen
MehrWERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER
KURZPROFIL Die Softwareentwicklung erfordert viele Voraussetzungen an eine Person wie analytisches Denken, Kompetenzen in der Problemlösung und natürlich fachliche Fähigkeiten in der Anwendungsentwicklung.
MehrThe app the crashes, before the breakpoint is reached: Code to the event:
I have set a breakpoint in an asyc event-handler to ListView.ItenTapped-Event (see screenshot below): I then tap on an ListView-entry on my iphone 5 The app the crashes, before the breakpoint is reached:
MehrContao 4 Extension, from scratch!
Contao 4 Extension, from scratch! Christian Schiffler Contao Nordtag 2017 25. März 2017 1/20 Xtra oder - der mit m Hut. Wers n das? About Christian Xtra Schiffler trägt meistens einen Hut und seltsame
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrOnline Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum: 26.06.12.
Online Kataloge Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum: 26.06.12 Autor: Manuel Ginesta Kontakt: m.ginesta@ncag.ch Versionsliste Version Datum
MehrObjektorientiertes JavaScript
Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische
MehrASP: Active Server Pages
ASP: Active Server Pages Allgemeines: ASP ist die serverseitige Schnittstelle zu Skripten/Programmen ausgehend vom Microsoft-Internet- Information-Server (z.b. in Windows-Server enthalten) Skript- und
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
ECHNISCHE UNIVERSIÄ MÜNCHEN FAKULÄ FÜR INFORMAIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2007/2008 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 9 F. Forster,. Gawlitza,
MehrSpock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden?
Stuttgarter Test-Tage 21. & 22. März 2013 Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden? Christian Baranowski Willkommen Christian
MehrBuild Management Tool?
Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation
MehrMit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln
Mit dem Google-Web-Toolkit moderne Web-Anwendungen entwickeln Ziel dieses Vortrags Ich möchte Sie davon überzeugen, dass das Google-Web-Toolkit (GWT) das aktuell beste Tool zur Erstellung von modernen
MehrEcholot Qualitätssicherung mit Sonar
Echolot Qualitätssicherung mit Sonar Thomas Haug thomas.haug@mathema.de www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain
Mehr<body> <h1>testseite für HTML-Parameter-Übergabe<br>50 Parameter werden übergeben</h1>
Demo-Programme Parameterübergabe an PHP Testseite für HTML-Parameter-Übergabe (Datei get_param_test.html) testseite für
MehrAndroid-Testautomatisierung mit Robotium
Android-Testautomatisierung mit Robotium Daniel Knott XING AG @dnlkntt http://www.adventuresinqa.com Daniel Knott Manager Quality Assurance @dnlkntt daniel.knott@xing.com Daniel Knott hat einen technischen
MehrWidget-Entwicklung für jquery Mobile
Widget-Entwicklung für jquery Mobile 2 Widget-Entwicklung für jquery Mobile 3 Widget-Entwicklung für jquery Mobile Plugins Plugin 4 Widget-Entwicklung für jquery Mobile Plugins... von dritten 5 Widget-Entwicklung
MehrInformatik II Übung 7 Gruppe 7
Informatik II Übung 7 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 7 Leyna Sadamori 10. April 2014 1 Administratives Nächste Übung fällt leider aus! Bitte eine andere Übung besuchen.
MehrSystemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
MehrRAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich
RAP vs. GWT vs. GAE/J + jquery Web Technologien im Verlgeich RAP vs GWT vs jquery Dominik Wißkirchen 30. Oktober 2010 Abkürzungen RAP AJAX RWT Rich AJAX Platform Asynchronous JavaScript and XML RAP Widget
MehrProfil. Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP
Florian Rappl Gulp Profil Freiberuflicher IT-Berater Doktorand Theoretische Physik Microsoft MVP für Visual C# CodeProject MVP Build Automation Skripte Make Grunt Gulp Vorteile von Grunt Task Runner Configuration-over-scripting
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrForms Desktop Kooperation
Forms Desktop Kooperation Oracle Forms in Integration & Interaktion Forms Day 2019 Motivation Kennen Sie diese Argumente? Kein modernes GUI.. fehlende Komponenten Forms zu starr und wird als Insel empfunden
MehrAnatomie eines Compilers am Beispiel von Pugs
Ingo Blechschmidt LUGA 3. August 2005 Inhalt Pugs 1 Pugs Übersicht Entwicklung Pläne Beteiligungsmöglichkeiten 2 Arbeitsschritte Beispiel: - 3 Perl 6 PIL PIL JavaScript Probleme 4 Pugs
MehrAutomatisieren von Alltagsaufgaben. Tobias Meier BridgingIT GmbH
Automatisieren von Alltagsaufgaben Tobias Meier BridgingIT GmbH Tobias Meier Lead Softwarearchitekt Microsoft Blog: http://blog.bridging-it.de/author/tobias.meier Twitter: @bittobiasmeier Email: Tobias.Meier@bridging-it.de
MehrRapid Java wie mit Forms
DOAG Konferenz 2011 Rapid Java wie mit Forms Java aktuell: XDEV 3 ist die erste professionelle Java IDE für Rapid Application Development. Viele RAD-Funktionen und die Arbeitsweise damit erinnern sehr
MehrMobile hybride Applikationen Investment-App der BW-Bank
Mobile hybride Applikationen Investment-App der BW-Bank avono Aktiengesellschaft Breite Straße 2 70173 Stuttgart www.avono.de Fon (0711) 28 07 57 0 Fax (0711) 28 07 57-28 Ihr Referent Manfred Heiland Senior
MehrInhalt. Teil I: Der Sprachkern von JavaScript
Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...
Mehr4. Vererbung Die Klasse Object. Die Klasse Object
4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige
MehrBuild Management Tool?
Build Management Tool? Funktionen Dependency Management Kompiliert den Sourcecode in Binaries Führt automatisierte Tests aus Installiert Software oder Lädt sie in Repositories Erstellt eine Dokumentation
MehrWebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java
MehrProgrammieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik
Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem
MehrWas kann man in APEX automatisieren?
Was kann man in APEX automatisieren? Oleg Kiriltsev Düsseldorf, 10.06.2015 Persönliche Daten Oleg Kiriltsev (31) Dipl.-Inform. Uni Duisburg-Essen Seit März 2013 IT-Berater bei MT AG, Oracle APEX Development
MehrProgrammieren in Python
13. Docstrings und weitere Kleinigkeiten Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011 Docstrings Dokumentation des Programms durch Kommentare im Code. Blockkommentare
MehrWebbasierte Programmierung
Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 5: JavaScript Erste Schritte in JavaScript Variablen Definition Typen
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
MehrDie Klasse Vertiefung
Die Klasse Vertiefung Vom Objekt zur Klasse Basis des OO-Paradigmas ist (wen verwundert es): Das Objekt Objekte werden in der Lehre und im allgemeinen Programmier-Jargon selbstverständlich mit Klassen
Mehr4. Februar 2008 Klausur EWA
Hochschule Darmstadt fbi Fachbereich Informatik Klausur Entwicklung webbasierter Anwendungen (EWA), WS 07/08 4. Februar 2008 Klausur EWA Name Vorname Matrikelnummer Note Aufgabe max. Punkte erreichte Punkte
MehrWERDEGANG BENJAMIN STELLJES FULL STACK WEB DEVELOPER
KURZPROFIL Die Softwareentwicklung erfordert viele Voraussetzungen an eine Person wie analytisches Denken, Kompetenzen in der Problemlösung und natürlich fachliche Fähigkeiten in der Anwendungsentwicklung.
MehrDaniela Reiner. Stuttgart,
Data driven documentation für PL/SQL Daniela Reiner Consultant daniela.reiner@trivadis.com Stuttgart, 14.05.2009 Basel Baden Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München
MehrWebsockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server.
Websockets Websocket: Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Vergleichbar mit TCP/IP-Socket, aber durch Client-Skript direkt nutzbar Mit eingebauter Nachrichten-Fragmentierung.
MehrPersönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy
Über Ant und Maven zu SBT und Gradle Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy 07.04.2011 Speaker Andreas Hartmann [hartmann@adesso.de] Principal Software Engineer
MehrModulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team
Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer
MehrHTML5. christian.cueni@bfh.ch
HTML5 christian.cueni@bfh.ch christian Cueni fh Biel Elektrotechnik Swisscom Eurospot / Swisscom Innovations / 89grad web / Mobile Web /
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrJava Webentwicklung (mit JSP)
Java Webentwicklung (mit JSP) SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 1 Inhalt 1 Zielsetzung... 1 2 Webprojekt mit Netbeans... 2 2.1 Webprojekt erstellen... 2 2.1.1 Neues Projekt... 2 2.2 Aufbau
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
MehrAngular & TypeScript. Grundlagen
Angular & TypeScript Grundlagen Überblick TypeScript Typen & Grundlagen Klassen & Interfaces Dekoratoren Module Tooling Modul Systeme & Module Loader TypeScript Compiler & Linting BuildSystem:
MehrWir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase.
Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG www.agentbase.de 1 Agenda Grundlagen Modernisierung Möglichkeiten mit Domino
MehrRefactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag
Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität
MehrC++ OpenCppCoverage. Detlef Wilkening
http://www.wilkening-online.de Seite 1 / 52 C++ OpenCppCoverage Detlef Wilkening 10.11.2016 http://www.wilkening-online.de Seite 2 / 52 Warum überhaupt dieser Vortrag? Wir waren mal wieder in einer Gruppe
Mehrjquery DIE Javascript-Library
jquery DIE Javascript-Library Uwe Dierolf INETBIB 2010, 14. April.2010 KIT-BIBLIOTHEK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholz-Gemeinschaft Inhalt Motivation
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrD ie Z ukunft m it H TM L5
D ie Z ukunft m it H TM L5 Folien unter http://www.w3c.de/events/2009/webtech-html5/sasaki-webtech09-html5.pdf 1 HTML5-Beispiele getestet mit Firefox 3.5.3 2 Sprecher Hauptschwerpunkte Mehrsprachige Daten
Mehr