Lautsprecher | Transkript |
| Wayne Levin | Willkommen zu unserer Sitzung hier über die Erweiterung des automatisierten Hamcrest-Testens von JSL-Anwendungen zur kontinuierlichen Verbesserung. |
| Was wir Ihnen hier zeigen werden, unser Versprechen an Sie, ist, dass wir Ihnen zeigen werden, wie auch Sie ein produktives kostengünstiges Produkt aufbauen können |
| Hohe Qualitätssicherung, hochzuverlässige und unterstützbare JMP-basierte unternehmenskritische integrierte Analysesysteme. Ja, das ist viel zu sagen, aber das ist es |
| Das ist es, was wir in dieser Umgebung tun. Wir sind sehr zufrieden damit. Es ist uns eine große Ehre, dies mit Ihnen teilen zu können. |
| Hier ist die Agenda, der wir hier folgen werden. Eine kleine Einführung, ich selbst, ich werde das gleich tun und nur ein bisschen über Predictum, weil Sie vielleicht nicht zu viel über uns wissen. |
| Unser Hintergrund, Hintergrund unserer JSL-Entwicklung, Infrastruktur, ein bisschen Geschichte damit verbunden. |
| Und dann die Ergebnisse der Änderungen, die wir vorgenommen haben und die wir hier mit Ihnen teilen möchten. Dann werden wir eine Demonstration machen und darüber sprechen, was als nächstes kommt, was wir für die Zukunft geplant haben, und dann werden wir es endlich für alle Fragen öffnen, die Sie möglicherweise haben. |
| Also bin ich Wayne Levin, also bin ich hier rechts. Ich bin der Präsident von Predictum und ich bin beigetreten |
| mit Vince Faller. Vince ist unser Chef-Softwareentwickler, der diese sehr wichtige Initiative geleitet hat. Also nur ein bisschen über uns, genau dort. Wir sind ein JMP-Partner. |
| Wir starteten 1992, also 29 Jahre alt. |
| Wir machen Schulungen in statistischen Methoden und so weiter, verwenden JMP, beraten in diesen Bereichen und verbringen sehr viel Zeit mit dem Aufbau und |
| Einsatz integrierter analytischer Anwendungen und Systeme, weshalb uns diese Bemühungen sehr wichtig waren. Wir haben zuerst die JMP-Anwendung mit geliefert |
| JMP 4.0 im Jahr 2000, ja, tatsächlich vor über 20 Jahren, und wir haben größere Systeme gebaut. Natürlich waren es seitdem zu kleine kleine Werkzeuge, aber ich denke, wir haben angefangen, um JMP 8 oder 9 herum größere Systeme zu bauen. |
| Wir haben also einiges an Geschichte, leicht über 10 Jahre. Also nur ein bisschen Hintergrundwissen ... bis etwa zur zweiten Hälfte des Jahres 2019 war unsere Entwicklungsumgebung wirklich unterschiedlich, es war Stück für Stück. |
| Projektmanagement |
| war da, aber wieder war alles irgendwie kaputt. Wir hatten verschiedene Anwendungen für die Versionskontrolle und für die Zeitverwaltung, wissen Sie, unsere Entwicklerzeit usw. und nur das Projektmanagement im Allgemeinen. |
| Entwickler haben leicht ausgegeben, und wir werden darüber sprechen, |
| Etwa die Hälfte ihrer Zeit erledigt sie nur routinemäßige mechanische Dinge wie das Verschlüsseln und Verpacken von JMP-Add-Ins. Sie wissen, Konfigurationspakete zu pflegen und, |
| Sie wissen, und das Trennen der Repositorys oder der sogenannten Repos für verschlüsselte und unverschlüsselte Skripte. Es war ... es gab eine Menge, über die wir nachdenken mussten, das war nicht wirklich Entwicklungsarbeit. Es war wirklich Arbeit, dass |
| Entwicklertalent ist ... verschwendet. Wir hatten auch, wie gesagt, wir haben es schon lange gemacht, sogar im Jahr 2019 hatten wir leicht 10 Jahre, so dass über 10 Jahre Legacy-Framework sogar bis zu JMP 5 zurückreichen, wissen Sie, mit, Sie wissen, es wurde aufgebläht und langsam. |
| Und wir wissen, dass JMP im Laufe der Jahre einen langen Weg zurückgelegt hat. Ich meine, in JMP 9 haben wir Namespaces und in JMP 14 Klassen eingeführt, und dann hat Hamcrest |
| begann. Und es war Hamcrest, der uns wirklich erlaubt hat, dies zu tun ... mit dieser großen Initiative. Deshalb haben wir diese große Initiative bereits im August 2019 gestartet. |
| Und dann haben wir unsere ersten Gitlab-Lizenzen erworben und das ist die Entwicklung unserer neuen ... Die Entwicklung unserer neuen Entwicklungsarchitektur hat begonnen, Gestalt anzunehmen, und sie hat sich seitdem verbessert. |
| Grundsätzlich haben wir jeden Monat unsere Fähigkeiten erweitert, um im Laufe der Zeit immer produktiver zu werden. |
| Und das geht weiter, also betrachten wir dies, wenn Sie so wollen, tatsächlich als eine schlanke Art von Anstrengung. Es folgt wirklich den Lean-Prinzipien und beschleunigt unsere Entwicklung. |
| Dank dieses Systems haben wir automatisierte Tests durchgeführt, und Vince wird uns dies zeigen. Und wir haben dieses kleine Modell hier, testen Sie früh und testen Sie oft |
| Und genau das machen wir. Es unterstützt die Wiederverwendung von Code und wir haben unser Predictum-Systemframework neu entwickelt. Es ist jetzt 2.0. Wir haben viel aus unseren früheren Bemühungen gelernt. Alles, was weg ist, so ziemlich alles ist weg, und es wurde ersetzt und erweitert. |
| Und Vince wird uns mehr darüber erzählen. Leicht, leicht haben wir eine Produktivitätssteigerung von über 50%, und ich möchte nur sagen, dass die Entwickler viel glücklicher sind. Sie sind weniger frustriert. |
| Sie konzentrieren sich mehr auf ihre Arbeit, ich meine die eigentliche Arbeit, die Entwickler leisten sollten, nicht die mühsamen Dinge. |
| Es gibt noch Raum für Verbesserungen, werde ich sagen, also sind wir noch nicht fertig und Vince wird uns mehr darüber erzählen. |
| Wir haben jetzt Entwicklungsstandards, also haben wir Styleguides für Funktionen und unsere gesamte Entwicklung basiert auf Funktionen, könnte man sagen. |
| Jede Funktion erfordert mindestens einen Hamcrest-Test, und es gibt Codeüberprüfungen, die die Entwickler miteinander teilen |
| um sicherzustellen, dass wir unseren Standards folgen. Und es wirft Fragen auf, wie diese Standards verbessert und verbessert werden können. |
| Wir haben auch diese Art von lustigen Sitzungen, in denen Entwickler dazu ermutigt werden, Code zu brechen. |
| Richtig, so heißen sie, diese Breakcode-Herausforderungen oder was hast du? So ist es Teil unserer Arbeitsweise geworden und alles passt genau in diese Entwicklungsumgebung. Dies führt beispielsweise dazu, dass weitere Tests und weitere Hamcrest-Tests hinzugefügt werden. Wir haben ein kleines, ziemlich kleines Projekt |
| das haben wir vor etwas mehr als einem Jahr gemacht. Wir gehen in eine neue Phase. Es ist längst vorbei ... |
| Weit über 100 Hamcrest-Tests sind eingebaut und werden während des Entwicklungsprozesses immer wieder ausgeführt. |
| Einige weitere Vorteile sind, dass wir unsere Ressourcenzuweisung zuweisen und verfolgen können, z. B. was Entwickler was tun. Jeder weiß, was alle anderen tun, |
| kontinuierliche Integration, kontinuierliche Bereitstellung, so etwas), |
| Es gibt ... Codekollisionen werden früh erkannt. Wenn wir also ... und wir haben, arbeiten mehrere Leute an einigen Projekten. Wissen Sie, jemand ändert hier eine Funktion und es wird mit etwas kollidieren, das jemand anderes tut macht gerade. Wir werden es viel früher herausfinden. |
| Es ermöglicht uns auch, die Supportfähigkeit für mehrere Mitarbeiter zu verbessern. Wir können keinen Code haben, der von einem bestimmten Entwickler abhängig ist. Wir müssen Code haben, den jeder Entwickler oder Support-Mitarbeiter unterstützen kann |
| vorwärts gehen. Das war auch ein wichtiges Ziel von uns. Und es bringt den gesamten Bereich der Qualitätssicherung nur allgemein voran, |
| einschließlich der Unterstützung der FDA-Anforderungen in Bezug auf die Qualitätssicherung, wissen Sie, Dinge wie Validierung, IQ OQ PQ. Also ist es ... wir automatisieren oder halbautomatisieren |
| diese Aufgaben auch über diese Infrastruktur. Wir verwenden es intern und extern, also wissen Sie vielleicht, dass wir es haben |
| Einige Produkte da draußen, (???) Kobe Sash Lab, aber neue Spam gut Kobe senden Spam (???) werden auch anderswo gesprochen |
| in der JMP Discovery European Conference im Jahr 2021. Vielleicht möchten Sie sie sich ansehen, aber sie sind ziemlich groß |
| Codebasen und sie sind alle entwickelt, mit anderen Worten, wir essen unser eigenes Hundefutter, wenn Sie diesen Ausdruck kennen, aber wir verwenden ihn auch bei allen unseren Kunden |
| Entwicklung, das ist etwas, das für unsere Kunden wichtig ist, weil wir Anwendungen erstellen, von denen sie abhängig sein werden. |
| Und so müssen wir ... wir müssen die Infrastruktur haben, die es uns ermöglicht, zuverlässig zu sein, und das ist sowieso ein großer Teil davon. |
| Ich erwähnte das Predictum-System-Framework. Sie können einige Ausschnitte davon hier sehen. Es befindet sich direkt im Skriptindex, und Sie wissen, wir sehen die Argumente und die |
| Beispiele und all das. Wir haben das alles eingebaut und 95%, über 95% von ihnen haben Hamcrest-Tests. Unser Ziel ist es natürlich sicherzustellen, dass alle dies tun und wir dort ankommen. |
| Wir kommen dorthin. Haben ... diese Rahmenbedingungen ... diese Rahmenbedingungen sind tatsächlich Teil unserer Infrastruktur hier. Das ist eines der wichtigen Elemente. Ein anderer ist nur das ... Hamcrest ... |
| die Fähigkeit, die Unit-Tests durchzuführen. Und ich werde ... am Ende gibt es eine Folie, die Ihnen einen Link in die Community gibt, in der Sie mehr über Hamcrest erfahren können. Das ist ein |
| Entwicklung, die uns von JMP in JMP 14 gebracht wurde, wie ich vor einigen Minuten erwähnte. Gitlab ist ein großer Teil davon; Das gibt uns das Projektmanagement-Repository, die CI / CD-Pipeline usw. |
| Außerdem gibt es eine visuelle ... visuelle Studio-Code-Erweiterung für JSL, die wir erstellt haben, und wir würden ... Sie sehen dort fünf Sterne, weil sie fünf Sterne auf der |
| auf dem visuellen Studio. Ich bin mir nicht sicher, wie wir das nennen. Vince, vielleicht kannst du uns, dem Laden, sagen, was du hast. Es wurde hunderte Male heruntergeladen und wir waren es |
| Aktualisierung regelmäßig. Das ist etwas, wonach Sie auch suchen können. Ich denke, wir haben auch einen Link dazu in der Ressourcenfolie am Ende. |
| Was ich jetzt tun werde, ist, dass ich das an Vince Faller weitergebe. Vince ist wieder unser Chef-Software-Ingenieur. Wie ich bereits sagte, leitete Vince diese Initiative ab August 2019. Es war viel harte Arbeit und |
| Die harte Arbeit geht weiter. Wir sind alle in der Firma sehr dankbar für Vince und seine Führung hier. Also, Vince, warum nimmst du es nicht von hier? Ich werde... |
| Ich bin... |
| Vince Faller | Teilen. |
| Also sagte Wayne ein paar Mal Hamcrest. Für Leute, die nicht wissen, was Hamcrest ist, ist es ein Add-In, das von erstellt wurde |
| JMP. |
| Justin Chilton und Evan McCorkle führten es an. Es ist nur eine Unit-Testing-Bibliothek, mit der Sie sie automatisch ausführen, testen und Ergebnisse abrufen können. |
| Es hat wirklich den Ball ins Rollen gebracht, dass wir dies überhaupt können, weshalb es als Ausdehnung bezeichnet wird. |
| Ich werde ein paar Sachen zeigen |
| mit meinem Bildschirm. Ich arbeite so ziemlich ausschließlich in der VSCode-Erweiterung, die wir erstellt haben. Dies ist VSCode. |
| Wir tun dies, weil es viele integrierte oder erweiterbare Funktionen hat, die wir nicht schreiben müssen, wie z. B. Integration erhalten, Laborintegration erhalten. |
| Hier können Sie sehen, dass dies ein JSL-Skript ist und es gut liest. |
| Wenn Sie es bekommen möchten, wenn Sie ... wenn Sie mit VSCode vertraut sind, ist es nur ein leichter Texteditor. Sie geben einfach JMP ein |
| und du wirst es sehen. Es ist der einzige. |
| Aber wir gehen zu dem, was wir tun. |
| So. |
| Für jede Codeänderung, die wir vornehmen, |
| Es gibt einen Pipeline-Lauf. |
| Wir werden nur zeigen, was es tut. Wenn ich also die README-Datei in diese ändere, ist dies eine Demo für Discovery. |
| 2021. |
| Und das werde ich einfach begehen. Wenn Sie nicht wissen, bekommen, als gerecht zu begehen |
| Ich möchte einen Schnappschuss von genau dem, wo wir uns gerade befinden, und dann schieben Sie ihn in das Repo und speichern ihn auf dem Server. |
| Glücklicher Tag. |
| Nachricht festschreiben. Weitere Readme-Infos. |
| Und ich kann einfach Push bekommen, weil VSCode großartig ist. |
| Pipeline-Demo. |
| Also habe ich es jetzt geschoben. Es wird eine Pipeline geben. Ich kann einfach hier runter gehen und darauf klicken und es wird mir meine Zusammenführungsanfrage geben. Also jetzt |
| Die Pipeline wurde gestartet. |
| Ich kann den Status der Pipeline überprüfen. |
| Was es gerade tut, ist, es wird durchlaufen und überprüfen, ob es die erforderlichen Hamcrest-Dateien hat. Wir haben einige Anforderungen, die |
| wir setzen durch, damit es ... |
| Wir können sicherstellen, dass wir es sind |
| Wir machen unsere Arbeit gut. |
| Und dann ist es geschafft. Ich werde verschlüsseln drücken. |
| Jetzt wird beim Verschlüsseln das gesamte Paket übernommen und verschlüsselt. |
| Wenn wir hier rüber gehen, |
| das ist nur ein vm irgendwo. Es sollte |
| Lauf |
| in einer Sekunde. |
| Es geht also nur den gesamten Code durch. |
| Schreiben Sie alle verschlüsselten Passwörter, gehen Sie durch und klicken Sie auf all das Zeug. Wenn Sie jemals versucht haben, mehrere Skripte gleichzeitig zu verschlüsseln, |
| Sie werden wahrscheinlich wissen, dass dies ein Schmerz ist, also haben wir es automatisiert, damit wir dies nicht tun müssen, da es, wie Wayne sagte, viel Zeit in Anspruch nahm, dies zu tun. |
| Wenn wir 100 Skripte haben, um jedes einzelne von ihnen jedes Mal zu verschlüsseln, wenn wir eine Veröffentlichung durchführen möchten, war das schrecklich. |
| Weil wir unsere haben müssen |
| Code verschlüsselt, weil, ja, Entschuldigung, Meinung, alles klar, ich kann aufhören, das zu teilen. |
| Ah. |
| Das wird also laufen. |
| Es sollte ziemlich bald fertig sein. |
| Dann wird es durchlaufen und inszeniert, und dann nimmt die Inszenierung im Grunde alle Informationsquellen, die wir wollen, so wie in unserer Dokumentation, wie in |
| Alles andere, was wir geschrieben haben, und es rendert sie in die Form, die wir im Add-In haben möchten, da ähnlich wie beim Rest von Github, Gitlab, der größte Teil unserer Dokumentation in Markdown geschrieben ist und wir sie dann in was auch immer rendern. |
| Ich muss den Rest nicht zeigen, aber ja. Also geht es vorbei. Es wird gehen. |
| Wir kehren zu VSCode zurück. |
| So. |
| Wenn wir uns ändern würden, wäre dies nur eine einzige Funktion. |
| Wenn ich hier rein gehe, wenn ich das machen würde ... |
| JSL, aktuelle Auswahl ausführen. |
| So. |
| Sie können sehen, dass es zurückgekommen ist ... alles, was es versucht, ist, Big Class zu öffnen, eine Fit-Linie zu ziehen und die Gleichung zu erhalten. Es gibt die Gleichung zurück. |
| Und man kann tatsächlich sehen, dass es auch hier rübergelaufen ist. |
| Aber. |
| Dies könnte also etwas mehr Dokumentation gebrauchen. |
| Und wir möchten, dass diese Datentabelle nicht geöffnet wird. |
| Aber lassen Sie uns das ganz schnell ausführen. |
| Und sag, |
| Nein. Dies ist keine gute Rendite, es dreht sich anscheinend die Gleichung in allen Kappen. |
| Also, wenn ich das inszeniere. |
| Bessere Dokumentation. |
| Drücken. |
| Wieder zurück hierher. |
| Also drängt es wieder. Dies ist eine weitere Pipeline. |
| Es werden nur eine Reihe von Power-Shell-Skripten ausgeführt, je nachdem, wie wir sie eingerichtet haben. |
| Sie werden jedoch feststellen, dass diese Pipeline mehr Stufen hat. |
| Also wenn wir |
| Um dies skalieren zu können, testen wir nur die JSL |
| zuerst minimal, und dann, wenn es vorbei ist, erlauben wir, weiter zu testen. |
| Und wir haben nur getestet, ob sich JSL-Dateien geändert haben. |
| Aber wir können das durchgehen. |
| Es wird ausgeführt und es wird uns mitteilen, wo es sich im Test befindet, nur für den Fall, dass der Test einfriert. Sie wissen, wenn Sie ein modales Dialogfeld haben, das einfach nicht geschlossen werden kann, wird JMP danach offensichtlich nichts mehr tun. Aber du kannst sehen, es hat ein paar Sachen gemacht, ja, großartig. Ich bin fertig. |
| Aufregend. |
| Aktualisieren Sie das. Holen Sie sich ein kleines grünes Häkchen. |
| Und wir könnten jetzt alles laufen lassen. Es würde durchlaufen, alles testen, dann verschlüsseln, dann das verschlüsselte testen, im Grunde das eigentliche Ding, aus dem wir das Add-In machen werden, und es dann erneut inszenieren, es für uns verpacken, das eigentliche Add-In erstellen. , dass wir einem Kunden geben würden. |
| Ich werde das nicht so schnell machen, weil es eine Minute dauert. |
| Aber |
| Nehmen wir an, wir gehen hier rein und wir sind wie, oh, |
| Nun, ich möchte diese Datentabelle wirklich schließen. Ich weiß nicht, warum ich mich überhaupt dazu geäußert habe. Ich denke nicht, dass es offen sein sollte, weil ich es nicht mehr benutze, wir nicht ... wir wollen das nicht. |
| Wir werden okay sagen. |
| Schließen Sie den dt. |
| Nochmals drücken. Jetzt könnte dies alles manuell auf meinem Computer mit Hamcrest durchgeführt werden. |
| Aber weißt du, manchmal pusht ein Entwickler Sachen und führt nicht alle Hamcrest für alles auf seinem Computer aus, und das ist ... der gesamte Zweck ist es, sie zu fangen. Es hat uns gezwungen, unsere Arbeit etwas besser zu machen. |
| Und |
| Ja. |
| Klicken Sie weiter auf diese Schaltfläche. Ich könnte das einfach öffnen, aber es ist in Ordnung. |
| Jetzt sehen Sie, dass die Pipeline wieder ausgeführt wird. Gehe zur Pipeline. |
| Und ich werde das nur zur Wiederholung sagen. Wir gehen nur durch, testen und verschlüsseln und testen dann |
| weil manchmal die Verschlüsselung ihre eigene eintritt |
| Welt der Probleme, wenn jemand jemals verschlüsselt hat. |
| Laufen, laufen, laufen, laufen, laufen. |
| Und dann, oh, haben wir einen Wurf bekommen. Würden Sie sich das ansehen? |
| Ich versuche nicht, ausdruckslos zu sein, aber du weißt schon. |
| Wenn wir dies als fertig markieren und sagen würden: Ja, wir sind fertig, würden wir sehen, |
| Na ja, dieser Test hat nicht bestanden. |
| Jetzt |
| wir könnten herunterladen |
| warum der Test die Artefakte nicht bestanden hat. |
| Und dies öffnet eine J-Einheit |
| Datei, die ich gerade hier herausziehen werde. |
| Es wird es auch in getlab rendern, was vielleicht einfacher ist, aber im Moment machen wir das einfach. |
| Schließlich. Minimiere alles. |
| Jetzt komm schon. |
| Wir konnten also sehen, dass etwas mit R im Quadrat passiert ist und es fehlgeschlagen ist. |
| Innerhalb |
| von blau. |
| Also können wir hierher kommen. |
| Sagen Sie, warum gibt es etwas in Boo, das dazu führt, dass dies fehlschlägt? |
| Wir sehen, oh, jemand hat unsere Gleichung genannt |
| und dann nahmen sie einfach an, dass die Datentabelle da war. Also, weil etwas, das ich geändert habe, den Code eines anderen gebrochen hat, als ob das jemals passieren würde. |
| Wir haben also dieses Problem. |
| Wo bist du gegangen? Auf geht's. |
| Das ist der Hauptzweck von allem, was wir hier tun, die Tatsache zu erfassen, dass ich etwas geändert und das Zeug eines anderen kaputt gemacht habe. |
| Also konnte ich durchgehen. |
| Schau dir an, was Boo macht. |
| Sag mal, na ja, vielleicht sollte ich einfach Big Class eröffnen |
| mich selber. |
| Ja, cool. Nun, wenn ich das speichere, |
| Ich sollte es wahrscheinlich besser machen. |
| Öffne Big Class selbst. |
| Ich werde das inszenieren. |
| Öffnen Sie Big Class.Get Push. |
| Und wieder nur zeigen |
| die alte Pipeline. |
| Nun sollte dies dauern |
| nicht ... nicht zu lange. |
| Also gehen wir hier rein. Wir ... wir testen nur an einem ... bis ... |
| JMP-Version, aber Sie können sehen |
| automatisch testen wir nur an einem. |
| Dann wartet es darauf, dass der Entwickler sagt: Ja, ich bin fertig und alles sieht gut aus. Fortsetzen. Wir machen das aus Ressourcengründen, |
| weil diese auf vms laufen, die automatisch ständig tuckern, und wir haben mehrere Entwickler, die alle diese Systeme verwenden. |
| Waren auch... |
| Sie können sehen, dieses ist eigentlich ein Docker-System, wir containerisieren diese. |
| Nun, wir sind dabei, diese zu containerisieren. Wir haben sie arbeiten, aber wir haben noch nicht alle Versionen. |
| Aber wir führen 14.3 aus, zumindest für dieses Projekt, wir führen 14.3, 15, 15.1, |
| und das sollte funktionieren. |
| Lassen Sie uns einfach die Dinge zurücksetzen. |
| Weil das, was du weißt, funktioniert. |
| Hätte wahrscheinlich einen Klassiker machen sollen ... aber es ist in Ordnung. |
| Also ja. |
| Wir werden testen. |
| Ich habe das Gefühl, dass ich das immer und immer wieder sage. Wir werden alles testen. |
| Wir lassen diesen tatsächlich laufen, um Ihnen das Endergebnis dessen zu zeigen, was wir bekommen. |
| Es sollte nur dauern. |
| ein bisschen. |
| Also werden wir dies testen, sicherstellen, dass es läuft, und Sie können die Protokolle sehen. Wir erhalten anständige Informationen darüber, was gerade passiert und wo es sich befindet, als würde es Ihnen sagen, welcher Läufer läuft. |
| Ich laufe momentan nur unter Windows. Auch dies ist eine Demo und das alles aber |
| wir sollten rennen können |
| Mehr. |
| Während das läuft, werde ich nur noch etwas über VSCode sprechen. |
| In VSCode gibt es auch ... Schnipsel und Dinge. Wenn Sie also eine Funktion erstellen möchten, |
| Es erstellt Sie alle Funktionsinformationen. Wir verwenden natürliche Dokumente |
| wieder wurde das vom Hamcrest-Team gestohlen, |
| als unsere |
| Entwicklungsdokumentation. |
| Es wird also einfach alles in eine natürliche Dokumentform gebracht. Es ist also wieder einmal die Idee, uns zu helfen, unsere Arbeit zu erledigen und uns zu zwingen, unsere Arbeit zu erledigen |
| ein bisschen besser, mit ein bisschen mehr Begeisterung. |
| Wayne Levin | Für die Dokumentation? |
| Vince Faller | Das ist also für die Dokumentation, ja. |
| Wayne Levin | Während wir uns entwickeln, dokumentieren wir gleichzeitig. |
| Vince Faller | Ja. Absolut. |
| Sie wissen, es hat auch für Schleifen, während Schleifen. |
| Denn mit einer assoziierten Reihe solche Sachen. |
| Sind wir ... ist das ... ist das schon erledigt? Es ist wahrscheinlich fertig, yep. |
| Also bekommen wir unser grünes Häkchen. Jetzt läuft es auf allen Systemen. |
| Wenn wir hierher zurückkehren können, werden Sie es einfach sehen. |
| Öffnen Sie JMP. Es werden einige Tests durchgeführt, |
| wird wahrscheinlich Big Class eröffnen. |
| Dann schließen Sie alle ... schließen Sie sich alle. |
| Wayne Levin | Also machen wir das hauptsächlich, weil |
| Viele unserer Kunden haben unterschiedliche Versionen von JMP bereitgestellt und möchten ein bestimmtes Add-In, aber sie sind es |
| Sie haben es, wissen Sie, nur verschiedene Versionen auf dem Gebiet. Wir testen auch gegen die frühen Adopter-Versionen von JMP, einem Dienst für JMP, da wir Fehler melden. |
| Aber auch für die Kunden ist es hilfreich, weil sie dann wissen, dass sie ... auf die neue Version von JMP upgraden können. Sie wissen, dass die Anwendungen, die wir für sie erstellt haben, getestet wurden. |
| Und das ist für uns nur Routine. |
| Gut. |
| Vince Faller | Sie sind fertig. Sie sind fertig. Sie sind fertig. |
| Ändern... |
| Ich kann darüber reden ... |
| Und das wird einfach rennen, wir können |
| Filmzauber, wenn du willst, Meg. |
| Nur um es schneller laufen zu lassen. |
| Grundsätzlich möchte ich nur zur Inszenierung kommen, aber es dauert eine Sekunde. |
| Gibt es noch etwas zu sagen, Wayne? |
| Cool. |
| Ich werde das sagen ... |
| Etwas was ich sagen kann, |
| wenn wir inszenieren, |
| Wir haben auch unsere Dokumentation in mk docs. Es wird also tatsächlich die Version des mk-Dokuments ausgeführt, gerendert, die Hilfe in die Hilfedateien eingefügt und im Grunde genommen in der Lage sein, eine Version für uns zu erstellen, damit wir dies nicht tun müssen |
| Komm damit klar. |
| Weil das Erstellen von Releases nur ein großer Aufwand ist. |
| Verschlüsselung. Es ist fast fertig. |
| Hätte wohl nur einen vorladen sollen. |
| Live-Demos, was wirst du tun? |
| Etwas. |
| Lauf. |
| Oh, eine Sache möchte ich definitiv tun. |
| Das Letzte, was die Pipeline tatsächlich tut, ist zu überprüfen, ob wir tatsächlich unsere Zeit verbracht haben, denn Sie wissen, wenn |
| Wir erfassen unsere aufgewendete Zeit nicht wirklich, wir werden nicht bezahlt und zwingen uns dazu. |
| Tolle, tolle Zeit. |
| Vinde Faller | So |
| Vince Faller | Ohne das wäre der Job gescheitert. |
| Ich kann nur einige Jobs zeigen. Ich versuche es. |
| Das ist der Hafenarbeiter. Das wollen wir nicht. |
| So |
| Sie sehen, das hat uns unsere Erfolge beschert. |
| Keine Ausfälle. Keine unerwarteten Würfe. Das ist alles Zeug von Hamcrest. |
| Komm schon. Einer noch. |
| Okay, ich muss inszenieren. |
| Eine Sache, die es tut, erstellt die Repositorys. |
| Es schafft sie jedes Mal frisch. |
| Es ist also so, als würde es versuchen, es in einer Art Staatenlosigkeit zu halten |
| Weg. Okay, wir können die Artefakte jetzt herunterladen. |
| Und jetzt sollten wir diese Pipeline-Demo haben. |
| Ich wünschte wirklich, es wäre einfach dorthin gegangen. |
| Was. |
| Warum ist der Internet Explorer aktiv? Jetzt sehen Sie eine Pipeline-Demo |
| ist ein JMP-Add-In. |
| Wenn wir es entpacken. |
| Wenn Sie es nicht wussten, ist ein JMP-Add-In nur eine Zip-Datei. |
| Wenn wir uns das jetzt ansehen, |
| Sie können sehen, dass alle unsere Skripte darin sind, es hat unser foo, es hat unsere Leiste. Wenn wir diese öffnen, |
| öffnen, |
| Sie können sehen, dass es sich um eine verschlüsselte Datei handelt. |
| Dies ist also im Grunde das, was wir dem Kunden geben könnten |
| und nicht so viel mechanische Arbeit haben. Wayne erwähnte das |
| Es sind weniger frustrierte Entwickler, und ich persönlich denke, das ist eine Untertreibung, weil es sehr frustrierend war, dies immer und immer wieder zu tun, bevor wir dies eingeführt haben, und dies hat einer Menge geholfen. |
| Das. |
| Wayne Levin | Nun zur Verschlüsselung, wenn Sie ein Add-In bereitstellen |
| Für die Verwendung durch Benutzer in einem Unternehmen möchten Sie normalerweise aus Sicherheitsgründen usw. nicht, dass sie an Dritte weitergegeben werden |
| mit dem Code umgehen. Wissen Sie, so etwas, also liefern wir möglicherweise einen Code unverschlüsselt nur für, wissen Sie, damit der Client seinen Code verschlüsselt hat, aber für die Lieferung an den Endbenutzer möchten Sie normalerweise alles verschlüsselt, nur damit dies nicht möglich ist manipuliert werden. Nur eines dieser Dinge. |
| Vince Faller | Ja, und das ist das Ende meiner Demo. Wayne, wenn du es zum Abschluss zurücknehmen willst. |
| Wayne Levin | Ja, großartig. |
| Klar, vielen Dank dafür, Vince. Es gibt also viele bewegliche Teile in diesem ganzen System, also ist es im Grunde genommen sicher, dass wir haben, |
| Sie wissen, Code wird von mehreren Benutzern entwickelt, die nicht miteinander kollidieren. Gleichzeitig bauen wir die Dokumentation ein. Tatsächlich wird die Dokumentation mit der Anwendung bereitgestellt, und das müssen wir nicht einbinden. Es ist... |
| Wir haben die Infrastruktur so eingerichtet, dass sie automatisch gepflegt wird. Wir können das zusammen mit dem Code gleichzeitig umfassend aktualisieren, |
| wenn du willst. Die laufenden Hamcrest-Tests, jede dieser Funktionen, die geschrieben werden, |
| Es gibt erwartete Ergebnisse, wenn Sie so wollen. Also werden sie verglichen und so haben wir kurz gesehen, dass es dort, glaube ich, ein Problem mit dieser Gleichung gab. Ein R-Quadrat oder was auch immer kam mit einem anderen Wert zurück, |
| Mit anderen Worten, es brach, zu sagen, hey, hier stimmt etwas nicht. Ich habe diese Ausgabe von der Funktion erwartet |
| für einen Anwendungsfall. Das ist eines der Dinge, die wir von Kunden erhalten. Sie wissen also, wir bauen einen Pool von Anwendungsfällen auf, die in Hamcrest-Tests umgewandelt werden, und los geht's. Es gibt hier einige andere Folien, die |
| stehen Ihnen zur Verfügung, beispielsweise wenn Sie, wenn Sie, wenn Sie die Folien herunterladen. Also werde ich das für Sie verfügbar lassen und hier ist ein kleines Bild der Pipeline |
| das, was wir beschäftigen, und ein bisschen über Codeüberprüfungsaktivitäten auch für Entwickler. Wenn Sie damit hin und her gehen wollen. Vince, möchten Sie hier etwas darüber hinzufügen, wie die Codeüberprüfung und -genehmigung erfolgt? |
| Vince Faller | Ja, also innerhalb der Zusammenführungsanforderung |
| Es wird den JSL-Code auf den Unterschieden des Codes haben. Und wieder ein großer |
| Danke an |
| die Leute, die Hamcrest auch gemacht haben, weil sie auch einen Lexer (?) für GitHub und GitLab gestartet haben, um JSL lesen zu können, also ist dies tatsächlich innerhalb von getlab. |
| Und sie können auch die JSL lesen. Es führt es nicht aus, aber es hat eine schöne Formatierung. Es ist nicht alles nur weißer Text, es ist dort wunderschön. Wir werden einfach hineingehen, |
| Wie in diesem Screenshot klicken Sie auf eine Zeile, geben einen gewünschten Kommentar ein und es wird eine überprüfbare Aufgabe. Deshalb versuchen wir, so viel wie möglich in GitLab zu tun |
| aus Gründen der Transparenz und |
| Sobald alles geschlossen ist, können Sie sagen, ja, meine Zusammenführungsanforderung ist bereit zu gehen. Lassen Sie es uns in den Hauptzweig, den Hauptzweig, legen. |
| Wayne Levin | Genial. Sie sind also wirklich ... es hilft, wissen Sie, wir definieren wirklich Codierungsstandards, wenn Sie so wollen, und |
| Ich mag das Wort Durchsetzung nicht, aber das ist es, worauf es ankommt. Und es reduziert die Variation. Wenn Sie so wollen, können mehrere Entwickler leichter verstehen, was passiert |
| was andere getan haben. Und wenn wir neue Entwickler an Bord holen, verstehen sie den Standard und wissen, wonach sie suchen müssen. Sie wissen, was zu tun ist. |
| Also ... es macht das Onboarding viel einfacher und es befasst sich wieder mit ... alles hängt hier mit allem zusammen, sodass Sie die Unterstützbarkeit kennen und so weiter. |
| Dies ist die Folie, die ich zuvor erwähnt habe, nur für einige Ressourcen, also verwenden wir GitLab. Ich nehme an, die gleichen Prinzipien gelten für jeden Git im Allgemeinen wie GitHub oder was hast du? Hier ist der Community-Link für Hamcrest. Es gab ein Gespräch bei |
| in tucson, das war 2019, in den alten tagen, als wir reisten und uns trafen. Das hat sehr viel Spaß gemacht. Und hier ist der Marktplatz-Link für die Visuals ... Visual Code Studio. |
| Visual Studio Code, was hast du? |
| Also, wie Vince sagte, ja, wir nutzen diesen Editor sehr oft, anstatt den eingebauten JMP-Editor zu verwenden, nur weil alles integriert ist. Es ist... |
| Es ist nur ein Teil einer großen Anwendungsentwicklungsumgebung. Und damit, Vince und ich, im Namen von Vince und mir, möchte ich Ihnen für Ihr Interesse daran danken und noch einmal, wir möchten uns wirklich beim JMP-Team bedanken. Justin Chilton und Firma, |
| Ich rufe dich an. Ohne Hamcrest wären wir nicht dabei. Das war |
| das fehlende Teil oder war das befähigende Teil, das es uns wirklich ermöglichte, die JSL-Entwicklung voranzutreiben, |
| Grundsätzlich die Arten von Standards, die Sie bei der Codeentwicklung im Allgemeinen in der Industrie erwarten. Wir sind wirklich dankbar dafür und ich kenne unsere ... |
| Sie wissen, dass dies mit jeder von uns bereitgestellten Anwendung weitergegeben wird. Und an diesem Punkt beantworten Vince und ich gerne alle Fragen, die ... |
| info@predictum.com und es wird an uns weitergeleitet und wir werden uns bei Ihnen melden. Aber an diesem Punkt werden wir es für Fragen und Antworten öffnen. |