Altoparlante | Trascrizione |
| Wayne Levin | Benvenuti alla nostra sessione sull'estensione dei test automatizzati Hamcrest delle applicazioni JSL per il miglioramento continuo. |
| Ciò che vi mostreremo qui, la nostra promessa, è che vi mostreremo come anche voi potete costruire un'azienda produttiva ed economicamente vantaggiosa |
| sistemi analitici integrati mission-critical basati su JMP, garanzia di alta qualità, altamente affidabili e supportabili. Sì, c'è molto da dire, ma è così |
| questo è ciò che stiamo facendo in questo ambiente. Ne siamo abbastanza soddisfatti. Siamo davvero onorati di poterlo condividere con voi. |
| Quindi ecco l'ordine del giorno che seguiremo qui. Una piccola introduzione, per conto mio, lo farò tra un attimo, e solo un po' di Predictum, perché potresti non sapere molto di noi, |
| il nostro background, il background del nostro sviluppo JSL, l'infrastruttura, un po' di storia coinvolta in questo. |
| E poi i risultati dei cambiamenti che abbiamo messo in atto che siamo qui per condividere con voi. Poi faremo una dimostrazione e parleremo di ciò che verrà dopo, di ciò che abbiamo pianificato per il futuro, e poi lo apriremo, finalmente, per qualsiasi domanda possiate avere. |
| Quindi mi chiamo Wayne Levin, quindi sono io qui a destra. Sono il presidente di Predictum e sono iscritto |
| con Vince Faller. Vince è il nostro capo ingegnere del software che ha guidato questa importantissima iniziativa. Quindi solo un po' di noi, proprio lì. Siamo un partner JMP. |
| Abbiamo lanciato nel 1992, quindi 29 anni. |
| Facciamo formazione sui metodi statistici e così via, utilizzando JMP, consulenze in tali aree e dedichiamo moltissimo tempo a costruire e |
| l'implementazione di applicazioni e sistemi analitici integrati, ecco perché questo sforzo è stato molto importante per noi. Per prima cosa abbiamo fornito l'applicazione JMP con |
| JMP 4.0 nel 2000, sì, anzi più di 20 anni fa, e abbiamo costruito sistemi più grandi. Naturalmente, da allora, si trattava di strumenti troppo piccoli, ma abbiamo iniziato, credo, attorno a JMP 8 o 9 costruendo sistemi più grandi. |
| Quindi abbiamo un bel po' di storia su questo, più di 10 anni facilmente. Quindi, solo un po' di background... fino alla seconda metà del 2019, il nostro ambiente di sviluppo era davvero disparato, frammentario. |
| Gestione del progetto |
| era lì, ma, ancora una volta, tutto era in un certo senso rotto. Avevamo diverse applicazioni per il controllo della versione e per la gestione del tempo, sai, il tempo del nostro sviluppatore e così via, e in generale solo la gestione dei progetti. |
| Gli sviluppatori spendevano facilmente e ne parleremo |
| circa la metà del loro tempo si limita a svolgere attività meccaniche di routine, come la crittografia e il confezionamento dei componenti aggiuntivi JMP. Sai, mantenere i pacchetti di configurazione e, |
| sai, e separando i repository o ciò che generalmente chiamiamo repository, sai, per script crittografati e non crittografati. Era... c'erano molte cose a cui odiavamo pensare che non erano realmente lavoro di sviluppo. È stato davvero un lavoro |
| il talento degli sviluppatori è...è stato sprecato. Inoltre, come ho detto, lo facciamo da molto tempo, anche nel 2019, avevamo facilmente 10 anni, quindi oltre 10 anni di framework legacy che risale fino a JMP 5, sai, con, sai, stava diventando gonfio e lento. |
| E sappiamo che JMP ha fatto molta strada nel corso degli anni. Voglio dire, in JMP 9 abbiamo ottenuto gli spazi dei nomi e JMP 14 ha introdotto le classi ed è stato allora che Hamcrest |
| iniziò. Ed è stato Hamcrest che ci ha davvero permesso di arrivare a questo... con questa importante iniziativa. Quindi abbiamo avviato questa importante iniziativa nell’agosto del 2019. |
| Ed è allora che acquisiamo le nostre prime licenze Gitlab e questo è lo sviluppo della nostra nuova... lo sviluppo della nostra nuova architettura di sviluppo, ecco, ha iniziato a prendere forma e da allora ha continuato a migliorare. |
| Fondamentalmente ogni mese aggiungiamo e sviluppiamo le nostre capacità per diventare sempre più produttivi, man mano che andiamo avanti. |
| E questo continua, quindi consideriamo questo, se vuoi, un impegno di tipo Lean. Segue davvero i principi Lean e ha accelerato il nostro sviluppo. |
| Abbiamo test automatizzati, grazie a questo sistema, e Vince ce lo mostrerà. E abbiamo questo piccolo modello qui, da testare presto e spesso |
| Ed è quello che facciamo. Supporta il riutilizzo del codice e abbiamo riqualificato la struttura del nostro sistema Predictum. Ora è 2.0. Abbiamo imparato molto dai nostri sforzi precedenti. Tutto ciò è scomparso, praticamente tutto è scomparso, ed è stato sostituito e ampliato. |
| E Vince ci dirà di più a riguardo. Facilmente, facilmente abbiamo un aumento della produttività di oltre il 50% e dirò solo che gli sviluppatori sono molto più contenti. Sono meno frustrati. |
| Sono più concentrati sul loro lavoro, intendo il vero lavoro che gli sviluppatori dovrebbero svolgere, non su cose noiose. |
| C'è ancora margine di miglioramento, devo dire, quindi non abbiamo finito e Vince ci dirà di più a riguardo. |
| Ora disponiamo di standard di sviluppo, quindi abbiamo guide di stile per le funzioni e tutto il nostro sviluppo è basato sulle funzionalità, si potrebbe dire. |
| Ogni funzione richiede almeno un test Hamcrest e ci sono revisioni del codice che gli sviluppatori condividono tra loro |
| per garantire che stiamo seguendo i nostri standard. E solleva interrogativi su come migliorare tali standard, renderli migliori. |
| Abbiamo anche queste sessioni divertenti, in cui gli sviluppatori sono incoraggiati a decifrare il codice, |
| giusto, così si chiamano, queste sfide di violazione del codice, o cosa vuoi. Quindi è diventato parte del nostro modus operandi e tutto si adatta perfettamente a questo ambiente di sviluppo. Ciò porta, ad esempio, a ulteriori test, all'aggiunta di ulteriori test Hamcrest. Abbiamo un progetto piccolo, abbastanza piccolo |
| che abbiamo fatto poco più di un anno fa. Stiamo entrando in una nuova fase. È finita bene... |
| al suo interno sono integrati oltre 100 test Hamcrest che vengono eseguiti più e più volte durante il processo di sviluppo. |
| Quindi alcuni altri vantaggi sono che ci consente di assegnare e monitorare la nostra allocazione delle risorse, ad esempio cosa stanno facendo gli sviluppatori. Tutti sanno cosa stanno facendo gli altri, |
| integrazione continua, distribuzione continua, qualcosa del genere), |
| ci sono... le collisioni di codice vengono rilevate in anticipo quindi se abbiamo... e lo facciamo, abbiamo più persone che lavorano su alcuni progetti, quindi, sai, qualcuno sta cambiando una funzione qui e andrà in collisione con qualcosa che qualcun altro sta facendo. Lo scopriremo molto prima. |
| Ci consente inoltre di migliorare la supportabilità tra più membri del personale. Non possiamo avere un codice che dipenda da un particolare sviluppatore; dobbiamo avere un codice che qualsiasi sviluppatore o personale di supporto possa supportare |
| andando avanti. Quindi anche questo era un nostro obiettivo importante. E fa avanzare l'intera area della garanzia della qualità in generale, |
| incluso il supporto, sai, dei requisiti della FDA, riguardanti il QA, sai, cose come la convalida, l'IQ OQ PQ. Quindi è... stiamo automatizzando o semiautomatizzando |
| anche questi compiti attraverso questa infrastruttura. Lo usiamo internamente ed esternamente, quindi potresti saperlo, lo abbiamo |
| alcuni prodotti là fuori, (???)Kobe sash lab ma di nuovi spam bene Kobe manda spam(???) se ne parla anche altrove |
| alla conferenza europea JMP Discovery nel 2021. Potresti volerli andare a dare un'occhiata, ma sono abbastanza grandi |
| basi di codice e sono tutte sviluppate, in altre parole, mangiamo il nostro cibo per cani, se conosci quell'espressione, ma lo usiamo anche con tutti i nostri clienti |
| sviluppo, quindi questo è qualcosa di importante per i nostri clienti, quindi perché stiamo creando applicazioni da cui dipenderanno. |
| E quindi noi, dobbiamo... dobbiamo avere l'infrastruttura che ci permetta di essere affidabili, e comunque, questa è una parte importante di questo. |
| Ho menzionato il framework del sistema Predictum. Puoi vederne alcuni frammenti qui. È proprio all'interno dell'indice di scripting e, sai, vediamo gli argomenti e il file |
| esempi e tutto il resto. Abbiamo integrato tutto questo e il 95%, oltre il 95% di loro ha i test Hamcrest associati. Naturalmente, il nostro obiettivo è assicurarci che lo facciano tutti e ci stiamo arrivando. |
| Ci stiamo arrivando. Avere...questo framework...questo framework è in realtà parte della nostra infrastruttura qui. Questo è uno degli elementi importanti. Un altro è proprio questo... Hamcrest... |
| la capacità di eseguire test unitari. E avrò... c'è una diapositiva alla... alla fine, che ti darà un collegamento alla Community dove potrai saperne di più su Hamcrest. Questo è un |
| sviluppo che ci è stato offerto da JMP, in JMP 14, come ho detto pochi minuti fa. Gitlab è una parte importante di tutto questo; che ci fornisce il repository di gestione del progetto, la pipeline CI/CD, ecc. |
| E c'è anche un'estensione del codice visual...visual studio per JSL che abbiamo creato e vorremmo...vedreste cinque stelle lì perché le sono state assegnate cinque stelle sul |
| sullo studio visivo. Non sono sicuro di come lo chiamiamo. Vince, forse puoi dirci, al negozio, cosa hai. È stato scaricato centinaia di volte e noi lo siamo stati |
| aggiornandolo regolarmente. Quindi è qualcosa che puoi andare a cercare anche tu. Penso che abbiamo un collegamento anche per quello nella diapositiva delle risorse alla fine. |
| Quindi quello che farò adesso è passare la cosa a Vince Faller. Vince è, ancora una volta, il nostro capo ingegnere del software. Vince ha guidato questa iniziativa, a partire da agosto 2019, come ho detto. È stato un sacco di duro lavoro e |
| il duro lavoro continua. Siamo tutti, in azienda, molto grati a Vince e alla sua leadership qui. Quindi, detto questo, Vince, perché non prendi tu da qui? io... |
| Io sono... |
| Vincenzo Faller | Condivisione. |
| Quindi Wayne ha detto Hamcrest un sacco di volte. Per le persone che non sanno cosa sia Hamcrest, è un componente aggiuntivo creato da |
| JMP. |
| Justin Chilton e Evan McCorkle lo guidavano. È semplicemente una libreria di test unitari che ti consente di eseguirla, testarla e ottenerne risultati in modo automatizzato. |
| Ha davvero dato il via al fatto che potessimo fare anche questo, ecco perché si chiama estensione. |
| Mostrerò alcune cose |
| con il mio schermo Lavoro praticamente esclusivamente con l'estensione VSCode che abbiamo creato. Questo è VSCode. |
| Lo facciamo perché ha molte funzionalità integrate o funzionalità estendibili che non dobbiamo scrivere, come ottenere l'integrazione, ottenere l'integrazione del laboratorio. |
| Qui puoi vedere che si tratta di uno script JSL e lo legge perfettamente. |
| Se vuoi ottenerlo, se... se hai familiarità con VSCode, è solo un editor di testo leggero. Basta digitare JMP |
| e lo vedrai. E' l'unico. |
| Ma andremo a quello che stiamo facendo. |
| COSÌ. |
| Per qualsiasi modifica al codice apportata, |
| c'è una corsa di pipeline. |
| Mostreremo semplicemente cosa fa. Quindi, se cambio il file README in questa è una demo per Discovery. |
| 2021. |
| E ho intenzione di impegnarmi in questo. Se non lo sai prendi, impegnandoti come giusto |
| dicendo che voglio un'istantanea di esattamente dove siamo in questo momento, quindi la invii al repository e la salvi sul server. |
| Giorno felice. |
| Invia messaggio. Ulteriori informazioni sul Leggimi. |
| E posso semplicemente spingere, perché VSCode è fantastico. |
| Dimostrazione della pipeline. |
| Quindi ora l'ho spinto oltre. Ci sarà un oleodotto in funzione. Posso semplicemente andare qui e fare clic qui e mi verrà fornita la mia richiesta di unione. Così ora |
| la pipeline ha iniziato a funzionare. |
| Posso controllare lo stato del gasdotto. |
| Ciò che sta facendo in questo momento è esaminare e verificare che siano presenti i file Hamcrest richiesti. Abbiamo alcuni requisiti che |
| facciamo rispettare in modo che possa... |
| possiamo assicurarci che lo siamo |
| facendo bene il nostro lavoro. |
| E poi è fatto. Premerò Crittografa. |
| Ora la crittografia prenderà l'intero pacchetto e lo crittograferà. |
| Se andiamo qui, |
| questo è solo un VM da qualche parte. Dovrebbe |
| inizia a correre |
| in un secondo. |
| Quindi sta semplicemente esaminando tutto il codice. |
| Scrivere tutte le password crittografate, sfogliare, fare clic su tutta quella roba. Se hai mai provato a crittografare più script contemporaneamente, |
| probabilmente saprai che è una seccatura, quindi l'abbiamo automatizzato in modo da non doverlo fare perché, come ha detto Wayne, ci voleva molto tempo per farlo. |
| Ad esempio, se avessimo 100 script da esaminare e crittografare ognuno di essi ogni volta che vogliamo fare un rilascio, è stato terribile. |
| Perché dobbiamo avere il nostro |
| codice crittografato perché, sì, scusa, opinione, va bene, posso smettere di condividerlo. |
| Ah. |
| Quindi funzionerà. |
| Dovrebbe finire molto presto. |
| Quindi lo esaminerà e lo metterà in scena e poi la messa in scena prenderà sostanzialmente tutte le fonti di informazione che vogliamo, come nella nostra documentazione, come in |
| qualsiasi altra cosa che abbiamo scritto, e li rende nella forma che vogliamo nel componente aggiuntivo, perché proprio come il resto di github, gitlab, la maggior parte della nostra documentazione è scritta in markdown e quindi la rendiamo in qualunque cosa. |
| Non ho bisogno di mostrare il resto, ma sì. Quindi sta passando. Andrà. |
| Torneremo a VSCode. |
| COSÌ. |
| Se dovessimo cambiare, questa sarebbe solo una singola funzione. |
| Se entro qui, tipo, se dovessi gestire questo... |
| JSL, esegui la selezione corrente. |
| COSÌ. |
| Puoi vedere che è tornato... tutto ciò che sta cercando di fare è aprire Big Class, eseguire una linea di adattamento e ottenere l'equazione. Sta restituendo l'equazione. |
| E puoi effettivamente vederlo correre anche qui. |
| Ma. |
| Quindi questo potrebbe richiedere ulteriore documentazione. |
| E noi diciamo, oh, in realtà non vogliamo che questa tabella dati sia aperta. |
| Ma corriamo davvero velocemente. |
| E dire, |
| NO. Questo non è un buon ritorno, a quanto pare capovolge l'equazione in maiuscolo. |
| Quindi, se lo metto in scena. |
| Migliore documentazione. |
| Spingere. |
| Ancora una volta torniamo qui. |
| Quindi, ancora una volta si sta spingendo. Questa è un'altra pipeline. |
| Sta semplicemente eseguendo una serie di script di Power Shell in ordine, a seconda di come lo abbiamo configurato. |
| Ma noterai che questa pipeline ha più fasi. |
| Quindi quando noi |
| nel tentativo di riuscire a scalarlo, testiamo solo JSL |
| all'inizio minimamente e poi, man mano che passa, permettiamo di testare ulteriormente. |
| E abbiamo testato solo se ci sono file JSL che sono cambiati. |
| Ma possiamo affrontare tutto questo. |
| Verrà eseguito e ci dirà a che punto si trova nel test, nel caso in cui il test si blocchi. Sai, se hai una finestra di dialogo modale che non si chiude, ovviamente JMP non continuerà a fare nulla dopo. Ma puoi vedere, ha fatto un sacco di cose, sì, fantastiche. Ho finito. |
| Emozionante. |
| Aggiornalo. Ottieni un piccolo segno di spunta verde. |
| E potremmo dire, okay, gestire tutto adesso. Lo esaminerebbe, testerebbe tutto, quindi lo crittograferebbe, quindi testerebbe il crittografato, fondamentalmente l'effettiva cosa di cui creeremo il componente aggiuntivo, quindi lo metterà in scena di nuovo, lo impacchetterà per noi, creerà il componente aggiuntivo reale. in quello che daremmo a un cliente. |
| Non lo farò molto velocemente perché ci vuole un minuto. |
| Ma |
| diciamo che entriamo qui e diciamo, oh, |
| beh, voglio davvero chiudere questa tabella di dati. Non so perché ho commentato in primo luogo. Non penso che dovrebbe essere aperto, perché non lo uso più, non... non lo vogliamo. |
| Diremo ok. |
| Chiudi il dt. |
| Spingi ancora. Ora, tutto questo potrebbe essere fatto manualmente sul mio computer con Hamcrest. |
| Ma sai, a volte uno sviluppatore spinge delle cose e non esegue tutto il suo Hamcrest per tutto sul proprio computer, e questo è... lo scopo è catturarlo. Ci ha costretto a fare il nostro lavoro un po’ meglio. |
| E |
| Sì. |
| Continua a fare clic su questo pulsante. Potrei semplicemente aprirlo, ma va bene. |
| Quindi ora vedrai che la pipeline è di nuovo in esecuzione. Vai al gasdotto. |
| E continuerò a dirlo per ripetizione. Stiamo semplicemente esaminando, testando e crittografando, quindi testando |
| perché a volte la crittografia entra da sola |
| un mondo di problemi, se qualcuno ha mai fatto la crittografia. |
| Corri, corri, corri, corri, corri. |
| E poi, oh, abbiamo avuto la possibilità. Lo guarderesti? |
| Non sto cercando di essere impassibile, ma lo sai. |
| Quindi, se dovessimo contrassegnarlo come pronto e dire, sì, abbiamo finito, vedremmo, |
| oh, beh, il test non è stato superato. |
| Ora |
| potremmo scaricare |
| perché il test non è stato superato negli artefatti. |
| E questo aprirà un'unità J |
| file che tirerò fuori qui. |
| Lo renderà anche in getlab, il che potrebbe essere più semplice, ma per ora faremo solo questo. |
| Infine. Ridurre al minimo tutto. |
| Adesso andiamo. |
| Quindi, abbiamo potuto vedere che è successo qualcosa con R al quadrato e ha fallito. |
| Dentro |
| di blu. |
| Quindi possiamo venire qui. |
| Dimmi, perché c'è qualcosa in Boo che sta causando il fallimento? |
| Vediamo, oh, qualcuno ha chiamato la nostra equazione |
| e poi hanno semplicemente dato per scontato che la tabella dei dati fosse lì. Quindi perché qualcosa che ho cambiato ha infranto il codice di qualcun altro, come se ciò potesse mai accadere. |
| Quindi abbiamo questo problema. |
| Dove sei andato? Eccoci qui. |
| Lo scopo principale di tutto ciò che facciamo qui è riuscire a cogliere il fatto che ho cambiato qualcosa e ho rotto le cose di qualcun altro. |
| Quindi potrei andare avanti. |
| Guarda cosa fa Boo. |
| Dì, vabbè, forse dovrei semplicemente aprire Big Class |
| me stessa. |
| Sì, bello. Beh, se lo salvo, |
| Probabilmente dovrei migliorarlo. |
| Apro io stesso Big Class. |
| Lo metterò in scena. |
| Apri Big Class. Ottieni spinta. |
| E ancora, mostra e basta |
| il vecchio gasdotto. |
| Ora questo dovrebbe durare |
| non...non troppo a lungo. |
| Quindi entreremo qui. Noi... testiamo solo su uno... su... |
| Versione JMP, ma puoi vedere |
| automaticamente, ne testiamo solo uno. |
| Quindi aspetta che lo sviluppatore dica, sì, ho finito e tutto sembra a posto. Continua. Lo facciamo per ragioni di risorse, |
| perché questi sono in esecuzione su macchine virtuali che si bloccano automaticamente continuamente e abbiamo più sviluppatori, che utilizzano tutti questi sistemi. |
| Erano anche... |
| Puoi vedere, questo è in realtà un sistema docker, li stiamo containerizzando. |
| Bene, li stiamo containerizzando. Li facciamo funzionare, ma non abbiamo ancora tutte le versioni. |
| Ma eseguiamo 14.3, almeno per questo progetto, eseguiamo 14.3, 15, 15.1, |
| e questo dovrebbe funzionare. |
| Invertiamo le cose. |
| Perché sai che funziona. |
| Probabilmente avrei dovuto fare un classico... ma va bene. |
| Quindi sì. |
| Faremo un test. |
| Mi sento come se continuassi a dirlo ancora e ancora. Testeremo tutto. |
| In realtà lo lasceremo eseguire per mostrarti il risultato finale di ciò che otteniamo. |
| Dovrebbe bastare. |
| un po. |
| Quindi lo testeremo, ci assicureremo che funzioni e tu possa vedere i registri. Stiamo ottenendo informazioni decenti su ciò che sta accadendo, su dove si trova, come se te lo dicesse il corridore che sta correndo. |
| Al momento utilizzo solo Windows. Ancora una volta, questa è una demo e tutto il resto |
| dovremmo essere in grado di correre |
| Di più. |
| Mentre è in esecuzione, parlerò ancora un po' di VSCode. |
| In VSCode, abbiamo anche... ci sono anche frammenti e altro, quindi se vuoi creare una funzione, |
| ti creerà tutte le informazioni sulla funzione. Usiamo documenti naturali |
| ripeto, è stato rubato alla squadra di Hamcrest, |
| come il nostro |
| documentazione di sviluppo. |
| Quindi metterà tutto sotto forma di documenti naturali. Quindi, ancora una volta, l'idea è aiutarci a fare il nostro lavoro e costringerci a fare il nostro lavoro |
| un po' meglio, con un po' più di gusto. |
| Wayne Levin | Per la documentazione? |
| Vincenzo Faller | Quindi questo è per la documentazione, sì. |
| Wayne Levin | Mentre sviluppiamo, documentiamo allo stesso tempo. |
| Vincenzo Faller | Sì. Assolutamente. |
| Sapete, ha anche cicli for e cicli while. |
| Perché con una fila di associati, cose del genere. |
| Siamo... è... è già finito? Probabilmente è finito, sì. |
| Quindi otteniamo il nostro segno di spunta verde. Ora funzionerà su tutti i sistemi. |
| Se potessimo tornare qui, lo vedrai. |
| Apri JMP. Eseguirà alcuni test, |
| probabilmente aprirà Big Class. |
| Quindi chiudi tutto... chiudi tutto da solo. |
| Wayne Levin | Quindi lo stiamo facendo, in gran parte perché |
| molti dei nostri clienti hanno implementato diverse versioni di JMP e desiderano un particolare componente aggiuntivo, ma non lo fanno |
| eseguendolo, hanno, sai, solo versioni diverse là fuori sul campo. Effettuiamo anche test rispetto alle prime versioni di JMP, che è un servizio di JMP perché segnala i bug. |
| Ma anche per i clienti è utile perché sanno che possono... possono eseguire l'aggiornamento alla nuova versione di JMP. Sanno che le applicazioni che abbiamo creato per loro sono state testate. |
| E questa è solo routine per noi. |
| Bene. |
| Vincenzo Faller | Hai finito. Hai finito. Hai finito. |
| Cambia in... |
| Posso parlare di... |
| E funzionerà, possiamo |
| magia del film, questo se vuoi, Meg. |
| Solo per farlo funzionare più velocemente. |
| Fondamentalmente, voglio solo arrivare alla messa in scena, ma ci vuole un secondo. |
| C'è qualcos'altro che hai da dire a riguardo, Wayne? |
| Freddo. |
| lo metto... |
| Qualcosa che posso dire |
| quando stiamo mettendo in scena, |
| abbiamo anche la nostra documentazione in mk docs. Quindi eseguirà effettivamente la versione del documento mk, lo renderà, inserirà l'aiuto nei file di aiuto e fondamentalmente sarà in grado di creare una versione per noi, in modo da non doverlo fare |
| affrontare. |
| Perché creare versioni è solo un grande sforzo. |
| Crittografia. È quasi finito. |
| Probabilmente avrei dovuto averne uno precaricato. |
| Demo dal vivo, cosa farai? |
| Alcuni. |
| Correre. |
| Oh, c'è una cosa che voglio assolutamente fare. |
| Quindi, l'ultima cosa che fa effettivamente il gasdotto è verificare che abbiamo effettivamente trascorso il nostro tempo, perché, sai, se |
| in realtà non registriamo il tempo trascorso, non veniamo pagati, costringendoci quindi a farlo. |
| Ottimo, ottimo momento. |
| Vinde Faller | COSÌ |
| Vincenzo Faller | senza di ciò il lavoro sarebbe fallito. |
| Posso solo mostrarti alcuni lavori. Provando. |
| Questo è quello della finestra mobile. Non lo vogliamo. |
| COSÌ |
| Puoi vedere che questo ci ha dato i nostri successi. |
| Nessun fallimento. Nessun lancio inaspettato. È tutta roba da Hamcrest. |
| Dai. Ancora uno. |
| Ok, devo passare alla messa in scena. |
| Una cosa che fa è creare i repository. |
| Li crea freschi ogni volta. |
| Quindi è come se cercasse di mantenerlo in una sorta di apolide |
| modo. Ok, ora possiamo scaricare gli artefatti. |
| E ora dovremmo avere questa demo della pipeline. |
| Vorrei davvero che fosse andato lì. |
| Che cosa. |
| Perché Internet Explorer è attivo? Quindi ora vedrai la demo della pipeline |
| è un componente aggiuntivo di JMP. |
| Se lo decomprimiamo. |
| Se non lo sapevi, un componente aggiuntivo JMP è solo un file zip. |
| Se lo guardiamo ora, |
| puoi vedere che contiene tutti i nostri script, ha il nostro foo, ha la nostra barra. Se li apriamo, |
| aprire, |
| puoi vedere che è un file crittografato. |
| Quindi questo è sostanzialmente ciò che saremmo in grado di dare al cliente |
| e non avere così tanto lavoro meccanico. Wayne ne ha parlato |
| sono sviluppatori meno frustrati e, personalmente, penso che sia un eufemismo, perché farlo ancora e ancora era molto frustrante prima che lo mettessimo in atto, e questo ha aiutato un sacco. |
| Quello. |
| Wayne Levin | Ora, riguardo alla crittografia, quando fornisci un componente aggiuntivo |
| per l'utilizzo da parte degli utenti all'interno di un'azienda, che in genere non si desidera, per motivi di sicurezza e così via, non si desidera che nessuno possa entrare e |
| occuparsi del codice. Sai, cose del genere, quindi potremmo fornire un codice non crittografato solo per, sai, così il cliente ha il proprio codice crittografato, ma per la consegna all'utente finale, in genere vuoi tutto crittografato, solo così non può essere manomesso. Solo una di quelle cose. |
| Vincenzo Faller | Sì, e questa è la fine della mia demo. Wayne, se vuoi riportalo indietro per concludere. |
| Wayne Levin | Sì, fantastico. |
| Certo, grazie mille, Vince. Quindi ci sono molte parti in movimento in tutto questo sistema, quindi è, fondamentalmente, assicurarci di avere, |
| sai, codice sviluppato da più utenti che non entrano in conflitto tra loro. Stiamo costruendo la documentazione allo stesso tempo. E in realtà, la documentazione viene distribuita con l'applicazione e non dobbiamo integrarla. Suo... |
| Impostiamo l'infrastruttura in modo che venga gestita automaticamente. Possiamo aggiornarlo, insieme al codice in modo completo, simultaneamente, |
| se vorrai. I test di Hamcrest in corso, ognuna di quelle funzioni scritte, |
| ci sono risultati attesi, se vuoi. Quindi vengono confrontati e quindi abbiamo visto, brevemente, che c'era, immagino, qualche problema con quell'equazione lì. Un quadrato R o qualunque cosa sia tornato con un valore diverso, |
| quindi si è rotto, in altre parole, per dire ehi, qui c'è qualcosa che non va; Mi aspettavo questo output dalla funzione |
| per un caso d'uso. Questa è una delle cose che otteniamo dai clienti, quindi sai, creiamo un pool di casi d'uso che vengono trasformati in test Hamcrest e via. Ci sono alcune altre diapositive qui |
| sono a tua disposizione, ad esempio, quando tu, quando tu, se vai a scaricare le diapositive. Quindi lo lascerò a tua disposizione ed ecco una piccola immagine della pipeline |
| quello che stiamo impiegando e anche qualcosa sull'attività di revisione del codice per gli sviluppatori. Se vuoi andare avanti e indietro con esso. Vince, vuoi aggiungere qualcosa qui su come avviene la revisione e l'approvazione del codice? |
| Vincenzo Faller | Sì, quindi all'interno della richiesta di fusione |
| avrà il codice JSL sulle differenze del codice. E ancora, un grande |
| grazie a |
| anche le persone che hanno fatto Hamcrest, perché hanno anche avviato un lexer(?) per GitHub e GitLab per poter leggere JSL, quindi in realtà questo è all'interno di getlab. |
| E possono anche leggere il JSL. Non lo esegue, ma ha una bella formattazione. Non è tutto solo testo bianco, è bellissimo lì. Entreremo e basta, |
| come in questo screenshot, fai clic su una riga, inserisci il commento che desideri e diventa un'attività rivedibile. Quindi proviamo a fare il più possibile all'interno di GitLab |
| per ragioni di trasparenza, e |
| una volta che tutto è chiuso, puoi dire di sì, la mia richiesta di unione è pronta. Inseriamolo nel ramo master, ramo principale. |
| Wayne Levin | Fantastico. Quindi sei davvero... aiuta, sai, stiamo davvero definendo gli standard di codifica, se vuoi, e |
| Non mi piace la parola "imposizione", ma questo è il significato. E riduce la variazione. Rende più facile per più sviluppatori, se vuoi, capire cosa |
| quello che hanno fatto gli altri. E quando coinvolgiamo nuovi sviluppatori, arrivano a comprendere lo standard e sanno cosa cercare, sanno cosa fare. |
| Quindi... rende l'onboarding molto più semplice, e ancora una volta si tratta di... tutto è collegato a tutto qui, quindi conosci la supportabilità e così via. |
| Questa è la diapositiva di cui ho parlato prima, solo per alcune risorse, quindi utilizziamo GitLab. Suppongo che gli stessi principi si applichino a qualsiasi git in genere, così come GitHub o cosa hai. Ecco il collegamento della community per Hamcrest. C'è stato un discorso a |
| a Tucson, era il 2019, ai vecchi tempi in cui viaggiavamo e ci incontravamo. È stato molto divertente. Ed ecco il collegamento al marketplace per lo studio visuals...visual code. |
| Codice di Visual Studio, cosa hai. |
| Quindi, come ha detto Vince, sì, utilizziamo molto quell'editor, invece di utilizzare l'editor JMP integrato solo perché è tutto integrato. Suo... |
| fa tutto parte di un unico grande ambiente di sviluppo di applicazioni. E con questo, Vince e io, a nome mio e di Vince, vogliamo ringraziarvi per il vostro interesse in questo, e vogliamo, ancora una volta, vogliamo davvero ringraziare il team JMP. Justin Chilton e compagnia, |
| Ti chiamerò. Se non fosse stato per Hamcrest, non saremmo qui. Quello era |
| il pezzo mancante o era il pezzo abilitante che ci ha davvero permesso di portare lo sviluppo JSL a, |
| fondamentalmente, il tipo di standard che ci si aspetta nello sviluppo del codice, in generale, nell'industria. Quindi ne siamo davvero grati e conosco il nostro... |
| sai, questo si propaga con ogni applicazione che abbiamo distribuito. E a questo punto, Vince e io saremo felici di rispondere a qualsiasi domanda che... |
| info@predictum.com e ci verrà inoltrato e ti ricontatteremo. Ma a questo punto apriremo la questione alle domande e risposte. |