Montag, 2. Juni 2014

Hilfestellung von Daniel De Caro für die Professional Scrum Master Prüfung



Hallo liebe Leser des Blogs,

heute möchte ich euch Hilfestellung bei der Bestehung des Professional Scrum Master geben.

Vorab:
Es reicht definitiv nicht aus den Open Assessment Test zu machen, um die Prüfung zu bestehen!
Eine Schulung halte ich aber dennoch für übertrieben.

Los geht’s:
Am besten findet man einen Vorgeschmack bei den „Open Assessments“, was einen erwartet:


Fangt mit dem PSM 1 an. Wenn Ihr den Test mehrfach hintereinander mit 98% oder mehr besteht könnt Ihr an den Developer Open ran gehen.

Handbuch:
Am besten seht Ihr euch zur Einstimmung den Scrum Guide in der aktuellen Fassung an.
Die Profis können gleich mit der englischen Version beginnen.Wichtig ist, dass Ihr bei Prüfungsbeginn die englische Version könnt.

Weiterführende Literatur:
Ich habe mit dem Buch „Software in 30 Tagen: Wie Manager mit Scrum Wettbewerbsvorteile für ihr Unternehmen schaffen“ gearbeitet.

Link:


Das Buch ist in unserer Unternehmensbibliothek vorhanden. Weitere Bücher werden auch auf dieser Page empfohlen:

Einige Videos auf Youtube und Co:

Intro to Agile Scrum in Under 10 Minutes.


Jeff Suttherland
Scrum Tuning Lessons learned from Scrum implementation at Google.


Blogs:
Zu dem Thema gibt es auch einige schöne Blogs.Der eine oder andere gibt euch auch Tipps bei den Prüfungsfragen... Ich verrate aber nicht welcher :-8


Zur Bestellung selbst:
Ihr benötigt eine Kreditkarte zur Bestellung des Codes.

Achtung:
Bitte nur einmal auf Bezahlen klicken. Ich habe so irrtümlich 2 Mal einen Prüfungscode gekauft...

Der Code ist innerhalb eines Werktages da. Die Jungs in den Staaten haben eine Zeitverschiebung von mindestens 6 Stunden.

Zur Prüfung selbst:
Die 80 Fragen sind recht knackig.Dennoch sind 85 % das Ziel!Vor allem auf Englisch nicht ganz so einfach. Ein paar Fragen sind wirklich kniffelig. Es ist also wichtig, dass Ihr die beiden „Open Assessments“ besteht.

Ein frei übersetztes Beispiel:
„Im Team gibt es einen neuen Entwickler. Dieser hat fortwährend für Unfrieden im Team gesorgt. Was sollten sie als Scrum Master tun?“

A) Gar nichts
B) Projekt Leiter informieren
C) Das selbstorganisierte Team regelt dies in Absprache mit dem Scrum Master
D) Sie informieren die Personalabteilung
E) Sie gehen proaktiv auf den Entwickler zu

Die richtige Antwort? Siehe Scrum Guide!


Was ganz wichtig ist:
Entscheidet in der Prüfung was das SCRUM Framework für richtig findet.Was Ihr selbst erlebt oder gesehen habt ist eine „andere Realität“. Und mit einem Multiple Choice Test könnt Ihr auch im Nachgang nicht diskutieren.

Der magische Moment:

Das Prüfungsergebnis ist SOFORT verfügbar eingeteilt nach Rubriken, wo Ihr welche Leistung abgelegt habt.


Negativ Beispiel:


















Eintragung in die  „Certification List“ bei erfolgreicher Prüfung:


 





Mittwoch, 19. Februar 2014

Absolventenfeier der Technischen Fakultät

Campus Recruiting der CLEAR GROUP


Absolventenfeier der Technischen Fakultät

Am Freitag, den 07. Februar 2014 war es wieder einmal so weit, die Technische Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) lud zur Verabschiedung ihrer Absolventen ein. Veranstaltungsort war der Erlanger Audimax - Auditorium Maximum. Nach der Begrüßung überreichten Prof. Dr. Jörn Thielecke, Studiendekan der Technischen Fakultät und Prof. Dr. Marion Merklein, Dekanin der Technischen Fakultät die Diplom-, Bachelor und Masterurkunden sowie die Diplom- und Master- und Bachelorpreise. Den Festvortrag „Fachkräfteüberschuss oder Wohin mit all dem Talent“ hielt Sven Czyperreck, Mitglied der Geschäftsleitung der CLEAR GROUP.

Weil die Absolventinnen und Absolventen in den vergangenen Jahren schon zu genüge mehr- oder weniger humorvolle Rückblicke auf die Studienzeit der Redner, Philosophisches über den Sinn des Lebens und Fachbeiträge aus den Tätigkeitsfeldern der geladenen Unternehmen gehört haben, kam es dieses Jahr für die rund 1000 Gäste, etwas anders als erwartet. Die Dekanin bezeichnete die Rede unseres Geschäftsführers Sven Czyperreck, als eine „kritische und gesellschaftspolitische Rede, die mit viel Humor transportiert wurde“. Anschließend wurden die Promotions- und Habilitationsurkunden an die 46 Promovenden überreicht. Nach der Verabschiedung durch Prof. Dr.-Ing. habil. Marion Merklein, versammelten sich alle Gäste noch zum geselligen Musik & Stehempfang in der Palmeria.

Es war wie immer eine sehr feierliche Veranstaltung und für die für die CLEAR GROUP war es eine große Ehre, neben den immer wiederkehrenden großen Brands wie Siemens, Staedler und Co. als Festredner geladen zu sein.

FAU-Deutschlandstipendium des ATE

Indes arbeiten wir bei CLEAR GROUP daran die Zusammenarbeit mit der FAU noch weiter auszubauen und werden in diesem Rahmen zum kommenden Semester ein weiteres Stipendium an der Technischen Fakultät vergeben. Das Besondere dieses Stipendiums ist die enge Zusammenarbeit mit dem Absolventenverein der Technischen Fakultät (ATE), in dessen Auswahlkommission wir erstmals einen Unternehmensvertreter entsenden werden.

Mit diesem Schritt verstärken wir weiter unser vielfältiges Engagement an den Universitäten und Hochschulen in der Metropolregion Nürnberg um den Talenten von morgen die besten Bedingungen für ihre Entwicklung zu bieten.

Treffen der dodnedder am 27.02.2014

Hallo zusammen!

Und wieder einmal ist es soweit, die  treffen sich im Erlanger Raum. Diesesmal liegt der Schwerpunkt des Vortrags auf der Zusammenarbeit von Entwicklungsteams in größeren Projekten. Zumindest habe ich das so verstanden. Aber ins Detail geht es am Donnerstag mit:

Composite Apps mit Prism entwickeln


Die Entwicklung großer Softwareanwendungen ist selbst mit einem sehr guten Team schwierig und risikoreich. Deshalb werden große Anwendungen häufig aus zahlreichen kleineren und damit leichter handhabbaren Modulen zusammengesetzt. Die Entwicklung dieser sogenannten Composite Apps ist äußerst sinnvoll, stellt den Entwickler aber auch vor viele technische Herausforderungen. Konkret bedeutet das: Wie reden Module miteinander? Wie werden Module gefunden und geladen? Wie setzt sich die Benutzeroberfläche aus vielen kleinen Puzzlestücken zusammen?

In diesem Vortrag zeige ich Euch, wie Ihr diese Probleme mit der C# Library PRISM lösen könnt. PRISM stellt Euch das nötige Rüstzeug für eine schnelle und solide Entwicklung von Composite Apps zur Verfügung. Anhand vieler Code-Beispiel lernt Ihr während des Vortrags die wichtigsten Themen bei der Entwicklung Eurer Composite App mit PRISM erfolgreich zu meistern.

Benedikt Buer leitet die Softwareentwicklung bei der Padaluma Inkjet Solutions GmbH. Als Softwareentwickler hat er sich mit den unterschiedlichsten Technologien und Anwendungsfeldern beschäftigt. Durch die Entwicklung von hardwarenahen Steuerungen über klassische Desktop Anwendungen bis zu Single Page Web Applikationen hat er sich einen breiten Überblick verschafft und viele Einblicke gewonnen. Sein momentanes Steckenpferd ist die Entwicklung modularer Software für Digitaldruckanlagen.

Datum & Zeit:
Donnerstag, 27. Februar 2014 ab 19:00

Ort:
infoteam Software AG - Am Bauhof 9, 91088 Bubenreuth

Anmeldung:
Bitte nutzt die Anmeldung auf der dodnedder-Seite, damit wir ein bisschen planen können. Das ist der Link REGISTRIERUNG gleich oben rechts ;)

Dort findet ihr auch genauere Anfahrtsdetails.

Samstag, 8. Februar 2014

Dojo Workshop #4 - Templates Widgets, Object Store

Ein zäher vierter Teil im Dojo Workshop. Ziel war es ein eigenes Widget mit Template zu erstellen. Idealerweise eine Liste, da dies unter anderem auch eine Schleife im Markup des Templates bedeutet hätte. Anschließend sollte das Template anhand eines Businessobjekt gerendert werden. Das Objekt sollte aus einem Object Store anhand eines Controllers bezogen werden.

Dojo erlaubt das Erstellen von Widgets mit Hilfe von Templates. Ob es sich dabei zwingend um ein einzelnes Steuerelement oder gar um ganze Seitenabschnitte halten muss, sei dahin gestellt. Mit define und dem _TemplatedMixin lassen sich eigene template-basierte Widgets definieren. Das Template ist entweder ein JavaScript String oder wurde zuvor mit require!text aus einer separaten Datei geladen.

Da mit define ein Name für den Prototype vergeben wurde, kann im eigentlichen Markup in Verbindung des data-dojo-type Attributs, an beliebiger Stelle eine Instanz des Widgets erstellt und gerendert werden. Alle im Template verwendeten Bindungen beziehen sich auf die Widget-Instanz selbst.

Der folgende Schnipsel zeigt eine Deklaration eine template-basierten Widgets in JS. Das Widget bezieht das Template aus einer externen Datei mit Hilfe der require Methode des Dojo Frameworks. Das Widget kann anschließend auf der Seite mit dem Markup <div data-dojo-type="templatedWidgetThing"><div> deklarativ verwendet werden.


require(["dojo/_base/declare", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "dojo/text!./templates/TemplatedWidgetThing.html"], function(declare, _WidgetBase, _TemplatedMixin, template) {
    declare('templatedWidgetThing', [_WidgetBase, _TemplatedMixin], {
        templateString: template
    });
});

Die Suche nach der Möglichkeit andere Token als ${name} zu verwenden (z. B. Conditional- oder For-Statements) führte leider zu keinem positiven Ergebnis. Zwar sah Dojo.Dtl sehr viel versprechend aus, weigerte sich jedoch erfolgreich irgendetwas nützliches zu tun.

Der letzte Stop war ein kurzer Blick auf den Object Store. Der Store bietet eine einheitliche API zur Abfrage und Manipulation von Objekten an. Im ersten Schritt haben wir einen Memory Store verwendet. Der Store hält alle seine Objekte im Speicher. Eine Manipulation des Speichers kann somit nicht ausgeschlossen werden.

Der letzte Teil, das Beziehen von Objekten aus einem Store mit Hilfe eines Controllers war zeitlich leider nicht möglich.

Um wieder etwas aufzuholen, wird bis zum nächsten Workshop. Der Server um eine REST API zur Objektabfrage und Manipulation unter Berücksichtigung der JSON/Rest Store Möglichkeiten erstellt. Zusätzlich wird eine Templating-Engine angebunden um weitaus anspruchsvollere Templates darstellen zu können.

Folgende Teilnehmer waren anwesend: Marco Jacob, Heiko Dehmel und Christian Haarmann.

Samstag, 1. Februar 2014

Dojo Workshop #3 - UI Widgets, Validierungen

Steuerelemente werden durch Dijit um zahlreiche Funktionalitäten erweitert. Widgets können über eine einheitliche API in JavaScript angesprochen und erstellt werden. Dijit bietet auch die Möglichkeit eigene Themes zu verwenden.

Widgets können entweder deklarativ direkt im Markup definiert werden oder aber mit Hilfe von JavaScript erstellt werden. Wenn Widgets im Markup deklariert werden, darf ein Aufruf an den Parser nicht fehlen. Dieser sucht nach Elementen mit bekannten Dojo-Tags, z. B. data-dojo-type, und ruft die entsprechenden Konstruktorfunktionen für die betreffenden Elemente auf. Es ist hierbei jedoch überlebenswichtig dass der in data-dojo-type angegebene Typ in der korrekten Groß- und Kleinschreibung angegeben ist. Andernfalls findet sich keine entsprechende Konstruktorfunktion und das Widget wird nicht erstellt. Im Fehlerfall erscheint jedoch eine Meldung in der Konsolenausgabe des Browsers.

Zum Einstieg wurde eine Login-Seite, bestehend aus den Eingaben Anmeldename (TextBox), Passwort (TextBox) und Land (Select), erstellt. Das Land ist mehr Just For Fun auf der Seite da es im Gegensatz zum Anmeldename und Passwort keine Texteingabe, sondern eine Auswahl erfordert. Listen, bzw. Select-Widgets, können so zum Beispiel keine optgroup's und benötigen zwingend ein value Attribut. Werden optgroup's verwendet, stellt Dijit das Widget nicht korrekt dar (keine Listenelemente und Null-Breite). Wird kein value Attribut verwendet, funktioniert die Angabe von selected z. B. nicht und es ist keine Änderung der Auswahl möglich.

Die Eingabefelder für Anmeldename und Passwort waren weniger kritisch. Damit die Eingabefelder jedoch mit den Möglichkeiten von Dojox validiert werden können, bedarf es keiner normalen dijit/form/TextBox, sondern einer dijit/form/ValidationTextBox. Darüber hinaus sind die Dojox Validierungen ebenfalls modularisiert. Eine E-Mail Validierung wird erst möglich nachdem neben dem dojox/validate Modul auch das dojox/validate/web Module als Abhängigkeit definiert wird.

Das Konfigurieren der Validierung gestaltet sich an dieser Stelle aufgrund der fehlenden Dokumentation etwas umständlich. Entweder ist Reverse Engineering aus den Dojox-Sourcen erforderlich, oder aber Beispiele verraten einen bereits die notwendigen Details zur Steuerung der Schnittstelle. Die Konfiguration geschieht entweder deklarativ oder per Skript. Bei der deklarativen Schreibweise wird die Konfiguration direkt im data-dojo-props Attribut im HTML vorgenommen. Einige wenige Validierungsweisen (die bereits Teil von HTML Standards oder Drafts sind) können über die entsprechenden Mechanismen gelöst werden. Diese werden korrekt durch Dojo interpretiert. Darunter fällt z. B. das required Attribut für Pflichtfelder.

Das data-dojo-props Attribut validator: dojox.validate.isEmailAddress, invalidMessage:'Der Anmeldename muss eine gültige E-Mail Adresse sein.' an einer ValidiationTextBox sagt z. B. aus, dass zur Validierung die Methode isEmailAddress am dojox.validate Objekt aufgerufen werden soll. Ist die Validierung fehlerhaft wird die entsprechende Meldung neben der Eingabe dargestellt. Es sind ebenso eigene Validierungsmethoden möglich.

Für diese Seite werden beim Laden bereits 87 Requests an den Webserver abgesetzt. Der Grund für die hohe Anzahl der Requests ist das Nachladen der benötigten Abhängigkeiten. Da diese hohe Anzahl der Requests in Produktivumgebungen, insbesondere bei hoher Latenz, zu einer hohen Ladezeit führt, sollten mit Dojo erstellte Projekte unbedingt das Packaging bzw. Building berücksichtigen. Dies werden wir in einem späteren Workshop ausprobieren und die Anwendung noch einmal auf ihre Geschwindigkeit untersuchen.

Folgende Teilnehmer waren anwesend: Marco Jacob, Heiko Dehmel und Thorsten Kutz.

Donnerstag, 30. Januar 2014

Business Frühstück

Wir veranstalten unser 1. Business Frühstück!



CLEAR GROUP und MID laden ein:
Innovation zum Frühstück mit "Google für Modelle"
Verteilte Informationsmodelle effizient nutzen

In Projekten sind relevante Informationen meist in unterschiedlichen Bereichen eines Unternehmens verteilt. Modelle von Datenbank-, Enterprise- und Softwarearchitekturen sowie Geschäftsprozessen werden in verschiedenen Formaten und mit diversen Werkzeugen gepflegt. Informationen über Reife, Aktualität und Konsistenz der Informationen sind zwar vorhanden, in der Praxis jedoch nur eingeschränkt verfügbar. Die besonders wertvollen Sichten über mehrere Modelle oder mehrere Versionen eines Modells hinweg sind nicht herstellbar.

Wie können Sie die Modelle und Informationen unabhängig von Tools und Organisationsstrukturen finden, anwenden und so wiederverwendbar machen?
Wie können Sie damit vorhandene Assets besser nutzen sowie die Agilität und Innovationskraft Ihres Unternehmens steigern?

Wir haben eine Antwort für Sie, bei unserem Business Frühstück:

am Freitag, 21.02.2014 von 7:30 bis 9:30 Uhr in unseren Büroräumen
in 91058 Erlangen, Am Weichselgarten 21.

Die CLEAR GROUP und MID präsentieren Ihnen das «Google für Modelle». Erleben Sie mit dem MID Model Warehouse eine völlig neuartige und faszinierende Lösung zur Wiederverwendung von Modellen.

Anschließend an die Präsentation können Sie ein reichhaltiges Frühstück genießen und dabei mit Kollegen Ihre Eindrücke und Erfahrungen austauschen.

Agenda
07:30   Begrüßung CLEAR GROUP
Vorstellung des MID Model Warehouse
08:00   Frühstück, Diskussion und Beantwortung Ihrer Fragen ab 09:00 Uhr
09:30   Abschluss und Verabschiedung

Die Veranstaltung ist für Sie kostenfrei. Melden Sie sich bitte per E-Mail an: events@mid.de
Die Teilnehmerzahl ist auf 20 Personen begrenzt.
Für Rückfragen wenden Sie sich bitte jederzeit an: Thomas J. Graebe, Thomas.Graebe@clear-it.de oder Stanislav Gert, s.gert@mid.de

Wir freuen uns auf Sie!

Mit besten Grüßen
Ihre Teams von CLEAR GROUP und MID

Das Latein der Gebrüder Jäger im Januar

Hallo zusammen!

Und zuerst einmal ein gesundes, glückliches und erfolgreiches neues Jahr euch allen! Wir hoffen doch ihr habt einen guten und unfallfreien Rutsch ins neue Jahr hingelegt. Im Gegensatz zu unserer allseits beliebten und hoch verehrten Mutti der Nation. Da wird jahrelang über Langlauf als gesunden und verletzungsarmen Sport gepredigt und was macht Mutti? In ihrer pantherhaften Agilität brettert sie durch den Engadin und verwechselt nur kurz die Sportart, denn Langlauf ist nun mal kein Skispringen und schon bricht sie sich den Beckenring. Aber das schöne bei ihr ist ja, dass sie sich auch von so einer Verletzung nicht aufhalten lässt. Gut, ihre emotionale Art des Redens und die Raute der Macht kriegt sie auch im Liegen hin und die restliche Regierungsarbeit kann sie ja über ihr Handy erledigen. So braucht sie nicht alle einzeln zu informieren, die NSA kann ja die Protokolle und Anweisungen in der GroKo verteilen… Tja und sonst? Ach ja, das Dschungelcamp läuft wieder und die Teilnehmer stehen fest: Sigmar Gabriel, Angela Merkel, Andrea Nahles, Wolfgang Schäuble und… Aber halt, das ist ja eine andere Veranstaltung. Da kann man ja leider niemanden rauswählen auch die Prüfungen werden den Zuschauern aufgebürdet, denn die Kröten schlucken ja schließlich die Zuschauer. Und man kann leider nicht umschalten wenn das Programm nicht gefällt, aber was sol´s, wir haben unsere neue Show selbst gewählt. Vielleicht läuft sie ja keine vollen vier Jahre. Aber wir werden es sehen und falls es für die Politiker nicht klappt müssen sie ja nicht ins Dschungelcamp bei RTL. Für sie gibt es ganz andere Showbühnen wie die Deutsche Bahn. Aber dazu ein anderes Mal mehr…


In diesem Sinne: It’s not a bug, it’s a Große Dschungel-Koalition

Das Latein der Gebrüder Jäger im Dezember

Hallo zusammen,

und wieder wird es Weihnachten, die Zeit der Liebe, des Glühweins, der Weihnachtsmärkte und der Plätzchen. Die Menschen kommen sich näher (und sei es nur bei glatten Straßen oder in der überfüllten U-Bahn) und die Zeit für Geschenke rückt näher. Tja und damit ist dann auch schon die große Koalition erklärt ... Der Horst und der Sigmar kamen sich schon sehr nahe, durch die enge Umarmung von Mutti. Denn Mutti Merkel kuschelt mit allen. Die moderne Form des Triumvirats also! Gut, eine Frau ist dabei, aber die Geschichte hat schon bei den alten Römern gezeigt wie das endet. Und wir wollen es mal so umschreiben: Happy End geht anders! Und dann werden jetzt auch noch Geschenke verteilt. Super! Und wer soll das alles bezahlen? Der deutsche Michel, wie halt immer, wenn die Politik ihre wichtigsten Wählergruppen verarztet. Mal schauen welches "Lex Mövenpick" die schwarz-rote Regierung einführen wird ... Ach ja, Weihnachten, Urlaub, Reisen, Maut! Da ist ja noch dem Horst sein Lieblingsthema! Die Maut kommt, hat er direkt nach dem Unterzeichnen des Koalitionsvertrages in die Welt posaunt. Tja, aber Mutti hat das gleich relativiert. Die Maut kommt, aber nur wenn der deutsche Autofahrer nicht höher belastet wird als jetzt. Das klingt ja noch erfüllbar, aber die SPD ließ nahezu zeitgleich verlauten: Die Maut kommt, aber nur wenn Ostern und Weihnachten 2014 auf denselben Tag fallen. Und hier wird es dann etwas unrealistisch, oder? Dass wir Bürger besch... werden ist nichts Neues, aber dass sich die Politiker jetzt schon untereinander so veräppeln ... Im Endeffekt heißt das nämlich, dass der Koalitionsvertrag schon am Tag darauf nichts mehr wert war. Also haben sie einen Vertrag unterschrieben, den sie sowieso nicht einhalten wollen. Wie war der Fachbegriff für so etwas??? Zurück zu Weihnachten: Es ist bekannt, dass das höchste Mailaufkommen des Jahres rund um die Feiertage zustande kommt. Jeder möchte seinen Liebsten und auch den nicht so lieben schließlich schöne Feiertage wünschen. Daher möchte ich an dieser Stelle darum bitten, auch an die netten Menschen bei der NSA zu denken. Diese müssen schließlich die ganze Festtagspost mitlesen und Überstunden schieben. Daher einfach mal einen kurzen Gruß oder ähnliches in die Mails packen und zur Sicherheit auch noch ein paar verdächtige Worte in die Mail integrieren, damit die Grüße auch nicht übersehen werden. Die Herrschaften würden sich sicher freuen ;)

In diesem Sinne wünschen wir euch schon einmal schöne Feiertage und einen guten Rutsch!

Und immer daran denken: It's not a bug it's the one and only "Große Koalition"

Das Latein der Gebrüder Jäger im November

Hallo zusammen,

habemus Mama! Ja sie ist wieder da und das auch noch stärker als zuvor! Angela "Big Mama" Merkel. Fast hätte es zur absoluten Mehrheit gereicht für die "Schwarzen" und damit für das "Bavarian Model" im Bund. Bayerisches Modell??? Irgendwie ist in ganz Deutschland ein Trend zur Bajuwarisierung zu beobachten: Die Bayern aus München zeigen den restlichen deutschen Vereinen wie erfolgreicher Fußball made in Bavaria funktioniert und der Club zeigt auch gleich wie nicht ;) Überall wird das Oktoberfest kopiert und bayerisches Bier ist in aller Munde. Wird die Bundesrepublik Deutschland zur "Bayerischen Republik Deutschland"? Nun gut, genug (alp-) geträumt. Soweit wird es schon nicht kommen... Wie sieht das auch aus wenn Lederhosen und Dirndl zur Pflichtbekleidung werden und der nordfriesische Kutterkapitän damit über die Weltmeere schippert? Oder wenn statt des Veggie-Days der Grünen, der Haxen- und Knödel-Tag eingeführt wird. Da schaut er dann aber, der Berliner Eisbein-Esser, wenn das Ding nicht mehr gekocht sondern gegrillt auf den Teller kommt. Aber mal zu was anderem: Der PannenPeer, hat er sich nicht selbst übertroffen mit seiner Mittelfinger-Geste? Was kostet das eigentlich im Straßenverkehr? Oder wird diese Geste jetzt als "den Peer machen" legalisiert? Mal den nächsten Polizisten unseres Vertrauens fragen... Zum Thema Mittelfinger fällt mir spontan noch eine Partei ein und zwar die FDP. Die haben den nämlich vom Bürger relativ deutlich gezeigt bekommen. Aber wen wundert es, wenn die einzige berühmte Gesetzesänderung der letzten vier Jahre das "Lex Mövenpick" ist? Und nur die Stimmen der Hoteliers ist dann doch auch ein bisschen wenig. Gut, genug zur Politik. Aber eine Meldung können wir beim besten Willen nicht unkommentiert lassen: "Heizen mit Hertz", das bedeutet man bekommt einen Server für CloudComputing in den Keller gestellt, der dann die Heizung ersetzt. Kostet ca. 12.000 €, dafür gibt es die ersten 15 Jahre gratis Wärme. Vorbedingung ist, dass es ein Niedrigenergiehaus ist und man eine 50 MBit Leitung ins Internet hat... Jetzt muss man nur hoffen, dass niemand da das falsche drauf speichert und die Jungs vom BKA bei der Hausdurchsuchung mal schnell die Heizung mitnehmen ;) Oder dass bei einer DOS Attacke das Wasser im Heizkreislauf das kochen anfängt. Nur eines ist fraglich dabei: Wer zur Hölle zahlt eigentlich den Strom???

In diesem Sinne: It's not a bug it's it's a bavarian dream.

Samstag, 25. Januar 2014

Dojo Workshop #2 - Klassen, DOM Query & Manipulation

Mehr Zeit für die kleinen Dinge im Leben

Beim zweiten Treffen wurden weitere JavaScript-Grundlagen und ihren Entsprechungen im Dojo Toolkit durchgenommen. Leider war die Zeit durch technische Probleme etwas knapp bemessen. Die Rechner sollten vor dem Termin daher noch einmal darauf untersucht werden, ob das VS 2013/2012/2010 mit dem .NET Framework 4.5 installiert werden kann und dass die Installation erfolgreich durchgeführt wurde. Darüber hinaus bedarf es eines Git-Clients für den Zugriff auf das TFS-Projekt. Das Visual Studio 2013 besitzt bereits einen Git-Client. Frühere Visual Studio Versionen müssen entweder auf einen separaten Git-Client zurückgreifen oder entsprechende AddIns verwenden (Express-Versionen des Visual Studios sind nicht AddIn fähig).

JavaScript Prototyping

JavaScript ist eine ebenso objektorientierte Sprache wie Java, C++ oder C#. Im Gegensatz zu vielen objektorientierten Sprachen gibt es in JavaScript keine Trennung zwischen Typdefinition und Instanzen. Dieses Konzept wird Prototyping genannt. Jede Objektinstanz in JavaScript kann daher vollkommen unterschiedliche Eigenschaften und Methoden besitzen, auch wenn diese durch dieselbe Konstruktorfunktion erstellt wurden. Eine gute Einführung in dieses Konzept bietet wie immer das MDN.

In Dojo werden Konstruktorfunktionen mit der declare Funktion erstellt. Im Gegensatz zu JavaScript Konstruktorfunktionen erlaubt diese Funktion die Angabe einer Super-Funktion (geerbte Konstruktorfunktion) und von Mixins ohne weiteres zutun. Das Aufrufen von geerbten Member ist ebenfalls einfach mit der Funktion inherited möglich. Obwohl es uns spontan nicht gelungen ist auf ein simples vererbtes Feld zuzugreifen welches überschrieben wurde.

DOM

Das Dojo-Toolkit verfolgt das Model-View-Controller Pattern. Im weiteren Verlauf ist es daher früher oder später erforderlich im DOM zu navigieren und des zu manipulieren. Bekannte JavaScript-Bibliotheken für die DOM-Navigation und -Manipulation sind jQuery und - zu einem gewissen Teil - Prototype. Wie bereits im vorherigen Teil beschrieben, versteht sich das Dojo-Toolkit selbst als eine möglichst umfassende Werkzeugkiste. Für DOM-Navigation und -Manipulation bietet das Dojo-Toolkit eine eigene Lösung mit query und NodeList.

Ein Vorteil der Verwendung dieser Funktionen im Gegensatz zu den im JavaScript DOM bereits vorhandenen Möglichkeiten zur DOM-Navigation und -Manipulation (z. B. document.querySelector) besteht in der Regel aus kürzeren Funktionsaufrufen. Das Herstellen einer einheitlichen API und Abwärtskompatibilität zu Legacy-Browsern (z. B. IE < 9) ist ebenfalls ein Merkmal dieser Funktionen.

Folgende Teilnehmer waren anwesend: Marco Jacob, Heiko Dehmel, Thorsten Kutz und Christian Haarmann.

Mittwoch, 15. Januar 2014

Dojo Workshop #1 - Vorbereitung

Workshop die Erste

Das erste Treffen der Dojo Workshop-Teilnehmer hat stattgefunden und befasste sich zu einem großen Teil mit dem Einrichten der Entwicklungsumgebung und einigen Grundlagen.

Ziel des Dojo Workshop ist das Erlernen des Dojo Toolkit, seiner API, seinem Einsatzgebiet und Einsatzmöglichkeiten. Das autodidaktisch angeeignete Wissen soll innerhalb des Workshops in einem möglichst realitätsnahen Szenario zum Einsatz kommen.
Dazu wird ebenfalls im Rahmen des Workshops eine Wissensdatenbank entwickelt. Das Hauptaugenmerk liegt hierbei weniger auf ein ansprechendes Interface, sondern auf das geeignete Anwenden der Dojo Funktionen. Die Wissensdatenbank wird soll ein einfaches Interface zum Suchen, Ansehen, Bearbeiten und Erstellen von Artikeln verschiedenster Themen bieten.

Die im Workshop erarbeiteten Ergebnisse werden zu einem Teil nach jedem Treffen in diesem Blog festgehalten, zum anderen wird der Quellcode des Workshop-Projekts und der Beispiele auf unserem Team Foundation Server zu erreichen sein.

Umgebung

Grundvoraussetzung für die Entwicklung im Workshop ist das Visual Studio 2013 (2012 und 2010 sind mit dem entsprechenden Patchlevel ebenfalls möglich).

Damit eine lebensnahe Umgebung während des Workshops zur Verfügung steht, wird ein in C# entwickelter Webserver auf Basis von Nancy verwendet. Der Webserver ist ready to go und muss nicht weiter konfiguriert werden. Er dient in der ersten Phase lediglich dazu Static Content zu liefern. Im späteren Verlauf des Workshops wird der Server um Authentifizierung, Autorisierung und eine RESTful API zur Bearbeitung der Einträge der Wissensdatenbank bieten.

Grundlagen

Das Dojo Toolkit strebt einen möglichst großen Funktionsumfang an, sodass wenig oder am gar keine weiteren JavaScript-Bibliotheken erforderlich sind. Das Toolkit besteht aus Dojo, Dijit und Dojox. Dojo bildet den Kern des Toolkits und birgt Basisfunktionalitäten wie zum Beispiel AJAX, DOM Manipulation, Data Stores, Promises, I18N. Dijit beherbergt Widgets (auch als Controls bekannt). Dojox bietet über Dojo hinausgehende Funktionalitäten in verschiedenen Reifegraden (Charting, SVG, WebGl, XML/XSLT etc.).

Einer der ersten Funktionen die im Dojo Toolkit zum Einsatz kommen sind Asynchronous Module Definitions, kurz AMD. Die Funktionalität und API dürfte Anwendern anderer AMD fähiger Bibliotheken, z. B. require.js, bekannt sein. AMD ermöglicht das asynchrone Nachladen von Javascript-Dateien. Dadurch kann JavaScript-Code modularisiert werden. Darüber hinaus können Abhängigkeiten visualisiert und externalisiert werden (Inversion of Control). Es verbessert sich auch das Speicher- und Performanceverhalten, da nur benötigte Scripte geladen, ausgeführt und im Speicher gehalten werden. Auf AMD wurde auch am TypeScript TecDay bereits eingegangen.

Darüber hinaus wurde noch kurz auf JavaScript Scoping und Funktionen im Allgemeinen eingegangen.

Folgende Teilnehmer waren anwesend: Marco Jacob, Sebastian Günther, Heiko Dehmel und Thorsten Kutz.