Conférencier | Transcription |
| Wayne Levin | Bienvenue à notre session ici sur l'extension des tests automatisés Hamcrest des applications JSL pour une amélioration continue. |
| Ce que nous allons vous montrer ici, notre promesse, c'est que nous allons vous montrer comment vous aussi pouvez construire une entreprise rentable et productive |
| une assurance de haute qualité, des systèmes analytiques intégrés critiques basés sur JMP, hautement fiables et compatibles. Ouais c'est beaucoup à dire mais c'est |
| c'est ce que nous faisons dans cet environnement. Nous en sommes très satisfaits. Nous sommes vraiment honorés de pouvoir le partager avec vous. |
| Voici donc l'ordre du jour que nous allons suivre ici. Une petite introduction, moi-même, je vais le faire dans un instant, et juste un peu sur Predictum, car vous ne savez peut-être pas trop sur nous, |
| nos antécédents, les antécédents de notre développement JSL, l'infrastructure, un peu d'histoire impliqués dans cela. |
| Et puis les résultats des changements que nous avons mis en place que nous sommes ici pour partager avec vous. Ensuite, nous allons faire une démonstration et parler de ce qui va suivre, de ce que nous avons prévu pour aller de l'avant, puis nous ouvrirons enfin la discussion à toutes les questions que vous pourriez avoir. |
| Donc je suis Wayne Levin, donc c'est moi ici à droite. Je suis le président de Predictum et je suis joint |
| avec Vince Faller. Vince est notre ingénieur logiciel en chef qui dirige cette initiative très importante. Alors juste un peu de nous, juste là. Nous sommes un partenaire JMP. |
| Nous avons lancé en 1992, donc 29 ans. |
| Nous faisons des formations aux méthodes statistiques, etc., en utilisant JMP, en consultant ces domaines et nous passons énormément de temps à construire et |
| déployer des applications et des systèmes analytiques intégrés, d'où l'importance de cet effort pour nous. Nous avons d'abord livré l'application JMP avec |
| JMP 4.0 en l'an 2000, oui, il y a en effet plus de 20 ans, et nous avons construit des systèmes plus volumineux. Bien sûr, depuis lors, c'étaient des petits outils trop petits, mais nous avons commencé, je pense, autour de JMP 8 ou 9 à construire des systèmes plus grands. |
| Nous avons donc un peu d'histoire à ce sujet, sur 10 ans facilement. Donc, juste un peu de contexte ... jusque vers le second semestre de 2019, notre environnement de développement était vraiment disparate, il était fragmentaire. |
| Gestion de projet |
| était là, mais encore une fois, tout était en quelque sorte brisé. Nous avions différentes applications pour le contrôle de version et pour la gestion du temps, vous savez, notre temps de développeur, etc., et juste la gestion de projet en général. |
| Les développeurs dépensaient facilement, et nous en parlerons, |
| environ la moitié de leur temps à faire des tâches mécaniques de routine, comme le chiffrement et l'empaquetage des compléments JMP. Vous savez, la maintenance des packages de configuration et, |
| vous savez, et séparer les référentiels ou ce que nous appelons généralement les référentiels, vous savez, pour les scripts chiffrés et non chiffrés. C'était ... il y avait beaucoup de choses auxquelles nous devions penser qui n'étaient pas vraiment du travail de développement. C'était vraiment du travail que |
| le talent de développeur est ... gaspillé. Nous avions aussi, comme je l'ai dit, nous le faisions depuis longtemps, même en 2019, nous avions facilement 10 ans, donc plus de 10 ans de framework hérité remontant même à JMP 5, vous savez, avec, vous savez, ça devenait gonflé et lent. |
| Et nous savons que JMP a parcouru un long chemin au fil des ans. Je veux dire dans JMP 9, nous avons des espaces de noms et des classes introduites par JMP 14 et c'est à ce moment-là que Hamcrest |
| a commencé. Et c'est Hamcrest qui nous a vraiment permis de faire ça ... avec cette initiative majeure. Nous avons donc lancé cette initiative majeure en août 2019. |
| Et c'est à ce moment-là que nous avons acquis nos premières licences Gitlab et c'est le développement de notre nouvelle ... le développement de notre nouvelle architecture de développement, voilà, a commencé à prendre forme et ça s'améliore depuis. |
| Chaque mois, en gros, nous ajoutons et renforçons nos capacités pour devenir de plus en plus productifs au fur et à mesure que nous progressons. |
| Et et cela continue, nous considérons donc cela, si vous voulez, comme un type d'effort Lean. Cela suit vraiment les principes du Lean et cela a accéléré notre développement. |
| Nous avons des tests automatisés, grâce à ce système, et Vince va nous le montrer. Et nous avons ce petit modèle ici, testez tôt et testez souvent |
| Et c'est ce que nous faisons. Il prend en charge la réutilisation du code et nous avons redéveloppé notre cadre système Predictum. C'est maintenant 2.0. Nous avons beaucoup appris de nos efforts antérieurs. Tout ce qui est parti, à peu près tout est parti, et il a été remplacé et étendu. |
| Et Vince nous en dira plus à ce sujet. Nous avons facilement, facilement plus de 50% d'augmentation de la productivité, et je vais juste dire que les développeurs sont beaucoup plus heureux. Ils sont moins frustrés. |
| Ils sont plus concentrés sur leur travail, je veux dire le vrai travail que les développeurs devraient faire, pas le genre de choses fastidieuses. |
| Il y a encore place à amélioration, je vais dire, donc nous n'avons pas fini et Vince nous en dira plus. |
| Nous avons maintenant des normes de développement, nous avons donc des guides de style pour les fonctions et tout notre développement est basé sur la fonction, pourrait-on dire. |
| Chaque fonction nécessite au moins un test Hamcrest, et il y a des revues de code que les développeurs, ils partagent les uns avec les autres |
| pour nous assurer que nous respectons nos normes. Et cela soulève des questions sur la manière de renforcer ces normes, de les améliorer. |
| Nous avons également ces sessions amusantes, où les développeurs sont encouragés à casser le code, |
| à droite, alors ils sont appelés comme, ces défis de code de rupture, ou que sais-tu. Cela fait donc partie de notre modus operandi et tout s'intègre parfaitement dans cet environnement de développement. Cela conduit, par exemple, à d'autres tests, d'autres tests Hamcrest à ajouter. Nous avons un petit projet assez petit |
| que nous avons fait il y a un peu plus d'un an. Nous entrons dans une nouvelle phase. C'est bien fini ... |
| plus de 100 tests Hamcrest y sont intégrés et ils sont exécutés encore et encore tout au long du processus de développement. |
| Donc, un autre avantage est que cela nous permet d'attribuer et de suivre notre allocation de ressources, comme ce que font les développeurs. Tout le monde sait ce que tout le monde fait, |
| intégration continue, déploiement continu, quelque chose comme ça), |
| il y a ... les collisions de code sont détectées tôt, donc si nous avons ... et nous le faisons, nous avons plusieurs personnes qui travaillent sur certains projets, donc, vous savez, quelqu'un change une fonction ici et il va entrer en collision avec quelque chose que quelqu'un d'autre fait. Nous allons le découvrir beaucoup plus tôt. |
| Cela nous permet également d'améliorer la prise en charge de plusieurs employés. Nous ne pouvons pas avoir de code dépendant d'un développeur particulier; nous devons avoir un code que tout développeur ou personnel d'assistance peut prendre en charge |
| aller de l'avant. C'était donc aussi un de nos objectifs importants. Et cela fait progresser l'ensemble du domaine de l'assurance qualité de manière générale, |
| y compris la prise en charge, vous savez, des exigences de la FDA, concernant l'assurance qualité, vous savez, des choses comme la validation, l'IQ OQ PQ. Donc c'est ... nous automatisons ou semi-automatisons |
| ces tâches également par le biais de cette infrastructure. Nous l'utilisons en interne et en externe, vous savez peut-être que nous avons |
| certains produits là-bas, (???) Kobe sash lab mais de nouveaux spams bien Kobe envoi de spams (???) sont également évoqués ailleurs |
| lors de la conférence européenne JMP Discovery en 2021. Vous voudrez peut-être aller les vérifier, mais ils sont assez volumineux |
| les bases de code et elles sont toutes développées, en d'autres termes, nous mangeons notre propre nourriture pour chien, si vous connaissez cette expression, mais nous l'utilisons également avec tous nos clients |
| développement, c'est donc quelque chose qui est important pour nos clients, donc parce que nous construisons des applications dont ils vont dépendre. |
| Et donc nous, nous devons ... nous devons avoir l'infrastructure qui nous permet d'être fiables, et de toute façon, c'est une grande partie de cela. |
| J'ai mentionné le cadre du système Predictum. Vous pouvez en voir quelques extraits ici. C'est juste dans l'index de script, et vous savez, nous voyons les arguments et le |
| exemples et tout ça. Nous avons intégré tout cela et 95%, plus de 95% d'entre eux ont des tests Hamcrest qui leur sont associés. Bien sûr, notre objectif est de nous assurer que tous le font et nous y arrivons. |
| Nous y arrivons. Avoir ... ce cadre ... ce cadre fait en fait partie de notre infrastructure ici. C'est l'un des éléments importants de celui-ci. Un autre est juste que ... Hamcrest ... |
| la possibilité de faire les tests unitaires. Et je vais avoir ... il y a une diapositive à la ... à la fin, qui vous donnera un lien vers la communauté où vous pourrez en savoir plus sur Hamcrest. C'est un |
| développement qui nous a été apporté par JMP, de retour dans JMP 14, comme je l'ai mentionné il y a quelques minutes. Gitlab en est une grande partie; qui nous donne le référentiel de gestion de projet, le pipeline CI / CD, etc. |
| Et il y a aussi une extension de code visuelle ... visuelle pour JSL que nous avons créée et que nous ... vous voyez cinq étoiles là-bas parce qu'elle a reçu cinq étoiles sur le |
| sur le studio visuel. Je ne sais pas comment nous appelons cela. Vince, tu peux peut-être nous dire, le magasin, qu'est-ce que tu as. Il a été téléchargé des centaines de fois et nous avons été |
| le mettre à jour régulièrement. C'est donc quelque chose que vous pouvez également rechercher. Je pense que nous avons un lien pour cela également dans la diapositive de ressources à la fin. |
| Donc, ce que je vais faire maintenant, c'est que je vais passer ça à Vince Faller. Vince est, encore une fois, notre ingénieur logiciel en chef. Vince a dirigé cette initiative, à partir d'août 2019, comme je l'ai dit. C'était beaucoup de travail acharné et |
| le travail acharné se poursuit. Nous sommes tous, dans l'entreprise, très reconnaissants envers Vince et son leadership ici. Cela dit, Vince, pourquoi ne le prenez-vous pas d'ici? Je vais... |
| Je suis... |
| Vince Faller | Partage. |
| Alors Wayne a dit Hamcrest à plusieurs reprises. Pour les personnes qui ne savent pas ce qu'est Hamcrest, il s'agit d'un complément créé par |
| JMP. |
| Justin Chilton et Evan McCorkle le dirigeaient. Il s'agit simplement d'une bibliothèque de tests unitaires qui vous permet de l'exécuter, de la tester et d'en obtenir les résultats de manière automatisée. |
| Cela a vraiment commencé le bal de notre capacité à le faire, d'où le nom d'étendre. |
| Je vais montrer des trucs |
| avec mon écran. Je travaille à peu près exclusivement dans l'extension VSCode que nous avons construite. C'est VSCode. |
| Nous faisons cela parce qu'il a beaucoup de fonctionnalités intégrées ou de fonctionnalités extensibles que nous n'avons pas à écrire, comme obtenir l'intégration, obtenir l'intégration en laboratoire. |
| Ici, vous pouvez voir qu'il s'agit d'un script JSL et il le lit très bien. |
| Si vous voulez l'obtenir, si vous êtes ... si vous êtes familier avec VSCode, c'est juste un éditeur de texte léger. Vous venez de taper JMP |
| et vous le verrez. C'est le seul. |
| Mais nous allons passer à ce que nous faisons. |
| Alors. |
| Pour tout changement de code que nous apportons, |
| il y a un pipeline. |
| Nous allons simplement montrer ce qu'il fait. Donc, si je change le fichier README en ceci, c'est une démo pour Discovery. |
| 2021. |
| Et je vais juste commettre ça. Si vous ne savez pas obtenir, vous engager comme juste |
| en disant que je veux un instantané de l'endroit où nous en sommes pour le moment, puis vous le poussez vers le dépôt et il est enregistré sur le serveur. |
| Bonne journée. |
| Message de validation. Plus d'infos Lisez-moi. |
| Et je peux juste faire pousser, parce que VSCode est génial. |
| Démo Pipeline. |
| Alors maintenant, je l'ai poussé. Il va y avoir un pipeline en cours d'exécution. Je peux simplement aller ici et cliquer dessus et cela me donnera ma demande de fusion. Alors maintenant |
| pipeline a commencé à fonctionner. |
| Je peux vérifier l'état du pipeline. |
| Ce qu'il fait en ce moment, c'est qu'il va passer en revue et vérifier qu'il a les fichiers Hamcrest requis. Nous avons des exigences qui |
| nous appliquons pour qu'il puisse ... |
| nous pouvons nous assurer que nous sommes |
| bien faire notre travail. |
| Et puis c'est fait. Je vais appuyer sur crypter. |
| Maintenant, crypter va prendre l'ensemble du paquet et le crypter. |
| Si nous allons par ici, |
| c'est juste un vm quelque part. Cela devrait |
| commence à fonctionner |
| dans une seconde. |
| Donc, il ne fait que parcourir tout le code. |
| Ecrire tous les mots de passe cryptés, parcourir, cliquer sur tout ça. Si vous avez déjà essayé de chiffrer plusieurs scripts en même temps, |
| vous saurez probablement que c'est pénible, alors nous l'avons automatisé afin que nous n'ayons pas à faire cela parce que, comme Wayne l'a dit, cela prenait beaucoup de temps pour les faire. |
| Par exemple, si nous avons 100 scripts à parcourir et à crypter chacun d'entre eux à chaque fois que nous voulons faire une version, c'était horrible. |
| Parce que nous devons avoir notre |
| code crypté parce que, ouais désolé, opinion, d'accord, je peux arrêter de partager ça. |
| Ah. |
| Alors ça va courir. |
| Cela devrait finir bientôt. |
| Ensuite, il passera et mettra en scène, puis la mise en scène prend essentiellement toutes les sources d'informations que nous voulons, comme notre comme dans notre documentation, comme dans |
| tout ce que nous avons écrit d'autre, et il les rend dans la forme que nous voulons dans le complément, car tout comme le reste de github, gitlab, la plupart de notre documentation est écrite en markdown et ensuite nous la rendons dans n'importe quoi. |
| Je n'ai pas besoin de montrer le reste de ça mais oui. Alors ça passe. Ça va aller. |
| Nous reviendrons à VSCode. |
| Alors. |
| Si nous devions changer, ce n'est donc qu'une seule fonction. |
| Si je vais ici comme, si je devais exécuter ça ... |
| JSL, exécuter la sélection actuelle. |
| Alors. |
| Vous pouvez voir qu'il est revenu ... tout ce qu'il essaie de faire est d'ouvrir Big Class, d'exécuter une ligne d'ajustement et d'obtenir l'équation. Cela renvoie l'équation. |
| Et vous pouvez en fait le voir couru ici aussi. |
| Mais. |
| Cela pourrait donc utiliser plus de documentation. |
| Et nous sommes comme, oh, nous ne voulons pas vraiment que cette table de données soit ouverte. |
| Mais allons-y vite. |
| Et dis, |
| non. Ce n'est pas un bon retour, cela transforme l'équation en majuscules apparemment. |
| Donc si je mets ça en scène. |
| Meilleure documentation. |
| Pousser. |
| Encore une fois ici. |
| Donc, encore une fois, ça pousse. Ceci est un autre pipeline. |
| Il s'agit simplement d'exécuter un tas de scripts Power Shell dans l'ordre, en fonction de la façon dont nous l'avons configuré. |
| Mais vous remarquerez que ce pipeline comporte plus d'étapes. |
| Alors quand nous |
| dans un effort pour aider à être en mesure de faire évoluer cela, nous testons uniquement le JSL |
| au minimum au début, puis, au fur et à mesure que cela passe, nous permettons de tester plus loin. |
| Et nous n'avons testé que s'il y a des fichiers JSL qui ont changé. |
| Mais nous pouvons passer par là. |
| Il fonctionnera et nous indiquera où il en est dans le test, juste au cas où le test se fige. Vous savez, si vous avez une boîte de dialogue modale qui ne se ferme tout simplement pas, évidemment JMP ne continuera pas à faire quoi que ce soit après cela. Mais vous pouvez voir, il a fait un tas de trucs, ouais, génial. J'ai fini. |
| Passionnant. |
| Rafraîchissez cela. Obtenez une petite coche verte. |
| Et nous pourrions aller, d'accord, tout gérer maintenant. Il passerait en revue, testerait tout, puis le chiffrerait, puis testerait le chiffré, essentiellement l'élément réel dont nous allons créer le complément, puis le réorganiserait, le conditionnait pour nous, créerait le complément réel. en ce que nous donnerions à un client. |
| Je ne vais pas faire ça très vite car cela prend une minute. |
| Mais |
| disons que nous entrons ici et nous sommes, comme, oh, |
| eh bien, je veux vraiment fermer ce tableau de données. Je ne sais pas pourquoi j'ai commenté en premier lieu. Je ne pense pas qu'il devrait être ouvert, parce que je ne l'utilise plus, nous ne ... nous ne voulons pas de cela. |
| Nous dirons d'accord. |
| Fermez le dt. |
| Poussez à nouveau. Maintenant, tout cela pourrait être fait manuellement sur mon ordinateur avec Hamcrest. |
| Mais vous savez, parfois un développeur va pousser des choses et ne pas exécuter tout son Hamcrest pour tout sur son ordinateur, et c'est ... tout le but est de l'attraper. Cela nous a obligés à faire un peu mieux notre travail. |
| Et |
| Ouais. |
| Continuez à cliquer sur ce bouton. Je pourrais simplement ouvrir ça, mais ça va. |
| Alors maintenant, vous verrez qu'il exécute à nouveau le pipeline. Allez au pipeline. |
| Et je vais juste continuer à dire ceci pour la répétition. Nous sommes juste en train de passer en revue, de tester et de chiffrer, puis de tester |
| car parfois le cryptage entre dans son propre |
| monde de problèmes, si quelqu'un a déjà fait le cryptage. |
| Courez, courez, courez, courez, courez. |
| Et puis, oh, nous avons eu un jet. Pouvez-vous regarder ça? |
| Je n'essaye pas d'être impassible, mais tu sais. |
| Donc, si nous devions marquer cela comme prêt et dire, oui, nous avons terminé, nous verrions, |
| oh, eh bien, ce test n'a pas réussi. |
| À présent |
| nous pourrions télécharger |
| pourquoi le test n'a pas réussi dans les artefacts. |
| Et cela ouvrira une unité J |
| fichier que je vais juste sortir ici. |
| Il le rendra également dans getlab, ce qui pourrait être plus facile, mais pour l'instant, nous allons simplement le faire. |
| Finalement. Minimisez tout. |
| Maintenant viens. |
| Ainsi, nous avons pu voir que quelque chose s'est passé avec R au carré et que cela a échoué. |
| À l'intérieur |
| de bleu. |
| Nous pouvons donc venir ici. |
| Dites, pourquoi y a-t-il quelque chose dans boo qui fait échouer cela? |
| Nous voyons, oh, quelqu'un a appelé notre équation |
| puis ils ont simplement supposé que le tableau de données était là. Donc, parce que quelque chose que j'ai changé a cassé le code de quelqu'un d'autre, comme si cela arriverait un jour. |
| Nous avons donc ce problème. |
| Où êtes-vous allé? Nous y voilà. |
| C'est donc le but principal de tout ce que nous faisons ici, c'est de pouvoir comprendre que j'ai changé quelque chose et que j'ai cassé les affaires de quelqu'un d'autre. |
| Pour que je puisse passer. |
| Regardez ce que fait boo. |
| Dis, eh bien, peut-être que je devrais juste ouvrir Big Class |
| moi même. |
| Ouais cool. Eh bien, si je garde ça, |
| Je devrais probablement l'améliorer. |
| Ouvrez moi-même Big Class. |
| Je vais mettre ça en scène. |
| Ouvrez Big Class. |
| Et encore une fois, montre juste |
| l'ancien pipeline. |
| Maintenant, cela devrait prendre |
| pas ... pas trop longtemps. |
| Nous allons donc entrer ici. Nous sommes ... nous ne testons que sur un ... à ... |
| Version JMP, mais vous pouvez voir |
| automatiquement, nous ne testons que sur un seul. |
| Ensuite, il attend que le développeur dise, oui, j'ai terminé et tout semble bon. Continuez. Nous faisons cela pour des raisons de ressources, |
| parce que ceux-ci fonctionnent sur des vms qui ne font qu'activer automatiquement tout le temps, et nous avons plusieurs développeurs, qui utilisent tous ces systèmes. |
| Nous sommes aussi ... |
| Vous pouvez voir, celui-ci est en fait un système docker, nous les conteneurisons. |
| Eh bien, nous sommes en train de les conteneuriser. Nous les faisons fonctionner, mais nous n'avons pas encore toutes les versions. |
| Mais nous exécutons 14.3, au moins pour ce projet, nous exécutons 14.3, 15, 15.1, |
| et cela devrait fonctionner. |
| Retournons simplement les choses. |
| Parce que vous savez ça marche. |
| J'aurais probablement dû faire un classique ... mais c'est bien. |
| Donc voilà. |
| Nous allons tester. |
| J'ai l'impression de répéter cela encore et encore. Nous allons tout tester. |
| Nous allons en fait laisser celui-ci courir pour vous montrer le résultat final de ce que nous obtenons. |
| Cela ne devrait que prendre. |
| un peu. |
| Nous allons donc tester cela, nous assurer que cela fonctionne et vous pourrez voir les journaux. Nous obtenons des informations décentes sur ce qui se passe, sur où il se trouve, comme si cela vous indiquait le coureur qui court. |
| Je ne tourne que sous Windows pour le moment. Encore une fois, c'est une démo et tout ça mais |
| nous devrions pouvoir courir |
| Suite. |
| Pendant que cela fonctionne, je vais juste parler de VSCode un peu plus. |
| Dans VSCode, nous avons aussi ... il y a aussi des extraits et des choses, donc si vous voulez créer une fonction, |
| il vous créera partout dans les informations de fonction. Nous utilisons des documents naturels |
| encore une fois, qui a été volé à l'équipe Hamcrest, |
| comme notre |
| documentation de développement. |
| Donc, cela mettra tout simplement sous forme de documents naturels. Donc, encore une fois, l'idée nous aide à faire notre travail et nous oblige à faire notre travail |
| un peu mieux, avec un peu plus d'enthousiasme. |
| Wayne Levin | Pour la documentation? |
| Vince Faller | Alors c'est pour la documentation, oui. |
| Wayne Levin | Au fur et à mesure que nous nous développons, nous documentons en même temps. |
| Vince Faller | Ouais. Absolument. |
| Vous savez, il a aussi des boucles pour, tandis que des boucles. |
| Pour avec une ligne associée, des trucs comme ça. |
| Sommes-nous ... est-ce ... est-ce déjà fait? C'est probablement fait, oui. |
| Nous obtenons donc notre coche verte. Maintenant, il va fonctionner sur tous les systèmes. |
| Si nous pouvons revenir ici, vous le verrez. |
| Ouvrez JMP. Il exécutera quelques tests, |
| ouvrira probablement Big Class. |
| Puis fermez tout ... fermez-vous tout. |
| Wayne Levin | Nous faisons donc cela, en grande partie parce que |
| beaucoup de nos clients ont différentes versions de JMP déployées et ils veulent un complément particulier mais ils |
| en cours d'exécution, ils ont, vous savez, juste des versions différentes sur le terrain. Nous testons également les premières versions de JMP, qui est un service de JMP car nous rapportons des bogues. |
| Mais aussi pour les clients, c'est utile car ils savent alors qu'ils peuvent ... ils peuvent passer à la nouvelle version de JMP. Ils savent que les applications que nous avons créées pour eux ont été testées. |
| Et ce n'est que de la routine pour nous. |
| Bon. |
| Vince Faller | Vous avez terminé. Vous avez terminé. Vous avez terminé. |
| Changer pour ... |
| Je peux parler de ... |
| Et ça va juste courir, on peut |
| la magie du film si tu veux, Meg. |
| Juste pour le rendre plus rapide. |
| En gros, je veux juste passer à la mise en scène, mais cela prend une seconde. |
| Avez-vous autre chose à dire, Wayne, à ce sujet? |
| Frais. |
| Je vais mettre ça ... |
| Quelque chose que je peux dire |
| quand nous mettons en scène, |
| nous avons également notre documentation dans mk docs. Donc, il exécutera la version de mk doc, le rendra, mettra l'aide dans les fichiers d'aide, et sera en fait capable de créer une version pour nous, de sorte que nous n'ayons pas à |
| Faites avec. |
| Parce que créer des versions ne demande que beaucoup d'efforts. |
| Cryptage. C'est presque fini. |
| J'aurais probablement dû en avoir un pré-chargé. |
| Démos en direct, que vas-tu faire. |
| Quelques. |
| Courir. |
| Oh, une chose que je veux vraiment faire. |
| Donc, la dernière chose que fait réellement le pipeline est de vérifier que nous avons réellement passé notre temps, parce que, vous savez, si |
| nous n'enregistrons pas vraiment notre temps passé, nous ne sommes pas payés, donc nous oblige à le faire. |
| Super, super moment. |
| Vinde Faller | Alors |
| Vince Faller | le travail aurait échoué sans cela. |
| Je peux juste montrer quelques emplois. En essayant. |
| C'est celui des dockers. Nous ne voulons pas de ça. |
| Alors |
| Vous pouvez voir que cela nous a donné nos succès. |
| Aucun échec. Pas de lancers inattendus. Ce sont des trucs de Hamcrest. |
| Allez. Un de plus. |
| OK, je suis arrivé à la mise en scène. |
| Une chose qu'il fait, c'est créer les référentiels. |
| Cela les crée à chaque fois frais. |
| Donc c'est comme, il essaie de le garder dans une sorte d'apatride |
| chemin. D'accord, nous pouvons télécharger les artefacts maintenant. |
| Et maintenant, nous devrions avoir cette démo de pipeline. |
| J'aurais vraiment aimé qu'il y soit allé. |
| Quoi. |
| Pourquoi Internet Explorer est-il opérationnel? Alors maintenant, vous verrez la démo du pipeline |
| est un complément JMP. |
| Si nous le décompressons. |
| Si vous ne le saviez pas, un complément JMP n'est qu'un fichier zip. |
| Si nous regardons cela maintenant, |
| vous pouvez voir qu'il y a tous nos scripts dedans, il a notre toto, il a notre barre. Si nous les ouvrons, |
| ouvert, |
| vous pouvez voir que c'est un fichier crypté. |
| C'est donc essentiellement ce que nous pourrions offrir au client |
| et pas autant de travail mécanique. Wayne a mentionné que |
| ce sont les développeurs moins frustrés, et personnellement, je pense que c'est un euphémisme, car faire cela encore et encore était très frustrant avant de mettre cela en place, et cela a aidé beaucoup. |
| Cette. |
| Wayne Levin | Maintenant, à propos du chiffrement, lorsque vous fournissez un complément |
| pour une utilisation par les utilisateurs au sein d'une entreprise, vous ne voulez généralement pas, pour des raisons de sécurité, etc., vous ne voulez pas que quiconque puisse entrer et |
| gérer le code. Vous savez, ce genre de chose, donc nous pouvons livrer un code non chiffré juste pour, vous savez, afin que le client ait son code chiffré, mais pour la livraison à l'utilisateur final, vous voulez généralement que tout soit chiffré, juste pour qu'il ne puisse pas être trafiqué. Juste une de ces sortes de choses. |
| Vince Faller | Oui, et c'est la fin de ma démo. Wayne, si vous voulez le reprendre pour la conclusion. |
| Wayne Levin | Ouais, génial. |
| Bien sûr, merci beaucoup pour ça, Vince. Donc, il y a beaucoup de pièces mobiles dans tout ce système, donc c'est, vous savez, essentiellement, de s'assurer que nous avons, |
| vous savez, le code est développé par plusieurs utilisateurs qui ne se heurtent pas. Nous intégrons la documentation en même temps. Et en fait, la documentation est déployée avec l'application et nous n'avons pas à l'intégrer. Son... |
| Nous configurons l'infrastructure de manière à ce qu'elle soit automatiquement prise en charge. Nous pouvons mettre à jour cela, avec le code de manière complète, simultanément, |
| si vous voulez. Les tests Hamcrest en cours, chacune de ces fonctions écrites, |
| il y a des résultats attendus, si vous voulez. Donc, ils sont comparés et nous avons donc vu, brièvement, qu'il y avait, je suppose, un problème avec cette équation. Un carré R ou tout ce qui est revenu avec une valeur différente, |
| donc ça s'est cassé, en d'autres termes, pour dire hé, quelque chose ne va pas ici; J'attendais cette sortie de la fonction |
| pour un cas d'utilisation. C'est donc l'une des choses que nous obtenons des clients, donc vous savez, nous construisons un pool de cas d'utilisation qui sont transformés en tests Hamcrest et c'est parti. Il y a d'autres diapositives ici qui |
| sont disponibles pour vous, comme, quand vous, quand vous, si vous allez télécharger les diapositives. Je vous laisse donc cela disponible et voici une petite photo du pipeline |
| que nous utilisons et un peu sur l'activité de révision de code pour les développeurs. Si vous voulez faire des allers-retours avec elle. Vince, voulez-vous ajouter quelque chose ici sur la façon dont la révision et l'approbation du code se déroulent? |
| Vince Faller | Ouais, donc à l'intérieur de la demande de fusion |
| il aura le code JSL sur les diffs du code. Et encore une fois, un grand |
| Merci de |
| les gens qui ont fait Hamcrest, aussi, parce qu'ils ont aussi commencé un lexer (?) pour GitHub et GitLab pour pouvoir lire JSL, donc en fait c'est à l'intérieur de getlab. |
| Et ils peuvent également lire le JSL. Il ne l'exécute pas, mais son formatage est agréable. Ce n'est pas que du texte blanc, c'est beau là-bas. Nous allons simplement entrer, |
| comme dans cette capture d'écran, vous cliquez sur une ligne, vous mettez un commentaire que vous voulez, et cela devient une tâche révisable. Nous essayons donc d'en faire autant que possible à l'intérieur de GitLab |
| pour des raisons de transparence, et |
| une fois que tout est clos, vous pouvez dire oui, ma demande de fusion est prête à être lancée. Mettons-le dans la branche principale, branche principale. |
| Wayne Levin | Awesom. Donc, vous êtes vraiment ... ça aide, vous savez, nous définissons vraiment des normes de codage, si vous voulez, et |
| Je n'aime pas le mot application, mais c'est à cela que cela revient. Et cela réduit les variations. Cela permet à plusieurs développeurs, si vous voulez, de comprendre plus facilement ce |
| ce que les autres ont fait. Et au fur et à mesure que nous intégrons de nouveaux développeurs, ils comprennent la norme et savent ce qu'il faut rechercher, ils savent quoi faire. |
| Donc ça ... ça rend l'intégration beaucoup plus facile, et encore une fois ça s'occupe de ... tout est attaché à tout ici, donc vous connaissez la prise en charge et ainsi de suite. |
| C'est la diapositive que j'ai mentionnée plus tôt, juste pour certaines ressources, nous utilisons donc GitLab. Je suppose que les mêmes principes appliqués à n'importe quel git généralement, comme GitHub ou quoi que ce soit d'autre. Voici le lien de la communauté pour Hamcrest. Il y a eu une discussion à |
| à tucson, c'était en 2019, à l'époque où nous voyagions et nous réunissions. C'était très amusant. Et voici le lien du marché pour les visuels ... studio de code visuel. |
| Code de studio visuel, qu'est-ce que vous avez. |
| Donc, comme Vince l'a dit, oui, nous utilisons beaucoup cet éditeur, par opposition à l'utilisation de l'éditeur JMP intégré simplement parce que tout est intégré. Son... |
| tout cela fait partie d'un seul grand environnement de développement d'applications. Et avec cela, Vince et moi, au nom de Vince et moi-même, je tiens à vous remercier pour votre intérêt pour cela, et je veux, encore une fois, nous voulons vraiment remercier l'équipe JMP. Justin Chilton et compagnie, |
| Je vais t'appeler. Sans Hamcrest, nous ne serions pas là-dessus. C'était |
| la pièce manquante ou était la pièce habilitante qui nous a vraiment permis d'amener le développement JSL, |
| fondamentalement, les types de normes que vous attendez dans le développement de code, en général, dans l'industrie. Nous en sommes donc vraiment reconnaissants, et je connais notre ... |
| vous savez, cela se propage avec chaque application que nous avons déployée. Et à ce stade, Vince et moi sommes heureux de répondre à toutes les questions qui ... |
| info@predictum.com et il nous sera transmis et nous vous répondrons. Mais à ce stade, nous l'ouvrirons aux questions et réponses. |