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 productive et rentable. |
| une assurance qualité élevée, des systèmes analytiques intégrés critiques basés sur JMP, hautement fiables et supportables. Ouais, c'est beaucoup à dire mais c'est |
| c'est ce que nous faisons dans cet environnement. Nous en sommes plutôt satisfaits. Nous sommes vraiment honorés de pouvoir le partager avec vous. |
| Voici donc l'ordre du jour que nous allons simplement suivre ici. Une petite introduction, moi-même, je le ferai dans un instant, et juste un petit peu sur Predictum, car vous n'en savez peut-être pas grand-chose sur nous, |
| notre expérience, l'historique de notre développement JSL, notre infrastructure, un peu d'histoire impliquée dans cela. |
| Et puis les résultats des changements que nous avons mis en place et que nous sommes ici pour partager avec vous. Ensuite, nous allons faire une démonstration et parler de la suite, de ce que nous avons prévu pour l'avenir, puis nous l'ouvrirons enfin à toutes vos questions. |
| Donc je m'appelle Wayne Levin, donc c'est moi ici à droite. Je suis le président de Predictum et je suis rejoint |
| avec Vince Faller. Vince est notre ingénieur logiciel en chef qui a dirigé cette initiative très importante. Alors juste un peu de nous, juste là. Nous sommes un partenaire JMP. |
| Nous nous sommes lancés en 1992, donc à 29 ans. |
| Nous dispensons des formations aux méthodes statistiques, etc., en utilisant JMP, nous consultons dans ces domaines et nous passons énormément de temps à construire et |
| déployer des applications et des systèmes analytiques intégrés, c'est pourquoi cet effort était très important pour nous. Nous avons d'abord livré l'application JMP avec |
| JMP 4.0 en 2000, oui, il y a plus de 20 ans, et nous avons construit des systèmes plus grands. Bien sûr, à l'époque, il s'agissait de 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 pas mal d’histoire à ce sujet, facilement sur 10 ans. Alors juste un peu de contexte... jusqu'au second semestre 2019 environ, notre environnement de développement était vraiment disparate, 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éveloppement, etc., et simplement pour la gestion de projet en général. |
| Les développeurs dépensaient facilement, et nous en parlerons, |
| environ la moitié de leur temps était consacré à des tâches mécaniques de routine, comme le chiffrement et l'empaquetage de compléments JMP. Vous savez, gérer les packages de configuration et, |
| vous savez, et séparer les référentiels ou ce que nous appelons généralement les dépôts, vous savez, pour les scripts chiffrés et non chiffrés. C'était... il y avait beaucoup de choses auxquelles nous devions réfléchir et qui n'étaient pas vraiment du travail de développement. C'était vraiment du travail |
| le talent des développeurs est... a été gaspillé. Nous le faisons également, comme je l'ai dit, nous le faisons depuis longtemps, même en 2019, nous avions facilement 10 ans, donc plus de 10 ans d'ancien cadre 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 années. Je veux dire, dans JMP 9, nous avons des espaces de noms et JMP 14 a introduit des classes et c'est à ce moment-là que Hamcrest |
| a commencé. Et c'est Hamcrest qui nous a vraiment permis d'aller jusqu'ici... 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 nouveau... le développement de notre nouvelle architecture de développement, voilà, a commencé à prendre forme et elle ne cesse de s'améliorer depuis. |
| Chaque mois, en gros, nous avons ajouté et développé nos capacités pour devenir de plus en plus productifs à mesure que nous avançons. |
| Et cela continue, donc nous considérons cela, si vous voulez, comme un effort de type Lean. Cela suit vraiment les principes 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 cela a disparu, presque tout a disparu, et cela a été remplacé et agrandi. |
| Et Vince nous en dira plus. Facilement, facilement, nous obtenons une augmentation de productivité de plus de 50 %, et je vais juste dire que les développeurs sont beaucoup plus satisfaits. 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 les choses fastidieuses. |
| Il y a encore place à l'amélioration, je vais dire, donc nous n'avons pas fini et Vince nous en dira plus. |
| Nous avons désormais des normes de développement, nous avons donc des guides de style pour les fonctions et tout notre développement est basé sur les fonctionnalités, pourrait-on dire. |
| Chaque fonction nécessite au moins un test Hamcrest, et il existe des révisions de code que les développeurs partagent entre eux. |
| pour nous assurer que nous respectons nos normes. Et cela soulève des questions sur la manière d’améliorer ces normes, de les rendre meilleures. |
| Nous organisons également des sessions amusantes au cours desquelles les développeurs sont encouragés à déchiffrer le code, |
| c'est vrai, donc on les appelle comme ces défis de code de rupture, ou quoi que ce soit d'autre. Cela fait donc désormais partie de notre mode opératoire et tout cela s'inscrit parfaitement dans cet environnement de développement. Cela conduit, par exemple, à l'ajout d'autres tests, d'autres tests Hamcrest. Nous avons un petit, assez petit projet |
| que nous avons fait il y a un peu plus d'un an. Nous entrons dans une nouvelle phase. C'est bien fini... |
| bien 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. |
| 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 font les autres, |
| 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 elle va entrer en collision avec quelque chose que quelqu'un d'autre fait. Nous le saurons beaucoup plus tôt. |
| Cela nous permet également d’améliorer la prise en charge par plusieurs membres du personnel. Nous ne pouvons pas avoir de code dépendant d'un développeur particulier ; nous devons avoir du code que tout développeur ou personnel d'assistance peut prendre en charge |
| avancer. C’était donc également un objectif important pour nous. Et cela fait progresser tout le 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, le IQ OQ PQ. Donc c'est... nous automatisons ou semi-automatisons |
| ces tâches également grâce à cette infrastructure. Nous l'utilisons en interne et en externe, alors vous le savez peut-être, nous avons |
| certains produits existent, (???) Kobe sash lab mais les nouveaux spamment bien Kobe envoie du spam (???) sont également évoqués ailleurs |
| à la conférence européenne JMP Discovery en 2021. Vous voudrez peut-être aller les voir, mais ils sont assez gros |
| des bases de code et elles sont toutes développées, en d'autres termes, nous mangeons notre propre nourriture pour chiens, si vous connaissez cette expression, mais nous l'utilisons aussi avec tous nos clients |
| développement, c'est donc quelque chose qui est important pour nos clients, 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 tout cela. |
| J'ai mentionné le cadre du système Predictum. Vous pouvez en voir quelques extraits ici. C'est juste dans l'index des scripts, et vous savez, nous voyons les arguments et les |
| des exemples et tout ça. Nous avons intégré tout cela et 95 %, plus de 95 % d’entre eux sont associés à des tests Hamcrest. 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. Un autre est juste ça... Hamcrest... |
| la capacité 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, dans JMP 14, comme je l'ai mentionné il y a quelques minutes. Gitlab en joue un rôle important ; cela nous donne le référentiel de gestion de projet, le pipeline CI/CD, etc. |
| Et il y a aussi une extension de code Visual Studio pour JSL que nous avons créée et 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 également un lien pour cela dans la diapositive de ressources à la fin. |
| Donc ce que je vais faire maintenant, c'est que je vais confier cette tâche à Vince Faller. Vince est, encore une fois, notre ingénieur logiciel en chef. Vince a dirigé cette initiative depuis août 2019, comme je l'ai dit. C'était beaucoup de travail acharné et |
| le travail acharné continue. Nous sommes tous, dans l'entreprise, très reconnaissants envers Vince et son leadership ici. Cela dit, Vince, pourquoi ne pas partir de maintenant ? Je vais... |
| Je suis... |
| Vince Faller | Partage. |
| Alors Wayne a dit Hamcrest plusieurs fois. 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'obtenir des résultats de manière automatisée. |
| Cela a vraiment commencé à nous permettre de faire cela, d'où le nom d'extension. |
| je vais montrer des trucs |
| avec mon écran. Je travaille quasiment exclusivement dans l'extension VSCode que nous avons construite. C'est VSCode. |
| Nous faisons cela parce qu'il possède de nombreuses fonctionnalités intégrées ou extensibles que nous n'avons pas besoin d'é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 qu'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. Il vous suffit de taper JMP |
| et vous le verrez. C'est le seul. |
| Mais nous allons continuer ce que nous faisons. |
| Donc. |
| Pour tout changement de code que nous apportons, |
| il y a un pipeline. |
| Nous allons juste montrer en quelque sorte ce que cela fait. Donc, si je modifie le fichier README, il s'agit d'une démo pour Discovery. |
| 2021. |
| Et je vais juste m'engager là-dessus. Si vous ne savez pas, engagez-vous aussi simplement |
| en disant que je veux un instantané de l'endroit exact où nous en sommes en ce moment, puis vous le transférez vers le dépôt et vous l'enregistrez sur le serveur. |
| Bonne journée. |
| Message de validation. Plus d'informations Lisez-moi. |
| Et je peux simplement obtenir du push, car VSCode est génial. |
| Démo de pipeline. |
| Alors maintenant, je l'ai poussé. Il y aura un pipeline en service. Je peux simplement descendre ici et cliquer dessus et cela me donnera ma demande de fusion. Alors maintenant |
| le pipeline a commencé à fonctionner. |
| Je peux vérifier l'état du pipeline. |
| Ce qu'il fait en ce moment, c'est qu'il va vérifier qu'il dispose des fichiers Hamcrest requis. Nous avons certaines exigences qui |
| nous appliquons pour que cela puisse... |
| nous pouvons nous assurer que nous sommes |
| bien faire notre travail. |
| Et puis c'est fait. Je vais appuyer sur chiffrer. |
| Maintenant, encrypt va prendre l'ensemble du package et le chiffrer. |
| Si nous allons par ici, |
| c'est juste une machine virtuelle quelque part. Cela devrait |
| commence à fonctionner |
| dans une seconde. |
| Il s'agit donc simplement de parcourir tout le code. |
| Écrire 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 savez probablement que c'est pénible, nous l'avons donc automatisé pour ne pas avoir à le faire car, comme Wayne l'a dit, cela nous prenait beaucoup de temps pour le faire. |
| Par exemple, si nous avions 100 scripts à parcourir et à chiffrer chacun d’entre eux à chaque fois que nous voulions 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. |
| Donc ça va fonctionner. |
| Cela devrait se terminer très bientôt. |
| Ensuite, il le parcourra et le mettra en scène, puis la mise en scène prendra essentiellement toutes les sources d'informations que nous voulons, comme dans notre documentation, comme dans |
| tout ce que nous avons écrit, et cela les rend sous 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, puis nous la rendons dans n'importe quoi. |
| Je n'ai pas besoin de montrer le reste mais oui. Donc ça passe. Ça va aller. |
| Nous reviendrons à VSCode. |
| Donc. |
| Si nous devions changer, ce ne serait qu’une seule fonction. |
| Si j'entre ici, si je devais diriger ça... |
| JSL, exécutez la sélection actuelle. |
| Donc. |
| Vous pouvez voir qu'il est revenu... tout ce qu'il essaie de faire, c'est d'ouvrir Big Class, d'exécuter une ligne d'ajustement et d'obtenir l'équation. Cela renvoie l'équation. |
| Et vous pouvez également le voir ici. |
| Mais. |
| Cela pourrait donc nécessiter davantage de documentation. |
| Et nous nous disons, oh, nous ne voulons pas vraiment que cette table de données soit ouverte. |
| Mais allons-y très vite. |
| Et dis, |
| Non. Ce n'est pas un bon retour, cela renverse l'équation en majuscules apparemment. |
| Donc si je mets ça en scène. |
| Meilleure documentation. |
| Pousser. |
| Revenons à nouveau ici. |
| Donc, encore une fois, ça pousse. C'est un autre pipeline. |
| Il s'agit simplement d'exécuter un tas de scripts Power Shell dans l'ordre, en fonction de la manière dont nous l'avons configuré. |
| Mais vous remarquerez que ce pipeline comporte plusieurs étapes. |
| Alors quand nous |
| dans le but d'aider à faire évoluer cela, nous testons uniquement le JSL |
| au minimum au début, puis, au fur et à mesure, nous permettons de tester davantage. |
| Et nous avons uniquement testé si des fichiers JSL avaient changé. |
| Mais nous pouvons traverser cela. |
| Il s'exécutera et nous dira où il se trouve dans le test, juste au cas où le test se bloquerait. Vous savez, si vous avez une boîte de dialogue modale qui ne se ferme tout simplement pas, JMP ne continuera évidemment plus à faire quoi que ce soit après cela. Mais vous pouvez voir, ça a fait un tas de choses, ouais, génial. J'ai fini. |
| Passionnant. |
| Actualisez cela. Obtenez une petite coche verte. |
| Et nous pourrions y aller, d'accord, tout gérer maintenant. Il passerait en revue, testerait tout, puis le chiffrerait, puis testerait le chiffrement, essentiellement la chose réelle dont nous allons créer le complément, puis le mettrait en scène à nouveau, le conditionnerait pour nous, créerait le complément réel. en ce sens que nous donnerions à un client. |
| Je ne vais pas faire ça très vite car cela prend une minute. |
| Mais |
| Disons qu'on entre ici et qu'on se dit, 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 voulons pas... nous ne voulons pas de ça. |
| 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 pousse des choses et n'exécute pas tout son Hamcrest pour tout sur son ordinateur, et c'est... le seul but est de l'attraper. Cela nous a obligé à faire un peu mieux notre travail. |
| Et |
| Ouais. |
| Continuez à cliquer sur ce bouton. Je pourrais juste l'ouvrir, mais ça va. |
| Alors maintenant, vous verrez que le pipeline fonctionne à nouveau. Allez au pipeline. |
| Et je vais juste continuer à dire cela pour me répéter. Nous sommes juste en train de tester et de chiffrer, puis de tester |
| parce que parfois le cryptage entre en jeu |
| monde de problèmes, si quelqu'un a déjà fait du chiffrement. |
| Courez, courez, courez, courez, courez. |
| Et puis, oh, nous avons eu un lancer. Pouvez-vous regarder ça? |
| Je n'essaie pas d'être pince-sans-rire, 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. |
| Maintenant |
| 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 restituera également dans getlab, ce qui pourrait être plus simple, mais pour l'instant, nous allons le faire. |
| Finalement. Minimisez tout. |
| Maintenant, allez. |
| Ainsi, nous avons pu voir que quelque chose s’est produit 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 |
| et puis ils ont simplement supposé que le tableau de données était là. Parce que quelque chose que j'ai modifié a brisé le code de quelqu'un d'autre, comme si cela devait arriver un jour. |
| Nous avons donc ce problème. |
| Où êtes-vous allé? On y va. |
| C'est donc le but principal de tout ce que nous faisons ici, c'est d'être capable de comprendre le fait 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. |
| J'ouvre moi-même Big Class. |
| Je vais mettre ça en scène. |
| Ouvrez Big Class. Obtenez Push. |
| 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... pour... |
| Version JMP, mais vous pouvez voir |
| automatiquement, nous testons uniquement sur un seul. |
| Ensuite, il attend que le développeur dise : oui, j'ai terminé et tout semble bien. Continuer. Nous faisons cela pour des raisons de ressources, |
| parce que ceux-ci fonctionnent sur des machines virtuelles qui fonctionnent automatiquement tout le temps, et nous avons plusieurs développeurs, qui utilisent tous ces systèmes. |
| Nous sommes également... |
| 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 ça devrait marcher. |
| Inversons simplement les choses. |
| Parce que vous savez que ça marche. |
| J'aurais probablement dû faire un classique... mais ça va. |
| 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 fonctionner pour vous montrer en quelque sorte le résultat final de ce que nous obtenons. |
| Cela ne devrait prendre que du temps. |
| un petit peu. |
| Nous allons donc tester cela, nous assurer que tout fonctionne et que vous pourrez voir les journaux. Nous obtenons des informations décentes sur ce qui se passe, sur l'endroit où cela se passe, par exemple, cela vous indiquera le coureur qui court. |
| Je n'utilise que Windows pour le moment. Encore une fois, c'est une démo et tout ça mais |
| nous devrions pouvoir courir |
| plus. |
| Pendant que cela fonctionne, je vais juste parler un peu plus de VSCode. |
| Dans VSCode, nous avons aussi... il y a aussi des extraits et des choses, donc si vous voulez créer une fonction, |
| cela vous créera toutes les informations sur la fonction. Nous utilisons des documents naturels |
| encore une fois, cela a été volé à l'équipe Hamcrest, |
| comme notre |
| documentation de développement. |
| Donc, tout sera simplement mis sous forme de documents naturels. Donc, encore une fois, l'idée est de nous aider à faire notre travail et de nous forcer à faire notre travail. |
| un peu mieux, avec un peu plus d'enthousiasme. |
| Wayne Levin | Pour les documents ? |
| Vince Faller | C'est donc pour la documentation, oui. |
| Wayne Levin | Au fur et à mesure que nous développons, nous documentons en même temps. |
| Vince Faller | Ouais. Absolument. |
| Vous savez, il a aussi des boucles for, des boucles while. |
| Car avec une ligne associée, des trucs comme ça. |
| Sommes-nous... est-ce... est-ce que c'est déjà fait ? C'est probablement fait, oui. |
| Nous obtenons donc notre coche verte. Il va désormais fonctionner sur tous les systèmes. |
| Si nous pouvons revenir ici, vous le verrez. |
| Ouvrez JMP. Il va faire quelques tests, |
| ouvrira probablement Big Class. |
| Puis fermez tout... fermez tout. |
| Wayne Levin | Nous faisons donc cela, en grande partie parce que |
| beaucoup de nos clients ont déployé différentes versions de JMP et souhaitent un complément particulier, mais ils sont |
| qui l'exécutent, ils ont, vous savez, juste des versions différentes sur le terrain. Nous effectuons également des tests sur les premières versions de JMP, qui sont un service de JMP car nous signalons les 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 c'est juste une routine pour nous. |
| Bien. |
| Vince Faller | Vous avez terminé. Vous avez terminé. Vous avez terminé. |
| Changer pour... |
| Je peux parler de... |
| Et ça va juste courir, nous pouvons |
| c'est de la magie cinématographique, si tu veux, Meg. |
| Juste pour le faire fonctionner plus vite. |
| En gros, je veux juste passer à la mise en scène mais cela prend une seconde. |
| Avez-vous autre chose à dire, Wayne, à ce sujet ? |
| Cool. |
| 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 restituera, mettra l'aide dans les fichiers d'aide et sera essentiellement capable de créer une version pour nous, afin que nous n'ayons pas à le faire. |
| Faites avec. |
| Parce que créer des versions demande beaucoup d’efforts. |
| Cryptage. C'est presque fini. |
| J'aurais probablement dû en avoir un préchargé. |
| Démonstrations en direct, qu'allez-vous faire ? |
| Quelques. |
| Courir. |
| Oh, il y a une chose que je veux vraiment faire. |
| Donc, la dernière chose que fait le pipeline, c'est de vérifier que nous avons réellement passé notre temps, parce que, vous savez, si |
| nous n'enregistrons pas réellement notre temps passé, nous ne sommes pas payés, ce qui nous oblige à le faire. |
| Super, super moment. |
| Vinde Faller | Donc |
| Vince Faller | le travail aurait échoué sans cela. |
| Je peux juste montrer quelques emplois. En essayant. |
| C'est celui du docker. Nous ne voulons pas de cela. |
| Donc |
| Vous pouvez voir que cela nous a donné nos succès. |
| Aucun échec. Pas de lancers inattendus. C'est tout ce qui vient de Hamcrest. |
| Allez. Un de plus. |
| Bon, je passe à la mise en scène. |
| Une chose qu'il fait, c'est créer les référentiels. |
| Cela les crée frais à chaque fois. |
| Donc c'est comme s'il essayait de le garder dans une sorte de pays apatride. |
| chemin. D'accord, nous pouvons télécharger les artefacts maintenant. |
| Et maintenant, nous devrions avoir cette démonstration de pipeline. |
| J'aurais vraiment aimé que ça aille là-bas. |
| Quoi. |
| Pourquoi Internet Explorer est-il actif ? 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 contient tous nos scripts, il a notre foo, il a notre bar. Si nous les ouvrons, |
| ouvrir, |
| vous pouvez voir qu'il s'agit d'un fichier crypté. |
| C'est donc essentiellement ce que nous serions en mesure d'offrir au client |
| et ne pas avoir autant de travail mécanique. Wayne a mentionné que |
| ce sont des 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 de gens. |
| Que. |
| Wayne Levin | Maintenant, à propos du chiffrement, lorsque vous fournissez un complément |
| destinés à être utilisés par les utilisateurs au sein d'une entreprise, vous ne souhaitez généralement pas, pour des raisons de sécurité, etc., que quiconque puisse y accéder et |
| gérer le code. Vous savez, ce genre de chose, donc nous pouvons fournir un code non chiffré juste pour, vous savez, pour 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 que cela ne puisse pas être fait. être falsifié. Juste une de ces choses-là. |
| Vince Faller | Oui, et c'est la fin de ma démo. Wayne, si tu veux le reprendre pour la conclusion. |
| Wayne Levin | Ouais, génial. |
| Bien sûr, merci beaucoup pour ça, Vince. Il y a donc beaucoup d'éléments mobiles dans tout ce système, donc il s'agit essentiellement de s'assurer que nous avons, |
| vous savez, du code développé par plusieurs utilisateurs qui n'entrent pas en collision les uns avec les autres. Nous construisons la documentation en même temps. Et en fait, la documentation est déployée avec l'application et nous n'avons pas besoin de l'intégrer. C'est... |
| Nous configurons l'infrastructure de manière à ce qu'elle soit automatiquement prise en charge. Nous pouvons mettre à jour cela, ainsi que 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. Ils ont donc été comparés et nous avons vu, brièvement, qu'il y avait, je suppose, un problème avec cette équation. Un carré R ou autre est revenu avec une valeur différente, |
| donc ça s'est cassé, en d'autres termes, de dire hé, quelque chose ne va pas ici ; Je m'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 à votre disposition, par exemple, quand vous, quand vous, si vous allez télécharger les diapositives. Je vous laisse donc cela à disposition et voici une petite photo du pipeline |
| celui que nous employons et un peu sur l'activité de révision de code pour les développeurs également. Si vous voulez faire des allers-retours avec cela. Vince, voulez-vous ajouter quelque chose ici sur la manière dont se déroulent la révision et l'approbation du code ? |
| Vince Faller | Ouais, donc à l'intérieur de la demande de fusion |
| il aura le code JSL sur les différences du code. Et encore une fois, un gros |
| Merci de |
| les gens qui ont fait Hamcrest également, car ils ont également lancé un lexer (?) pour GitHub et GitLab afin de pouvoir lire JSL, donc en fait, c'est à l'intérieur de getlab. |
| Et ils peuvent aussi 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 juste entrer, |
| comme dans cette capture d'écran, vous cliquez sur une ligne, vous insérez le commentaire de votre choix et cela devient une tâche révisable. Nous essayons donc d'en faire autant que possible dans GitLab. |
| pour des raisons de transparence, et |
| une fois que tout est bouclé, vous pouvez dire oui, ma demande de fusion est prête. Mettons-le dans la branche master, branche principale. |
| Wayne Levin | Génial. 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 que |
| ce que d'autres ont fait. Et à mesure que nous intégrons de nouveaux développeurs, ils comprennent la norme et savent quoi rechercher, ils savent quoi faire. |
| Donc, cela... cela rend l'intégration beaucoup plus facile, et encore une fois, cela traite de... tout est attaché à tout ici, donc vous connaissez la prise en charge, etc. |
| Il s'agit de 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 s'appliquent généralement à n'importe quel git, comme GitHub ou autre. Voici le lien communautaire pour Hamcrest. Il y a eu une discussion à |
| à Tucson, c'était en 2019, autrefois où nous voyageions et nous réunissions. C'était très amusant. Et voici le lien vers le marché pour les visuels... visual code studio. |
| Code de studio visuel, qu'avez-vous. |
| Donc, comme Vince l'a dit, oui, nous utilisons beaucoup cet éditeur, au lieu d'utiliser l'éditeur JMP intégré simplement parce qu'il est entièrement intégré. C'est... |
| tout cela fait simplement partie d'un grand environnement de développement d'applications. Et sur ce, Vince et moi, au nom de Vince et de moi-même, je tiens à vous remercier de l'intérêt que vous portez à ce sujet, et je tiens, encore une fois, à remercier l'équipe JMP. Justin Chilton et compagnie, |
| Je t'appellerai. Sans Hamcrest, nous n’en serions pas là. C'était |
| la pièce manquante ou était la pièce habilitante qui nous a vraiment permis de faire avancer le développement JSL, |
| en gros, le type de normes auxquelles vous 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 allons l'ouvrir aux questions et réponses. |