Was kann man machen, um Angular-1.x-Code auf Angular 2 vorzubereiten? Welche Möglichkeiten werden in der nächsten Zeit aufkommen, um einen Parallelbetrieb zu realisieren.
Was kann man machen, um Angular-1.x-Code auf Angular 2 vorzubereiten? Welche Möglichkeiten werden in der nächsten Zeit aufkommen, um einen Parallelbetrieb zu realisieren.
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)Christian Janz
Oft hört man die Aussage, dass man mit JavaScript keine professionellen Geschäftsanwendungen entwickeln kann. In dieser Session möchte ich versuchen, diese Aussage zu widerlegen. Hierzu werde ich zeigen, wie bewährte Konzepte, wie z.B. Continuous Integration, für eine AngularJS-Anwendung verwendet und umgesetzt werden können.
OSMC 2012 | Automatische Konfiguration von Nagios/Icinga mit Agordamon by Chr...NETWAYS
Agordamon ist ein Perlmodul zur scriptgesteuerten Konfiguration von Nagios und Icinga. Es erleichtert dem Admin seine Aufgaben, indem es reproduzierbar und somit regelbasiert Konfigurationen auf Basis von verschiedenen Eingangsformaten generieren kann.
Diese Eingangsformate können sowohl Auszüge von Inventarlisten und CMDBs sein als auch Ergebnisslisten des Netzwerkanalysetools nmap. Hauptanwendungsbereich sind große Netzwerke, in denen unbemerkt vom Monitoringteam neue Hardware in Betrieb genommen und überwacht werden können muss. Der Vortrag gibt eine Einführung in Agordamon und erläutert seine Verwendung anhand praktischer Beispiele.
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Torben Knerr
Slides zu meinem Vortrag für die Karlsruher Entwickler Tage 2017:
https://entwicklertag.de/karlsruhe/2017/automatisierte-entwickler
Demo Repositories:
https://github.com/tknerr/etka2017-demo-repo
https://github.com/tknerr/etka2017-developer-vm
Gurukrupa presents Marina enclave property in Malad west near Jankalyan Nagar where you cherish countless experiences. 2 BHK apartments for sale in malad west To live life to the fullest, it has 9 exclusive zones where every moment spent will be a memorable one. A lavish community amidst a serene environment offers 1, 2 and 3 BHK elegant sea facing apartments. The project is strategically located in the prime of the western Mumbai, Malad. Live by the sea with all the worldly needs nearer to you. Project Hallmarks a landscape of lavish community amidst a serene environment. 2 and 3 BHK lavish sea-facing apartments 7.5 acres of ample parking area. Sprawling 1, 50,000 sq. ft of designer landscape area. Western Mumbai’s most promising location .Close proximity to Marve beach, link road, Billabong High School and Atharva College of Engineering.
Building Enterprise Applications with AngularJS (GDG DevFest Karlsruhe 2014)Christian Janz
Oft hört man die Aussage, dass man mit JavaScript keine professionellen Geschäftsanwendungen entwickeln kann. In dieser Session möchte ich versuchen, diese Aussage zu widerlegen. Hierzu werde ich zeigen, wie bewährte Konzepte, wie z.B. Continuous Integration, für eine AngularJS-Anwendung verwendet und umgesetzt werden können.
OSMC 2012 | Automatische Konfiguration von Nagios/Icinga mit Agordamon by Chr...NETWAYS
Agordamon ist ein Perlmodul zur scriptgesteuerten Konfiguration von Nagios und Icinga. Es erleichtert dem Admin seine Aufgaben, indem es reproduzierbar und somit regelbasiert Konfigurationen auf Basis von verschiedenen Eingangsformaten generieren kann.
Diese Eingangsformate können sowohl Auszüge von Inventarlisten und CMDBs sein als auch Ergebnisslisten des Netzwerkanalysetools nmap. Hauptanwendungsbereich sind große Netzwerke, in denen unbemerkt vom Monitoringteam neue Hardware in Betrieb genommen und überwacht werden können muss. Der Vortrag gibt eine Einführung in Agordamon und erläutert seine Verwendung anhand praktischer Beispiele.
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Torben Knerr
Slides zu meinem Vortrag für die Karlsruher Entwickler Tage 2017:
https://entwicklertag.de/karlsruhe/2017/automatisierte-entwickler
Demo Repositories:
https://github.com/tknerr/etka2017-demo-repo
https://github.com/tknerr/etka2017-developer-vm
Gurukrupa presents Marina enclave property in Malad west near Jankalyan Nagar where you cherish countless experiences. 2 BHK apartments for sale in malad west To live life to the fullest, it has 9 exclusive zones where every moment spent will be a memorable one. A lavish community amidst a serene environment offers 1, 2 and 3 BHK elegant sea facing apartments. The project is strategically located in the prime of the western Mumbai, Malad. Live by the sea with all the worldly needs nearer to you. Project Hallmarks a landscape of lavish community amidst a serene environment. 2 and 3 BHK lavish sea-facing apartments 7.5 acres of ample parking area. Sprawling 1, 50,000 sq. ft of designer landscape area. Western Mumbai’s most promising location .Close proximity to Marve beach, link road, Billabong High School and Atharva College of Engineering.
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Marc Müller
DevOps als ganzheitliche Strategie geht von drei Phasen aus: Build - Measure - Learn. Die Build Phase mit der zeitnahen schnellen Realisierung, Integration und Deployment von neuen Features mit hohem Kundennutzen, haben Teams dank agiler Vorgehensmodelle mittlerweile gut im Griff. Sträflich vernachlässigt werden aber noch die essenziellen Phasen Messen und Verbessern. Viele Teams haben hier noch keine konkrete Idee, wie ein pragmatischer Messprozess aussehen kann. Der Vortrag wird sich deshalb dem Thema "Measure und Learn" aus Service- und Nutzerperspektive annehmen. Leitfragen sind bspw.: Arbeitet meine Infrastruktur noch wie geplant? Werden Dienste unbemerkt langsamer? Welche Funktionalitäten werden genutzt? Funktionieren Apps und Services überall wie geplant? Abgerundert werden die Fragen mit Demos aus AIT Projekten, bei denen u.a. das VS Last & Performance Test Framework sowie der Cloud-Dienst Application Insights neu zu einem 360° Applikationsmonitoring zusammengestellt wurden.
Service Mesh mit Istio und MicroProfile - eine harmonische Kombination?Michael Hofmann
Die Entwicklung einer Cloud-native-Anwendung ist nur eine Seite der Medaille, die andere Seite ist die Cloud-Umgebung, in der die Anwendung betrieben werden soll. Als Architekt muss man Entscheidungen treffen, die auch von der Laufzeitumgebung abhängig sind. Einige Aspekte, wie zum Beispiel Konfiguration, Resilienz, Health Checks, Metriken, Request Tracing und Service Discovery besitzen eine starke Kopplung mit der Cloud-Umgebung.
Istio, das als offene Plattform auf beispielsweise Kubernetes betrieben werden kann, bietet diese Funktionalitäten. Auf der anderen Seite besitzt MicroProfile auch eine Menge von Spezifikationen, die bei der Implementierung der Cloud-native-Anwendung hilfreich sein können. Die Session startet mit einer kurzen Einführung in Istio und MicroProfile und zeigt im Anschluss, wie diese beiden Welten in einer Cloud-native-Anwendung am besten miteinander kombiniert werden können.
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?Marc Müller
DevOps als ganzheitliche Strategie geht von drei Phasen aus: Build - Measure - Learn. Die Build Phase mit der zeitnahen schnellen Realisierung, Integration und Deployment von neuen Features mit hohem Kundennutzen, haben Teams dank agiler Vorgehensmodelle mittlerweile gut im Griff. Sträflich vernachlässigt werden aber noch die essenziellen Phasen Messen und Verbessern. Viele Teams haben hier noch keine konkrete Idee, wie ein pragmatischer Messprozess aussehen kann. Der Vortrag wird sich deshalb dem Thema "Measure und Learn" aus Service- und Nutzerperspektive annehmen. Leitfragen sind bspw.: Arbeitet meine Infrastruktur noch wie geplant? Werden Dienste unbemerkt langsamer? Welche Funktionalitäten werden genutzt? Funktionieren Apps und Services überall wie geplant? Abgerundert werden die Fragen mit Demos aus AIT Projekten, bei denen u.a. das VS Last & Performance Test Framework sowie der Cloud-Dienst Application Insights neu zu einem 360° Applikationsmonitoring zusammengestellt wurden.
Go ist die Sprache Nummer 1 für cloudnative Entwicklung. Der Beweis: 19 von 25 Projekten der Cloud Native Computing Foundation im höchsten Reifegrad nutzen Go, darunter Kubernetes und Docker. Aber was macht Go interessant für Java oder .NET-Entwickler? Go ist durch und durch auf Nebenläufigkeit und Parallelisierung ausgelegt. Außerdem hat Go ein statisches Typsystem, eine moderne, mächtige Standardbibliothek und ist rasend schnell. Aber vor allem: Go macht Spaß. Mit einfachen praktischen Beispielen lernt ihr mit Go produktiv zu entwickeln. Wir beginnen mit dem Hello World. Dann ein kleines Kommandozeilen Tool und eine einfache Webanwendung. Dazu nutzen wir überwiegend die Standardbibliothek von Go. Ihr lernt wesentliche Konzepte von Go wie Interfaces, Goroutinen und Channels kennen. Zur Entwicklung nutzen wir die Go-Tools und eine moderne Entwicklungsumgebung. Nach unserem Workshop könnt ihr erste eigene Go-Anwendungen entwickeln. Und ihr seid bereit die nächsten Schritte mit Go zu gehen. Go ist eine Sprache für Macher. Also lasst uns machen!
Funktionale Programmierung hat zu guter Letzt auch in Java Einzug gehalten. Es ist jetzt ganz normal, überall mit Lambdas oder mit map() und filter() zu arbeiten. Aber ist das wirklich funktionale Programmierung?
Wie sieht es aus, wenn man Java 8 mit einer althergebrachten funktionalen Programmiersprache vergleicht? Und was kann der Java-Programmierer, der aus der objektorientierten (OO) Entwicklung kommt, von funktionalen Sprachen lernen und in seinen Java-Alltag integrieren?
Auf diese Fragen ging Nicole Rauch in ihrem Referat ein. Ebenso stellte sie die grundlegenden Aspekte er funktionalen Programmierung vor und zeigte auf, was die funktionale Programmierung so besonders macht.
Gerne stellen wir Ihnen die Slides des Referats zur Verfügung.
Warum ECMAScript 6 die Welt ein Stückchen besser machtSebastian Springer
Wo die Neuerungen von ECMAScript 5 recht unspektakulär waren, sind die Features des neuen Sprachstandards umso interessanter. ECMAScript 6 versucht einige Anforderungen zu erfüllen, mit denen man als JavaScript-Entwickler täglich konfrontiert ist. Klassische Beispiele sind hier Promises zum Umgang mit asynchronen Funktionen, ein Module Loader zur Strukturierung der Applikation, Generatoren und Iteratoren oder aber ein neuer Gültigkeitsbereich für Variablen. Aber nicht nur große Änderungen, sondern auch sinnvolle Erweiterungen bestehender Objekte wie String und Array halten mit dem neuen Standard Einzug in den Browser. Problematisch wird die Situation jedoch, wenn man in den Genuss verschiedener Features kommen möchte, die aktuell noch von keinem Browser unterstützt werden. Hier schafft Traceur, der ECMAScript-6-Compiler von Google, Abhilfe.
Features einer Applikation werden häufig implementiert, weil die Verantwortlichen vermuten, dass diese Funktionalitäten einen Mehrwert für die Benutzer der Applikation bieten. Je nach Umfang wird mehr oder weniger Geld investiert. Ohne weitere Unterstützung sind und bleiben es jedoch Vermutungen. Eine bessere Lösung bieten hier A/B-Tests. Features werden kostengünstig in einer oder mehreren Varianten umgesetzt und mit einer Kontrollimplementierung verglichen. Die Umsetzung, die sich als die beste herausstellt, wird überarbeitet und bleibt in der Applikation erhalten. Diese Vorgehensweise lässt sich sehr gut in node.js-Applikationen integrieren. Mithilfe von A/B-Tests können Sie Ihre Applikation an den Anforderungen Ihrer Benutzer ausrichten.
Auf der DOAG 2010 hielt Stephan Engel einen Vortrag zum Thema "ApEx effektiv" und zeigt Lösungen für Standardanforderungen mit Köpfchen auf. Application Express (kurz ApEx) ist eine Entwicklungsumgebung für Oracle Datenbanken.
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
1. 1
Das „neue“ JavaScript:
EcmaScript 2015+ heute schon mit
TypeScript nutzen
Manfred Steyer
ManfredSteyer
Über mich …
Manfred Steyer
SOFTWAREarchitekt.at
Trainer & Berater
Angular am Client
.NET am Server
Page 2
2. 2
Ziel
Überblick zur Nutzung von EcmaScript 6+
mit TypeScript anhand eines Beispiels
Überblick zu Angular 2
Page 3
Inhalt
Rückblick zu EcmaScript 5
EcmaScript 6
TypeScript
Ambiente Deklarationen
Dekoratoren
Angular 2
Fallbeispiel mit TypeScript und Angular 2
Page 4
13. 13
TypeScript
Page 30
export class FlugSuchenVM {
public vonFilter: string;
public nachFilter: string;
constructor() {
this.vonFilter = "Graz";
this.nachFilter = "Hamburg";
}
public suchen() { […] }
public select() { […] }
}
Datentypen
Page 31
number string boolean
Function Object any
Eigene
Kassen
Eigene
Interfaces
14. 14
TypeScript heute nutzen
TypeScript-Compiler kompiliert TypeScript
wahlweise nach ES6, ES5 oder ES3
Page 32
Werkzeuge
tsc: TypeScript-Compiler
typings: Packet-Manager für Typ-
Deklarationen
SystemJS o. ä. zum Laden der Dateien
Page 33
20. 20
Was sind Dekoratoren?
Möglichkeit zum Annotieren von Quellcode-Elementen
Können Metadaten festlegen
Können dekorierte Elemente auch verändern/
austauschen
Vorschlag für EcmaScript
Werden bereits von Frameworks genutzt und von
Transpilern implementiert (de facto "Standard")
Page 49
Beispiel
Page 50
@DocuWithLabel("Repräsentiert einen Flug")
class Flug {
constructor(@Docu abflugort: string) {
this.abflugort = abflugort;
}
@Docu
abflugort: string;
@Docu
info(): string {
return this.abflugort + " - " + this.zielort;
}
}
21. 21
In tsconfig.json aktivieren
Page 51
{
"compilerOptions": {
"module": "system",
"target": "es5",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true
},
"exclude": [
"node_modules"
]
}
Was kann dekoriert werden?
Klassen
Member
Argumente (vorerst nur TypeScript)
Page 52
22. 22
Dekoratoren sind Funktionen
Page 53
@Docu
class Flug { […] }
class Flug { […] }
Flug= Docu(Flug) || Flug;
Dekoratoren sind Funktionen
Page 54
@DocuWithLabel("Repräsentiert einen Flug")
class Flug { […] }
class Flug { […] }
Flug = DocuWithLabel("Repräsentiert einen Flug")(Flug) || Flug;
23. 23
Dekorator für Klassen
Page 55
function Docu(target) {
console.debug(target);
}
Dekorator für Member
Page 56
function Docu(target, key, descriptor) {
console.debug(target);
console.debug(key);
console.debug(descriptor);
console.debug("---");
}