0251 / 590 837 15
info@a-coding-project.de

Mein Besuch auf der Developer Conference 2013 in Hamburg

Sponsored Post

Die Developer Conference im Cinemaxx Hamburg

Die Developer Conference im Cinemaxx Hamburg

Am 7. und 8. November war ich in Hamburg auf der Developer Conference unterwegs. Die Konferenz richtet sich an Entwickler mit Fokus auf den Web-Bereich. Als Location wurde ein Kino gewählt. Das bedeutet:

  • Große Leinwände
  • Bequeme Sitze
  • Jede Menge Platz
  • Gratis Nachos und Popcorn


Während der Konferenz wurde immer wieder Essen gereicht. Wäre ich nicht am Tag vor der Konferenz so lange durch Hamburg gelaufen hätte ich bestimmt zugenommen 😉
Am Abend des ersten Tages gab es die Afterwork-Party. Auch die war ein voller Erfolg! Wer hätte gedacht, dass auf einer Party von Entwicklern so viele hübsche Frauen anwesend sind.

Natürlich gab es jede Menge spannende Vorträge. Zu manchen Zeiten fiel es mir schwer zu entscheiden, wo ich jetzt hingehen sollte. Die Wahl die ich getroffen habe war aber auf jeden Fall top! Ich habe sehr viel gelernt.

Trauriger Weise wird das aber die letzte Developer Conference gewesen sein: Es wurde ein neuer Name gesucht, der Erfinder bekommt lebenslang kostenlosen Eintritt. Ich glaube mein Vorschlag war nicht so toll, aber noch dürft ihr mir die Daumen drücken…

  1. Facts
  2. Meine Ausbeute
  3. Meine Vorträge
    1. Predictive Analytics in der Praxis
    2. One Product – Many Countrys
    3. Kann ich CTO?
    4. Multi-Armed Bandit Algorithmen für selbstoptimierende Web-Apps mit Go
    5. MongoDB – Datenverteilung
    6. PHP Erweitern
    7. Wie skaliert man eine Firma? Game-Teams bei Wooga
    8. Responsive Tracking – Responsive Web
    9. Meteor vor dem Einschlag: Ein flexibles JavaScript-Framework
    10. Statemachine – Das Mittel gegen Flags!
    11. Nicht-Entwicklern Entwicklung näher bringen und was wir uns davon versprechen
    12. Architecture Best Practices für Webanwendungen in der Cloud
    13. Apache HBase, schnelles und großes NoSQL
    14. WebGL – 3D Welten im Browser
  4. Top Tweets
  5. Weitere Rückblicke
  6. Netzwerken…
  7. Wie war es bei euch / Wärt ihr gerne auch da gewesen?

Facts

  • 1480 Besucher, davon 120 mit Studententickets „In diesem Kino sitzen ungefähr 3 Prozent aller deutschen Webentwickler“
  • Fast 120 Speaker
  • 50% der Speaker kamen durch Call for Papers, bei der anderen Hälfte wurden extra Unternehmen angeschrieben, um spannende Vorträge zu bekommen
  • 8 Monate hat Eventmanagerin Sarah Fitzke im Vorfeld die Konferenz geplant, sie wurde extra dafür eingestellt. Die gute Planung hat sich auf jeden Fall bezahlt gemacht!
  • Es geht dem Veranstalter nicht um den Gewinn, die Konferenz könnte sogar ein Minus-Geschäft sein.
  • Der Fokus soll in Zukunft noch stärker in Richtung Web gehen, da es zu anderen Dingen oft schon andere Konferenzen gibt. Außerdem soll der Messebereich vergrößert werden.

Meine Ausbeute

Meine Ausbeute


Ein neues T-Shirt, ein Stift, ein Developer Conference Ausweis und ganz wichtig: Ein Notizbuch voll mit neuen Ideen!

Meine Vorträge

Damit ihr wisst, was ich alles so gelernt habe, hab ich einfach mal meine Notizen abgeschrieben und auch ein kleines Feedback zum Vortrag hinterlegt. Bitte beachten: Ich habe meine (handschriftlichen) Notizen nur für Fremde lesbar gemacht. Das können einfach Sachen sein, die ich noch nachschauen wollte oder einfach Gedanken, die ich beim Vortrag hatte. Es ist durchaus möglich, dass ich etwas falsch verstanden habe. Ich werde auf den einen oder anderen Beitrag noch in weiteren Blogposts eingehen.

Predictive Analytics in der Praxis

Speaker

Dr. Felix Marczinowski – Analyst bei Blue Yonder

Warum ich mir diesen Vortrag ausgesucht habe

Es klang irgendwie interessant.

Notizen

  • Kommen aus der Physik
  • Mussten große Datenmengen beim CERN-Projekt verwalten
  • Gründung aus Uni, durch Joint Venture gewachsen
  • Vorhersagen basierend auf
    • Historischen Daten
    • Wahrscheinlichkeiten
  • Neurobayes
  • Anwendungsmöglichkeiten
  • Vorhersagen von Produktnachfrage => Optimierung des Lagerbestands
  • Volume, Velocity, Variety
  • Gartner Hype Cycle nachschauen
  • Herausfinden von Zusammenhängen wie z.B. den Pausenbroteffekt: So kann der Verkauf von Broten zu Zeiten von Sommerferien die Umsatzzahlen senken.
  • Fehler bei Vorhersagen vermeiden
    • Fehler im Import/Export von Daten (z.B. Kommastelle fehlt)
    • Falsche Zusammenhänge. Beispiel: Das Messen der Zufriedenheiten zu verschiedenen Zeiträumen an Hand von Google Books. Keywords, wie z.B. „angry“ müssen nicht mit der Anzahl der Seiten verglichen werden, sondern z.B. Mit der Anzahl des Wortes „the“ als eine Art neutrales Keyword
    • Achten auf Ausreißer
    • Bei Datenausschnitten müssen die Daten wirklich zufällig ausgewählt sein. Ein einfaches Limit könnte z.B. einen zeitlichen Faktor inbegriffen haben.
    • Overfitting, also das zu exakte Analysieren der Daten, da man sonst zu viele Störfaktoren einberechnet haben könnte
    • Auswertung an den beauftragenden Kunden geschieht eher in vereinfachter Form z.B. als Ampel. Echtzeit-Events wie z.B. das Versenden eines Newsletters zu vorhergesagten Top-Zeiten sind aktuell nicht möglich – Antwort auf eine Frage von mir

Persönliches Fazit

War mir zu Anfang ein wenig zu trocken. Zum Ende hin wurde es mit dem Beispielen aber deutlich besser.

One Product – Many Countrys

Speaker

Sebastian Schuon – Mitgründer und CTO von stylight.de
Anselm Bauer – Mitgründer stylight.de

Warum ich mir diesen Vortrag ausgesucht habe

Ich arbeite selber in einem Unternehmen, dass eines Großteil des Umsatzes im Ausland macht (Gaming-Branche). So konnte ich einfach mal vergleichen, wie der technische und organisatorische Aufbau einer anderen Firma aussieht.

Notizen

  • Lokalisierung basiert auf Sprache, Domain und Land
  • SEO-Maßnahmen und neue Features können vorab in einzelnen Ländern getestet werden und bei Erfolg global ausgerollt werden
  • Im Unternehmen gibt es keine wirklichen Country-Manager. Es gibt Leute aus verschiedenen Nationen, die in den einzelnen anderen Teams aufgeteilt sind.
  • Der Build-Prozess fordert bereits die Übersetzungen an
  • Intern wird Google Translate als Hilfe genommen, damit man zum Beispiel sieht, was eine Übersetzung genau bedeutet.
  • Mögliche Probleme: SSL-Zertifikate und Domains sind nicht immer leicht zu bekommen. Es kann nötig sein, in dem Land einen eigenen Firmensitz aufbauen zu müssen => Frühzeitig planen
  • Beim Start eines neuen Projekts in einem Land gibt es ein Launch-Event, mit einem großem roten Button, der das Projekt offiziell freigibt – Der Button ist aber nur ein Fake 😉
  • Es reicht nicht Leute zu holen, die eine Fremdsprache in der Schule gelernt haben. Sie sollten am besten schon lange in dem Land gelebt haben, um auch den sozialen Hintergrund zu verstehen. Beispiel: In den Niederlanden gibt es zum Beispiel Weihnachtsgeschenke schon am Nikolaus.
  • Aktuell nehmen sie von der technischen Seite her noch keine Rücksicht darauf, in welchem Land der User die Seite aufruft (so dass man in einem Land z.B. die Komprimierungsstärke der Bilder auf Grund der Netzqualität in den einzelnen Ländern auslegt). Ein mögliches CDN-Tool dafür könnte Cloudinary sein – Antwort auf eine Frage von mir

Slideshare

Persönliches Fazit

Auf jeden Fall ein gelungener Beitrag. Das Testen in einzelnen Ländern vor dem globalen Rollout macht auf jeden Fall Sinn! Ich bin mir allerdings nicht sicher, ob das Konzept auf Country-Manager weitestgehend zu verzichten immer aufgehen kann.

Kann ich CTO?

Speaker

Lars Jankowfsky – CTO bei Yatego, Gründer von Swoodoo und OXID

Warum ich mir diesen Vortrag ausgesucht habe

Aktuell bin ich als einfacher Entwickler eingestellt. Da sollte man mal einen Blick in die Zukunft machen, wo „Kann ich CTO?“ durchaus eine gute Frage ist!

Notizen

  • Unechter CTO
    • Software-Architekt
    • Opts / DevOpts
    • QA, Prozesse
    • Hands On
    • Hiring
    • Team-Building
    • Personelle Verantwortung
  • Echter CTO
    • Hiring, Team-Buiding, Personelle Verantwortung
    • Mitglied der Geschäftsführung
    • Mitarbeiter-Strategie
  • Investor CTO
    • Mitglied der Geschäftsführung
    • Investor-Relations (z.B. für Kapitalverhandlungen)
    • Personal-Strategie
    • Auftritte auf Konferenzen, Talks und der Kontakt mit der Presse, um die guten Leute zum Unternehmen zu bringen
  • Wichtige Anforderung: Emotionale Intelligenz
    • Trainingsmöglichkeiten
      • Kann man durch Trainings und Coaching optimieren
      • Auch als Nicht-CTO Kontakt mit den Endkunden und Partnern haben, um so seine Erfahrungen zu sammeln
      • Entwickler-Abende zum Training, wo Entwickler ihren Kollegen das vorstellen können, was sie gerade beschäftigt.
  • „Managing the manager“ – Man muss sich bei Diskussionen und Verhandlungen mit Vorgesetzten auf einem Level bringen und so auch gute Verhandlungen führen.
  • Der Speaker, Lars Jankowfsky, ist selbst auf der Suche nach guten CTOs

Persönliches Fazit

Das war einer der besten Beiträge, die ich auf der Veranstaltung gesehen habe. Auch in Gesprächen mit anderen Besuchern kam er immer mal wieder auf. Man merkt einfach, dass hier ein erfahrender Speaker am Werk war!

Und meine Antwort auf die Frage „Kann ich CTO?“ ist nun: Ich bin auf einem guten Weg 😉

Multi-Armed Bandit Algorithmen für selbstoptimierende Web-Apps mit Go

Speaker

Stefan Richter – Gründer und CTO freiheit.com

Warum ich mir diesen Vortrag ausgesucht habe

Das Wort „selbstoptimierend“ im Titel des Vortrags hat mich neugierig gemacht.

Notizen

  • 90% der Mitarbeiter von freiheit.com sind Entwickler
  • Bei Google am besten nach „Golang“ suchen
  • Integrierte Test-Tools und Deployment
  • Nicht komplett objektorientiert
  • Unterscheidung von Groß- und Kleinschreibung des ersten Buchstaben entscheidet über Sichtbarkeit
  • Go get um neue Bibliotheken zu laden
  • Unbenutzte Variablen verhindern das Kompilieren. So bleibt der Code sauber.
  • HandleFunc als Webserver

Persönliches Fazit

Das Beispiel mit dem Webserver hat mir sehr gut gefallen. Diesen konnte man wirklich in kürzester Zeit selbst bauen. Allerdings hat mich Go irgendwie noch nicht so ganz überzeugen können.

MongoDB – Datenverteilung

Speaker

Stefan Rudnitzki – Entwickler bei Hypoport

Warum ich mir diesen Vortrag ausgesucht habe

Man hört immer mal wieder etwas über MongoDB, ich hatte es aber noch nie wirklich im Einsatz. Dementsprechend wollte ich mich dem Thema mal etwas nähern.

Notizen

  • Stefan Runitzki organisiert die MongoDB UserGroup in Berlin
  • Sharding
    • wird bei weniger als 10% der Anwender genutzt, da einige auch Angst vor Problemen dabei haben
    • mongod
    • mongos => Proxy
    • Konfigurationen auf einem Config-Server
    • Sharding-Key ist ein entscheidener Faktor
    • Aufteilung durch Chunking
    • Selbstdefinierte Verteilung mit eigenem Key
    • Das einmalige Definieren der Keys ist ein Problem, weil man sie später nicht so leicht ändern kann.
    • RAM-Grenzen müssen beachtet werden
    • Testen mit Vagrant / Puppet
    • Balanceing mit ID ist langsam, weil in der ID ein zeitlicher Faktor steckt und so wieder einige Nodes stärker belastet sein können.
    • Im Optimallfall testet man mit Originaldaten. Denn gefakete Daten haben immer noch einen künstlichen Anteil.
  • Teilmengen von Daten

Speaker Deck

Persönliches Fazit

Stefan hat aufgezeigt, wie man MongoDB für große Datenmengen nutzen kann. Für mich wird es auf jeden Fall Zeit mich mit MongoDB zu beschäftigen. Danach kann ich dann mal das Sharding testen.

PHP Erweitern

Speaker

Johannes Schlüter – PHP-Core Entwickler, Release Manager für PHP 5.3

Warum ich mir diesen Vortrag ausgesucht habe

Gerade beim Bearbeiten von großen Datenmengen kommt es auf Performance an. Es gibt aber einen Punkt, an dem man mit PHP selbst einfach nichts mehr rausholen kann. Also wird es Zeit sich mal zur Erweiterung von PHP zu informieren

Notizen

  • Speaker ist Release Manager für PHP 5.3
  • Gründe zur Erweiterung von PHP:
    • Performance-Optimierung
    • Um fremde Bibliotheken anzusteuern
    • Lernen wie PHP intern funktioniert
  • build.conf -configure
  • TSRM
    • regelt Threading
    • Memory Management
  • Zend Engine
  • PHP Core
  • SAPI-Layer (Apache, CLI usw…)
  • Extention API (mysql,…)
  • ext-shell
  • „-d“ für php.ini benutzen
  • Datentypen in _zval_
  • Macros von Zend verwenden
  • Das Kopieren von Variablen in PHP geschieht intern erst, wenn man eine schreibende Operation ausführt.
  • _zend_parse_parameters_
    • RETURN_NULL()
    • RETURN_TRUE
  • FAILURE hat den Wert 1
  • php.error_docref
  • Testsystem in php-tests.php
  • talks.somabo.de
  • Sara Golemon: Extending & Embedding PHP (Buch)
  • Upgrading Internals

Persönliches Fazit

Als guter PHP-Entwickler sollte man durchaus mal einen Blick hinter die Kulissen werfen. Johannes hat in seinem Beitrag sehr viele Informationen untergebracht, wo man sich im Nachhinein einfach nochmal mit dem Thema auseinandersetzen muss. Ich denke seine Buchempfehlung wäre durchaus ein guter Einstieg.

Wie skaliert man eine Firma? Game-Teams bei Wooga

Speaker

Jesper Richter-Reichhelm – Head of Engineering bei Wooga

Warum ich mir diesen Vortrag ausgesucht habe

Ich bin selbst als Entwickler im Gaming-Umfeld tätig – Auch bei uns werden Spiele erstellt. Das ist ein guter Grund einen Blick auf die Struktur anderer Unternehmen der Branche zu werfen.

Notizen

  • Consultent wird gerufen, wenn…
    • Innovation benötigt wird
    • ein Sündenbock gesucht wird
  • Machtkampf: Wer hat welchen Titel?
  • Boni-Zahlungen beim Erreichen von festgelegten Zielen fördern nur den Egoismus
  • Mehr Geld, schlechtere Leistung
  • Mitarbeiter arbeiten gut, wenn…
    • sie selbst Entscheidungen treffen dürfen
    • sie etwas dazulernen können
    • die Arbeit wirklich Sinn ergibt
  • Ziele sollen täglich erreicht werden können
  • Teams dürfen sich intern selbst organisieren
  • Kleine Teams (<10 Leute) arbeiten besser zusammen als Große
  • Wooga sieht sich als Inkubator für kleine Startups
  • Arbeiten in Wochenrythmen
  • Mitarbeiter eines Teams dürfen frei über Programmiersprachen, Frameworks, Server und vor allem übers Budget entscheiden!
  • Freiheit der Mitarbeiter bringt Innovation ins Unternehmen
  • Die Projekt-Teams und ihre Mitarbeiter tragen selbst die Verantwortung für ihre Projekte
  • Die verschiedenen Projekt-Teams tauschen sich untereinander über ihr Vorgehen aus
  • Es gibt Skype-Chats für Mitarbeiter mit ähnlichem Aufgabenfeld. Zum Beispiel einen Chat für alle Programmierer, einen für die Designer,…
  • In den 5 Minuten of Fame kann jeder einfach mal über ein Thema berichten, was ihm gerade interessiert. Wird ein Vortrag länger kann dieser in der Pause gehalten werden => Essen gibt’s dann umsonst.
  • Innerhalb des Unternehmens ist der Quellcode Open Source. Das bedeutet, jeder kann sich ansehen, was die Kollegen so verbrochen haben 😉
  • Die Statistiken der Firma sind ebenso frei zugänglich, wie der Quellcode. Man kann sich sogar eine Art täglichen Newsletter über die Statistiken zuschicken lassen.
  • Ich sollte mir die Software New Relic einmal näher ansehen
  • Beim Mystery Launch werden Mitarbeiter per Zufall gruppiert und in der Gruppe zusammen Essen geschickt => Fördert das Verständnis zu den Kollegen
  • Es gibt eine Wand mit Plakaten, auf dem alle Mitarbeiter mit Foto und Namen vererwigt sind => So kann man sich nach und nach auch in einem großen Unternehmen alle Namen merken
  • Bewerbungsgespräche werden von verschiedenen Leuten mit gleichem Job gehalten. Am Ende muss dann die Frage „Möchtest du mit dem zusammenarbeiten?“ beantwortet werden
  • Es gibt keine Lead-Developer
  • Bei Feedback-Gesprächen darf sich der jeweilige Mitarbeiter die Leute heraussuchen, die ihn bewerten.
  • Die Leute sind max. zwei Jahre in einem Team
  • Es gibt eine Topliste, in der die Gehälter der Mitarbeiter absteigend sortiert sind. Wenn die Entscheider der Meinung sind, dass ein Mitarbeiter in dieser Liste unberechtigt zu weit unten stehen, darf er sich über eine Gehaltserhöhung freuen 😉 Das Prinzip soll erreichen, dass nicht die lautesten sondern die besten Mitarbeiter auch am besten verdienen.

Slideshare

Persönliches Fazit

Wooga bietet ihren Mitarbeitern eine sehr lockere, aber auch kreative Arbeitsumgebung. Das freie Entscheiden über Arbeitsmittel und Budgets hat mit Sicherheit schon einige Innovationen zum Vorschein gebracht. Auch das Modell mit der Gehaltsliste finde ich interessant, bin ja selbst nicht der Lauteste^^

Responsive Tracking – Responsive Web

Speaker

Henry Zeitler – Frontend-Entwickler bei netzkern

Warum ich mir diesen Vortrag ausgesucht habe

Google Analytics ist eines meiner Lieblings-Tools. Die Masse an Informationen und die Einfachheit diese Auszuwerten sind einfach faszinierend. Aus diesem Grund habe ich hier im Blog auch schon öfters darüber im Bereich Webanalyse berichtet.

Notizen

  • Beim Responsive Design muss das Tracking anders behandelt werden, da je nach Bildschirmauflösung zum Beispiel wichtige Buttons an einer ganz anderen Stelle liegen.
  • Auflösung, Betriebssystem oder Browser werden von Google Analytics nur beim ersten Aufruf während der Session übertragen
  • enquire.js anschauen
  • Tracking auf Basis von Media Queries (bekannt aus CSS)
  • Man sollte wissen, wenn der User die Größe des Browsers wechselt und in einem anderen Media-Query rutscht
  • Das wird als Event getrackt
  • Click-Tracking über enquire.register
  • Beim Klick-Event die Auflösung mitschicken
  • goo.gl/OZYg9 – Analytics Tester
  • Die Größe innerhalb des Browsers nennt sich viewportsize
  • Universal Analytics anschauen – Ich hatte nach dem Tracking zwischen verschiedenen Endgeräten gefragt, diese Antwort kam von einem anderen Zuschauer.

Slideshare

Persönliches Fazit

Der Beitrag ist leider etwas kurz geraten, Henry war relativ schnell durch. Ich kann es aber auch gut nachvollziehen, dass man die Länge eines Vortrags vorher nicht immer einschätzen kann. Aber sagen wir mal so: Ich habe auch in kurzer Zeit einige neue Ideen gesammelt!

Meteor vor dem Einschlag: Ein flexibles JavaScript-Framework

Speaker

Heiko Spindler – Freiberuflicher Software-Architekt
Niko Köbler – Freiberuflicher Software-Architekt

Warum ich mir diesen Vortrag ausgesucht habe

Ich habe hier im Blog zwei Tickets für die Developer Conference verlost und wollte dafür die drei Vorträge wissen, die meine Leser besuchen würden. Am nächsten Tag kam ein Arbeitskollege zu mir und sagte „Wegen dir habe ich diese Nacht kaum Schlaf bekommen!“ – Der Grund: Er ist auf diesen Vortrag gestoßen und fand Meteor so interessant, dass er den ganzen Abend getestet hat. Das konnte ich mir also nicht entgehen lassen 😉

Notizen

  • node.js, MongoDB und verschiedene JavaScript-Bibliotheken gesammelt in einer Plattform
  • HTML wird nur beim Start übertragen
  • Datenbankzugriff ist auch auf dem Client möglich!
  • Einfachheit ist sehr wichtig
  • Meteor kann einfach mit cURL heruntergeladen werden
  • „meteor create myapp“ um eine neue App zu generieren
  • Die JavaScript-Dateien können den Quellcode vom Client und Server vereinen
  • Public-Verzeichnis ist für statische Daten
  • Bei Meteor wird aktuell an einer eigener Template-Engine gebaut
  • Derzeit wird noch die Handelbars-Template-Engine genutzt.
  • Die Session ist beim Reload der Seite weg. Aber mit ApplyIrgendwas (sorry, muss den Namen nochmal raussuchen) kann man das mit 5 Zeilen verhindern
  • SSO-Logins sind bereits in Metor integriert! Läuft über OAuth3.
  • meteor deploy myapp.meteor.com
  • Die App liegt auf den Servern von Meteor. Das Nutzen eines eigenen Servers ist aber ebenfalls möglich.
  • Auf Atmosphere gibt es Bibliotheken
  • Ein Chat-System ist ein gutes Beispiel für die Verwendung von Meteor
  • Pakete kann man einfach über das packages-File hinzufügen
  • Mit Meteor ist es möglich ein Chat-System in nur 30 Zeilen zu schreiben
  • meteor.publish, um Daten (aus der DB) vom Server auf dem Client zu nutzen
  • „Würde noch kein produktives Projekt damit machen“
  • opalang.org
  • Meteor und Phonegap

Slid.es

Persönliches Fazit

Vor allem das System mit den SSO-Logins finde ich bei Meteor interessant. Ich habe bei uns im Unternehmen nämlich genau diesen Part gebaut (aber nicht mit Meteor). Während des Vortrages konnte der Beispiel-Chat direkt von den Zuschauern benutzt werden, habe aber selber dort nichts gepostet; Musste mir ja für euch Notizen machen ;-). Leider hält mich das Zitat „Würde noch kein produktives Projekt damit machen“ von der Nutzung von Meteor erst mal ab. Aber ich hab es schon mal auf dem Schirm.

Statemachine – Das Mittel gegen Flags!

Speaker

Oliver Tischlinger – Freiberuflicher Software-Architekt und Entwickler

Warum ich mir diesen Vortrag ausgesucht habe

Ich lege immer sehr viel Wert auf die Struktur meines Quellcodes. Die Statemachine war mir als Design Pattern noch nicht bekannt, also habe ich diesen Vortrag gewählt.

Notizen

  • Story mit Ingo (Entwickler) und Björn (CEO)
  • Flags sind Sachen wie isPaid
  • Durch neue State-Flags werden die If-Bedingungen immer größer
    • Braucht Zeit für Refactoring
    • Lädt zu Hacks ein
  • Transitionen für den Statuswechsel
  • Änderung des Status durch Events
  • Status-Diagramme werden selbst generiert
  • Exceptions werfen, wenn Statusänderung an einer Stelle nicht möglich ist
  • Arbeiten mit Commands
  • Nachteil: Bei der Statemachine ist nur ein Zustand auf einmal möglich. Lösung: Evtl eine Hybrid-Lösung, z.B. für ein Error-Flag
  • Die Grafiken sind hauptsächlich dazu da, um selbst den Überblick zu behalten. Eine Weitergabe an Kunden oder Kollegen zur Erklärung des Ablaufs ist aber ebenfalls denkbar

Persönliches Fazit

Während des Beitrages habe ich mir schon Gedanken darüber gemacht, an welchen Stellen wir die Statemachine in unsere Backend-Lösung einbauen können. Ich denke dieser Beitrag hat meine Code-Qualität schon verbessert. Oliver hat uns mit einer kleinen Geschichte zum Thema geführt, dass ist ihm auf jeden Fall gut gelungen!

Nicht-Entwicklern Entwicklung näher bringen und was wir uns davon versprechen

Speaker

Hendric Rüsch – Business Developer Jimdo
Nadja Macht – Flow Managerin bei Jimdo

Warum ich mir diesen Vortrag ausgesucht habe

Kommunikation ist einer der wichtigsten Erfolgsfaktoren für Unternehmen. Dementsprechend ist es immer interessant neue Konzepte zur Verbesserung kennenzulernen.

Notizen

  • Beliebter Fehlerbericht, den Entwickler bekommen „Das ist kaputt“. Ich persönlich höre ab und an auch mal „Mach das anders“ 😉
  • X-Funktionale Teams mit gemeinsamen Ziel
  • Wenn man Supporter zu den Entwickler setzt, bekommen diese auch mit, welche Probleme die Endkunden wirklich haben.
  • Jimdo nutzt Kanban
  • Openprio – Die Mitarbeiter entscheiden selbst, was gerade wichtig ist. Soll ein größeres Verständnis für die Prioritäten bewirken.
  • Offene Räume sorgen für bessere Kommunikation zwischen den Mitarbeitern
  • Hackathons und Sprints werden veranstaltet
    • Es bilden sich Teams, die sonst nicht zusammenarbeiten
    • „Wie Projektwoche in der Schule“
  • Identifikation mit dem Unternehmen ist groß.
  • Non-Dev User Group
    • Entwickler und Nicht-Entwickler in einer Gruppe
    • „Was ich schon immer einen Entwickler fragen wollte“
    • „Was macht einen guten Entwickler aus?“ – Aus Sicht von Entwicklern und Nicht-Entwicklern beantwortet.

Speaker Deck

Persönliches Fazit

Die beiden haben das Publikum beim Vortrag mit einbezogen, was das Thema dann nochmal besser rüber gebracht hat. Vom Inhalt her hat es sich ein wenig mit dem Vortrag von Wooga geähnelt. Das konnten sie vorher aber auch nicht wissen. Neu war vor allem die Non-Dev User Group. Hier können Nicht-Entwickler lernen, wie sie mit uns Nerds umgehen sollten und andersherum, wie wir unsere Kommunikation optimieren können. Wären die Treffen nicht so weit weg, würde ich bestimmt mal vorbeikommen.

Architecture Best Practices für Webanwendungen in der Cloud

Speaker

Steffen Krause – Technology Evangelist bei Amazon.de

Warum ich mir diesen Vortrag ausgesucht habe

Ich habe selbst schon einmal einen Artikel zu den Amazon Webservices geschrieben. Eine Vertiefung in das Thema hatte ich schon länger vor, war aber leider noch nicht dazu gekommen. Dementsprechend bot sich der Vortrag für mich an.

Notizen

  • Amazon Infrastruktur
    • 9 Regionen
    • 25 Zonen
    • Ständige Erweiterung
  • Daten sollten immer in zwei Datacentern liegen
  • Route 53 DNS-Dienst ausprobieren
    • Failover in andere Regionen
    • Health-Check
    • Solange die Seite erreichbar ist: Ein Server, im Fehlerfall ein anderer
  • Einzelne Zonen können auch über mehrere physikalische Gebäude verteilt sein.
  • Multi-AZ – Replikationen zwischen Regionen
  • Latency Based Routing, um passende Region auszuwählen
  • CloudFront = Content Delivery Network (CDN)
  • S3 ist für statische Dateien, z.B. Bilder
  • EC2 ist unter anderem für die PHP-Skripte
  • An Hand des HTTP-Headers kann man sehen, von welchem Dienst die Antwort kommt
  • ElastiCache = Memcached oder Redis
  • DynamoDB = Key-Value Speicher
  • DynamoDB kann auch für kurzfristige Aktionen schnell hoch-skaliert werden
    • Nach Zeitplan, zum Beispiel, wenn nachts nichts los ist.
    • Manuelle Einstellung
    • Nach Policy (Bedingungen)
    • Auto-Rebalance (für gleiche Anzahl an Instanzen)
  • Provisioned IOPS
  • Amazon kümmert sich um Sicherheit und Infrastruktur
  • Keine automatischen Betriebssystem-Patches (damit es in den Anwendungen der Kunden nicht zu ungewollten Fehlern kommt)
  • Amazon hat selbst keinen Zugriff auf das Betriebssystem => Erhöhte Sicherheit
  • Amazon SQS fürs Queing
  • AWS OpsWork
  • AWS CloudFormation
  • AWS CloudSearch
  • AWS CloudWatch zum Monitoring inkl. Benachrichtigungen
    • Bei hoher Last kann man so neue Instanzen hinzufügen
  • Spot-Instanzen, um ungenutzte Kapazitäten bei Amazon abzugreifen => Bietverfahren, du bestimmst den Preis!
  • Hadoop Cluster
  • 10 Gbit/s zwischen den einzelnen Instanzen
  • Kostenlose Nutzung zum Ausprobieren
    • Beim Testen ruhig mehrere Instanzen nutzen und dafür dann nichts laufen lassen, wenn man gerade nichts testet

Slideshare

Persönliches Fazit

Als mein Hoster gestern einen Ausfall hatte, hab ich mich an den Beitrag erinnert. Mit den Amazon Webservices hätte ich die Leute einfach in eine andere Zone leiten können. Amazon bietet eine riesige Menge an Tools, mit denen man beim ersten Start evtl. ein wenig überfordert wird. Aber: Wer sie richtig benutzt, kann Großes damit anstellen. Vor allem das Preismodell, dass man von Amazon ungenutzte Kapazitäten quasi günstig ersteigern kann finde ich super!

Apache HBase, schnelles und großes NoSQL

Speaker

Kai Voigt – Senior Instructor bei Cloudera

Warum ich mir diesen Vortrag ausgesucht habe

Um ehrlich zu sein bin ich hier nur durch Zufall reingeraten. Ich bin in der App mit meinen Vortragsplan in der Zeile verrutscht und so in einem anderen Kinosaal gelangt.

Notizen

  • Hadoop
  • Big Table
  • Konzept stammt von Google, wurde einfach nachgebaut.
  • Rowkey
  • Nichts speichern, wenn es keinen Wert gibt.
  • 3-Dimensionen Key (abhängig von Version)
  • hbase shell
    • ähnliche Funktionen wie bei SQL
    • create, list, put, scan, get, delete, deleteall, truncate, drop
  • Ausgelegt für den Zugriff auf einzelne Zeilen
  • Keine JOINs / GROUP BYs
  • Hintergrund
    • Regions
    • Regionservers
    • Client regelt Balancing ohne Proxy
    • HDFS-Dateisystem
    • Regionserver Lookup
    • HLOG APPEND
    • Compaction
    • Blockcache
    • Bloomfilter – Bei Wikipedia suchen
    • Index Lookup
  • Key bei zusammengehörigen Daten am besten so legen, dass sie bei einer Sortierung auch nebeneinander liegen. Urls kann man dann z.B. so umschreiben: com.cloudera.www/index.php
  • Facebook speichert seine Nachrichten mit HBase
  • MapReduce für Aggregartfunktionen
  • Hive übersetzt SQL in MapReduce => HiveQL
  • Native Java API
  • Thrift & REST APIs
  • Snapshots
  • Fehlertolerant
  • Region Splits
  • Kein auto_increment

Persönliches Fazit

Wie schon beschrieben, bin ich eher durch Zufall in die Session geraten. Dennoch hat Kai mich davon überzeugen können mich näher mit dem HBase-Projekt auseinander zu setzen.

WebGL – 3D Welten im Browser

Speaker

Kai Niklas – Geschäftsführer bei mb:on

Warum ich mir diesen Vortrag ausgesucht habe

Die Demos, die ich zum Thema WebGL schon gesehen habe sind zum Teil sehr beeindruckend. Da stellt sich die Frage: Was steckt dahinter?

Notizen

  • Microsoft hat sich lange gedrückt
  • Fast tot, gerettet durch Android und iOS
  • ab IE11
  • Hat einen beeindruckenden Flugsimulator gebaut, den man mit den Pfeiltasten bedient
  • OpenGL, OpenGL Es 2.0
  • Sinnvoll, um die GPU mit zu nutzen
  • Hardwarenforderungen: Wird bei alten Grafikkarten evtl. nicht laufen.
  • Bei Android und iOS installiert
  • Bei iOS läuft’s nicht im Browser, möglicher Grund: Konkurrenz zum App-System
  • Verdex-Shader, Fragment-Shader
  • Besteht hauptsächlich aus Dreiecken
  • Wird in der Regel vom Designer geliefert, der es z.B. mit Blender erstellt hat
  • XYZ-Koordinaten in Array
  • Farben als Array
  • Textur als Bilder den Eckpunkten zuweisen
  • Lesen von unten links nach oben rechts
  • Auf der Rückseite sieht man nichts
  • Schalter zum Umschalten von Vor- und Rückseite
  • Berechnung des Reflektionswinkels
  • 65.000 Eckpunkte sollten als Limit genommen werden. Wird mehr gebraucht, sollte man in Pakete aufteilen
  • Man kann die Farbe der Vektoren auch zum Speichern von weiteren Informationen missbrauchen
  • canvas.getContext mit WebGL
  • gl.createShader
  • gl.shaderSource
  • gl.compileShader
  • Shading-Language
  • Shader kann auf mehreren Plattformen genutzt werden
  • OpenGL-SDK Website

Persönliches Fazit

WebGL ist auf jeden Fall ein komplexes Thema, wird uns in Zukunft aber mit Sicherheit noch öfters über den Weg laufen. Wer sich jetzt schon gut damit auskennt, kann damit sicher richtig erfolgreich werden. Kai hat aufgezeigt, was jetzt bereits möglich ist und wie WebGL und OpenGL intern aufgebaut sind. Ich persönlich hätte mir lieber ein kurzes Beispiel aus der Praxis gewünscht, aber bei seiner letzten Konferenz wurde er dazu aufgefordert weniger Code zu zeigen.

Top Tweets














Weitere Rückblicke

Netzwerken…

Ich hatte jede Menge tolle Gespräche auf der Konferenz. Danke dafür! Wer will darf mich gerne auf Facebook, Google+ oder Twitter hinzufügen.

Wie war es bei euch / Wärt ihr gerne auch da gewesen?

Wie ihr merken könnt, hat es mir extrem gut gefallen. Wie sieht es bei euch aus? Hat die Developer Conference eure Erwartungen erfüllt oder gar übertroffen? Welche Beiträge haben euch besonders gefallen? Bin ich euch auf die Nerven gegangen?^^ Oder wart ihr nicht da und bereut es? Die Kommentarbox erwartet eure Antworten 😉

Kommentare

mkuh schrieb am 11.11.2013:

Hallo, ein wirkliche Ausfühlicher Rückblick muss ich noch schaune ob ich es auch hinbekommen es so schön zu machen. Viele Grüße Uli

Felix schrieb am 12.11.2013:

Woooow! Vielen Dank für diese geniale Zusammenfassung! Ich wünschte ich wäre dabei gewesen. Aber aus deinen Notizen, ist für mich der eine oder andere Leckerbissen dabei :) Lg Felix

Trendforschung mit Google Books Ngrams schrieb am 12.11.2013:

[&#8230;] und Nicht-Entwickler gleichermaßen. Wer an ein paar guten Zusammenfassungen interessiert ist, wird hier, [&#8230;]

Andreas K. schrieb am 13.11.2013:

Das ist ja mal eine schöne Übersicht von interessanten Beiträgen! Danke!