Altoparlante | Trascrizione |
| Wayne Levin | Benvenuti alla nostra sessione qui sull'estensione dei test automatici Hamcrest delle applicazioni JSL per il miglioramento continuo. |
| Quello che ti mostreremo qui, la nostra promessa, è che ti mostreremo come anche tu puoi costruire un |
| sistemi di analisi integrati mission-critical basati su JMP, garanzia di alta qualità, altamente affidabili e sostenibili. Sì, è molto da dire, ma questo è |
| questo è quello che stiamo facendo in questo ambiente. Ne siamo abbastanza soddisfatti. Siamo davvero onorati di poterlo condividere con te. |
| Quindi ecco l'agenda che seguiremo qui. Una piccola introduzione, me stesso, lo farò tra un momento, e solo un po 'di Predictum, perché potresti non sapere troppo 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 cosa c'è dopo, cosa abbiamo pianificato per il futuro, e poi lo apriremo, finalmente, per qualsiasi domanda tu possa avere. |
| Quindi sono Wayne Levin, quindi sono io qui sulla destra. Sono il presidente di Predictum e sono entrato a far parte |
| con Vince Faller. Vince è il nostro capo ingegnere software che ha guidato questa importantissima iniziativa. Quindi solo un po 'di noi, proprio lì. Siamo un partner JMP. |
| Abbiamo lanciato nel 1992, quindi abbiamo 29 anni. |
| Facciamo formazione sui metodi statistici e così via, utilizzando JMP, forniamo consulenza in quelle aree e impieghiamo moltissimo tempo a costruire e |
| implementare 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ì, in effetti più di 20 anni fa, e abbiamo creato sistemi più grandi. Ovviamente, da allora, erano strumenti troppo piccoli, ma penso che abbiamo iniziato intorno a JMP 8 o 9 a costruire sistemi più grandi. |
| Quindi abbiamo un bel po 'di storia su questo, oltre 10 anni facilmente. Quindi solo un po 'di background ... fino a circa la seconda metà del 2019, il nostro ambiente di sviluppo era davvero disparato, era frammentario. |
| Gestione di progetto |
| era lì, ma ancora una volta, tutto era un po '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 solo la gestione dei progetti in generale. |
| Gli sviluppatori spendevano facilmente e ne parleremo, |
| circa la metà del loro tempo si limita a svolgere operazioni meccaniche di routine, come la crittografia e la creazione di pacchetti di componenti aggiuntivi di JMP. Sai, mantenere i pacchetti di configurazione e, |
| sai, e separando i repository o ciò che generalmente chiamiamo repo, sai, per script crittografati e non crittografati. Era ... c'erano molte cose a cui dovevamo pensare che non era un vero lavoro di sviluppo. È stato davvero un lavoro quello |
| il talento degli sviluppatori è ... è stato sprecato. Abbiamo anche avuto, come ho detto, lo facciamo da molto tempo, anche nel 2019, abbiamo avuto facilmente 10 anni, quindi oltre 10 anni di framework legacy risalgono persino 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 gli spazi dei nomi e JMP 14 ha introdotto le classi ed è allora che Hamcrest |
| iniziò. Ed è stato Hamcrest che ci ha davvero permesso di fare questo ... con questa grande iniziativa. Quindi abbiamo iniziato questa importante iniziativa nell'agosto del 2019. |
| Ed è allora che abbiamo acquisito le nostre prime licenze Gitlab e questo è lo sviluppo della nostra nuova ... lo sviluppo della nostra nuova architettura di sviluppo, ecco fatto, ha iniziato a prendere forma e da allora sta migliorando. |
| Ogni mese, fondamentalmente, abbiamo aggiunto e sviluppato le nostre capacità per diventare sempre più produttivi, man mano che andiamo avanti. |
| E questo continua, quindi in realtà lo consideriamo, se vuoi, un tipo di sforzo Lean. Segue davvero i principi Lean e ha accelerato il nostro sviluppo. |
| Abbiamo test automatizzati, grazie a questo sistema, e Vince ce lo dimostrerà. E abbiamo questo piccolo modello qui, prova presto e prova spesso |
| Ed è quello che facciamo. Supporta il riutilizzo del codice e abbiamo riprogettato il nostro framework di sistema Predictum. Ora è 2.0. Abbiamo imparato molto dal nostro precedente sforzo. Tutto ciò che è andato, praticamente tutto è andato, ed è stato sostituito ed espanso. |
| E Vince ci dirà di più su questo. Facilmente, facilmente abbiamo oltre il 50% di aumento della produttività e dirò solo che gli sviluppatori sono molto più felici. Sono meno frustrati. |
| Sono più concentrati sul loro lavoro, intendo il vero lavoro che gli sviluppatori dovrebbero fare, non il tipo noioso di cose. |
| C'è ancora spazio per migliorare, dirò, quindi non abbiamo finito e Vince ci dirà di più a riguardo. |
| Ora abbiamo standard di sviluppo, quindi abbiamo guide di stile per le funzioni e tutto il nostro sviluppo è basato sulla 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 domande su come migliorare quegli standard, renderli migliori. |
| Abbiamo anche queste, una specie di, sessioni divertenti, in cui gli sviluppatori sono incoraggiati a violare il codice, |
| giusto, così si chiamano come, queste sfide di codice di rottura, o cosa hai. Quindi è diventato parte del nostro modus operandi e tutto si adatta perfettamente a questo ambiente di sviluppo. Porta, ad esempio, a ulteriori test, a ulteriori test di Hamcrest da aggiungere. Abbiamo un progetto piccolo, abbastanza piccolo |
| che abbiamo fatto poco più di un anno fa. Stiamo entrando in una nuova fase. È finita ... |
| oltre 100 test Hamcrest sono incorporati e vengono eseguiti più e più volte durante il processo di sviluppo. |
| Quindi alcuni altri vantaggi sono che ci consente di assegnare e tenere traccia della nostra allocazione di risorse, ad esempio cosa stanno facendo gli sviluppatori. Tutti sanno cosa stanno facendo tutti gli altri, |
| integrazione continua, distribuzione continua, qualcosa del genere), |
| c'è ... collisioni di codice vengono rilevate presto quindi se abbiamo ... e lo facciamo, abbiamo più persone che lavorano su alcuni progetti, quindi, sai, qualcuno sta cambiando una funzione qui e andrà a scontrarsi con qualcosa che qualcun altro sta facendo. Lo scopriremo molto prima. |
| Ci consente inoltre di migliorare la supportabilità tra più dipendenti. Non possiamo avere codice dipendente da un particolare sviluppatore; dobbiamo disporre di codice che qualsiasi sviluppatore o personale di supporto possa supportare |
| ging in avanti. Quindi questo era anche un nostro obiettivo importante. E fa avanzare l'intera area di garanzia della qualità solo in generale, |
| compreso il supporto, sai, i requisiti FDA, riguardanti il QA, sai, cose come la convalida, l'IQ OQ PQ. Quindi ... stiamo automatizzando o semi automatizzando |
| anche questi compiti attraverso questa infrastruttura. Lo usiamo internamente ed esternamente, quindi potresti sapere, lo abbiamo |
| alcuni prodotti là fuori, (???) Kobe sash lab ma quelli nuovi spam bene Kobe invia spam (???) si parla anche altrove |
| alla JMP Discovery European Conference nel 2021. Potresti volerli controllare, ma sono abbastanza grandi |
| basi di codice e sono tutti sviluppati, 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 costruendo applicazioni da cui dipenderanno. |
| E quindi noi, dobbiamo ... abbiamo bisogno di avere l'infrastruttura che ci consenta 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 test Hamcrest associati. Ovviamente, il nostro obiettivo è assicurarci che lo facciano tutti e ci stiamo arrivando. |
| Ci stiamo arrivando. Avere ... questi framework ... questo framework è in realtà parte della nostra infrastruttura qui. Questo è uno degli elementi importanti. Un altro è proprio questo ... Hamcrest ... |
| la capacità di fare il test unitario. 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, di nuovo in JMP 14, come ho detto pochi minuti fa. Gitlab è una parte importante di questo; che ci fornisce il repository di gestione del progetto, la pipeline CI / CD, ecc. |
| E c'è anche un'estensione visuale ... del codice di uno studio visivo per JSL che abbiamo creato e che vorremmo ... vedete cinque stelle lì perché le sono state assegnate cinque stelle sul |
| nello studio visivo. Non sono sicuro di come lo chiamiamo. Vince, forse puoi dirci, al negozio, cosa hai. È stato scaricato centinaia di volte e lo siamo stati |
| aggiornandolo regolarmente. Quindi è qualcosa che puoi anche cercare. Penso che abbiamo un collegamento anche per questo nella diapositiva delle risorse alla fine. |
| Quindi quello che farò ora è passarlo a Vince Faller. Vince è, ancora una volta, il nostro capo ingegnere 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 compagnia, molto grati per Vince e la sua leadership qui. Detto questo, Vince, perché non lo prendi da qui? Sto per ... |
| Io sono... |
| Vince 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 ed Evan McCorkle lo stavano guidando. È solo una libreria di test di unità che ti consente di eseguirla, testarla e ottenerne i risultati in modo automatico. |
| Abbiamo davvero iniziato a farci rotolare la palla, anche se siamo in grado di farlo, ecco perché si chiama estensione. |
| Mostrerò alcune cose |
| con il mio schermo. Lavoro praticamente esclusivamente nell'estensione VSCode che abbiamo creato. Questo è VSCode. |
| Lo facciamo perché ha molte funzionalità incorporate o estendibili che non dobbiamo scrivere, come ottenere l'integrazione, ottenere l'integrazione in laboratorio. |
| Qui puoi vedere che questo è uno script JSL e lo legge perfettamente. |
| Se vuoi ottenerlo, se ... se hai familiarità con VSCode, è solo un editor di testo leggero. Devi solo digitare JMP |
| e lo vedrai. È l'unico. |
| Ma andremo a quello che stiamo facendo. |
| Così. |
| Per qualsiasi modifica al codice che apportiamo, |
| c'è un oleodotto in corso. |
| Mostreremo solo cosa fa. Quindi se cambio il file README in questo è una demo per Discovery. |
| 2021. |
| E lo commetterò. Se non sai prendi, impegnandoti come giusto |
| dicendo che voglio un'istantanea di dove ci troviamo esattamente in questo momento, quindi lo invii al repository e lo salvi sul server. |
| Giorno felice. |
| Messaggio di commit. Ulteriori informazioni sul file readme. |
| E posso semplicemente ottenere push, perché VSCode è fantastico. |
| Demo della pipeline. |
| Quindi ora l'ho spinto. Ci sarà una pipeline in funzione. Posso semplicemente andare qui e fare clic su questo e mi darà la mia richiesta di unione. Così ora |
| la pipeline ha iniziato a funzionare. |
| Posso controllare lo stato della pipeline. |
| Quello che sta facendo in questo momento è che passerà e controllerà che abbia 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. Vado a premere 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 solo esaminando tutto il codice. |
| Scrivere tutte le password crittografate, passare in rassegna, fare clic su tutta quella roba. Se hai mai provato a crittografare più script contemporaneamente, |
| probabilmente saprai che questo è un problema, quindi lo abbiamo automatizzato in modo da non doverlo fare perché, come ha detto Wayne, ci voleva molto del nostro tempo per farlo. |
| Ad esempio, se abbiamo 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 abbastanza presto. |
| Quindi lo attraverserà e lo metterà in scena e quindi la messa in scena prenderà fondamentalmente tutte le fonti di informazione che vogliamo, come le nostre come nella nostra documentazione, come in |
| qualsiasi altra cosa abbiamo scritto, e le restituisce nella forma che vogliamo nell'add-in, perché proprio come il resto di github, gitlab, la maggior parte della nostra documentazione è scritta in markdown e poi 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 è solo una singola funzione. |
| Se vado qui come, se dovessi eseguire 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 vedere che è passato anche qui. |
| Ma. |
| Quindi questo potrebbe utilizzare un po 'più di documentazione. |
| E siamo tipo, oh, in realtà non vogliamo che questa tabella di dati sia aperta. |
| Ma cerchiamo di eseguire questo molto velocemente. |
| E dire, |
| no. Questo non è un buon ritorno, apparentemente trasforma l'equazione in maiuscolo. |
| Quindi se lo metto in scena. |
| Migliore documentazione. |
| Spingere. |
| Di nuovo di nuovo qui. |
| Quindi, di nuovo sta spingendo. Questa è un'altra pipeline. |
| Sta solo eseguendo un mucchio di script di shell di potenza in ordine, a seconda di come lo abbiamo impostato. |
| Ma noterai che questa pipeline ha più fasi. |
| Quindi quando noi |
| nel tentativo di essere in grado di ridimensionarlo, testiamo solo il JSL |
| inizialmente 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 questo. |
| Verrà eseguito e ci dirà dove si trova durante il test, nel caso in cui il test si blocchi. Sai, se hai una finestra di dialogo modale che semplicemente non si chiude, ovviamente JMP non continuerà a fare nulla dopo. Ma puoi vedere, ha fatto un sacco di cose, sì, fantastico. Ho finito. |
| Eccitante. |
| Aggiorna quello. Ottieni un piccolo segno di spunta verde. |
| E potremmo andare, okay, eseguire tutto adesso. Passerebbe attraverso, testerebbe tutto, quindi lo crittograferebbe, quindi testerebbe il crittografato, fondamentalmente la cosa reale di cui faremo il componente aggiuntivo, quindi lo preparerà di nuovo, lo impacchetterà per noi, creerà il componente aggiuntivo effettivo. in quello che daremmo a un cliente. |
| Non lo farò molto velocemente perché ci vuole un minuto. |
| Ma |
| diciamo che entriamo qui e siamo, tipo, oh, |
| bene, 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 lo facciamo ... non lo vogliamo. |
| Diremo okay. |
| Chiudi il dt. |
| Di nuovo spingere. 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 è ... l'intero scopo è catturarlo. Ci ha costretti a fare un po 'meglio il nostro lavoro. |
| E |
| si. |
| Continua a fare clic su questo pulsante. Potrei semplicemente aprirlo, ma va bene. |
| Quindi ora vedrai che sta di nuovo eseguendo la pipeline. Vai alla pipeline. |
| E continuerò a ripeterlo per ripetizione. Stiamo solo esaminando, testando e crittografando, quindi testando |
| perché a volte la crittografia entra da sola |
| mondo di problemi, se qualcuno ha mai fatto la crittografia. |
| Corri, corri, corri, corri, corri. |
| E poi, oh, abbiamo un lancio. 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, quel test non è stato superato. |
| Adesso |
| potremmo scaricare |
| perché il test non ha superato i manufatti. |
| E questo aprirà un'unità J. |
| file che ho intenzione di estrarre qui. |
| Lo renderà anche in getlab, il che potrebbe essere più semplice, ma per ora lo faremo solo. |
| Infine. Riduci tutto al minimo. |
| Adesso andiamo. |
| Quindi, abbiamo potuto vedere che è successo qualcosa con R al quadrato e non è riuscito. |
| Dentro |
| di blu. |
| Quindi possiamo venire qui. |
| Dì, perché c'è qualcosa in boo che sta causando il fallimento? |
| Vediamo, oh, qualcuno ha chiamato la nostra equazione |
| e poi presumevano che la tabella dei dati fosse lì. Quindi perché qualcosa che ho cambiato ha infranto il codice di qualcun altro, come se fosse mai successo. |
| Quindi abbiamo quel problema. |
| Dove sei andato? Eccoci qui. |
| Quindi questo è lo scopo principale di tutto ciò che stiamo facendo qui, essere in grado di cogliere il fatto che ho cambiato qualcosa e ho rotto le cose di qualcun altro. |
| Quindi potrei passare. |
| Guarda cosa fa il fischio. |
| Di ', vabbè, forse dovrei semplicemente aprire Big Class |
| me stessa. |
| Sì, fantastico. Bene, se lo salvo, |
| Probabilmente dovrei renderlo migliore. |
| Apri io stesso Big Class. |
| Lo metterò in scena. |
| Apri Big Class, fai pressione. |
| E ancora, mostra |
| il vecchio gasdotto. |
| Ora questo dovrebbe richiedere |
| non ... non troppo a lungo. |
| Quindi entreremo qui. Stiamo ... proviamo solo su uno ... per ... |
| Versione di JMP, ma puoi vedere |
| automaticamente, testiamo solo su uno. |
| Quindi attende 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 vms che si limitano automaticamente a soffocare tutto il tempo e abbiamo più sviluppatori, che utilizzano tutti questi sistemi. |
| Erano anche... |
| Puoi vedere, questo è in realtà un sistema docker, li stiamo containerizzando. |
| Ebbene, siamo in procinto di containerizzarli. Li abbiamo funzionanti, ma non abbiamo ancora tutte le versioni. |
| Ma eseguiamo 14.3, almeno per questo progetto, eseguiamo 14.3, 15, 15.1, |
| e dovrebbe funzionare. |
| Ripristiniamo solo le cose. |
| Perché quello che sai funziona. |
| Probabilmente avrebbe dovuto fare un classico ... ma va bene. |
| Quindi sì. |
| Stiamo andando a testare. |
| Mi sento come se continuassi a ripeterlo ancora e ancora. Proveremo tutto. |
| In realtà lo lasceremo correre per mostrarti il risultato finale di ciò che otteniamo. |
| Dovrebbe solo prendere. |
| un po. |
| Quindi lo testeremo, ci assicureremo che funzioni e che tu possa vedere i log. Stiamo ottenendo informazioni decenti da ciò che sta accadendo, su dove si trova, come se ti dicesse il corridore che sta correndo. |
| Al momento sto funzionando solo su Windows. Ancora una volta, questa è una demo e tutto il resto |
| dovremmo essere in grado di correre |
| Di Più. |
| Mentre è in esecuzione, parlerò ancora di VSCode. |
| In VSCode, abbiamo anche ... ci sono anche frammenti e cose del genere, quindi se vuoi creare una funzione, |
| ti creerà in tutte le informazioni sulla funzione. Usiamo documenti naturali |
| ancora una volta, è stato rubato alla squadra di Hamcrest, |
| come il nostro |
| documentazione di sviluppo. |
| Quindi metterà tutto in una forma di documenti naturale. Quindi, ancora una volta, l'idea ci sta aiutando a fare il nostro lavoro e ci costringe a fare il nostro lavoro |
| un po 'meglio, con un po' più di gusto. |
| Wayne Levin | Per la documentazione? |
| Vince Faller | Quindi è per la documentazione, sì. |
| Wayne Levin | Mentre stiamo sviluppando, stiamo documentando allo stesso tempo. |
| Vince Faller | Sì. Assolutamente. |
| Sai, ha anche i cicli for, mentre i cicli. |
| Perché con una riga associata, cose del genere. |
| Siamo ... è questo ... è già stato fatto? Probabilmente è finito, sì. |
| Quindi otteniamo il nostro segno di spunta verde. Ora funzionerà su tutti i sistemi. |
| Se possiamo tornare qui, lo vedrai e basta. |
| Apri JMP. Eseguirà alcuni test, |
| probabilmente aprirà Big Class. |
| Quindi chiudi tutto ... chiudi tutto da solo. |
| Wayne Levin | Quindi lo stiamo facendo, soprattutto perché |
| molti dei nostri clienti hanno diverse versioni di JMP distribuite e desiderano un particolare componente aggiuntivo, ma lo sono |
| eseguendolo, hanno, sai, solo versioni diverse là fuori sul campo. Testiamo anche rispetto alle prime versioni di JMP, che è un servizio per JMP perché segnaliamo 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 costruito per loro sono state testate. |
| E questa è solo routine per noi. |
| Buono. |
| Vince Faller | Hai finito. Hai finito. Hai finito. |
| Cambia in ... |
| Posso parlare di ... |
| E questo funzionerà, possiamo |
| film magico 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, Wayne, a riguardo? |
| Freddo. |
| Lo metto ... |
| Qualcosa che posso dire |
| quando siamo in scena, |
| abbiamo anche la nostra documentazione in mk docs. Quindi eseguirà effettivamente la versione del documento mk, lo visualizzerà, inserirà la guida nei file della guida e fondamentalmente sarà in grado di creare una versione per noi, in modo che non dobbiamo |
| affrontarla. |
| Perché creare versioni è solo un grande sforzo. |
| Crittografia. È quasi finito. |
| Probabilmente avrebbe dovuto averne uno precaricato. |
| Demo dal vivo, cosa farai. |
| Alcuni. |
| Correre. |
| Oh, una cosa che voglio assolutamente fare. |
| Quindi, l'ultima cosa che il gasdotto fa effettivamente è controllare che abbiamo effettivamente speso il nostro tempo, perché, sai, se |
| in realtà non registriamo il nostro tempo trascorso, non veniamo pagati, costringendoci a farlo. |
| Fantastico, ottimo tempo. |
| Vinde Faller | Così |
| Vince Faller | il lavoro sarebbe fallito senza quello. |
| Posso solo mostrare alcuni lavori. Provando. |
| Quello è il docker. Non lo vogliamo. |
| Così |
| Come puoi vedere, questo ci ha dato i nostri successi. |
| Nessun guasto. Nessun lancio inaspettato. È tutta roba di Hamcrest. |
| Dai. Ancora uno. |
| Ok, devo mettere in scena. |
| Una cosa che fa crea 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 appena 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, |
| Aperto, |
| puoi vedere che è un file crittografato. |
| Quindi questo è fondamentalmente 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 più e più volte è stato molto frustrante prima che lo mettessimo a posto, 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, in genere non si desidera, per motivi di sicurezza e così via, non si desidera che nessuno possa entrare e |
| occuparsi del codice. Sai, quel genere di cose, quindi possiamo fornire un codice non crittografato solo per, sai, quindi il client ha il proprio codice crittografato, ma per la consegna all'utente finale, in genere vuoi che tutto sia crittografato, solo così non può essere manomesso. Solo una di quelle cose. |
| Vince Faller | Sì, e questa è la fine della mia demo. Wayne, se vuoi riprenderlo per la conclusione. |
| Wayne Levin | Sì, fantastico. |
| Certo, grazie mille per questo, Vince. Quindi ci sono molte parti in movimento in questo intero sistema quindi è, sai, fondamentalmente, assicurandoci di avere, |
| sai, codice sviluppato da più utenti che non entrano in collisione tra loro. Allo stesso tempo stiamo costruendo la documentazione. E in realtà, la documentazione viene distribuita con l'applicazione e non dobbiamo inserirla. Suo... |
| Abbiamo impostato 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, ciascuna 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 qualsiasi altra cosa è tornata con un valore diverso, |
| quindi si è rotto, in altre parole, per dire hey, qualcosa non va bene qui; Mi aspettavo questo output dalla funzione |
| per un caso d'uso. Quindi questa è una delle cose che otteniamo dai clienti, quindi sai, creiamo un pool di casi d'uso che vengono trasformati in test di Hamcrest e via. Ci sono altre diapositive qui |
| sono a tua disposizione, come, quando tu, quando tu, se vai a scaricare le diapositive. Quindi lo lascio a tua disposizione ed ecco una piccola immagine della pipeline |
| quello che stiamo impiegando e anche un po '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? |
| Vince Faller | Sì, quindi all'interno della richiesta di unione |
| 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 un commento che desideri e diventa un'attività revisionabile. Quindi proviamo a fare il più possibile all'interno di GitLab |
| per motivi di trasparenza, e |
| una volta che tutto è chiuso, puoi dire di sì, la mia richiesta di unione è pronta. Mettiamolo nel ramo principale, ramo principale. |
| Wayne Levin | Awesom. Quindi stai davvero ... sta aiutando, sai, stiamo davvero definendo gli standard di codifica, se vuoi, e |
| Non mi piace la parola "imposizione", ma è quello che significa. E riduce la variazione. Rende più facile per più sviluppatori, se vuoi, capire cosa |
| quello che hanno fatto gli altri. E quando portiamo a bordo nuovi sviluppatori, questi capiscono lo standard e sanno cosa cercare, sanno cosa fare. |
| Quindi ... rende l'onboarding molto più semplice, e di nuovo si occupa di ... tutto è collegato a tutto qui, quindi conosci la supportabilità e così via. |
| Questa è la diapositiva che ho menzionato prima, solo per alcune risorse, quindi stiamo usando GitLab. Suppongo che gli stessi principi si applichino a qualsiasi git in genere così come GitHub o cosa hai. Ecco il link della community per Hamcrest. C'è stato un discorso a |
| a tucson, era il 2019, ai vecchi tempi quando viaggiavamo e ci riunivamo. È stato molto divertente. Ed ecco il link al marketplace per le immagini ... Visual Code Studio. |
| Codice di Visual Studio, cosa hai. |
| Quindi, come ha detto Vince, sì, usiamo molto quell'editor, invece di usare 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 di Vince e me, voglio ringraziarti per il tuo interesse per questo, e voglio, ancora una volta, vogliamo davvero ringraziare il team JMP. Justin Chilton e compagnia, |
| Ti chiamo. Se non fosse per Hamcrest, non saremmo su questo. Quello era |
| il pezzo mancante o era il pezzo abilitante che ci ha davvero permesso di portare lo sviluppo JSL a, |
| fondamentalmente, i tipi di standard che ci si aspetta nello sviluppo del codice, in generale, nell'industria. Quindi ne siamo davvero grati, e so che il nostro ... |
| sai, questo viene propagato con ogni applicazione che abbiamo distribuito. E a questo punto, io e Vince siamo felici di rispondere a qualsiasi domanda che ... |
| info@predictum.com e ci verrà inoltrato e ti risponderemo. Ma a questo punto, lo apriremo a Domande e risposte. |