
Oft werden Anwendungen durch viele kleine Verbesserungen entwickelt, aber manchmal werden viele Details zu einem vollständigen Bild zusammengefügt, dessen Implementierung qualitativ hochwertige und umfangreiche Änderungen erfordert. Und hier reicht nur eine gute Idee nicht aus. Nicht weniger wichtig sind die organisatorischen und technischen Komponenten des Problems. Wie bereite ich architektonische Änderungen in einem funktionierenden System vor und implementiere sie? Wir
möchten über globales Refactoring, die Verbesserung der Systemleistung, die Optimierung des Codes, Ansätze für die Arbeit mit Datenbanken und viele andere Dinge
sprechen .
Programm und Referenten:Alexander Kolesnikov, Wrike - Großartiges Refactoring in einem 24/7-Produkt
Tolles Refactoring ist etwas, das man nicht über Nacht machen und sogar sprinten kann. Manchmal dauert es ein Viertel oder sogar ein paar, um zu arbeiten. Das Problem beim großen Refactoring ist, dass während einige versuchen aufzuräumen, andere weiterhin den Code ändern und die Schildkröte möglicherweise nie Zeit hat, Achilles einzuholen. Um ein umfangreiches Refactoring zu implementieren, müssen Sie in der Lage sein, den Arbeitsplan automatisch zu bestimmen. Dann wird es irgendwann möglich sein, den alten Ansatz zur Organisation von Code auf Testebene zu verbieten. Auf diese Weise wird der erforderliche Aufwand festgelegt und es wird möglich sein, die verbleibenden technischen Schulden mit Hilfe eines engagierten Teams oder der gesamten Entwicklungsabteilung zu schließen.
Beispiele: Ruhezustand → MyBatis, Struts → Web.fw, Domain.fw, Sharding, Kontotrennung, API-Refactoring, Verschlüsselung. Pläne: QueryEngine, Hybrid-Infrastruktur, Multiple-DataCenter, Posteingang.
Philippe Delgyado, NEXIGN, „Undenkbare Pfade: Methoden im laufenden Betrieb ändern, mit Datenbanken ohne ORM arbeiten usw.“
Ich werde über einige nicht standardisierte Praktiken aus jüngsten Projekten sprechen, (n) die sich als erfolgreich und nützlich erwiesen haben.
Am Anfang erzähle ich Ihnen von den Erfahrungen bei der Auswahl verschiedener Entwicklungsmethoden für verschiedene Phasen des Projekts, warum Sie ein „Refactoring der Methodik“ benötigen und wie Sie die Änderung der Methodik mehr oder weniger schmerzlos gestalten können.
Anschließend werde ich das Schema der Arbeit mit komplexen Strukturen in der Datenbank ohne Verwendung von ORM und ohne komplexe Abfragen beschreiben, was selbst das komplexeste Refactoring der verwendeten Datenstrukturen erheblich erleichtert.
Nun, am Ende werde ich über alle möglichen kleinen Dinge sprechen - Analyse von Protokollen ohne ELK, Lehren aus dem Refactoring und andere.
In der Geschichte werde ich versuchen, mich auf die Randbedingungen für die Anwendung von Praktiken, Fallstricke und andere Gefahren zu konzentrieren.
Vasily Sozykin, Yandex.Money „Microservices: Vereinheitlichen Sie fast alles, aber nicht mehr“
Meine Erfahrung hat gezeigt, dass Versuche, Menschen in einem großen Unternehmen zu vereinen, zu nichts Gutem führen. Die Vereinheitlichung von Prozessen und Technologien hilft jedoch beim Aufbau cooler Microservice-Systeme.
Ein Bericht darüber, wie wir zu einem vollständig dezentralen Entwicklungssystem übergegangen sind, aber ein Team geblieben sind und eine vernünftige Gemeinschaft aufgebaut haben. Ich werde anhand von Beispielen veranschaulichen, wie wir Prozesse verbessern. Dies hilft zu expandieren, wird jedoch nicht zu einem Unternehmen im schlechten Sinne des Wortes.
Wenn Sie mit der Implementierung von Microservices begonnen haben, sich aber nicht sicher sind, ist der Bericht möglicherweise Ihr Aktionsplan. Und wenn Sie bereits in einer Microservice-Welt leben, erinnern wir uns gemeinsam an den zurückgelegten Weg und sprechen über aktuelle Probleme.
→
Registrierung