Altoparlante
|
Trascrizione
|
| Michael Akermann |
Christie. |
| Cristo Spagna |
Buongiorno, come stai Michael? |
| Michael Akermann |
Come stai. |
| Cristo Spagna |
Ottimo Lasciami chiudere la mia email, così non mi capisco. |
| Michael Akermann |
sì, sto razionalizzando le impostazioni del mio computer in modo che niente, niente ping. |
| Cristo Spagna |
so cosa ho colpito sulla mia barra degli strumenti, vero? |
| |
Penso di avere tutto. |
| |
com'è il tuo weekend. |
| Michael Akermann |
È stato bello, come stai, com'è andato il fine settimana? |
| |
Bene. |
| Cristo Spagna |
Quindi vivi nell'oscurità. |
| Michael Akermann |
Helen aspettaci. |
| |
Ok sì, abbastanza vicino al quartier generale che sarei andato al vero e proprio summit sulla scoperta, lo era. |
| |
presente di persona presso il. |
| |
Anche quello è stato deludente, ma. |
| |
sì, sì, ehi. |
| Cristo Spagna |
Ciao buongiorno, come stai? |
| Johan |
fare del bene. |
| Michael Akermann |
Devo erigere un muro erudito dietro di me, come se fossi lì, Johan. |
| Johan |
Ho fatto clic. |
| |
Questo e i libri di Danny lì dentro, quindi non sarai in grado di riconoscerli. |
| Cristo Spagna |
sembra buono. |
| |
Mi scuso per il disguido della settimana scorsa, ma. |
| |
Sono felice di potervi incontrare virtualmente entrambi. |
| |
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 di cui devo occuparmi, entrambi avete il display impostato su 19 2010 alle. |
| |
Io faccio. |
| Johan |
Fammi solo ricontrollare. |
| Cristo Spagna |
Eccezionale. |
| |
E |
| |
Se il tuo suono è buono, direi che nessuno indossa loghi. |
| |
assicurati che non siano presenti elementi in vista che potrebbero causare violazioni del copyright. Non so se i tuoi libri lì dietro potrebbero essere un problema. |
| |
sì, facciamolo, per ogni evenienza. |
| Michael Akermann |
Uno di loro è formato da un ex oratore principale del JMP Discovery Summit. |
| Johan |
Chi è. |
| Michael Akermann |
Oh, non l'ho fatto, è venuto e ha parlato di quella cosa esplicativa. |
| Cristo Spagna |
Oh sì, ho quel libro. |
| Michael Akermann |
Yeah Yeah. |
| Johan |
Non l'ho fatto. |
| |
ho salvato qualcuno di quelli dall'e-mail, ma posso semplicemente andare avanti ed estrarlo dall'e-mail. |
| Michael Akermann |
Sono d'accordo con la mia webcam sul braccio, dove posso muoverla verso di me e indietro e su e giù e a sinistra e a destra come se allora fosse come giocherellare con essa eternamente perché è come se potessi spostarla. |
| Cristo Spagna |
Oh, è una buona idea. |
| |
mai, mai mi ha visto nel posto giusto, sì. |
| |
E poi tutti raggiungono tutte le prospettive delle loro app in qualsiasi squadra. |
| |
come quello. |
| Michael Akermann |
I team vicini non dovrebbero ricevere alcuna notifica. |
| Cristo Spagna |
E hai 30 minuti. È corretto? |
| Michael Akermann |
questo è quello che ho capito, sì. |
| Cristo Spagna |
E lo farete, ragazzi? |
| |
Idealmente vorremmo semplicemente iniziare e andare dritto fino in fondo. |
| |
Vuoi eseguire una condivisione di prova del tuo schermo ogni volta che esegui la transizione. |
| Michael Akermann |
Il tuo perché a un certo punto passeremo dal mio schermo a quello in cui sarai tu, quindi permettimi prima di condividere il mio schermo. |
| |
non è necessario condividere l'audio. |
| |
COSÌ. |
| Michael Akermann |
torniamo indietro per iniziare da qui. |
| Cristo Spagna |
ciao Alex, giusto. |
| |
Va bene. |
| Michael Akermann |
Quindi sei su, lo abbiamo fatto, lo abbiamo fatto, lo abbiamo fatto, quello e poi siamo stati consegnati a te. |
| Johan |
sì, controlleremo noi stessi la condivisione dello schermo, possiamo usare il produttore per noi. |
| Cristo Spagna |
dovresti farlo, sì. |
| |
Oh, il tuo sfondo è fantastico. |
| Johan |
Grazie. |
| Cristo Spagna |
Dovrei averlo. |
| Michael Akermann |
Che posso essere di più, possiamo essere più uniformi, immagino. |
| Johan |
No, dovremmo avere il nostro individuo, ma non l'ho fatto. |
| |
SÌ. |
| Cristo Spagna |
Sì, arriviamo a Michael. |
| Johan |
Sì. |
| |
Immagino che non farai molto collegamento sullo schermo, la maggior parte delle chiacchiere e poi faremo la condivisione dello schermo e poi. |
| Michael Akermann |
Non sono sicuro di cosa saremo visibili, mentre gli schermi saranno condivisi. |
| Cristo Spagna |
Bene, quindi ogni volta che ricevo le registrazioni. |
| |
Ne ottengo 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à. |
| |
Penserei che voglia mostrarlo all'oratore. |
| Michael Akermann |
Vedo sullo schermo, credo. |
| |
Puoi semplicemente disattivare le icone, comunque, se fai clic con il pulsante destro del mouse. |
| Johan |
Sembra che la finestra riesca a confondere. |
| Cristo Spagna |
Beh, è davvero così difficile da fare. |
| Johan |
O si. |
| |
Quindi cosa fare clic con il tasto destro e visualizzare e. |
| Michael Akermann |
sì, l'ha trovato okay, bello. |
| |
perché non ricordo esattamente dove a. |
| |
Ragazzi, non ho mai acceso le mie icone sul desktop, ho semplicemente lasciato che le cose fossero installate, quindi se mai lo accendessi è proprio come. |
| Johan |
Sì. |
| Cristo Spagna |
Quindi, Michael, quando hai finito dirai semplicemente okay, consegnatelo a te sulla condivisione dello schermo e poi andremo da lì, non lo faremo davvero, non ci prenderemo una pausa, in altre parole sì. |
| Michael Akermann |
E hai un filtro giallo nella mia stanza. |
| Cristo Spagna |
Oh, hai una luce rossa che ti piace. |
| Michael Akermann |
mi fa diventare blu però sì. |
| Cristo Spagna |
non ho investito in uno di questi, non lo faccio, la mia scrivania è così piccola e ho molto spazio qui. |
| Michael Akermann |
sì, sono diventato presto indipendente, ma il mio capo continuava a lamentarsi della qualità del mio microfono e della qualità della mia fotocamera, quindi ho pensato: va bene, amico, mi stai comprando una nuova fotocamera con microfono. |
| Cristo Spagna |
buon per te, non ho ricevuto questo nuovo auricolare. |
| Michael Akermann |
Lasciami chiudere la porta molto velocemente, quindi. |
| Cristo Spagna |
Oh okay sì, è importante se conosci amici pelosi o bambini che corrono in giro. |
| Johan |
sì bene neanche così bene sì, imposterò la porta chiusa. |
| Cristo Spagna |
e Johan Dove ti trovi? |
| Johan |
Sulla compagnia. |
| Cristo Spagna |
del mio, oh bello. |
| |
essere pienamente. |
| Johan |
Oh, lo sei stato. |
| Cristo Spagna |
Ho un amico con cui mi sono sposato. |
| |
Un ragazzo di Copenaghen viene dalla Danimarca, quindi siamo andati lì a trovarlo. |
| |
Oh sì, bellissimo. |
| Cristo Spagna |
Ok, quindi, se potessi chiedervi di dichiarare il nome dell'azienda e il titolo astratto, sarebbe fantastico. |
| |
E questo non è per la registrazione. È solo per gli scopi di Jeff per identificare qual è il tuo. |
| Michael Akermann |
il nome è sicuro, il mio nome è Michael increment, lavoro con novozymes il titolo astratto è facile come caricare una foto. |
| |
qualcosa riguardo l'imballaggio e la fattura ho dimenticato l'esatto. |
| Cristo Spagna |
va bene. |
| Michael Akermann |
Voi. |
| Johan |
E il mio nome è ONU. |
| |
Inoltre, non ha senso. |
| Cristo Spagna |
E lo registreremo e lo pubblicheremo alla Discovery Summit Conference, e sarà disponibile per la visione pubblica se ottieni il permesso per questa registrazione in quell'uso. |
| Michael Akermann |
Lo facciamo, lo faccio. |
| |
Quando vai a. |
| Johan |
Oh sì, scusa, scusa, ero solo la mia mente. |
| Cristo Spagna |
Ok, allora. |
| |
Permettimi di spegnere la macchina fotografica prima per te. |
| |
Nessuno vuole vedermi. |
| Cristo Spagna |
E penso che siamo pronti, voi ragazzi siete pronti? |
| Michael Akermann |
Immagino che inizieremo con il mio schermo. |
| Cristo Spagna |
Non sei mai pronto, vediamo che è il momento. |
| |
909 quindi tecnicamente hai tempo fino al 939 ma. |
| |
dare o prendere una miccia bene quindi ogni volta che sei pronto. |
| Michael Akermann |
Ciao a tutti e benvenuti alla nostra conferenza di oggi su "Y'All". Si tratta di un gestore di pacchetti aggiuntivi che abbiamo integrato in Novozymes per automatizzare la condivisione, l'aggiornamento e la manutenzione dei componenti aggiuntivi JMP in tutta la nostra azienda globale. Sono Michael Akerman e il mio co-presentatore è Johan Olsen. |
| |
Oggi voglio parlarvi di Y'All e presentarvi questo toolkit, in modo che chiunque di voi sia interessato possa... |
| |
...Chi volesse usarlo per uso personale o per la propria organizzazione sa come ottenere questo toolkit e iniziare ad usarlo, e di cosa si tratta. Quindi inizieremo parlando di chi siamo e perché abbiamo creato Y'All... |
| |
...le funzionalità principali di Y'All e l'esperienza dell'utente. Quindi Johan esaminerà ciò che vede un utente quando utilizza questo toolkit. |
| |
Andremo dietro le quinte su ciò che accade dietro il toolkit Y'All quando un utente interagisce con esso, quindi faremo un riepilogo e un riepilogo e forniremo alcuni suggerimenti su come adottare Y'All nella tua organizzazione, se lo trovi interessante per i tuoi scopi. |
| |
Siamo data scientist presso una società chiamata Novozymes. Il mio co-presentatore è Johan Olsen. È uno scienziato dei dati nella ricerca applicativa di biosoluzioni agricole e industriali. |
| |
Sono un data scientist senior nello stesso gruppo di Novozymes. Abbiamo incluso qui le nostre informazioni di contatto 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 comunità degli utenti JMP. Sono mxak@novozymes.com. |
| |
Michael Akerman Michael mxak sulla community degli utenti JMP, quindi non esitate a contattarci se avete domande, follow-up o commenti in qualsiasi modo su Y'All o modi per migliorare ciò che abbiamo creato e con cui stiamo lavorando . |
| |
Lavoriamo per Novozymes. Novozymes è un'azienda globale di biotecnologie. 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 molti altri settori... |
| |
...con queste soluzioni biologiche. Abbiamo più di 6000 dipendenti in tutto il mondo e tra questi dipendenti abbiamo centinaia di utenti JMP. |
| |
E lo dico perché abbiamo un gruppo davvero ampio di utenti JMP che supportiamo e con cui lavoriamo, che lavorano tutti 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 già detto, in Novozymes abbiamo un vasto gruppo di utenti JMP. |
| |
Volevamo quindi semplificare loro la vita lavorando 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. Avevamo osservato che in tutta Novozymes le persone inviavano script via e-mail avanti e indietro. |
| |
Si stavano inviando file JSL su unità di rete personali. Alcuni di loro lo mettevano su chiavette USB e le distribuivano in giro. Volevamo rendere la distribuzione degli script JMP nuovi e aggiornati il più semplice possibile. |
| |
Volevamo realizzare un archivio che salvaguardasse il codice. Abbiamo molti utenti JMP e tutto questo lavoro rappresenta un grande valore per l'organizzazione. |
| |
Quindi un repository centrale in cui tutto il codice prezioso viene archiviato, sottoposto a backup e archiviato. |
| |
E volevamo tenere traccia delle versioni nel tempo, quindi man mano che gli script cambiano, man mano che vengono migliorati, volevamo essere in grado di vedere tali cambiamenti e tenerne traccia nel tempo. |
| |
E volevamo semplificare la scoperta e il riutilizzo degli script, quindi se sei uno sviluppatore JMP... |
| |
...se sei uno sviluppatore che scrive script JSL, puoi trovare script pertinenti scritti da altri sviluppatori e migliorarli oppure... |
| |
costruisci su di loro, per qualunque esigenza tu abbia. Quindi rendi conveniente prendere quegli script e costruirli a partire da essi, 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 compilazione Python, un'interfaccia GitLab e uno script di caricamento e aggiornamento JSL che lavora tutti insieme in questo toolkit. |
| |
Lo script di build Python è uno script automatizzato che verrà eseguito in Python 3 o versioni successive che analizza e struttura automaticamente i file JSL in strutture di menu aggiuntive. |
| |
Scrive inoltre 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 scripting JMP e all'IDE JMP e comprime il tutto in un file .jmpaddin per l'utilizzo da parte degli utenti. |
| |
GitLab è la nostra interfaccia che consente agli utenti di interagire con gli script dei componenti aggiuntivi e di 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 punta e clicca davvero semplice per caricare gli script in questo repository centrale... |
| |
...dove sono archiviati tutti questi script e la creazione avviene effettivamente. |
| |
E quella pipeline CICD, che sta per Continuous Integration Continuous Deployment, esegue automaticamente lo script di build Python e distribuisce il componente aggiuntivo attraverso i canali sia di rilascio che di versione beta in modo che gli utenti possano avere... |
| |
...rilasci costanti con controllo di qualità oppure, 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 verificare, controllerà la presenza di nuove versioni sul canale selezionato - i canali beta o di rilascio - e offrirà di scaricare e aggiornare il pacchetto aggiuntivo. Ciò importa anche le funzioni personalizzate nell'indice di scripting. |
| |
Abbiamo ricevuto contributi di script semplicissimi in Y'All da qualsiasi utente JMP. È facile come caricare una foto sui social media. |
| |
Accedi all'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 automatico o manuale del componente aggiuntivo JMP, 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. |
| |
Disponiamo di un canale di versione beta per creare e testare rapidamente se sei uno sviluppatore che scrive script per ottenere la versione più recente del componente aggiuntivo mentre aggiorni lo script e apporti modifiche ad esso. E disponiamo di un canale di rilascio per l'implementazione controllata e il controllo di qualità. |
| |
Questo ci fornisce file JSL rilevabili e riutilizzabili, in modo che le persone possano esaminare questa struttura di file di script inviati dagli utenti attraverso Novozymes, utenti Y'All, e guardare e vedere... |
| |
...trovare script che soddisfano uno scopo vicino a quello desiderato e modificarli per i propri scopi. |
| |
Inoltre aggiungiamo comode funzioni di utilità all'indice di scripting; puoi vederne un piccolo screenshot... |
| |
...a sinistra e nell'editor JSL, in modo che lo script di compilazione aggiunga automaticamente funzioni importabili e riutilizzabili nell'indice di scripting JMP con una simpatica stringa di documento, se disponibile, per descrivere come funziona questa funzione e come utilizzarla 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 già presenti nella community degli utenti JMP e li ho inclusi a scopo dimostrativo. Puoi sentirti libero di mantenerli o rimuoverli da Y'All... |
| |
...come desiderato. Quindi abbiamo uno script parser json di Xan Gregg e Craige Hales. Abbiamo presentato un assistente script per la pulizia dei dati al JMP Discovery Summit 2020... |
| |
...di Jordan Hiller e Mia Stephens. Abbiamo strumenti per la tabella delle immagini di Heidi Hardner e Serkay Olmez al Discovery Summit 2020. |
| |
Selezione riga colore.jsl di Nick Holmes. Grafico multiplo dell'asse Y di Byron Wingerd e configurazione di convalida automatica, credo, 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 dal componente aggiuntivo JMP degli strumenti Riffyn con autorizzazione. Questo è uno strumento che utilizziamo molto in Novozymes. Lo abbiamo incluso perché se ci sono altri utenti Riffyn, puoi sentirti libero di utilizzare anche questo codice. |
| |
Detto 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 Y'All. Per questo, cederò il controllo al mio co-presentatore Johan. |
| |
Johan, l'audio è disattivato. |
| Johan |
Grazie, Michael. |
| |
Mi dispiace. Fammi solo condividere il mio schermo. |
| |
Stai vedendo questo? |
| Michael |
SÌ. |
| Johan |
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 sostanzialmente 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 contribuisce 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 fuori anche un po' di quello. |
| |
Ma prima di tutto, il semplice utilizzo di Y'All. Installarlo è 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 spinto a fare un aggiornamento, questa volta annullerò semplicemente, ma puoi vederlo qui sulla mia barra dei menu, e ho il menu Y'All... |
| |
...Con alcuni di questi script demo menzionati da Michael. Non entrerò nei dettagli di nessuno di questi script poiché non fanno realmente parte del pacchetto Y'All ma sono inclusi solo a scopo dimostrativo. Ma quello che farò è provare ad entrare e... |
| |
...oops, abilita, scusa questo era già, sembra abilitato. abilitare il beta testing, in modo che, ora che iniziamo a creare alcune cose, possiamo vederle subito. |
| |
Per la maggior parte degli utenti il beta testing sarà disabilitato e verrà richiesto un aggiornamento quando apriranno JMP dopo una versione importante, ovvero una volta ogni poche settimane. Ma per gli utenti con beta testing abilitato, potrebbe verificarsi in qualsiasi momento, da diverse volte al giorno a un paio di volte alla settimana, quando il ramo beta verrà aggiornato. |
| |
Questo è fondamentalmente il vantaggio per un utente normale. |
| |
Se vuoi contribuire con gli script a questo, 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 è rispecchiata nel... |
| |
...struttura delle directory in... |
| |
...archivio. Quindi creando un nuovo... |
| |
...menu o sottomenu è facile come creare una nuova directory. Ecco, chiamiamolo semplicemente... |
| |
..."demo" |
| johan |
e aggiungerlo. |
| Johan |
E se desideriamo 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ù, cioè nominare le voci del menu in un modo carino per ottenere un suggerimento, abbiamo implementato il [???] o codice magico, cioè, se inizi scrivendo commentato, oops. |
| |
E tu. |
| |
Nome del menù. |
| Michael Akermann |
Voi. |
| |
Nome del menù. |
| Johan |
Nome del menu di tutti voi |
| Michael Akermann |
Vecchia abitudine. |
| Johan |
Diciamo ciao. Poi tutti voi tooltip. |
| |
Va bene, andiamo avanti e salviamo questo. |
| |
Ovunque, immagino, vediamo, desktop. E poi caricalo qui. |
| |
Era una prova? |
| Michael Akermann |
Era script ma dovrebbe essere OK. |
| Johan |
Ora... |
| |
Una volta caricato questo file, abbiamo attivato una pipeline in questo [non udibile] automatizzato. |
| |
sistema [non udibile], che consiste prima nel clonare il repository e poi... |
| |
...successivamente creando il componente aggiuntivo, e questo dovrebbe richiedere al riavvio di JMP, |
| johan |
e aggiornamento di tutte le modifiche. |
| Johan |
E una volta scelto di aggiornare, ora è presente il menu demo, con lo script di test. |
| |
Questo è quindi il modo più semplice per contribuire con gli script a JMP. Se hai familiarità con Git, puoi anche utilizzare un flusso di lavoro Git più classico. Aprirò semplicemente una finestra batch qui. Permettimi solo... |
| |
E possiamo clonare il repository. Torniamo a... Alcune delle cose che mostreremo qui saranno specifiche per l'utilizzo di GitLab, che utilizziamo qui. |
| |
Ma sarà simile in altri codici di repository remoti, sistemi di hosting di codici. |
| |
Quindi ora stiamo clonando il repository e avremo un mirror completo del repository nel nostro sistema locale. E analogamente a prima, possiamo vedere la struttura della directory rispecchiata qui e proviamo a vedere se possiamo creare un... |
| |
Un'altra sceneggiatura. |
| |
Per questo. Il nome del menu Y'All è stato migliorato |
| |
Ciao. |
| |
Diciamo che ci piacerebbe, forse questa volta... |
| |
...apri invece un prompt. |
| |
Dice ciao mondo. |
| |
Ora, questa volta, possiamo utilizzare una delle funzioni integrate incluse in JMP. Andiamo all'indice degli script, possiamo... |
| |
...cerca le utilità Y'All. |
| |
E trova la funzione errorModal, che arriva qui con una piccola stringa di documentazione su come usarla. |
| |
Ed è già stato importato, quindi... |
| |
Y'All utilizza errorModal |
| johan |
E possiamo semplicemente dire ciao mondo. |
| Johan |
vediamo questo. |
| |
nel nostro repository... |
| |
...sotto le demo. E inserisci 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 funzione e... |
| |
...abbastanza presto. |
| |
Non è ancora iniziato. |
| |
Forse sto diventando un po'... |
| |
...impaziente. Eccoci qua. |
| |
Quindi, come previsto, se entriamo e controlliamo gli aggiornamenti di Y'All, vedremo un nuovo aggiornamento. È tutto? |
| |
Sceglieremo di aggiornare... |
| |
...il componente aggiuntivo e ora le demo avranno il nostro Hello World migliorato. |
| |
Va bene, quindi penso che fosse quello che avevo per la demo dell'utente. |
| Michael Akermann |
Grazie, Johan. Allora riprenderò il controllo della condivisione dello schermo, se per te va bene. |
| Johan |
SÌ. |
| Michael Akermann |
E volevo approfondire un po' cosa succede dietro le quinte, quando avviene questa esperienza utente. Quindi esaminerò questo codice in Visual Studio Code. |
| |
Puoi guardarlo dove vuoi una volta scaricato il file Zip, e andrò subito in modalità Zen per renderlo un po' più facile da vedere. Eccoci qui. |
| |
Quindi ecco questa pipeline CICD GitLab che viene eseguita ogni volta che Johan carica lo script. Quindi è andato nel repository Git... |
| |
...e ha premuto il pulsante più, ha caricato uno script e questo ha avviato 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 creazione... |
| |
...dove ha clonato il repository Git e tutti i file in esso contenuti, incluso il nuovo script di Johan in una directory di lavoro dove 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 directory - in quella directory di build ed esegue lo script di build Python. Quindi è davvero facilissimo. 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 allo script di compilazione Python. Controllerò la scheda su quello. Questo è build_yall.py. |
| |
Quindi si tratta di molto codice, ma se lo stai guardando e desideri una sorta di guida su come esaminarlo, scorri fino a questa funzione di processo. Dice processo def. |
| |
Questo è il codice principale che costruisce Y'All e lo esaminiamo passo dopo passo. Quindi daremo un'occhiata a questo mentre procediamo. |
| |
La prima cosa che accade è che lo script Python crea una gerarchia di menu. Quindi diamo un'occhiata a questo. Quello che sta facendo è creare un dizionario Python nidificato in cui esamina la struttura di cartelle in src/scripts... |
| |
...e inserisce tutti i file JSL che trova in un dizionario che contiene il nome, la descrizione comando e il percorso del file JSL. Quindi sta costruendo quel dizionario nidificato una cartella alla volta, in pratica, e scorrendo. |
| |
Quindi controlliamo i nomi dei comandi di ciascuno di questi 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 dei componenti aggiuntivi in JMP. Ogni volta che Y'All esegue l'installazione, viene visualizzato il menu Y'all, come dovrebbero essere chiamati e cosa dovrebbe dire il suggerimento, se ci passi sopra. |
| |
Se non riesce a trovare il nome del menu Y'All o il tipo di comando magico del tooltip di Y'All, tornerà semplicemente al nome dello script senza tooltip. Quindi test.jsl diventerebbe semplicemente test come hai visto da Johan. |
| |
Il dizionario dei comandi nei menu è ordinato alfabeticamente per facilitare la ricerca delle cose, ad eccezione del menu Guida e Impostazioni, che viene visualizzato in alto per renderlo sempre in cima al 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 una sorta di documento del 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 sugli strumenti, sono tutti definiti in questo file .jmpcust. |
| |
Controllerò la scheda su tutti voi, così potrete vedere come appare. Sono letteralmente un mucchio di definizioni su cosa siano i menu... |
| |
..e come si chiamano i menu e cosa contengono. Quindi possiamo vedere che il menu Guida e Impostazioni contiene il controllo dell'aggiornamento Y'All, l'attivazione della modalità beta testing 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 aggiungin.def e version.txt. Addin.def - passerò a un esempio del genere - è un po'... |
| |
...pezzo di descrizione utilizzato da JMP per identificare il componente aggiuntivo e trovare il numero di versione, nonché la versione minima di JMP supportata. |
| |
Diciamo 12. È una scelta un po' arbitraria da parte nostra, semplicemente per non doverci preoccupare di tutto prima delle 12. Puoi cambiarlo nel codice Python, se inizi a lavorarci tu stesso. Qui viene definita anche la versione del componente aggiuntivo, 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 si tratta di un file piccolo e carino che possiamo leggere da remoto. Possiamo aprire in JMP su HTTP nel server... |
| |
...e dai un'occhiata molto rapidamente al numero di versione nel file version.txt per confrontarlo con la nostra versione attuale. Quindi, se la nostra versione attualmente installata non corrisponde a version.txt... |
| |
...ciò significa che dobbiamo aggiornare, o almeno possiamo aggiornare. Il numero di versione che utilizziamo è la data e l'ora in cui è stata eseguita nel fuso orario UTC. |
| |
E lo convertiamo praticamente in secondi dal 1970. Quindi è un numero intero riconvertibile in un formato data/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 comunque riconvertirlo in una data. Quindi per noi è un modo davvero efficace per memorizzare il numero di versione in JMP. |
| |
Finalmente. |
| |
La prossima cosa che facciamo - quindi abbiamo scritto quei file di approfondimento - 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 dispone di due modi per definire le funzioni personalizzate. Uno è con una funzione chiamata funzione nel linguaggio di scripting JMP e cosa fa: passerò a utils.jsl e alla sotto-sottodirectory importabili di Y'All qui. |
| |
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 richiede questi argomenti e abbiamo questa stringa di documento e questo codice di funzione scritti qui. |
| |
Il secondo modo per scrivere una funzione personalizzata in JSL è con la nuova funzione personalizzata function, che non è la stessa cosa di function. 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 all'IDE JSL per rendere molto semplice lavorare con quella funzione e riutilizzarla in altri posti con la documentazione. |
| |
Quindi il vantaggio della funzione è che funziona fino a non so nemmeno quale versione di JMP... |
| |
...prima di utilizzare JMP. Il vantaggio della nuova funzione personalizzata è che è un po' più robusta e ottieni la documentazione e l'indice di scripting JMP e la possibilità di colorarlo nell'IDE JSL e ottenere... |
| |
... suggerimenti su come scrivere 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 eventuali definizioni di funzione corrispondenti a quelle funzioni funzione funzione funzione... |
| |
...in JSL con una stringa di documento. Quindi proverà ad analizzare quella stringa di documento tra le demarcazioni dell'asterisco della barra e ad inserirla in una nuova funzione personalizzata. Quindi puoi vedere un esempio qui. |
| |
Prendiamo la funzione recode if e ora la riscriviamo automaticamente in una nuova funzione personalizzata nello spazio dei nomi Y'All utils chiamata recode if. |
| |
E abbiamo un prototipo, una descrizione e una categoria di indice di scripting in cui tutto questo appare. Tutto questo è automaticamente disponibile per gli sviluppatori JMP. Quindi puoi scrivere cose usando la vecchia funzione funzione in JSL e ottenere comunque questo indice di scripting JMP... |
| |
...capacità, utilizzando automaticamente lo script di compilazione Y'All. Scorri indietro fino al mio codice di processo qui. |
| |
Dopo aver scritto tutto questo, ora creiamo il componente aggiuntivo. I componenti aggiuntivi JMP utilizzano un formato Zip che è stato modificato. Quindi lo comprimiamo insieme usando Python 3, lo rinominiamo in YALL.jmpaddin e ora è disponibile nella nostra directory di lavoro dove sta lavorando il corridore CICD. |
| |
Pertanto, il passaggio finale di questa pipeline CICD dopo il completamento dello script di compilazione è spostarsi nella directory di lavoro e caricare gli artefatti. |
| |
Gli artefatti di compilazione 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 l'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, farò un salto, 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, cercheremo il canale beta. Se siamo in modalità principale, guarderà il canale principale. E cerchiamo il file YALL.jmpaddin e il version.txt |
| Michael Akermann |
E ora confronteremo quel numero di versione con il numero di versione installata e, se è diverso, richiederemo un aggiornamento all'utente. Apri la finestra di dialogo che hai visto sullo schermo di Johan... |
| Michael Akermann |
...che chiede loro se desiderano l'aggiornamento e dice loro qual è il numero di versione. E possono scegliere di farlo o di non farlo. |
| |
COSÌ. |
| |
Questo è davvero tutto. Tutto ciò accade dietro le quinte, per l'utente. Caricano uno script tramite l'interfaccia utente di GitLab utilizzando il pulsante più per caricare un file e creare quel nuovo... |
| |
...JMP, il componente aggiuntivo Y'All JMP, e renderlo disponibile ad altri utenti connessi allo stesso repository. |
| |
Tutto ciò accade dietro le quinte. Per l'utente è facile quanto salvare uno script JMP dal punto rosso 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. |
| |
A ciò si aggiungono il controllo automatico della versione e l'archiviazione del codice. Quindi, poiché tutto ciò avviene attraverso un repository GitLab centrale archiviato sui server Novozymes, tutto 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 canali beta e di rilascio. |
| |
Quindi il canale beta verrà creato essenzialmente all'istante, disponibile entro un paio di secondi dall'arrivo di un nuovo script su 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 dei rami nel nostro repository GitLab. Abbiamo un ramo beta con molti aggiornamenti. Abbiamo un ramo di rilascio. Abbiamo una filiale principale. Ciò che facciamo in Novozymes dipende totalmente dalla scelta dell'utente. |
| Michael Akermann |
...prendiamo questo ramo beta quando è nello stato in cui vogliamo rilasciarlo. Apriamo una richiesta di unione tra beta e release e la spostiamo nel ramo release. Ciò sostanzialmente congelerà il ramo di rilascio dello schermo... |
| Michael Akermann |
...nella 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 script in versione beta. Ma il rilascio ora è congelato. Controlliamo la qualità e quando siamo preparati, quando siamo soddisfatti del suo stato... |
| |
...lo rilasciamo al main e lo uniamo lì, e ora è disponibile per gli utenti del ramo principale di Y'All. |
| |
Abbiamo un codice rilevabile. Tutto è disponibile in una struttura di file su un repository centrale. Gli sviluppatori possono esaminare gli script e... |
| |
...trovane di simili da cui partire 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 alcune query sul database e cose del genere che abbiamo incluso anche come dimostrazioni. Quindi, se guardate tutti voi... |
| |
...spazio dei nomi nell'indice di scripting JMP con Y'All installato. Vedrai che abbiamo alcune query sul database Postgres e strumenti per il database Postgres che abbiamo incluso per dimostrare come lo utilizziamo. |
| |
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 corrispondente alla posizione del menu in cui lo desiderano in Y'All, quindi se lo desiderano in demos demos test... |
| |
...lo metterebbero nella sottodirectory src slash scripts slash demos slash demos. Una volta fatto ciò, si attiva una pipeline di compilazione automatica che avvia lo script di compilazione Python, che analizza le strutture e crea il componente aggiuntivo.... |
| |
...il componente aggiuntivo e lo ricarica sul server GitLab. JMP rileva quindi il nuovo aggiornamento e offre automaticamente di scaricarlo e aggiornare il componente aggiuntivo Y'All in JMP. E lo script è disponibile in appena un paio di secondi per gli utenti su quel canale beta. |
| |
Ci auguriamo quindi 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 pubblicato nella comunità degli utenti JMP se stai guardando questo video nella comunità degli utenti JMP (dovrebbe trovarsi sulla 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 dare un'occhiata. Lo script di build Python in quel file Zip è basato su librerie Python 3 native. Non c'è niente installato tranne Python sul nostro sistema di compilazione. E dovrebbe essere eseguito su qualsiasi installazione standard di Python 3. |
| |
L'archiviazione e l'automazione del repository centrale che eseguiamo con GitLab per CICD per l'integrazione e la distribuzione continue, è disponibile tramite altri fornitori. GitLab, GitHub, Azure, AWS hanno tutti implementazioni simili. |
| |
Esiste un vasto ecosistema di opzioni disponibili, 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 desideri eseguirlo in modo automatizzato sui tuoi sistemi. Non funzionerà così com'è sui vostri sistemi, a meno che, ovviamente, non siate dipendenti di Novozymes. |
| |
Tutte le stringhe di connessione nelle nostre funzioni di utilità che riflettevano il nostro database beta interno sono state sostituite con la stringa di sottolineatura della connessione ODBC. |
| |
Se desideri utilizzare una di queste funzioni, dovrai inserire il codice nelle directory di lavoro e modificare quelle stringhe per riflettere il tuo database. |
| |
Quindi, ancora una volta, speriamo che siate entusiasti di voi tutti. Ci auguriamo che siate interessati a tutti voi. Se avete feedback, domande, commenti, non esitate a contattare me o Johan... |
| |
...con loro. Apprezzeremmo anche qualsiasi contributo tu abbia, se prendi questo codice e lo migliori o prendi questo toolkit e lo usi in un modo interessante. Grazie. |
| Cristo Spagna |
Ok, è stato fantastico. |
| Michael Akermann |
Tempo. |
| Cristo Spagna |
Ragionevole perfetto sì sì. |
| Michael Akermann |
Lo fa. |
| |
non importa che Johan abbia detto che il JMP non lo vuole. |
| Cristo Spagna |
Sai. |
| Michael Akermann |
Sento che la maggior parte delle persone probabilmente non lo capirà. |
| Cristo Spagna |
Come parola nuova mi piace. |
| Johan |
Quindi ci è stato detto di non usarlo, quindi abbiamo dovuto rinominarlo e io sono stato buttato fuori dal fatto di non aver cancellato la versione che avevo. |
| |
Installato in precedenza. |
| |
Quindi, quando ho realizzato che ero già in beta, mi sono sentito sconcertato, e poi ho semplicemente. |
| |
comunque. |
| Cristo Spagna |
sì, penso che vada bene, ma è stato fantastico, molto interessante, penso che la gente adorerà vederlo, quindi apprezziamo davvero la vostra partecipazione. |
| |
Come ho detto, caricherò i video affinché Jeff li modifichi, non sono sicuro di quando sarà completato, ma. |
| |
Ad ogni modo, voi ragazzi vedrete tutto questo ottobre, ma se dovesse succedere qualcosa ve lo farò sicuramente sapere. |
| |
grazie ancora e se. |
| Johan |
Hai una nuova razza di essere sul normale JMP. |
| Michael Akermann |
Il fatto che tu dica che sei da qualche altra parte è semplicemente così. |
| |
Sì. |
| Johan |
Directory di tutti voi. |
| Cristo Spagna |
Sì, grazie mille, lo so. |
| |
C'è molto lavoro da fare per la malattia e lo apprezziamo. |
| Michael Akermann |
Piacere nostro. |
| |
Grazie per. |
| Michael Akermann |
muovendosi velocemente dopo dopo il prossimo. |
| Cristo Spagna |
Sì, amico, ovviamente è stato fantastico conoscervi entrambi e. |
| |
Spero che la prossima volta. |
| |
Almeno con Michael sarà di persona, Johan mi piacerebbe laggiù, incontrare anche te, ma. |
| |
Sì. |
| Michael Akermann |
sai sempre se lo è, soprattutto se presenta e solo ad ogni vertice, o qualcosa che è passato di persona, è stata la stessa settimana in cui tutte le cose sono aperte a Raleigh, quindi puoi fare un'intera settimana di. |
| |
conferenza computazionale. |
| |
e vedere un gruppo di dipendenti locali locali. |
| Johan |
potrebbe essere più semplice discutere del budget di viaggio, allora sì. |
| Cristo Spagna |
Due per uno, giusto. |
| |
Sì. |
| Johan |
Va bene. |
| Cristo Spagna |
Ok, ragazzi, buon proseguimento della vostra fantastica settimana di lunedì, grazie. |
| |
Anche tu potrai parlarti di nuovo presto. |
| Johan |
Ciao. |
| |
Ciao. |