Mitap: Quarantäne, geh weg

Hallo alle zusammen! Der 30. Mai ist der zweite Online-Mitap auf Go. Die Organisatoren sind die Jungs aus den Gemeinden Go Yola und Golang Kazan . Lassen Sie uns herausfinden, wie das Testen von Microservices organisiert wird, wie DI on Go besser implementiert werden kann, warum der Gopher blau ist und wie man mit automatisch generiertem Go-Swagger-Code überlebt. 

Sie finden vier konzentrierte Berichte der Entwickler von MTS, iSpring, Percona und Toggl, das Go-Quiz und viel Live-Kommunikation. Unter dem Schnitt befinden sich Zusammenfassungen von Berichten, ein Link zur Videosendung und Interviews mit Sprechern. Nicht wechseln!


Live 30. Mai 


Wir starten am 30. Mai um 16:00 Uhr auf dem YouTube-Kanal von iSpring Tech . Dies ist Samstag. Jeder Bericht ist ein direkter Kontakt zu den Rednern: Fragen per Stimme stellen, in den Chat schreiben. Nach jeder Rede eröffnen wir einen Besprechungsraum, in dem Sie das Thema ausführlich besprechen können. Heiße Diskussionen und heiße Fragen sind willkommen. 

Am Ende des Mitaps - ein Quiz, in dem Sie Ihre Kenntnisse in Go testen können :)

Stellen Sie eine Verbindung zum Mitap her → Das

vollständige Mitap-Programm →

4 heiße Berichte über Go



Testen von (Mikro-) Diensten - Alexey Palazhchenko, Percona


- Vor- und Nachteile der Prüfung von Mikrodiensten;
- Was tun mit Authentifizierung und Autorisierung?
- Wie man keine Tests fallen lässt.

Warum hast du dieses Thema gewählt?


Die Leute haben es gewählt :) Wir haben unter den Entwicklern eine offene Abstimmung über eine Auswahl von Themen abgehalten. Es nahmen 85 Personen teil. Die meisten stimmten für das Testen.

Was vermisst du am meisten auf Go?


Enum'ov und vollständige Überprüfung aller Werte oder Typen in Schalter / Fall. Linters lösen dieses Problem nur teilweise. Generisch an zweiter Stelle - Typschalter für alle Grundtypen, die ich öfter schreibe, als ich möchte.

Was würdest du Rob Pike sagen, wenn du dich triffst?


Warum? Ich habe ihn interviewt :)


Abhängigkeitsinjektion und ihre Freunde (in Go) - Anton Kucherov, Toggl


- Was sind DIP, IoC und DI?
- Welche Probleme werden mit Hilfe dieser Konzepte gelöst?
- Eine Reihe von Optionen zur Implementierung von DI in Go.

Warum hast du dieses Thema gewählt?


Weil ich mir sehr lange Sorgen um die Frage gemacht habe: „Warum verwandelt sich unser Code irgendwann in ein Chaos und wie kann ich dem widerstehen?“?

Erzählen Sie uns von Ihrem größten Pfosten auf Go


Einmal habe ich ein Legacy-Projekt überarbeitet. Er nutzte aktiv die Parallelität. Es gab keine Dokumentation oder Spezifikation. Im Laufe der Arbeit habe ich die Token-Variable im Feld der HttpClient-Struktur ausgegeben. Es schien mir, dass dies ein gängiges Microservice-Zugriffstoken ist. Es stellte sich heraus - es war ein Token, das dem Benutzer zugeordnet war. 
Als die Änderung die Produktion traf, erhielten einige Benutzer Daten von anderen. Musste dringend Teil des Systems für die Wartung sein und die Datenbank schnell von durchgesickerten Daten reinigen. Es ist gut, dass die Daten nicht persönlich waren - es war unmöglich, sie bestimmten Personen zuzuordnen.

Was würdest du Rob Pike sagen, wenn du dich triffst?


Hallo, schön dich kennen zu lernen.


Saubere Architektur in der Automatisierung “- Sergey Shambir, iSpring


- Automatisierung als Prozess;
- wie man die Prinzipien der reinen Architektur für sie anwendet;
- iSpring-Erfahrung beim Schreiben von Automatisierungsdienstprogrammen für unterwegs.

Erzählen Sie etwas, das nicht im Bericht enthalten ist, aber das Thema perfekt veranschaulicht.


Der Code für viele beliebte DevOps-Tools ist in Go geschrieben. Es strahlt nicht immer mit Reinheit. Zum Beispiel gibt es im Docker- und Kubernetes-Code viele Panikrufe. Obwohl der ziellose Einsatz von Panik in Go als schlechte Praxis angesehen wird. 
Ich bin sicher, dass OpenSource-Projekte auf Go mit einer sauberen Architektur mehr Mitwirkende anziehen würden. Es ist viel einfacher, ein Projekt zu verbessern, das nicht durch Dutzende globaler Variablen, eng verwandter Pakete und monströser Funktionen unter Verstoß gegen das Prinzip der Einzelverantwortung in ein Chaos verwandelt wird.

Erzählen Sie uns von Ihrem größten Pfosten auf Go


Einmal haben wir mit Kollegen ein Backend für einen Artikeleditor geschrieben. Es war in der Test- und Fixierungsphase, als der Tester bemerkte - am Morgen verschwinden die Daten aller Artikel. Es stellte sich heraus, dass ein anderer Dienst jede Nacht eine Liste mit Artikeln zum Löschen durch cron sendet. Wenn es nichts zu löschen gab, schickte er eine leere Liste. In unserem Service bedeutete eine leere Liste "Alle Artikel löschen". 

Seitdem empfehle ich jedem in allen API-Methoden zum Ändern / Löschen von Daten, immer ein Flag zu benötigen, das angibt, dass alle Einträge betroffen sind. Oder führen Sie eine separate Methode ein, mit der alles entfernt / geändert wird.

Was würdest du Rob Pike sagen, als du dich getroffen hast? 


Ich würde fragen, warum der Gopher blau ist.


Produktivität steigern: Höhen und Tiefen “- Ilya Kaznacheev, MTS


- wie Go-Swagger die Teamentwicklung vereinfacht;
- Wie man die Arbeit am Boilerplate-Code beschleunigt;
- warum der generierte Code Sie zwingt, zu Ihrer Melodie zu tanzen und wie Sie damit umgehen.

Warum hast du dieses Thema gewählt?


In mehreren Unternehmen bin ich mit dem Einsatz von Go-Swagger konfrontiert. Und das beinhaltet immer Tricks und Hacks. Ich möchte sie mit der Community teilen, damit die Leute kein bereits gebautes Fahrrad umbauen müssen.

Erzählen Sie etwas, das nicht im Bericht enthalten ist, aber das Thema perfekt veranschaulicht.


Einmal habe ich mit einem Team an einem Hackathon teilgenommen. In der ersten Phase haben wir eine Anwendung mit einem Backend für Go und einem Frontend für iOS erstellt. Infolgedessen waren fast zwei Drittel der Zeit mit dem Austausch von Informationen über Änderungen in der API und der Implementierung der API im Backend beschäftigt. 
In der zweiten Phase haben wir auch eine Anwendung für Go und iOS erstellt. Dieses Mal habe ich swagger verwendet, um die API zu beschreiben, und go-swagger, um die Serverinfrastruktur für diese API zu generieren. Es wurden 6 Stunden gespart. Dank dessen hatte ich den Serverteil schon einmal fertiggestellt und konnte nachts normal schlafen.

Deine Version, warum ist der Gopher blau?


Krank in der Kindheit :) Wir

sehen uns am 30. Mai live. Und um den Start nicht zu verpassen, abonnieren Sie den YouTube-Kanal iSpring Tech und schließen Sie sich Go Yola und Golang Kazan an . Hier veröffentlichen wir heiße Berichte von Mitaps.

PS Und doch, warum ist der Gopher blau? Schreiben Sie Ihre Version in die Kommentare.

All Articles