Este documento presenta lugares y aspectos culturales destacados de varios países y regiones de Asia, Medio Oriente, África y Europa, incluyendo sitios patrimoniales como mezquitas, templos y monumentos; paisajes naturales como desiertos, montañas y ríos; y costumbres como festivales y estilos de vida nómadas.
Das Internet hat sein Versprechen wahr gemacht ist per Smartphone immer und überall verfügbar. Das Netz ist im Lokalen angekommen: Menschen nutzen die Möglichkeit, ihre unmittelbare Umgebung zu filtern und nach den Dingen zu suchen, die hier und jetzt für sie relevant sind. Sie orientieren sich dabei aber auch oft an Impulsen, die sie offline bekommen haben - hier kommen Anzeigenblätter ins Spiel, da sie ihren Kunden dabei helfen können, crossmedial und bis in die lokale Online-Suche für den Nutzer sichtbar zu werden.
Actividad para la clase de conversación de ELE. La coartada: Nico ha sido secuestrado por alguna de las estudiantes. En parejas tienen que preparar una coartada para enfrentarse a un interrogatorio.
Mercadeo de Servicios en Redes Sociales y Herramientas gratuitas de internetDavid Quintero
Presentación sobre Mercadeo de Servicios en Redes Sociales y Herramientas gratuitas de internet.
Basado la presentación "Thinking about Social Media Strategy and Financial Services" de Sidneyeve Matrix
Slides für meinen Workshop bei der BASTA Spring 2014 in Darmstadt. Hier eine Beschreibung des Workshopinhalts: Es ist schwierig genug, die Anforderungen der Kunden und Kollegen im Alltag zu erfüllen. Da bleibt nicht immer genug Zeit, um auch noch up to date zu bleiben was Neuerungen in C# betrifft. Wenn Ihnen dieses Problem bekannt vorkommt, kann dieser Workshop helfen. Wir widmen einen ganzen Tag besserem C#. Rainer Stropek, bekannter BASTA!-Speaker und Microsoft MVP, zeigt Ihnen, was C# mittlerweile leisten kann. Der Schwerpunkt im Workshop liegt diesmal auf folgenden Themen:
Coding und Design Guidelines – Best und Worst Practices, um besseren C#-Code zu schreiben.
Deep Dive in Lambdas und Linq – was hinter den Kulissen geschieht, wo sie helfen und wo sie mehr schaden als zu nützen.
Parallele und asynchrone Programmierung mit Task Parallel Library (TPL) und async/await – praktische Anwendung am Server und im Full-Client
Modularisierung von .NET-Anwendungen mit NuGet, MEF und Portable Class Libraries (PCL)
Neuerungen in Visual Studio 2013 für C#-Entwickler – alle Beispiele werden mit Visual Studio 2013 gezeigt. Sie erfahren dabei, was VS2013 an Verbesserungen für C#-Entwickler bringt.
Rainer Stropek setzt bei den Teilnehmern C#-Wissen zumindest auf dem Level von Version 2, idealerweise auch ein wenig Version 3, voraus. Ein eigener Laptop ist nicht Voraussetzung. Alle Konzepte werden anhand vieler Live-Coding-Beispiele erklärt. Zusätzlich erhalten alle Teilnehmer eine umfangreiche Präsentation als Zusammenfassung der gezeigten Themen.
Um Bilder und Grafiken "bereinigte" Version des Vortrags bei der JUG Ostfalen.
Nahezu jede große Website – egal ob das Backend in Java, PHP, Ruby oder Python programmiert wurde – verwendet im Browser JavaScript als Sprache. Software-Artefakte, die in JavaScript erstellt wurden, werde zunehmend wichtiger, da Logik in letzter Zeit tendenziell wieder vom Server zurück in den Browser wandert. JavaScript-Entwicklung ist im Alltag des Enterprise-Entwicklers angekommen. Teils muss er als Backend-Entwickler JavaScript-Code überarbeiten, der z.B. von einer Webagentur erstellt wurde, teils muss er auch selbst JavaScript-Artefakte erzeugen oder ein ganzes Framework oder eine Library in JavaScript schreiben oder pflegen.Der erste Teil des Vortrags richtet sich an Enterprise-Enwickler (meist mit einem Java-EE-Hintergrund), die sich für JavaScript interessieren, sich schnell darin einarbeiten wollen und Tipps suchen, dieses Ziel zu erreichen. Dabei werden einige Grundlagen der Sprache vorgestellt. Dieser Teil des Vortrags soll eher Lust auf Mehr machen als fundamentales Wissen in aller Tiefe zu vermitteln.Enterprise-Entwicklung ist in der Regel Teamarbeit. Eine große Codebasis mus wartbar bleiben. Im zweiten Teil des Vortrags werden Techniken und Tools vorgestellt, die dabei helfen können, eine geeignete Codequalität zu erreichen und zu wahren
Este documento presenta lugares y aspectos culturales destacados de varios países y regiones de Asia, Medio Oriente, África y Europa, incluyendo sitios patrimoniales como mezquitas, templos y monumentos; paisajes naturales como desiertos, montañas y ríos; y costumbres como festivales y estilos de vida nómadas.
Das Internet hat sein Versprechen wahr gemacht ist per Smartphone immer und überall verfügbar. Das Netz ist im Lokalen angekommen: Menschen nutzen die Möglichkeit, ihre unmittelbare Umgebung zu filtern und nach den Dingen zu suchen, die hier und jetzt für sie relevant sind. Sie orientieren sich dabei aber auch oft an Impulsen, die sie offline bekommen haben - hier kommen Anzeigenblätter ins Spiel, da sie ihren Kunden dabei helfen können, crossmedial und bis in die lokale Online-Suche für den Nutzer sichtbar zu werden.
Actividad para la clase de conversación de ELE. La coartada: Nico ha sido secuestrado por alguna de las estudiantes. En parejas tienen que preparar una coartada para enfrentarse a un interrogatorio.
Mercadeo de Servicios en Redes Sociales y Herramientas gratuitas de internetDavid Quintero
Presentación sobre Mercadeo de Servicios en Redes Sociales y Herramientas gratuitas de internet.
Basado la presentación "Thinking about Social Media Strategy and Financial Services" de Sidneyeve Matrix
Slides für meinen Workshop bei der BASTA Spring 2014 in Darmstadt. Hier eine Beschreibung des Workshopinhalts: Es ist schwierig genug, die Anforderungen der Kunden und Kollegen im Alltag zu erfüllen. Da bleibt nicht immer genug Zeit, um auch noch up to date zu bleiben was Neuerungen in C# betrifft. Wenn Ihnen dieses Problem bekannt vorkommt, kann dieser Workshop helfen. Wir widmen einen ganzen Tag besserem C#. Rainer Stropek, bekannter BASTA!-Speaker und Microsoft MVP, zeigt Ihnen, was C# mittlerweile leisten kann. Der Schwerpunkt im Workshop liegt diesmal auf folgenden Themen:
Coding und Design Guidelines – Best und Worst Practices, um besseren C#-Code zu schreiben.
Deep Dive in Lambdas und Linq – was hinter den Kulissen geschieht, wo sie helfen und wo sie mehr schaden als zu nützen.
Parallele und asynchrone Programmierung mit Task Parallel Library (TPL) und async/await – praktische Anwendung am Server und im Full-Client
Modularisierung von .NET-Anwendungen mit NuGet, MEF und Portable Class Libraries (PCL)
Neuerungen in Visual Studio 2013 für C#-Entwickler – alle Beispiele werden mit Visual Studio 2013 gezeigt. Sie erfahren dabei, was VS2013 an Verbesserungen für C#-Entwickler bringt.
Rainer Stropek setzt bei den Teilnehmern C#-Wissen zumindest auf dem Level von Version 2, idealerweise auch ein wenig Version 3, voraus. Ein eigener Laptop ist nicht Voraussetzung. Alle Konzepte werden anhand vieler Live-Coding-Beispiele erklärt. Zusätzlich erhalten alle Teilnehmer eine umfangreiche Präsentation als Zusammenfassung der gezeigten Themen.
Um Bilder und Grafiken "bereinigte" Version des Vortrags bei der JUG Ostfalen.
Nahezu jede große Website – egal ob das Backend in Java, PHP, Ruby oder Python programmiert wurde – verwendet im Browser JavaScript als Sprache. Software-Artefakte, die in JavaScript erstellt wurden, werde zunehmend wichtiger, da Logik in letzter Zeit tendenziell wieder vom Server zurück in den Browser wandert. JavaScript-Entwicklung ist im Alltag des Enterprise-Entwicklers angekommen. Teils muss er als Backend-Entwickler JavaScript-Code überarbeiten, der z.B. von einer Webagentur erstellt wurde, teils muss er auch selbst JavaScript-Artefakte erzeugen oder ein ganzes Framework oder eine Library in JavaScript schreiben oder pflegen.Der erste Teil des Vortrags richtet sich an Enterprise-Enwickler (meist mit einem Java-EE-Hintergrund), die sich für JavaScript interessieren, sich schnell darin einarbeiten wollen und Tipps suchen, dieses Ziel zu erreichen. Dabei werden einige Grundlagen der Sprache vorgestellt. Dieser Teil des Vortrags soll eher Lust auf Mehr machen als fundamentales Wissen in aller Tiefe zu vermitteln.Enterprise-Entwicklung ist in der Regel Teamarbeit. Eine große Codebasis mus wartbar bleiben. Im zweiten Teil des Vortrags werden Techniken und Tools vorgestellt, die dabei helfen können, eine geeignete Codequalität zu erreichen und zu wahren
Code Days 2019, München: Vortrag von Johannes Weigend (@JohannesWeigend, Technischer Geschäftsführer bei QAware)
=== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ===
Abstract:
Programmiersprachen für die Cloud - Java und Go im Vergleich
Java ist nach dem Tiobe Index 2018 unangefochten Platz 1 bei den weltweit eingesetzten Programmiersprachen. Java ist ausgereift, stabil und verfügt über ein immenses Open Source Ökosystem. Was will man mehr? Obwohl Java gerade für die Backend Entwicklung attraktiv ist, hat Google 2008 eine eigene Programmiersprache Open Source gestellt: Golang oder kurz Go. Der Vortrag beleuchtet die Stärken und Schwächen von Go gegenüber Java, gibt Hinweise für welche Projekte Go eine gute Alternative ist, und wie ein Best of Breed Ansatz aussehen kann. Interessant an Go ist, dass die Grundbausteine von Cloud Plattformen wie OpenShift oder die Google Container Plattform mit Go erstellt wurden. Docker, Kubernetes, Helm, Grafana oder Prometheus ‒ alles ist mit Go programmiert. Die Fragen aus der Sicht von Java-Experten sind: Was macht Go für die Cloud so interessant? Gibt es Funktionen, die Java Programmierer kennen sollten, und wenn ja, welche?
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2001 hervorzusagen. Auf der Liste sind:
- UML
- .NET/C#
- SOAP
- P2P
- DivX ;-)
- UMTS
- RDF
- Micropayments
- XForms
- Spracherkennung/VoiceXML
Am 27. April 2011 referiert Informatik-Student Marcus Riemer zu seiner Evaluierung der C++-Algorithmenbibliothek LEDA. Der Vortrag startet um 17 Uhr in Hörsaal 5.
Die Algorithmenbibliothek LEDA (Library of Efficient Data types and Algorithms) entstand am Max-Planck-Institut für Informatik in Saarbrücken unter der Leitung von Prof. Kurt Mehlhorn. Sie wird seit Jahren kommerziell vertrieben. Der Referent studiert an der FH Wedel Informatik und hat mehrjährige C++-Erfahrung. Er führte eine ausführliche Evaluierung durch und vergleicht die Ergebnisse mit der C++-Standardbibliothek und der Open-Source-Bibliothek Boost.
Dies ist der zweite Teil der Tour de Dart. Der erste Teil hat die Sprache Dart an sich betrachtet. Dieser zweite Teil betrachtet erweiterte Aspekte wie:
Das Library System von Dart und den zugehörigen Paketmanager pub. Die asynchrone Programmierung mittels Streams, Futures und Isolates. File I/O mit Dart. Zugriff auf den DOM-Tree mittels Selektoren sowie Event Handling (Client side). Server und Client side Programmierung unter Nutzung von HttpServer, dem Dart webframework Start und Websockets. Datenkonvertierungen (HTML escaping, XSS prevention, decoding and encoding of JSON, base64 encoding and decoding, hashfunction (CryptoUtils)).
11. Programmentwicklung: Analyse
Descartes (1596-1650)
„Regeln zur Leitung des
Geistes" (1628):
Hohe Relevanz der
Analysephase
Aufteilung in Teil- und
Unterprobleme
Hierarchischer
Erkenntnisprozess
Analyse der Analyse
i.e. Sicherung der Analyse
12. Programmentwicklung: Algorithmus
Spezifikation: Problembeschreibung – im Gegensatz
zum Algorithmus, der die Lösung des Problems angibt
Algorithmus: Anleitung oder Vorschrift, wie sich ein
Problem lösen lässt
Algorithmus
Arbeitsdefinition
: Eindeutige
Beschreibung eines endlichen Verfahrens zur Lösung
einer bestimmten Klasse von Problemen
Algorithmus im Labyrinthbeispiel: Verfahren, um aus
dem dunklen Labyrinth zu gelangen
15. Entwerfen Sie einen Algorithmus, der Sie aus jedem Labyrinth (mit Ausgang) führt
16. Terminierung von Algorithmen:
Wir verlangen (zumeist) von
Algorithmen, dass sie terminieren,
d.h. dass sie in endlicher Zeit (und
möglichst schnell Performance)
ihre Arbeit erledigt haben
Entwerfen Sie einen Algorithmus, der Sie aus jedem Labyrinth (mit Ausgang) führt
17. Programmentwicklung: Entwurfsphase III
Pledge-Algorithmus:
Prämisse: Wir gehen davon aus, dass alle Ecken rechtwinklig
sind
Somit kommen nur Rechtsdrehungen und Linksdrehungen um
jeweils 90 Grad vor
Wir verwalten unterwegs einen Umdrehungszähler, der:
bei jeder Linksdrehung um eins erhöht und
bei jeder Rechtsdrehung um eins verringert wird (auch bei der
ersten Rechtsdrehung, die nach dem Auftreffen auf eine Wand
ausgeführt wird).
Zu Beginn wird dieser Umdrehungszähler auf null gesetzt
Anschließend werden die beiden Anweisungen
geradeaus, bis Wand erreicht
Folge der Wand, bis Umdrehungszähler = 0
solange wiederholt, bis wir ins Freie gelangen
18. Pseudocode
Pseudocode Pledge-Algorithmus:
Setze Umdrehungszähler auf 0;
Wiederhole
Wiederhole
Gehe geradeaus;
Solange Wand erreicht;
Drehe nach rechts;
Wiederhole
Folge dem Hindernis;
Solange Umdrehungszähler=0;
Solange ins Helle gelangt;
Der Entwurf ist unabhängig von der Programmiersprache!
23. Programmiersprachen: Klassifizierung
Maschinennahe Programmiersprache: Assembler
Beispiel: „Hello World“ :
DATA SEGMENT
Meldung db "Hello World"
db "$"
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
Anfang:
mov ax, DATA
mov ds, ax
mov dx, offset Meldung
laden
mov ah, 09h
21h auswählen
int 21h
mov ax, 4C00h
int 21h
CODE ENDS
END Anfang
Vgl.: http://de.wikipedia.org/wiki/Assemblersprache
;;;;;;;;;
;-
Beginn des Datensegments
Die Zeichenkette "Hello World"
Endzeichen der Zeichenkette
Ende des Datensegment
Beginn des Codesegements
Dem Assembler die Segmente mitteilen
Label für den Anfang des Programms
das Daten...
...segment festlegen
den Text in das auf DS bezogene Datenregister
;- Die Unterfunktion 9 des Betriebssysteminterrupts
;- den Betriebssysteminterrupt 21h (hier erfolgt
Ausgabe des Texts) aufrufen
;- Die Unterfunktion 4Ch (Programmbeendigung) des
Betriebssysteminterrupts 21h festlegen
;- diesen Befehl wiederum ausführen
;- Ende des Codesegments
;- dem Assembler das Ende des Labels Anfang mitteilen
24. Programmiersprachen
Anweisungen, die wir dem Computer geben, werden als Text
formuliert, z.B.:
In Python:
print "Hello World!"
In PHP:
print "Hello World!";
In JavaScript:
document.write("Hello World!");
In C++:
cout << "Hello World";
25. Programmiersprachen
Programmtext ist formuliert nach festen Regeln:
Beispiel C++:
cout << "Hello World";
Die Regeln (Grammatik) der Programmiersprache
C++ schreiben vor, dass der Ausdruck
cout << "Hello World"
mit einem Semikolon abgeschlossen werden
muss
36. Programmierparadigmen: Prozedurale Programmierung
Prozedurale Programmierung: Aufteilung von
Programmen in Teilprogramme bzw. -Aufgaben:
Prozeduren [C, Pascal]
Objektorientierte Programmierung [C++, Java]
Zentrales Konzept: Objekt
Objekt
Verfügt über einen bestimmten Zustand
Reagiert mit einem definierten Verhalten auf
Anforderungen / seine Umgebung
Besitzt eine Identität, die es von anderen Objekten
unterscheidet
Kann mit anderen Objekten verbunden sein
38. Kapselung, Information Hiding, Geheimnisprinzip
Abb.: Balzert, Heide: Lehrbuch der Objektmodellierung. Heidelberg, 2005.
39. Zentrales Konzept I: Klassen
Gleichartige Objekte (Objekte mit denselben
Operationen und gleichen Attributen) gehören zur
gleichen Klasse.
Abstrakt vs. konkret: Jedes Objekt ist Exemplar bzw.
Instanz einer Klasse
Klasse: Definiert für eine Sammlung von Objekten
deren
Struktur (Attribute)
Verhalten (Operationen)
Beziehungen
Verfügt über Mechanismen, um neue Objekte zu erzeugen
(Object Factory)
40. Klassen in C++ Kapselung / Information Hiding
class EineKlasse
{
public:
// öffentlicher Teil
EineKlasse()
// Konstruktor
{
klassenVariable=23;
}
~EineKlasse();
// Destruktor
int gebeVariablezurueck(void)
{
return klassenVariable;
}
private:
int klassenVariable;
};
// privater Teil
// private Variable
42. Zentrales Konzept II: Vererbung
Eine Klasse kann Elemente (Variablen, Konstanten, Funktionen) von
anderen Klassen erben
Beispiel C++:
class Person
{
string name;
//...
};
class Mitarbeiter : Person
{
long sozialversicherungsNr;
//...
};
43. Martial Arts Fighter
attribute 1: name
attribute 2: gender
attribute 2: two legs
attribute 3: two arms
behaviour 1: printName()
behaviour 2: walk()
behaviour 3: bong_sau()
behaviour 4: tan_sau()
44. Objektorientierte Programmiersprache: C++
C++:
Ermöglicht maschinennahe Programmierung (Stichw.
„Zeiger“), als auch abstrakte Programmierung (i.e.
Objektorientierung)
Kompilierung über g++ Compiler, Microsoft Visual C++
Compiler, etc.
45. Objektorientierte Programmiersprachen: Java
Java
Besonderheit: Java-Programme werden in Bytecode übersetzt,
anschließend in einer Java-Laufzeitumgebung ausgeführt
Virtuelle Maschine (VM)
Vorteil: Plattformunabhängigkeit: Java-Programme laufen
(zumeist) ohne weitere Anpassungen auf unterschiedlichen
Computer- und Betriebssystemen, für die eine Java-VM
existiert
48. Test-driven development
“Write the simplest code that could possibly
make the test pass
Refactor the code to eliminate all possible
duplications and code smells”
(vgl.: Francesco Carucci (Crytek): http://www.slideshare.net/fcarucci/aaa-automated-testing)