Probleme beim Einloggen
Alexander Orlovsky Such nach Jasmine Mentoren
Hi all, bei der Projekten wo überall Angular eingesetzt, wird ich stelle fest, dass sehr sehr schwierig es vernünftig zu testen, deshalb ich such die Mentoren die schon mit Jasmine folgendes getestet haben:
JaxRS mit NodesJs, testen von Routen , testen von Komponenten, Gute Richtlinien bei der Java Script Entwicklung, bitte einfach bei mir melden!
Christian Rehn Fragen zu PoMO
Ich hab ein paar Fragen zu PoMO. Im Großen und Ganzen ist mir das Prinzip klar. Ich erkenne, dass es zusammen mit IOSP zur IODA-Architektur führt, etc. Bei den Details hab ich aber noch Verständnisschwierigkeiten.
- Gibt es eine klare Definition des Prinzips? In Blogartikel (http://blog.ralfw.de/2012/12/prinzip-der-gegenseitigen-nichtbeachtung.html) wird eine -- meines Erachtens nicht ganz passende -- Analogie zu Motoren bemüht, um das Prinzip zu verdeutlichen. Das ermöglicht eine Art intuitives Verständnis des Prinzips. Eine wirklich greifbare Definition habe ich aber leider nicht gefunden.
- Insbesondere frage ich mich, was genau denn sich gegenseitig nicht kennen soll. Operationen im Sinne von IOSP? Module auf der selben Abstraktionsebene? Funktionen, Klassen, Komponenten, Systeme, ...?
- PoMO scheint kein Teil der CCD-Prinzipien zu sein. Was ist der Grund dafür?
- Angenommen man würde sich an IOSP, aber nicht an PoMO halten. Das Resultat wäre ähnlich wie die IODA-Architektur. Da Operationen ja eh nicht integrieren dürfen, wäre wohl der einzige Unterschied in den Integrationsbausteinen zu suchen. Richtig?
- Angenommen man hält sich an PoMO, aber nicht an IOSP. Es fällt mir gerade schwer, mir dieses Szenario vor zu stellen. Ist IOSP eine Voraussetzung für PoMO?
Stefan Lieser Denis Kuniss Ralf Westphal Maximilian Raab
+5 weitere Kommentare
Letzter Kommentar:
Ulrich Berntien
Tools über Pipes zu verbinden ist eine Stärke, doch mache ich diese Stärke nicht an dem Text-Format auf den Pipes fest. In der Liste der Nachteile sehe ich neben Effizienz/Performance auch Entwicklungszeit und Fehleranfälligkeit.
Bei bash oder dash Skripten wünsche ich mir oft die .Net Objekte der PowerShell. Zum Beispiel sind beim Text-Format die Items mal durch Leerzeichen, mal durch Tab, mal durch Komma, mal durch Semikolon getrennt. Dazu kommen Items, die auch Leerzeichen enthalten können, mal in Hochkomma, mal in Anführungszeichen, auch mal ohne Klammerung.
Interessant finde ich den Ansatz json Objekte auf der Pipe unter Unix zu transportieren. Einige Tools (lsblk, aa-status, bridge, lnstat) kennen den Switch json. Ich verrmute, wenn die json Option weiter verbreitet ist, können mit jq die Tools besser verbunden werden als nur mit dem Text-Format.
Ralf Westphal Produktiv - aber ausdrücklich
Wir kommen hier ja zusammen, weil wir finden, dass mehr Clean Code geschrieben werden sollte. Aber warum ist das? Warum gibt es davon noch nicht genug? Ich glaube, das liegt daran, dass das, was Clean Code bewirken soll, nicht gemessen wird. Deshalb merkt man nicht, dass da irgendwas verrutscht und steuert nicht gegen.
Clean Code soll gewährleisten, dass die Teamproduktivität dauerhaft hoch ist. Es geht um mittel- bis langfristige Produktivität. Dafür muss Code in geeigneter Weise strukturiert sein. Für anfängliche und kurzfristige Produktivität ist das nicht nötig.
Wenn es an Clean Code mangelt, dann ist sein Effekt unterhalb des üblichen Radars. Die Produktivität wird schlicht nicht gemessen und dem Kunden nicht fühlbar gemacht. Wäre das so, würde er dazu eine Meinung entwickeln und (An)Forderungen stellen, wenn sich etwas aus seiner Sicht ungünstig entwickelt.
Doch der Kunde sieht von alldem nichts. Er bekommt nur mit, was vor seiner Nase wieder und wieder geschieht. Ein big picture fehlt ihm.
Und wie könnte das anders aussehen? Dazu einige Gedanken: https://ralfw.de/2018/09/making-productivity-tangible/
Enjoy!
Ein weiterer Kommentar
Letzter Kommentar:
Ralf Westphal
Hi, Mike!
Nur für XING Mitglieder sichtbar

>* wie würdest du die issue sizes mit verrechnen? Oder würde sich das (ähnlich wie bei #noEstimates) irgendwann statistisch ausgleichen?
Die Einordnung eines Inkrements in eine Komplexitätskategorie S,M,L findet natürlich vor Beginn der Arbeit statt. Daraus wird aber erstmal nichts speziell abgeleitet.
Anschließend kann du die "historischen Daten" auswählen wir du magst für Berechnungen. Du kannst alle selektieren oder nur die mit Komplexität S oder nur die mit M usw.
Mit der Auswahl kannst du Histogramme malen oder Vorhersagen berechnen.
Inwiefern die Zuordnungen zu den Komplexitätskategorien überhaupt einen Unterschied macht, kannst du auch feststellen. Dann würden sich die Histogramme unterscheiden. Oder du könntest einen Scatterplot machen, bei dem du zb Cycle Time (X) gegen Komplexitätskategorie (Y) aufträgst. Da sollte sich ein Muster zeigen, wenn die Einschätzung einen Wert hat.
"Ausgleichen" tut sich da aber nichts, würde ich sagen. Im Gegenteil! Es soll sich nichts ausgleichen, sondern eben die Zuordnung von S,M,L einen Unterschied machen.
Beantwortet das deine Frage?
Nur für XING Mitglieder sichtbar

>* was ist mit Infrastrukturthemen? Das interessiert den Kunden ja nicht wirklich, ob man z.B. eine Woche für eine tolle CI/CD pipeline aufgewendet hat. Aber es ist ja trotzdem hilfreich bis notwendig ...
"Infrastrukturthemen"... Ich würde immer versuchen, ein "Infrastrukturthema" als Inkrement zu formulieren. Es sollte einen Unterschied für den Kunden machen, ob die Infrastruktur so oder anders ist. Wenn er das nicht spüren kann (Laufzeiteigenschaft), warum sollte dann an der Infrastruktur geschraubt werden? Warum sollte er Geld bezahlen, wenn du etwas tust, wovon er keinen Effekt sieht?
Wenn sich gegen diese Sicht Widerstand erhebt/das nicht machbar erscheint, dann - so glaube ich - würde ich "Infrastrukturthemen" entweder gar nicht tracken oder gesondert kennzeichnen. Dann gibt es Feature, Bug Fix - und Infrastructure als Inkrementtypen.
Wenn du nicht trackst oder für Vorhersagen zb einer Liste anstehender Features nur nicht-Infrastruktur Inkremente auswählst, dann gibt es eben Lücken in der Timeline, dann gibt es Zeiten mit sehr wenig Throughput in Bezug auf Features - und das schlägt sich in der Vorhersage nieder. Das ist ja nur gerecht.
Eine CI-Pipeline würde ich allerdings vor Start der Inkrementproduktion aufsetzen und eher gar nicht mitzählen. Du hast eben "Rüstzeit" für ein Projekt, die etwas anderes ist als die Produktionszeit.
Nur für XING Mitglieder sichtbar

>viele Grüße
>Mike
Roland Golla Scala Mob Programming für den guten Zweck am 29.9. in Hamburg
Clean Code bedeutet auch eine hohe Lesbarkeit. Die entwickelt man am besten gemeinsam im Team. Am 29.9. machen wir bei OTTO in Hamburg ein Never Code Alone Event. Das Geld der Registrierung Spenden wir der "Sternenbrücke" für den guten Zweck.
4 * 1.5 Stunden Live Coding mit der Funktastatur.
Realtime Aggregation des Otto.de Event Streams
Du wolltest schon immer wissen, wie viele Produktseiten auf Otto.de pro Sekunden aufgerufen werden, welcher Artikel der meisgesehenste ist oder welcher Kunde die meisten Tabs offen hat?
All das und noch viel mehr werden wir in dieser Mob-Programming-Session herausfinden. Nebenbei beleuchten wir diverse Aspekte einer resilienten, Kafka-basierten Applikation.
- Mit Sebastian und Frederik
Live Coding - Using Akka Streams to write Microservice that supports end-to-end backpressure
Let's write a microservice based on Akka Streams that truly handles backpressure throughout the entire application.
Traditionally, routes built with Akka HTTP directly interact with actors implementing domain logic. One potential issue is the lack of backpressure: when the route just fires messages at the poor domain actors, these messages pile up in the mailbox faster than they can get processed. This is especially the case when the domain actors interact with a database or external services, waiting for a response.
Our microservice also offers an HTTP API, accesses a database and interacts with another external service. By using Akka Streams as the processing engine, incoming HTTP calls will fail fast while a system is overloaded.
- Mit Markus Jura
"Wo klemmt's?" - "Keine Ahnung..."
Mit der Einführung einer Microservice-Architektur und der Kopplung per Kafka ist es uns - dem Tracking-Team@OTTO - gelungen, einen großen Schritt in Richtung Skalierbarkeit und Ausfallsicherheit zu machen. Doch wie kann ich sicher sein, dass jedes Rad im Getriebe funktioniert? Wenn Service B 2.000 Nachrichten pro Sekunde verarbeitet, dann ist das echt toll, aber nur, solange Service A nicht 4.000 pro Sekunde schreibt.
Backpressure über MS-Genzen hinweg ist nicht trivial, aber machbar. Voraussetzung hierfür ist ein Monitoring der Schreib- und Leseraten der einzelnen Kafka Consumer und Producer. In dieser Session werden wir uns mithilfe von Akka (mal ohne Akka-Streams; richtig handgemacht) einer möglichen Lösung nähern. Dabei steht nicht die Kafka-API im Vordergrund, sondern der geeignete Aufbau eines Aktoren-Systems, oder untechnisch ausgedrückt: echte Umsetzung von Fachlichkeit.
- Mit Michael Arndt
Property-based Testing mit Scala
In dieser Session wollen wir gemeinsam in die Tasten greifen und Tests schreiben, um in kleinen Programmen Fehler zu finden und deren Funktionsweise zu ergründen. Dabei werden wir verschiedene Testbibliotheken nutzen und einfache Unittest und Property-based Tests entwicklen.
- Mit Thomas Hackbarth

Moderatoren

Infos zu den Moderatoren

Über die Gruppe "Clean Code Developer"

  • Gegründet: 11.03.2009
  • Mitglieder: 5.043
  • Sichtbarkeit: offen
  • Beiträge: 493
  • Kommentare: 2.993