Altoparlante
|
Trascrizione
|
| Michael Akerman |
Christie. |
| Christy Spagna |
Buongiorno, come stai Michele. |
| Michael Akerman |
Come stai. |
| Christy Spagna |
Ottimo Fammi chiudere la mia email, così non mi capita. |
| Michael Akerman |
sì, sto ottimizzando le impostazioni del mio computer in modo che niente, niente suoni. |
| Christy Spagna |
so cosa ho colpito la mia barra degli strumenti Sono io. |
| |
Penso di avere tutto. |
| |
com'è il tuo weekend. |
| Michael Akerman |
È stato bello, come stai come è andato il tuo weekend. |
| |
Bene. |
| Christy Spagna |
Quindi vivi al buio. |
| Michael Akerman |
Elena aspettaci. |
| |
Ok sì, così vicino al quartier generale che sarei andato al vero summit di scoperta, lo era. |
| |
presente di persona presso il. |
| |
Anche questo è stato deludente, ma. |
| |
sì, su ehi. |
| Christy Spagna |
Ciao Buongiorno, come stai. |
| Johan |
facendo del bene. |
| Michael Akerman |
Ho bisogno di erigere un muro erudito dietro di me come te, Johan. |
| Johan |
Ho messo in click. |
| |
Questo e i libri di Danny lì dentro, quindi non sarai in grado di riconoscere. |
| Christy Spagna |
sembra buono. |
| |
Mi scuso per il disguido della scorsa settimana, ma. |
| |
Sono felice di potervi incontrare entrambi virtualmente. |
| |
Dato che faccio parte della squadra principale che supporta le zone Nova, non avrebbero dovuto assegnarmi comunque a voi ragazzi, quindi. |
| |
vediamo, ho alcune cose che devo fare per fare in modo che il display sia impostato su 19 2010 a. |
| |
Io faccio. |
| Johan |
Fammi solo ricontrollare. |
| Christy Spagna |
eccezionale. |
| |
e |
| |
Se il tuo suono è buono, direi che nessuno indossa loghi. |
| |
assicurati che non ci siano elementi in vista che potrebbero causare una violazione del copyright. Non so se i tuoi libri laggiù sarebbero un problema. |
| |
sì, facciamolo, per ogni evenienza. |
| Michael Akerman |
Uno di questi è uno di loro è formato da un ex relatore principale del vertice sulla scoperta di JMP. |
| Giovanni |
Chi è. |
| Michael Akerman |
Oh, non l'ho fatto lui è venuto e ha parlato di quella cosa spiegatore. |
| Christy Spagna |
Oh sì, ho quel libro. |
| Michael Akerman |
Yeah Yeah. |
| Giovanni |
io no. |
| |
salvato uno di quelli dall'e-mail, ma posso semplicemente andare avanti ed estrarlo dall'e-mail. |
| Michael Akerman |
Sono d'accordo con l'avere la mia webcam su un braccio, dove posso spostarla come verso di me e indietro e su e giù e a sinistra e a destra come allora è come giocherellare con essa eternamente perché è come se potessi spostarla. |
| Christy Spagna |
Oh, è una buona idea. |
| |
mai, mai visto nel posto giusto, sì |
| |
E poi tutti stanno colpendo tutte le loro prospettive di app, tutte le squadre di I am. |
| |
come quello. |
| Michael Akerman |
I team vicini non dovrebbero ricevere alcuna notifica. |
| Christy Spagna |
E hai 30 minuti, è corretto. |
| Michael Akerman |
questa è la mia comprensione sì. |
| Christy Spagna |
E voi ragazzi lo sarete. |
| |
Idealmente vorremmo iniziare e andare dritto. |
| |
Vuoi fare una condivisione di prova del tuo schermo così ogni volta che fai la transizione. |
| Michael Akerman |
Tu perché a un certo punto passeremo dal mio schermo e tu sei sullo schermo, quindi lascia che condivida prima il mio schermo. |
| |
non è necessario condividere il suono. |
| |
Così. |
| Michael Akerman |
torniamo indietro per iniziare da qui. |
| Christy Spagna |
ciao Alex giusto. |
| |
Va bene. |
| Michael Akerman |
Quindi ci sei stato, l'ha fatto l'ha fatto l'ha fatto l'ha fatto quello e poi siamo stati consegnati a te. |
| Giovanni |
sì, controlleremo noi stessi la condivisione dello schermo, possiamo usare il produttore per noi. |
| Christy Spagna |
dovresti farlo sì. |
| |
Oh, il tuo sfondo sembra fantastico. |
| Giovanni |
Grazie. |
| Christy Spagna |
Dovrei averlo. |
| Michael Akerman |
Che posso essere di più possiamo essere più uniformi, immagino. |
| Giovanni |
No, dovremmo avere un nostro individuo, non l'ho fatto. |
| |
Sì. |
| Christy Spagna |
Sì, veniamo a Michael. |
| Giovanni |
Sì. |
| |
Immagino che non sarà molto il collegamento sullo schermo che farai, la maggior parte del parlare e poi faremo la condivisione dello schermo e poi. |
| Michael Akerman |
Non sono sicuro di cosa saremo visibili, mentre gli schermi sono condivisi. |
| Christy Spagna |
Bene, quindi ogni volta che mi restituiscono le registrazioni. |
| |
Ne ho quattro diversi. |
| |
versioni ce n'è una che ti include quando non lo fa e non sono sicuro che Jeff Perkinson modificherà tutto, quindi non so quale collina sceglierà. |
| |
Penso che voglia mostrarlo all'oratore. |
| Michael Akerman |
Vedo sullo schermo, penso. |
| |
A proposito, puoi semplicemente disattivare le icone se fai clic con il pulsante destro del mouse. |
| Giovanni |
Su riesce a confondere la finestra, sembra. |
| Christy Spagna |
Beh, è davvero così difficile da fare. |
| Giovanni |
O si. |
| |
Quindi cosa fare clic con il tasto destro e visualizzare e. |
| Michael Akerman |
sì, l'ha trovato ok, bello. |
| |
perchè non ricordo esattamente dove a. |
| |
Ragazzo, non ho mai acceso le mie icone sul desktop, ho semplicemente lasciato che le cose fossero installate su di esso, quindi se mai lo accendessi è proprio come. |
| Giovanni |
Sì. |
| Christy Spagna |
Quindi, Michael, quando hai finito dirai solo ok, passalo a te nella condivisione sullo schermo e poi partiremo da lì non lo faremo davvero non faremo una pausa, in altre parole si. |
| Michael Akerman |
E hai un filtro giallo nella mia stanza. |
| Christy Spagna |
Oh, hai un semaforo rosso che ti piace. |
| Michael Akerman |
mi fa diventare blu anche se sì. |
| Christy Spagna |
Non ho investito in uno di quelli Non ho la mia scrivania è così piccola e ho molto spazio qui. |
| Michael Akerman |
sì, sono diventato presto indipendente, il mio capo continuava a lamentarsi della qualità del mio microfono e della qualità della mia videocamera, quindi sono come se mi stessi comprando una nuova videocamera con microfono. |
| Christy Spagna |
buon per te, non ho ricevuto questo nuovo auricolare. |
| Michael Akerman |
Fammi chiudere la porta molto velocemente, quindi. |
| Christy Spagna |
Oh okay sì, è importante se conosci amici pelosi o bambini che corrono in giro. |
| Giovanni |
sì bene né così bene sì imposterò la porta chiusa. |
| Christy Spagna |
e Johan Dove ti trovi. |
| Giovanni |
Sulla società. |
| Christy Spagna |
del mio oh bello. |
| |
essere completamente. |
| Giovanni |
Oh, lo sei stato. |
| Christy Spagna |
Ho un amico che è sposato. |
| |
Un ragazzo di Copenaghen viene dalla Danimarca, e così siamo andati a trovarlo. |
| |
Eh si, bella. |
| Christy Spagna |
Ok, quindi, se riesco a convincervi a dichiarare il nome della vostra azienda e il vostro titolo astratto, sarebbe fantastico. |
| |
E questo non è per la registrazione Questo è solo per gli scopi di Jeff, come identificare ciò che è tuo. |
| Michael Akerman |
il nome è sicuro, il mio nome è Michael incremento Sono con novozymes il titolo dell'abstract è facile come caricare una foto. |
| |
qualcosa su imballaggio e fattura ho dimenticato l'esatto. |
| Christy Spagna |
va bene. |
| Michael Akerman |
Voi. |
| Giovanni |
E il mio nome è ONU. |
| |
Inoltre, nessun senso. |
| Christy Spagna |
E lo registreremo e lo pubblicheremo alla Discovery Summit Conference, e sarà disponibile per la visualizzazione pubblica se ottieni il permesso per questa registrazione in quell'uso. |
| Michael Akerman |
Lo faccio io. |
| |
Quando vai a. |
| Giovanni |
Oh sì scusa scusa ero solo la mia mente |
| Christy Spagna |
Ok, allora. |
| |
Fammi spegnere la mia fotocamera prima per te. |
| |
Nessuno vuole vedermi. |
| Christy Spagna |
E penso che siamo pronti, siete pronti ragazzi? |
| Michael Akerman |
Immagino che inizieremo con il mio schermo. |
| Christy Spagna |
Non sei mai pronto, vediamo che è il momento. |
| |
909 quindi tecnicamente hai fino al 939 ma. |
| |
dai o prendi un fusibile bene così quando sei pronto. |
| Michael Akerman |
Ciao a tutti, e benvenuti al nostro discorso di oggi su "Y'All". Questo è un gestore di pacchetti aggiuntivo che abbiamo creato in Novozymes per automatizzare la condivisione, l'aggiornamento e la manutenzione degli script di JMP in tutta la nostra azienda globale. Sono Michael Akerman e il mio co-presentatore è Johan Olsen. |
| |
Oggi, voglio, vogliamo parlarvi di Y'All e presentarvi anche questo toolkit, in modo che chiunque di voi sia interessato possa... |
| |
...Chi potrebbe volerlo utilizzare per usi personali o per la tua organizzazione sa come ottenere questo toolkit e iniziare a usarlo, e di cosa si tratta. Quindi inizieremo parlando di chi siamo e perché abbiamo costruito Y'All... |
| |
...le caratteristiche chiave di Y'All e l'esperienza dell'utente. Quindi Johan esaminerà ciò che un utente vede quando usa questo toolkit. |
| |
Andremo dietro le quinte di ciò che sta accadendo dietro il toolkit Y'All quando un utente interagisce con esso e poi faremo un riepilogo e un riepilogo e forniremo alcuni suggerimenti sull'adozione di Y'All nella tua organizzazione, se lo trovi interessante per i tuoi scopi. |
| |
Siamo scienziati dei dati in un'azienda chiamata Novozymes. Il mio co-presentatore è Johan Olsen. È un data scientist nella ricerca applicativa di biosoluzioni agricole e industriali. |
| |
Sono uno scienziato di dati senior nello stesso gruppo di Novozymes. Abbiamo incluso le nostre informazioni di contatto qui se desideri contattare Y'All o qualsiasi altra cosa. Non esitate a contattarci. |
| |
L'indirizzo e-mail di Johan è jpko@novozymes.com ed è JPKO nella community di utenti JMP. Sono mxak@novozymes.com. |
| |
Michael Akerman Michael mxak nella community di utenti di JMP, quindi non esitare a contattarci se hai domande, follow-up o commenti in qualsiasi modo su Y'All o sui modi per migliorare ciò che abbiamo costruito e su cosa stiamo lavorando . |
| |
Lavoriamo per Novozymes. Novozymes è un'azienda biotecnologica globale. Costruiamo soluzioni biologiche per la sostenibilità... |
| |
... e migliorare le prestazioni e ridurre i costi per tutti i tipi di industrie in tutto il mondo. Quindi sosteniamo l'agricoltura e i biocarburanti, la cura della casa, il cibo e le bevande, la salute degli animali e molte altre industrie... |
| |
...con queste soluzioni biologiche. Abbiamo più di 6000 dipendenti in tutto il mondo e in quel gruppo di dipendenti abbiamo centinaia di utenti JMP. |
| |
E lo dico perché abbiamo una coorte davvero ampia di utenti JMP che supportiamo e con cui lavoriamo, tutti lavorano con JMP e costruiscono cose in JMP, e questa è davvero l'ispirazione per Y'All. |
| |
Il nostro scopo come azienda è "Insieme troviamo risposte biologiche per una vita migliore in un mondo in crescita - ripensiamo al domani". |
| |
Come ho detto, abbiamo una coorte molto ampia di utenti JMP in Novozymes. |
| |
Quindi volevamo rendere loro la vita più facile per lavorare con gli script JMP e i componenti aggiuntivi JMP e rendere il loro codice più riutilizzabile e rilevabile. |
| |
Quindi, prima di tutto, volevamo semplificare l'aggiornamento. Abbiamo notato che attraverso Novozymes le persone inviavano script via e-mail avanti e indietro. |
| |
Stavano inviando file JSL su unità di rete personali. Alcuni di loro lo mettevano su chiavette flash e le passavano in giro. Volevamo rendere la distribuzione di script JMP nuovi e aggiornati il più semplice possibile. |
| |
Volevamo creare un archivio che salvaguardasse il codice. Abbiamo molti utenti JMP, tutto questo lavoro rappresenta un grande valore per l'organizzazione. |
| |
Quindi un repository centrale in cui tutto quel codice prezioso viene archiviato, sottoposto a backup e archiviato. |
| |
E volevamo tenere traccia delle versioni nel tempo, quindi quando gli script cambiano, man mano che vengono migliorati, volevamo essere in grado di vedere quei cambiamenti e tenere traccia di quei cambiamenti nel tempo. |
| |
E volevamo semplificare la scoperta e il riutilizzo degli script, quindi se sei uno sviluppatore JMP... |
| |
...se sei uno sviluppatore che lavora scrivendo script JSL, puoi trovare script pertinenti scritti da altri sviluppatori e migliorarli o... |
| |
costruisci su di loro, per qualsiasi esigenza tu abbia. Quindi rendi conveniente prendere quegli script e costruirli, rendi anche conveniente condividere, importare e riutilizzare funzioni in JSL che altri membri dell'organizzazione potrebbero trovare utili. |
| |
Quindi, per renderlo realtà, abbiamo messo insieme tre componenti. Abbiamo uno script di build Python, abbiamo un'interfaccia GitLab e abbiamo uno script di caricamento e aggiornamento JSL che lavorano tutti insieme in questo toolkit. |
| |
Lo script di build Python è uno script automatico che verrà eseguito in Python 3 o versioni successive che analizza e struttura automaticamente i file JSL in strutture di menu aggiuntivi. |
| |
Scrive anche i file di definizione del componente aggiuntivo. Genera uno script di funzioni personalizzate importato che aggiunge tutte queste funzioni di utilità riutilizzabili all'indice di script JMP e all'IDE JMP e lo comprime in un file .jmpaddin per l'utilizzo da parte degli utenti. |
| |
GitLab è la nostra interfaccia per consentire agli utenti di interagire con gli script dei componenti aggiuntivi e lavorare con lo stesso Generatore di componenti aggiuntivi. GitLab è l'alternativa open source o concorrente di GitHub. |
| |
Lo abbiamo pubblicato internamente all'interno di Novozymes e fornisce un'interfaccia utente point-and-click davvero semplice per caricare gli script in questo repository centrale... |
| |
...dove tutti questi script sono archiviati e la build viene effettivamente eseguita. |
| |
E quella pipeline CICD, che sta per implementazione continua di integrazione continua, esegue automaticamente lo script di build Python e distribuisce il componente aggiuntivo attraverso i canali di versione e beta in modo che gli utenti possano avere sia ... |
| |
...rilasci costanti di qualità controllata o, se sono sviluppatori, possono ottenere frequenti rilasci rapidi con le versioni più recenti di ogni script utilizzato in questo toolkit. |
| |
E infine, abbiamo gli script di caricamento e aggiornamento JSL. Quando JMP si apre e quando questo componente aggiuntivo viene caricato,... |
| |
...possono controllare, controllerà la presenza di nuove versioni sul canale selezionato - i canali beta o di rilascio - e offrirà di scaricare e aggiornare quel pacchetto aggiuntivo. Questo importa anche le funzioni personalizzate nell'indice di scripting. |
| |
Abbiamo un contributo di script semplicissimo in Y'All da qualsiasi utente JMP. È facile come caricare una foto sui social media. |
| |
Vai nell'interfaccia utente, fai clic sul pulsante di caricamento e in pochi secondi è disponibile sul canale beta di Y'All. |
| |
Abbiamo il controllo automatico della versione e l'archiviazione di questi script, un aggiornamento del componente aggiuntivo JMP automatico o manuale, quindi quando JMP si apre, Y'All offrirà di aggiornare... |
| |
...oppure un utente può scegliere di aggiornare manualmente Y'All tramite il menu Y'All. |
| |
Abbiamo un canale della versione beta per una rapida compilazione e test se sei uno sviluppatore che scrive script per ottenere la versione più recente del componente aggiuntivo mentre aggiorni lo script e apporti modifiche. E abbiamo un canale di rilascio per l'implementazione controllata e il controllo di qualità. |
| |
Questo ci dà file JSL rilevabili e riutilizzabili, in modo che le persone possano guardare attraverso questa struttura di file di script inviati dagli utenti attraverso Novozymes, utenti Y'All e guardare dentro e vedere... |
| |
...trova gli script che soddisfano uno scopo vicino a quello che vogliono e modificali per i loro scopi. |
| |
E aggiungiamo anche utili funzioni di utilità nell'indice di scripting; puoi vedere un piccolo screenshot di quello... |
| |
...a sinistra e nell'editor JSL, quindi lo script di build aggiunge automaticamente funzioni che sono importabili e che sono riutilizzabili nell'indice di scripting JMP con una piccola stringa di documentazione, se disponibile, per descrivere come funziona questa funzione e come usarla esso. |
| |
Volevo prendermi un secondo per riconoscere parte del codice che abbiamo incluso in Y'All a scopo dimostrativo. Gran parte del codice utilizzato all'interno di Novozymes è specifico per i sistemi Novozymes e non sarebbe utilizzabile al di fuori dell'azienda. |
| |
Quindi ho preso alcuni script che erano già presenti nella community di utenti di JMP e li ho inclusi solo a scopo dimostrativo. Puoi sentirti libero di tenerli o rimuoverli da Y'All... |
| |
...come desiderato. Quindi abbiamo uno script parser json di Xan Gregg e Craige Hales. Abbiamo un assistente di script per la pulizia dei dati presentato al JMP Discovery Summit 2020... |
| |
...di Jordan Hiller e Mia Stephens. Abbiamo gli strumenti per la tabella delle immagini di Heidi Hardner e Serkay Olmez al Discovery Summit 2020. |
| |
Color row selection.jsl di Nick Holmes. Il grafico dell'asse Y multiplo di Byron Wingerd e l'impostazione della convalida automatica, credo, sono stati presentati anche al JMP Discovery Summit... |
| |
...l'anno scorso da Mike Anderson, e abbiamo una suite di funzioni importabili per il software di acquisizione dati Riffyn, Riffyn Nexus... |
| |
...per lavorare con la loro API, scritta da Riffyn incorporata e presa dai loro strumenti Riffyn, componente aggiuntivo JMP con autorizzazione. Questo è uno strumento che usiamo molto in Novozymes. Abbiamo incluso questo perché se ci sono altri utenti Riffyn, puoi sentirti libero di usare anche questo codice. |
| |
Quindi, a parte questo, volevamo passare ad alcune demo dal vivo, iniziando dall'esperienza dell'utente e da ciò che l'utente vede e fa mentre lavora con il toolkit di Y'All. Per questo, lascerò il controllo al mio co-presentatore Johan. |
| |
Johan, hai disattivato l'audio. |
| Giovanni |
Grazie, Michele. |
| |
Mi dispiace. Fammi solo condividere il mio schermo. |
| |
Lo stai vedendo? |
| Michael |
Sì. |
| Giovanni |
Va bene. |
| |
Quindi, come ha detto Michael, ti guiderò attraverso l'esperienza utente dell'utilizzo di Y'All. |
| |
È davvero una cosa a tre livelli essere un utente di Y'All. La stragrande maggioranza dei nostri utenti lo utilizza fondamentalmente come se fosse una piattaforma JMP integrata. Essi... |
| |
...punta e fai clic sugli script ed eseguili per gli scopi previsti. Abbiamo anche un gruppo di utenti piuttosto ampio che sta contribuendo con gli script per esaminare anche come... |
| |
Puoi contribuire con semplici script. E poi abbiamo un piccolo gruppo di sviluppatori e manutentori (??) che fanno cose più avanzate, e proveremo a tirare un po' anche di questo. |
| |
Ma prima di tutto, il vero e semplice utilizzo di Y'All. L'installazione è semplice come fare clic su questo collegamento all'artefatto di build (??) creato nel nostro repository GitLab e scaricare il file di modifica JMP ed eseguirlo con JMP. |
| |
Ora questo mi ha richiesto un aggiornamento, ho intenzione di annullare questa volta, ma puoi vedere qui che sulla mia barra dei menu e ho il menu Y'All ... |
| |
...Con alcuni di questi script demo menzionati da Michael. Non entrerò nei dettagli con nessuno di questi script in quanto non fanno parte del pacchetto Y'All ma sono inclusi solo a scopo dimostrativo. Ma quello che farò è provare ad entrare e... |
| |
...oops, abilita, scusa se era già abilitato, appare. abilitare il beta testing, in modo che, ora che iniziamo a creare alcune cose, possiamo vederle subito. |
| |
La maggior parte degli utenti disattiverà il beta testing e verrà richiesto loro un aggiornamento quando aprono JMP dopo una versione principale, ovvero una volta ogni poche settimane. Ma per gli utenti con beta test abilitato, potrebbe essere in qualsiasi momento, da più volte al giorno a un paio di volte a settimana, quando il ramo beta verrà aggiornato. |
| |
Quindi questo è fondamentalmente ciò che c'è dentro per un utente normale. |
| |
Se vuoi contribuire con gli script, ci sono un paio di modi per farlo. Una cosa è attraverso l'interfaccia utente di GitLab. Ora la struttura del menu che abbiamo appena visto si rispecchia nel... |
| |
...struttura di directory nel... |
| |
...repository. Quindi creare un nuovo... |
| |
...menu o sottomenu è facile come creare una nuova directory. Ecco, chiamiamo questo... |
| |
..."dimostrazioni" |
| johan |
e aggiungilo. |
| Giovanni |
E se vorremmo aggiungere uno script, possiamo semplicemente crearlo nell'IDE JMP in modo da renderlo molto semplice. |
| |
Ciao mondo. |
| |
Questo sarà abbastanza buono. In realtà c'è un piccolo dettaglio in più, ovvero nominare le voci di menu in un modo carino per ottenere un suggerimento, abbiamo implementato il [???] o la magia del codice, cioè, se inizi scrivendo commenti, oops. |
| |
E tu. |
| |
Nome del menù. |
| Michael Akerman |
Voi. |
| |
Nome del menù. |
| Giovanni |
Nome del menu Y'All |
| michael akerman |
Vecchia abitudine. |
| Giovanni |
Chiamiamolo ciao. Allora Y'all tooltip. |
| |
Va bene, andiamo avanti e salviamo questo. |
| |
Ovunque, immagino, vediamo, desktop. E poi caricalo qui. |
| |
era una prova? |
| Michael Akerman |
Era un copione ma dovrebbe andare bene. |
| Giovanni |
Ora... |
| |
Una volta caricato questo file, abbiamo attivato una pipeline in questo automatico [non udibile]. |
| |
[non udibile] sistema, che prima clona il repository e poi... |
| |
...dopo aver creato il componente aggiuntivo, e questo dovrebbe essere richiesto al riavvio di JMP, |
| johan |
e aggiornamento di tutte le modifiche. |
| Giovanni |
E una volta che abbiamo scelto di aggiornare, ora è presente il menu demo, con lo script di test. |
| |
Quindi questo è il modo più semplice per contribuire con gli script a JMP. Se hai familiarità con l'utilizzo di Git, puoi anche utilizzare un flusso di lavoro Git più classico. Aprirò solo una finestra batch qui. Fammi solo... |
| |
E possiamo clonare il repository. Torniamo a... Alcune delle cose che mostriamo qui saranno specifiche per l'utilizzo di GitLab, che usiamo qui. |
| |
Ma sarà simile nella codifica di altri repository remoti, nei sistemi di hosting del codice. |
| |
Quindi ora stiamo clonando il repository e avremo un mirror completo del repository nel nostro sistema locale. E simile a prima, possiamo vedere la struttura della directory rispecchiata qui, e proviamo a vedere se possiamo creare un... |
| |
Un altro copione. |
| |
Per questo. Nome del menu Y'All migliorato |
| |
Ciao. |
| |
Diciamo che ci piacerebbe, forse questa volta.. |
| |
...apri invece un prompt. |
| |
Dice ciao mondo. |
| |
Ora, questa volta, possiamo usare una delle funzioni integrate incluse in JMP. Andiamo all'indice degli script, possiamo... |
| |
...cerca Y'All utils. |
| |
E trova la funzione errorModal, e viene qui con una piccola stringa di documentazione, su come usarla. |
| |
Ed è già stato importato, quindi... |
| |
Y'All utils errorModal |
| johan |
E possiamo solo dire ciao mondo. |
| Giovanni |
vediamo questo. |
| |
nel nostro archivio... |
| |
...in demo. E spingi il codice. |
| |
Ora il codice viene inviato al repository remoto, attivando la pipeline CICD e nel giro di... |
| |
...secondi, dovrebbe essere in grado di vedere la pipeline in esecuzione e... |
| |
...abbastanza presto. |
| |
Non è ancora iniziato. |
| |
Forse sto diventando un po'... |
| |
...impaziente. Ci siamo. |
| |
Quindi, abbastanza sicuro, se entriamo e controlliamo gli aggiornamenti di Y'All, vedremo un nuovo aggiornamento. È così? |
| |
Sceglieremo di aggiornare... |
| |
...il componente aggiuntivo, e ora le demo avranno il nostro mondo Hello migliorato. |
| |
Va bene, quindi penso che fosse quello che avevo per la demo utente. |
| Michael Akerman |
Grazie, Giovanni. Allora riprenderò la condivisione dello schermo, se per te va bene. |
| Giovanni |
Sì. |
| Michael Akerman |
E volevo approfondire un po' cosa succede dietro le quinte, quando si verifica questa esperienza utente. Quindi esaminerò questo codice in Visual Studio Code. |
| |
Puoi guardarlo dove vuoi una volta scaricato il file Zip, e andrò in modalità Zen molto velocemente per renderlo un po' più facile da vedere. Eccoci qui. |
| |
Quindi, ecco questa pipeline CICD di GitLab che viene eseguita ogni volta che Johan ha caricato quello script. Quindi è andato nel repository Git... |
| |
...e ha premuto il pulsante più ha caricato uno script e questo ha innescato questa pipeline CICD. Quindi questo è un piccolo script che definisce come il server dovrebbe reagire a quella situazione. |
| |
una fase preliminare e una fase di costruzione... |
| |
...dove ha clonato il repository Git e tutti i file in esso contenuti, incluso il nuovo script di Johan in una directory di lavoro in cui questo... |
| |
...questo modulo di elaborazione chiamato runner può lavorare su quel codice. E poi lo ha costruito, quindi esegue questa fase di costruzione in cui... |
| |
CD - cambia le directory - in quella directory di build ed esegue lo script di build Python. Quindi è davvero facile. Sta clonando tutti questi nuovi file in una cartella di lavoro, spostandosi in quella cartella ed eseguendo lo script di build Python in Python 3. |
| |
Quindi diamo un'occhiata a quello script di build Python. Ho intenzione di controllare la scheda su quello. Questo è build_yall.py. |
| |
Quindi questo è un sacco di codice, ma se stai guardando questo e vuoi una sorta di guida su come esaminarlo, scorri fino in fondo a questa funzione di processo. Dice processo def. |
| |
Questo è il codice principale che costruisce Y'All e lo attraversa, passo dopo passo. Quindi daremo un'occhiata a questo mentre procediamo. |
| |
La prima cosa che succede è che lo script Python costruisce una gerarchia di menu. Quindi diamo un'occhiata a questo. Quello che sta facendo è creare un dizionario Python nidificato in cui esamina quella struttura di cartelle in src/scripts... |
| |
...e trascina tutti i file JSL che trova in un dizionario che contiene il nome, la descrizione comandi e la posizione del file JSL. Quindi sta costruendo quel dizionario nidificato una cartella alla volta, in pratica, e strisciando attraverso. |
| |
Quindi controlliamo i nomi dei comandi di ciascuno di quei file JSL. Proviamo ad analizzare quei file e cerchiamo il nome del menu Y'All e il tooltip Y'All che hai visto Johan inserire nella parte superiore dello script per... |
| |
...definire quale dovrebbe essere il nome del pulsante e quale dovrebbe essere la descrizione comando nel menu del componente aggiuntivo in JMP. Ogni volta che Y'All sta installando, viene visualizzato il menu Y'all, come dovrebbero essere chiamati e cosa dovrebbe dire il tooltip, se ci passi sopra con il mouse. |
| |
Se non riesce a trovare il nome del menu Y'All o il tipo di comando magico del tooltip Y'All, tornerà semplicemente al nome dello script senza tooltip. Quindi test.jsl diventerebbe test come hai visto da Johan. |
| |
Quel dizionario di comandi nei menu è ordinato in ordine alfabetico per facilitare la ricerca, ad eccezione del menu della guida e delle impostazioni, che viene visualizzato in alto per renderlo sempre nella parte superiore del menu. |
| |
Perché l'aiuto e le impostazioni sono importanti. E poi tutte queste informazioni vengono scritte in un file JMPcust. |
| |
Quindi un file .jmpcust è essenzialmente un tipo di documento in linguaggio di markup che definisce per JMP come... |
| |
quali dovrebbero essere i pulsanti del menu, dove dovrebbe essere il menu stesso, quali dovrebbero essere i suggerimenti degli strumenti, sono tutti definiti in questo file .jmpcust. |
| |
Controllerò la scheda su Y'All, così puoi vedere come appare. È letteralmente un mucchio di definizioni su cosa sono i menu... |
| |
..e come si chiamano i menu e cosa contengono. Quindi possiamo vedere che il menu della guida e delle impostazioni contiene il controllo dell'aggiornamento di Y'All, la disattivazione della modalità di test beta e così via. |
| |
Quindi lo script Python lo scriverà automaticamente con questa funzione di scrittura del file jmpcust. |
| |
E poi scriveremo i nostri file di definizione del componente aggiuntivo. Quindi addin.def e version.txt. Addin.def -- Passerò a un esempio di questo -- è un po'... |
| |
...bit di descrizione che JMP utilizza per identificare il componente aggiuntivo e trovare il numero di versione, nonché la versione minima di JMP supportata. |
| |
diciamo 12. È una scelta arbitraria da parte nostra, solo per non doverci preoccupare delle cose prima delle 12. Puoi cambiarlo nel codice Python, se inizi a lavorarci da solo. Anche la versione del componente aggiuntivo è definita qui, come puoi vedere. |
| |
E lo scriviamo in un file chiamato version.txt in modo che lo stesso numero intero che hai appena visto in addin.def finisca anche in version.txt. |
| |
Il motivo è che è un bel file piccolo che possiamo leggere in remoto. Possiamo aprire in JMP su HTTP nel server... |
| |
...e dai un'occhiata a quel numero di versione molto rapidamente in quel file version.txt per confrontarlo con la nostra versione attuale. Quindi se la nostra versione attualmente installata non corrisponde a version.txt... |
| |
...questo significa che dobbiamo aggiornare, o almeno possiamo aggiornare. Il numero di versione che utilizziamo è la data e l'ora in cui è stato eseguito nel fuso orario UTC. |
| |
E lo convertiamo praticamente in secondi dal 1970. Quindi è un numero intero che è riconvertibile in un formato data e ora. |
| |
Quindi possiamo confrontare i due numeri su base intera, il che è carino. Possiamo facilmente vedere se sono maggiori o minori l'uno dell'altro, e possiamo ancora convertirlo in una data. Quindi è un modo davvero efficiente per memorizzare quel numero di versione in JMP per noi. |
| |
Finalmente. |
| |
La prossima cosa che facciamo -- quindi abbiamo scritto quei file add in depth -- creiamo uno script di funzioni personalizzate. Quindi questo è un po' strano e un po' difficile da spiegare. Farò del mio meglio per farlo in modo rapido e conciso. |
| |
JMP ha due modi per definire le funzioni personalizzate. Uno è con una funzione chiamata funzione nel linguaggio di script JMP, e cosa fa: passerò a utils.jsl e alla sottodirectory importables di Y'All qui. |
| |
La funzione definisce una funzione personalizzata che può essere utilizzata e chiamata da altre posizioni. E puoi definirlo con uno spazio dei nomi. Quindi, in questo caso, abbiamo lo spazio dei nomi Y'All utils... |
| |
...con il nome della funzione recode if. E prende questi argomenti, e abbiamo questa doc string e questo codice funzione scritti qui. |
| |
Il secondo modo per scrivere una funzione personalizzata in JSL è con la nuova funzione funzione personalizzata, che non è la stessa di funzione. Credo che questo sia stato aggiunto e JMP 14. |
| |
Ciò che fa la nuova funzione personalizzata è aggiungere la funzione all'indice di scripting JMP e nell'IDE JSL per rendere molto facile lavorare con quella funzione e riutilizzarla in altri luoghi con la documentazione. |
| |
Quindi il vantaggio della funzione è che funziona fino a non so nemmeno quale versione di JMP... |
| |
...prima di usare JMP. Il vantaggio della nuova funzione personalizzata è che è un po' più robusto e ottieni la documentazione e l'indice di scripting JMP e la possibilità di colorarlo nell'IDE JSL e ottenere ... |
| |
... suggerimenti su di esso mentre stai scrivendo il codice. Quindi ci piace la nuova funzione personalizzata, ma vogliamo supportare JMP prima di JMP 14. Quindi gli script di compilazione... |
| |
...qui, essenzialmente analizzerà la directory degli importabili, cercando qualsiasi definizione di funzione che corrisponda a quella funzione funzione funzione funzione... |
| |
...in JSL con una doc string. Quindi cercherà di analizzare quella stringa di documenti tra le demarcazioni barra asterisco e inserirla in una nuova funzione personalizzata. Quindi puoi vedere un esempio qui. |
| |
Prendiamo quella funzione recode if e ora la riscriviamo automaticamente in una nuova funzione personalizzata nello spazio dei nomi di Y'All utils chiamata recode if. |
| |
E abbiamo un prototipo, una descrizione e una categoria di indice di scripting in cui tutto questo si presenta. Quindi è tutto automaticamente disponibile per gli sviluppatori JMP. Quindi puoi scrivere cose usando la vecchia funzione della funzione in JSL e ottenere ancora questo indice di scripting JMP ... |
| |
...abilità, utilizzando automaticamente lo script di compilazione di Y'All. Scorri indietro fino al mio codice di processo qui. |
| |
Dopo aver scritto tutto questo, ora costruiamo il componente aggiuntivo. I componenti aggiuntivi di JMP utilizzano un formato Zip che è stato modificato. Quindi lo comprimiamo insieme usando Python 3, lo rinominiamo in YALL.jmpaddin e questo è ora disponibile nella nostra directory di lavoro in cui sta lavorando il corridore CICD. |
| |
Quindi il passaggio finale di questa pipeline CICD dopo che questo script di build è stato completato è quello di spostarsi in quella directory di lavoro e caricare gli artefatti. |
| |
Gli artefatti di build sono un concetto CICD di GitLab, in cui prendiamo questi due file YALL.jmpaddin e version.txt e li carichiamo sul server e li rendiamo disponibili con un URL specifico. |
| |
Quindi quell'URL è sempre coerente ed è legato al ramo su cui lo stiamo eseguendo in GitLab, quindi se siamo sulla versione beta rispetto alla versione di rilascio principale. |
| |
Ora, in JMP -- salterò oltre, ah!... |
| |
...in autoUpgrade.jsl. Qui è dove controlliamo le nuove versioni del componente aggiuntivo. Quando JMP viene caricato, Y'All eseguirà questo script di aggiornamento automatico,... |
| |
...che cerca quelle nuove versioni nel repository GitLab. Puoi vedere qui che carichiamo il nostro flag beta, sia in modalità beta che in modalità principale. |
| |
E cerchiamo nel canale specifico per quella modalità. Quindi stiamo tirando... |
| |
...da un URL specifico in base alla selezione del canale. Quindi, se siamo in modalità beta, cercherà il canale beta. Se siamo in modalità principale, guarderà il canale principale. E cerchiamo il file YALL.jmpaddin e il version.txt |
| michael akerman |
E ora confronteremo quel numero di versione con il nostro numero di versione installata e, se è diverso, richiederemo un aggiornamento all'utente. Apri una finestra di dialogo che hai visto sullo schermo di Johan... |
| Michael Akerman |
...che chiede loro se vogliono l'aggiornamento e dice loro qual è il numero di versione. E possono scegliere o scegliere di non farlo. |
| |
Così. |
| |
Questo è tutto quello che c'è da fare davvero. Tutto ciò che accade dietro le quinte, per l'utente. Caricano uno script attraverso quell'interfaccia utente di GitLab usando quel pulsante più per caricare un file e creare quel nuovo ... |
| |
...JMP add-in, che Y'All JMP add-in e renderlo disponibile ad altri utenti che sono connessi allo stesso repository. |
| |
Tutto ciò che accade dietro le quinte. È facile per l'utente come salvare uno script JMP dal punto caldo in JMP e caricarlo nel repository GitLab. |
| |
Quindi volevo ricapitolare le caratteristiche di Y'All. |
| |
Abbiamo un contributo alla sceneggiatura molto semplice. Come hai visto, hai una bella interfaccia utente per caricare file, caricare script JSL e renderli disponibili. |
| |
E con ciò arriva il controllo automatico della versione e l'archiviazione del codice. Quindi, poiché tutto ciò avviene tramite un repository GitLab centrale archiviato sui server Novozymes, tutto ciò viene tracciato e archiviato... |
| |
...in perpetuo. Aggiornamenti automatici in modo che gli sviluppatori possano rilasciare script ai propri utenti molto facilmente e possano sempre avere la versione più recente... |
| |
...di quegli script che funzionano correttamente e sono controllati dalla qualità. E abbiamo i canali beta e di rilascio. |
| |
Quindi il canale beta sarà essenzialmente creato istantaneamente, disponibile entro un paio di secondi da un nuovo script che colpisce Y'All e aggiornato frequentemente. E il canale di rilascio sarà una struttura di rilascio controllata più lentamente. Volevo toccare come lo facciamo. |
| |
Puoi vedere qui la struttura del ramo nel nostro repository GitLab. Abbiamo un ramo beta con molti aggiornamenti. Abbiamo un ramo di rilascio. Abbiamo un ramo principale. Quello che facciamo in Novozymes -- dipende totalmente dalla scelta dell'utente -- |
| michael akerman |
... prendiamo questo ramo beta quando è in uno stato in cui vogliamo rilasciarlo. Apriamo una richiesta di unione tra beta e release e la spostiamo nel ramo release. Questo essenzialmente bloccherà il ramo di rilascio dello schermo ... |
| Michael Akerman |
...alla versione del codice, dove l'abbiamo fatto, e questo blocca il codice su questo ramo di rilascio. |
| |
La beta può ancora cambiare. Le persone possono ancora aggiungere script e modificare gli script in versione beta. Ma il rilascio è ora congelato. Lo controlliamo di qualità, e quando siamo preparati, quando siamo soddisfatti dello stato in cui si trova... |
| |
...lo rilasciamo su main e lo uniamo lì, e ora è disponibile per gli utenti del ramo principale di Y'All. |
| |
Abbiamo codice rilevabile. Tutto è disponibile in una struttura di file su un repository centrale. Gli sviluppatori possono esaminare gli script e... |
| |
...trovarne di simili su cui costruire e migliorare. E abbiamo funzioni di utilità aggiunte automaticamente all'indice di scripting, automaticamente disponibili per gli sviluppatori, in modo che possano riutilizzare blocchi di codice come quello ricodificato se... |
| |
...o anche alcune query di database e cose del genere che abbiamo incluso come dimostrazioni. Quindi, se guardi attraverso Y'All... |
| |
...spazio dei nomi nell'indice di script JMP con Y'All installato. Vedrai che abbiamo alcune query di database Postgres e strumenti di database Postgres che abbiamo incluso per dimostrare come usiamo anche questo. |
| |
Tutto ciò avviene iniziando in JMP con uno script JSL creato dall'utente che desidera condividere con qualcun altro nella base utenti di Y'All. |
| |
Entrano in GitLab. E nell'interfaccia utente caricalo in una sottodirectory che corrisponda alla posizione del menu in cui lo desiderano in Y'All, quindi se lo desiderano nel test demo demo ... |
| |
...lo metterebbero nella sottodirectory src slash scripts slash demos slash demos. Una volta fatto ciò, viene avviata una pipeline di build automatica che avvia lo script di build Python, che analizza le strutture e costruisce il componente aggiuntivo.... |
| |
...l'aggiunta e la ricarica sul server GitLab. JMP trova quindi il nuovo aggiornamento e propone automaticamente di scaricarlo e aggiornare il componente aggiuntivo Y'All in JMP. E quello script è disponibile in pochi secondi per gli utenti su quel canale beta. |
| |
Quindi speriamo che tu sia entusiasta di Y'All. Ci auguriamo che tu sia interessato a utilizzare Y'All da solo o nella tua organizzazione. Volevamo dare alcuni suggerimenti su come iniziare, se lo sei. |
| |
Il file zip che viene pubblicato nella community di utenti di JMP se stai guardando questo video nella community di utenti di JMP (dovrebbe trovarsi nella stessa pagina) contiene tutti gli elementi necessari per iniziare. Alcuni di questi avranno bisogno di modifiche. Alcuni di questi sono codici demo con cui puoi giocare. |
| |
Ma sentiti libero di scaricarlo e dai un'occhiata. Lo script di build Python in quel file Zip è basato su librerie Python 3 native. Non c'è niente installato ma Python sul nostro sistema di compilazione. E dovrebbe funzionare su qualsiasi installazione standard di Python 3. |
| |
L'archiviazione e l'automazione del repository centrale che facciamo con GitLab per CICD per l'integrazione e la distribuzione continue, è disponibile tramite altri provider. GitLab, GitHub, Azure, AWS hanno tutti implementazioni simili. |
| |
C'è un enorme ecosistema di opzioni là fuori, quindi i dettagli di implementazione saranno specifici per la tua organizzazione. |
| |
Lo sfortunato effetto collaterale di ciò è che il file della pipeline CICD gitlab-ci.yml richiederà una modifica, se si desidera eseguirlo in modo automatico sui propri sistemi. Non funzionerà così com'è sui tuoi sistemi, a meno che, ovviamente, tu non sia un dipendente Novozymes. |
| |
Tutte le stringhe di connessione nelle nostre funzioni di utilità che abbiamo che riflettevano il nostro database beta interno sono state sostituite con la stringa di sottolineatura della connessione ODBC my underscore. |
| |
Se vuoi usare una di queste funzioni, dovrai entrare nel codice nelle directory di lavoro e cambiare quelle stringhe per riflettere il tuo database. |
| |
Quindi, ancora una volta, speriamo che tu sia entusiasta di Y'All. Ci auguriamo che tu sia interessato a Y'All. Se hai commenti, domande, commenti, non esitare a contattare me o Johan... |
| |
...con loro. Ci piacerebbe anche qualsiasi contributo tu abbia, se prendi questo codice e lo migliori o prendi questo toolkit e lo usi in un modo interessante. Grazie. |
| Christy Spagna |
Ok, è stato fantastico. |
| Michael Akerman |
Tempo. |
| Christy Spagna |
Ragionevolmente perfetto sì sì. |
| Michael Akerman |
Lo fa. |
| |
non importa che Johan abbia detto che JMP non vuole. |
| Christy Spagna |
Sai. |
| Michael Akerman |
Sento che la maggior parte delle persone probabilmente non lo prenderà. |
| Christy Spagna |
Come nuova parola mi piace. |
| Giovanni |
Quindi ci è stato detto di non usarlo, quindi abbiamo dovuto rinominare la cosa e mi sono buttato fuori per non aver cancellato la versione che avevo. |
| |
Installato in precedenza. |
| |
Quindi, quando mi sono reso conto che ero già in beta, mi sono un po' buttato fuori, e poi l'ho fatto. |
| |
comunque. |
| Christy Spagna |
sì, penso che vada bene, ma ora che è stato fantastico, molto interessante, penso che le persone adoreranno vederlo, quindi apprezziamo davvero che voi ragazzi abbiate partecipato. |
| |
Come ho detto, caricherò i video affinché Jeff possa modificarli, non sono sicuro di quando sarà completato, ma. |
| |
Ad ogni modo, voi ragazzi vedrete tutto questo ottobre, ma se succede qualcosa ve lo farò sicuramente sapere. |
| |
grazie ancora e se. |
| Giovanni |
Hai una nuova razza di essere circa il normale JMP. |
| Michael Akerman |
Di te che dici che sei da qualche altra parte è solo un po'. |
| |
Sì. |
| Giovanni |
Y'All directory. |
| Christy Spagna |
Sì, grazie mille, lo so. |
| |
Tanto lavoro per la malattia, e lo apprezziamo. |
| Michael Akerman |
Piacere nostro. |
| |
Grazie per. |
| Michael Akerman |
muovendosi rapidamente dopo dopo il successivo. |
| Christy Spagna |
Sì, amico, è stato ovviamente bello conoscerti entrambi e. |
| |
Speriamo la prossima volta. |
| |
Almeno con Michael sarà di persona, Johan mi piacerebbe laggiù, incontrarti anche io, ma. |
| |
Sì. |
| Michael Akerman |
sai sempre se lo fa, specialmente se sta presentando e solo ogni vertice, o qualcosa che è passato di persona, è stata la stessa settimana in cui tutte le cose si sono aperte a raleigh, quindi puoi fare un'intera settimana di. |
| |
conferenza computazionale. |
| |
e vedere un gruppo di dipendenti locali locali. |
| Giovanni |
potrebbe essere più facile discutere il budget di viaggio, allora sì. |
| Christy Spagna |
Due per uno giusto. |
| |
Sì. |
| Giovanni |
Va bene. |
| Christy Spagna |
Va bene, ragazzi, buon riposo della vostra fantastica settimana di lunedì, grazie. |
| |
Anche tu potrai parlare di nuovo con te presto. |
| Giovanni |
addio. |
| |
addio. |